- Cooldown dependensi (dependency cooldown) adalah teknik keamanan yang sederhana dan efektif yang dapat memitigasi sebagian besar serangan rantai pasok open source
- Penyerang biasanya mengambil alih proyek open source populer untuk menyebarkan kode berbahaya, tetapi pada kebanyakan serangan periode paparannya singkat, kurang dari satu minggu
- Dengan menetapkan cooldown yang menunggu selama periode tertentu (misalnya 7 hari) setelah versi baru dirilis, risiko infeksi akibat pembaruan otomatis dapat dikurangi secara signifikan
- Dependabot, Renovate, pnpm, dan lainnya sudah mendukung fitur cooldown secara bawaan, mudah dikonfigurasi, dan tidak memerlukan biaya tambahan
- Jika cooldown disediakan secara default di tingkat package manager, hal ini dapat membantu memperkuat keamanan rantai pasok dan mengurangi alarm yang tidak perlu
Struktur dan masalah serangan rantai pasok
- Sebagian besar serangan rantai pasok (supply chain attack) mengikuti pola yang sama
- Penyerang mendapatkan akses dengan memanfaatkan pencurian kredensial atau kerentanan CI/CD pada proyek open source populer
- Perubahan berbahaya diunggah ke kanal distribusi seperti PyPI, npm, dan lainnya
- Karena pembaruan otomatis atau versi yang tidak dipin dengan baik, pengguna memasang versi yang terinfeksi
- Vendor keamanan mendeteksinya, mengeluarkan peringatan, lalu repositori paket menghapus versi tersebut
- Jarak waktu antara tahap (1)~(2) panjang, tetapi tahap (2)~(5) biasanya selesai dalam hitungan jam hingga beberapa hari, sehingga masa aktivitas penyerang relatif singkat
- Window of opportunity untuk kasus-kasus utama dalam 18 bulan terakhir
- xz-utils: sekitar 5 minggu
- Ultralytics: 12 jam (tahap 1), 1 jam (tahap 2)
- tj-actions: 3 hari
- chalk: kurang dari 12 jam
- Nx: 4 jam
- rspack: 1 jam
- num2words: kurang dari 12 jam
- Kong Ingress Controller: sekitar 10 hari
- web3.js: 5 jam
- Dari kasus-kasus ini, 8 serangan memiliki durasi serangan kurang dari 1 minggu, dan sebagian besar dapat diblokir dengan cooldown
Konsep dan efek cooldown
- Cooldown adalah pendekatan yang menunda penggunaan dependensi baru selama periode tertentu setelah dirilis
- Selama periode ini, vendor keamanan dapat mendeteksi apakah dependensi tersebut berbahaya
- Kelebihan
Kesimpulan dan saran
- 8 dari 10 serangan memiliki durasi 1 minggu atau kurang, dan cooldown 7 hari dapat memblokir sebagian besar di antaranya
- Dengan menerapkan cooldown 14 hari, semua kasus selain xz-utils dapat dicegah
- Cooldown bukan solusi sempurna, tetapi merupakan cara sederhana untuk mengurangi risiko paparan hingga 80~90%
- Selain Dependabot dan Renovate, perlu ada perbaikan agar package manager sendiri mendukung cooldown secara default
- Keamanan rantai pasok bukan hanya masalah teknis, tetapi juga soal struktur kepercayaan sosial, dan cooldown adalah langkah mitigasi yang realistis dan berguna
Belum ada komentar.