Supply Chain Attack: Pelajaran untuk Software Engineer
Akhir-akhir ini ramai sekali berita tentang meledaknya pager yang dipakai oleh milisi Hizbullah di Lebanon. Postingan ini tidak akan membahas konflik yang sedang terjadi, saya hanya berfokus pada skema penyerangan Supply Chain Attack (SPA) yang dilakukan. Menurut informasi yang saya baca dari GoaChronicle, diduga Israel melakukan SPA dengan cara menanamkan peledak ke pager yang akan dikirimkan ke milisi tersebut. Kasus ini yang menarik perhatian saya untuk mempelajari skema penyerangan ini, terutama di ranah saya sebagai software engineer.
Lalu apa itu SPA pada lingkup software engineering? Prinsipnya sama, di mana yang diserang adalah program atau dependency pihak ketiga dengan melakukan modifikasi berupa penanaman mallicious script, contohnya backdoor. Ketika korban menggunakan program hasil modifikasi tersebut, attacker dapat melakukan penyerangan lanjutan ke korban, misalnya backdoor yang telah ditanam dapat digunakan untuk melakukan pencurian data.
Salah satu contoh kasus yang terkenal adalah SolarWinds attack. SolarWinds adalah nama perusahaan yang mengeluarkan produk untuk kebutuhan monitoring infrastruktur. Pada 2020, salah satu produknya, yaitu Orion, disisipi backdoor oleh sekelompok hacker, yang diduga disponsori oleh negara Rusia. Akibatnya, ada sekitar 30.000 organisasi pengguna Orion yang terdampak dari serangan tersebut.
Contoh kasus lain adalah Webmin, yang merupakan program untuk management Linux server berbasis web. Pada 2018, attacker menyusupkan backdoor pada source code yang didistribusikan lewat SourceForge. Attacker kemudian bisa menjalankan Remote Code Execution (RCE) ke korban yang menggunakan Webmin versi 1.890 dan 1.900 - 1.920. Saya menemukan labnya untuk kasus ini dan sudah saya buat write upnya, untuk memperdalam pemahaman saya mengenai bagaimana SPA bekerja dan dampaknya (Baca: VulnHub Source: 1 Write Up).
Dari kasus yang sudah saya pelajari ini, saya dapat simpulkan sebagai pengingat untuk saya sendiri ke depannya agar:
/var/webmin/miniserv.error
terdapat log ini ketika saya menjalankan perintah whoami
Pada /var/webmin/miniserv.log
juga terdapat beberapa error 500 yang patut dicurigai
Sumber: