Ancaman Rantai Pasokan Perangkat Lunak pada Tahap Pengembangan

Seiring berjalannya siklus hidup rantai pasokan perangkat lunak dari kode sumber hingga artefak yang dapat dieksekusi, tahap pembuatan (build) menjadi titik kritis. Namun, fase transformatif ini juga rentan terhadap berbagai ancaman yang dapat membahayakan integritas perangkat lunak. build securityAncaman-ancaman ini dapat menyusup ke dalam proses pembangunan melalui berbagai metode, termasuk dengan cara mengakali sistem yang sudah ada. CI/CD pipeline, memodifikasi kode setelah kontrol sumber, membahayakan proses build itu sendiri, atau memanipulasi repositori artefak. Dalam posting blog ini, kami akan membahas ancaman-ancaman ini secara mendalam dan meneliti serangan build rantai pasokan perangkat lunak yang paling umum. Konten ini melanjutkan seri blog kami yang membahas software supply chain security seluruh SDLC.

Tahap Pembuatan dalam Siklus Hidup Pengembangan Perangkat Lunak 

Tahap pembuatan dalam siklus hidup rantai pasokan perangkat lunak mencakup proses mengubah kode sumber menjadi artefak perangkat lunak yang dapat dieksekusi. Tahap ini melibatkan kompilasi, penautan, dan pengemasan kode sumber, serta pembuatan paket instalasi dan file konfigurasi.

Build security Ancaman adalah kerentanan yang memungkinkan pihak lawan untuk memasukkan perubahan yang tidak sah ke dalam perangkat lunak selama proses pembuatan tanpa mengubah kode sumber. Ancaman ini dapat dimasukkan melalui berbagai metode, seperti membahayakan lingkungan pembuatan atau mengeksploitasi kerentanan pada alat pembuatan. 

serangan-bangun-keamanan-rantai-pasokan-perangkat-lunak

Ancaman Rantai Pasokan Perangkat Lunak yang Paling Umum - Serangan Pembuatan Perangkat Lunak

Bypass CI/CD

Ini merujuk pada praktik menghindari aturan yang sudah mapan. CI/CD (integrasi berkelanjutan dan pengiriman berkelanjutan) pipeline untuk secara langsung membangun dan menerbitkan perangkat lunak tanpa melalui proses pengujian, verifikasi, dan audit yang ketat yang biasanya diberlakukan oleh pihak resmi. pipelineHal ini dapat dilakukan dengan membangun perangkat lunak secara manual di luar CI/CD lingkungan atau dengan menggunakan alat atau skrip yang memungkinkan modifikasi tidak sah pada proses pembuatan. Contoh dari jenis serangan vektor ini adalah Serangan JenkinsPada tahun 2022, peretas menyusup ke dalam sistem tersebut. pipeline Serangan tersebut menargetkan sebuah proyek perangkat lunak sumber terbuka populer bernama Jenkins. Para peretas menyuntikkan kode berbahaya ke dalam Jenkinsfile, yaitu skrip yang mendefinisikan proses build. Kode berbahaya tersebut memungkinkan para peretas untuk melewati proses build. CI/CD pipelineMereka melakukan pemeriksaan keamanan dan menyuntikkan kode mereka ke dalam proses pembuatan. Kode ini kemudian dieksekusi pada sistem organisasi yang menginstal perangkat lunak tersebut.

Ubah kode setelah kontrol sumber. 

Praktik ini melibatkan pembuatan perubahan tanpa izin pada kode sumber setelah kode tersebut telah commitKode tersebut kemudian disimpan ke sistem kontrol sumber (SCS) tepercaya dan perangkat lunak kemudian dibangun menggunakan kode yang telah dimodifikasi ini. Hal ini dapat dilakukan dengan memodifikasi kode secara langsung di workstation pengembang atau dengan menggunakan alat atau skrip eksternal untuk menyuntikkan kode berbahaya ke dalam proses pembangunan. Contoh serangan vektor ini adalah Serangan GitLab pada tahun 2022. Peretas menyusup ke dalam proses pembangunan. pipeline of GitLabPara peretas menyuntikkan kode berbahaya ke dalam GitLab. CI/CD pipeline, yang merupakan alat yang mengotomatiskan build security Proses tersebut. Kode berbahaya tersebut memungkinkan peretas untuk memodifikasi kode setelah dimasukkan ke dalam kontrol sumber. Hal ini memungkinkan mereka untuk menyuntikkan kode mereka ke dalam perangkat lunak, yang kemudian dieksekusi pada sistem organisasi yang menginstal perangkat lunak tersebut.

Proses pembangunan kompromi

Hal ini melibatkan manipulasi atau pengubahan proses build itu sendiri, baik melalui akses langsung ke lingkungan build atau dengan mengeksploitasi kerentanan pada alat build atau dependensi pihak ketiga. Hal ini dapat dilakukan untuk memasukkan kode berbahaya ke dalam output build, merusak asal usul build, atau mengganggu proses build secara keseluruhan. Contoh paling terkenal dari serangan vektor ini adalah Serangan SolarWindsSeorang penyerang telah memperoleh akses tanpa izin ke platform pengembangan SolarWinds, sebuah sistem yang digunakan untuk mengkompilasi dan mengemas perangkat lunak SolarWinds Orion. Skrip ini menyuntikkan kode berbahaya ke dalam perangkat lunak SolarWinds Orion yang telah dikompilasi. Ketika pengguna menginstal perangkat lunak yang telah disusupi, kode berbahaya tersebut dieksekusi pada sistem mereka, memberikan penyerang akses tanpa izin ke sistem mereka. Penyerang juga dapat mencuri data sensitif dari sistem mereka, seperti kredensial, kekayaan intelektual, dan informasi pelanggan.

Kompromikan repositori artefak

Ini merujuk pada akses atau manipulasi tanpa izin terhadap repositori artefak, tempat paket perangkat lunak dan biner disimpan untuk didistribusikan kepada pengguna internal atau eksternal. Penyerang dapat mengeksploitasi kerentanan ini untuk memasukkan kode berbahaya, merusak keaslian perangkat lunak, atau mengganggu proses penyebaran. Contoh serangan vektor ini adalah... Permata Ruby di tahun 2022Peretas menyusup ke repositori artefak RubyGems. Peretas mengganti artefak yang sah dengan artefak berbahaya, yang kemudian diunduh oleh ribuan organisasi yang membangun perangkat lunak dengan Ruby on Rails. Artefak berbahaya tersebut memungkinkan peretas untuk mengeksekusi kode sembarangan pada sistem organisasi yang menginstal perangkat lunak tersebut. Hal ini berpotensi memungkinkan mereka untuk mencuri data, menginstal malware, atau mengganggu operasional.

Keterangan Akhir

Seiring organisasi terus menerapkan praktik pengembangan perangkat lunak yang menekankan otomatisasi dan pengiriman berkelanjutan, pentingnya mengamankan proses pembuatan perangkat lunak menjadi semakin besar. Dengan menerapkan langkah-langkah keamanan yang kuat di seluruh tahap pembuatan, organisasi dapat secara signifikan mengurangi risiko menjadi korban serangan berbahaya yang dapat membahayakan integritas dan keamanan perangkat lunak mereka.

Strategi yang diuraikan dalam posting blog ini dan contoh-contoh yang diberikan berfungsi sebagai pengingat bahwa tahap pengembangan merupakan titik rentan dalam rantai pasokan perangkat lunak. Organisasi harus memperhatikan ancaman ini dan menerapkan langkah-langkah keamanan yang diperlukan untuk melindungi perangkat lunak mereka dari serangan. Dengan demikian, mereka dapat memastikan integritas, keamanan, dan keandalan perangkat lunak mereka bagi pengguna dan pelanggan mereka.

Bergabunglah dalam Perjalanan Kami Menuju Ekosistem Perangkat Lunak yang Aman

Jangan lewatkan kesempatan ini untuk tetap selangkah lebih maju dalam menghindari ancaman rantai pasokan perangkat lunak. Berlangganan blog kami hari ini dan jadilah yang pertama menerima wawasan terbaru kami, memastikan organisasi Anda tetap tangguh dan aman di tengah ancaman yang terus berkembang. Bersama-sama, kita dapat membangun ekosistem perangkat lunak yang lebih kuat dan aman untuk semua.

Jelajahi Fitur-Fitur Xygeni!
Saksikan Demo Video kami
perangkat lunak analisis komposisi sca
Prioritaskan, perbaiki, dan amankan risiko perangkat lunak Anda.
Dapatkan Akun Gratis Anda.
Tidak perlu kartu kredit.

Amankan Pengembangan dan Pengiriman Perangkat Lunak Anda

dengan Rangkaian Produk Xygeni