Seiring perkembangan pengembangan perangkat lunak di sepanjang siklus hidup rantai pasokan perangkat lunak, tahap pengemasan muncul sebagai titik penting, mengubah kode sumber menjadi artefak yang dapat dieksekusi dan siap untuk didistribusikan. Namun, tahap kritis ini tidak kebal terhadap kerentanan, menjadikannya target utama bagi pelaku jahat yang berupaya merusak integritas dan keamanan perangkat lunak. Artikel blog ini membahas ancaman umum yang dapat muncul selama fase ini dan menguraikan strategi efektif untuk menguranginya. Konten ini merupakan kelanjutan dari seri blog kami yang membahas tentang kerentanan keamanan perangkat lunak. software supply chain security di seluruh SDLC.
Tahapan Paket dalam Siklus Hidup Pengembangan Perangkat Lunak
Tahap pengemasan dalam siklus hidup rantai pasokan perangkat lunak mencakup proses pengemasan dan persiapan perangkat lunak untuk didistribusikan kepada pengguna. Tahap ini melibatkan pembuatan paket instalasi, pengelolaan dependensi, dan pembuatan metadata untuk perangkat lunak.
Ancaman integritas build adalah kerentanan yang memungkinkan penyerang untuk memasukkan perubahan yang tidak sah ke dalam perangkat lunak selama proses pengemasan. Ancaman ini dapat dimasukkan melalui berbagai metode, seperti membahayakan registri paket, mengeksploitasi kerentanan dalam alat pengemasan, atau memanipulasi dependensi pihak ketiga.
Ketergantungan total pada komponen sumber terbuka dalam perangkat lunak modern menjadikan tahap ini sebagai S yang paling sering terjadi.SCA target. Menyisipkan malware tersembunyi dalam komponen open-source populer adalah impian bagi banyak penjahat siber. Inilah sebabnya mengapa lebih dari Sebanyak 245,000 paket berbahaya ditemukan selama tahun 2023..
Contoh dari Software Supply Chain Security Ancaman pada Tahap Paket

Gunakan paket yang telah disusupi.
Ini merujuk pada tindakan menyebarkan atau menggunakan paket perangkat lunak yang telah dirusak atau dimodifikasi oleh pihak lawan.
Hal ini dapat terjadi setelah paket tersebut keluar dari registri paket resmi, baik melalui akses langsung ke sistem pengguna atau melalui taktik rekayasa sosial yang memperdaya pengguna untuk mengunduh atau menginstal paket berbahaya. Contoh dari vektor ini adalah... Browserify kesalahan ketik Menyerang.
Seorang penyerang, yang berupaya membahayakan sistem Linux dan Mac, menyusup ke dalam proses pengembangan sebuah pustaka Node.js populer bernama Browserify. Penyerang tersebut menyisipkan kode berbahaya ke dalam kode sumber proyek, dengan maksud untuk mendistribusikannya melalui registri paket NPM. Setelah paket Browserify yang terkontaminasi diunggah ke NPM, para pengembang yang tidak curiga akan mengunduh dan menginstalnya, dengan keyakinan bahwa itu adalah versi yang sah. Kode berbahaya yang tertanam dalam paket tersebut akan berjalan secara diam-diam, membahayakan integritas sistem yang terinfeksi. Hal ini dapat menyebabkan pencurian data, ketidakstabilan sistem, atau bahkan akses jarak jauh bagi penyerang.
Registri paket kompromi
Registry paket yang disusupi adalah repositori perangkat lunak yang telah disusupi oleh pihak lawan yang telah memperoleh akses tidak sah ke antarmuka administratif atau infrastruktur registry tersebut.
Hal ini memungkinkan pihak lawan untuk memodifikasi atau mengganti paket perangkat lunak yang sah dengan paket berbahaya, yang kemudian dapat didistribusikan kepada pengguna yang tidak curiga. Contoh dari jenis ancaman ini adalah... Serangan terhadap Mirror Paket: Seorang peneliti, dengan tujuan mempromosikan perangkat lunak sumber terbuka, meretas beberapa registri paket populer, termasuk Maven Central, NPM, dan RubyGems. Dengan mendapatkan akses ke registri-registri ini, peneliti tersebut mampu membuat mirror dan replika dari repositori asli, yang menyediakan alternatif yang nyaman bagi pengembang untuk mengunduh paket.
Namun, mirror-mirror ini menyimpan tujuan jahat. Mirror yang diretas berfungsi sebagai saluran bagi peneliti untuk mendistribusikan paket-paket berbahaya. Paket-paket ini menggantikan paket-paket yang sah, tanpa terdeteksi oleh registri utama, dan pengembang yang tidak curiga tanpa sadar mengunduh dan menginstalnya. Setelah terinstal, paket-paket berbahaya ini melepaskan muatannya, mengeksekusi kode sembarangan, mencuri data sensitif, atau mengganggu operasional.
Unggah Paket yang Dimodifikasi
Pihak lawan mengunggah paket yang telah dimodifikasi ke repositori atau saluran distribusi yang berisi kode atau muatan berbahaya. Hal ini dapat dilakukan dengan memodifikasi kode sumber, pengemasan, atau metadata paket tersebut.
Salah satu ancaman paling terkenal dari jenis ini adalah... Serangan CodeCov pada tahun 2021. Seorang penyerang, yang berupaya membahayakan proyek perangkat lunak menggunakan CodeCov, sebuah platform integrasi berkelanjutan dan pengiriman berkelanjutan yang populer (CI/CDSebuah alat (code-in-the-box) memanfaatkan kredensial yang bocor untuk mendapatkan akses tidak sah ke bucket Google Cloud Storage (GCS) sebuah proyek. Setelah penyerang mendapatkan akses ke bucket GCS, mereka mengunggah artefak berbahaya, versi modifikasi dari paket CodeCov, yang kemudian didistribusikan kepada pengguna melalui layanan CodeCov. Pengembang yang tidak curiga, yang mengandalkan fitur pembaruan otomatis, akan mengunduh dan menginstal paket berbahaya tersebut, dengan keyakinan bahwa itu adalah paket yang sah. Setelah terinstal, kode berbahaya akan berjalan secara diam-diam, membahayakan integritas sistem yang terinfeksi. Hal ini dapat menyebabkan pencurian data, ketidakstabilan sistem, atau bahkan akses jarak jauh bagi penyerang.
Serangan terhadap registri paket sangat umum sehingga beberapa pola serangan diberi nama:
In typosquattingPelaku kejahatan mengunggah beberapa paket berbahaya ke registri dengan kesalahan ketik kecil atau nama yang mirip dengan paket legal dan populer, dengan harapan pengembang akan salah mengeja nama paket yang dimaksud dengan nama yang berbahaya. Seringkali paket berbahaya tersebut menyamar sebagai paket legal agar tidak terdeteksi, sehingga meningkatkan kemungkinan terkena serangan "stargazing".
Kebingungan Ketergantungan Hal ini memanfaatkan cara beberapa pengelola paket menyelesaikan paket yang diminta dari beberapa registri. Ketika suatu organisasi menggunakan komponen internal yang diterbitkan dalam registri internal, penyerang yang mengetahui fakta tersebut dapat menerbitkan komponen berbahaya dengan nama yang sama di registri publik. Jika nama yang digunakan untuk komponen internal tidak dibatasi ruang lingkupnya, beberapa pengelola paket akan mengambil komponen berbahaya tersebut alih-alih komponen internal.
Dengan Paket TroyanPenjahat siber menyamarkan malware di antara kode valid yang bermanfaat. Ini bisa digunakan oleh penulis sebenarnya, atau oleh kontributor yang menawarkan diri untuk memelihara paket tersebut. Ini juga dikenal sebagai Pembajakan PaketPenyerang menggunakan banyak teknik untuk membajak paket yang sudah ada, seperti Pengambilalihan Domain di mana domain yang sudah usang dan kedaluwarsa diambil alih oleh penyerang yang membuat ulang email pengelola lama dan melakukan pemulihan kata sandi untuk mengambil alih akun pengelola.
Keterangan Akhir
Seiring semakin banyaknya organisasi yang mengadopsi metodologi pengembangan perangkat lunak yang memprioritaskan otomatisasi dan pengiriman berkelanjutan, pentingnya mengamankan tahap paket perangkat lunak menjadi semakin utama. Dengan menerapkan langkah-langkah keamanan yang kuat di seluruh fase kritis ini, organisasi dapat secara substansial mengurangi risiko terkena serangan berbahaya yang dapat membahayakan integritas dan keamanan perangkat lunak mereka.
Strategi yang diuraikan dalam posting blog ini, beserta contoh-contoh yang diberikan, berfungsi sebagai pengingat yang jelas bahwa tahap pengemasan 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 menjamin 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 untuk selalu selangkah lebih maju dalam bidang ini. software supply chain securityBerlangganan 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 orang.
Ingat, software supply chain security Keamanan adalah sebuah perjalanan berkelanjutan, bukan tujuan akhir. Dengan terus mengevaluasi dan menyesuaikan praktik keamanan untuk mengatasi ancaman yang muncul, organisasi dapat melindungi rantai pasokan perangkat lunak mereka dan memberikan perangkat lunak tepercaya kepada pengguna mereka.
Saksikan Demo Video kami







