Paket PyPI dan Perpustakaan PHP

Dua paket Python dan PHP yang tertrojan telah ditemukan dalam contoh lain dari serangan rantai pasokan perangkat lunak yang menargetkan ekosistem sumber terbuka.

Salah satu paket yang dimaksud adalah “ctx,” modul Python yang tersedia di repositori PyPi. Yang lainnya melibatkan “phpass,” sebuah paket PHP yang telah bercabang di GitHub untuk mendistribusikan pembaruan jahat.

“Dalam kedua kasus, penyerang tampaknya telah mengambil alih paket yang sudah lama tidak diperbarui,” kata SANS Internet Storm Center (ISC), salah satu relawan penangan insiden, Yee Ching, menganalisis paket ctx.

Perlu dicatat bahwa ctx terakhir dipublikasikan ke PyPi pada 19 Desember 2014. Di sisi lain, phpass belum menerima pembaruan sejak diunggah ke Packagist pada 31 Agustus 2012.

Paket Python berbahaya, yang didorong ke PyPi pada 21 Mei 2022, telah dihapus dari repositori, tetapi pustaka PHP masih terus tersedia di GitHub.

Keamanan cyber

Dalam kedua contoh, modifikasi dirancang untuk mengekstrak kredensial AWS ke URL Heroku bernama ‘anti-theft-web.herokuapp[.]com.’ “Tampaknya pelaku mencoba untuk mendapatkan semua variabel lingkungan, menyandikannya di Base64, dan meneruskan data ke aplikasi web di bawah kendali pelaku,” kata Ching.

Diduga penyerang berhasil mendapatkan akses tidak sah ke akun pengelola untuk menerbitkan versi ctx baru. Penyelidikan lebih lanjut telah mengungkapkan bahwa aktor ancaman mendaftarkan domain kedaluwarsa yang digunakan oleh pengelola asli pada 14 Mei 2022.

Paket PyPI dan Perpustakaan PHP
Perintah diff Linux dijalankan pada Paket ctx 0.1.2 asli dan Paket ctx 0.1.2 “baru”

“Dengan kontrol atas nama domain asli, membuat email yang sesuai untuk menerima email pengaturan ulang kata sandi akan menjadi hal yang sepele,” tambah Ching. “Setelah mendapatkan akses ke akun, pelaku dapat menghapus paket lama dan mengunggah versi backdoor yang baru.”

Secara kebetulan, pada 10 Mei 2022, konsultan keamanan Lance Vick diungkapkan bagaimana mungkin untuk membeli domain email pengelola NPM yang sudah kadaluwarsa dan kemudian menggunakannya untuk membuat ulang email pengelola dan mengambil kendali atas paket.

Paket PyPI dan Perpustakaan PHP

Terlebih lagi, analisis metadata 1,63 juta paket JavaScript NPM yang dilakukan oleh akademisi dari Microsoft dan North Carolina State University tahun lalu menemukan 2.818 alamat email pengelola yang terkait dengan domain kedaluwarsa, yang secara efektif memungkinkan penyerang membajak 8.494 paket dengan mengambil alih akun NPM.

“Secara umum, nama domain apa pun dapat dibeli dari pendaftar domain yang memungkinkan pembeli terhubung ke layanan hosting email untuk mendapatkan alamat email pribadi,” kata para peneliti. “Seorang penyerang dapat membajak domain pengguna untuk mengambil alih akun yang terkait dengan alamat email itu.”

Keamanan cyber

Jika domain pengelola ternyata kedaluwarsa, pelaku ancaman dapat memperoleh domain dan mengubah catatan DNS mail exchange (MX) agar sesuai dengan alamat email pengelola.

“Sepertinya kompromi phpass terjadi karena pemilik sumber paket – ‘hautelook’ menghapus akunnya dan kemudian penyerang mengklaim nama pengguna,” peneliti Somdev Sangwan dikatakan dalam serangkaian tweet, merinci apa yang disebut serangan pembajakan repositori.

Repositori publik kode sumber terbuka seperti Maven, NPM, Paket, PyPi, dan RubyGems adalah bagian penting dari rantai pasokan perangkat lunak yang diandalkan banyak organisasi untuk mengembangkan aplikasi.

Di sisi lain, ini juga membuat mereka menjadi target yang menarik bagi berbagai musuh yang ingin mengirimkan malware.

Ini termasuk kesalahan ketik, kebingungan ketergantungan, dan serangan pengambilalihan akun, yang terakhir dapat dimanfaatkan untuk mengirimkan versi palsu dari paket yang sah, yang mengarah ke kompromi rantai pasokan yang meluas.

“Pengembang secara membabi buta mempercayai repositori dan menginstal paket dari sumber-sumber ini, dengan asumsi mereka aman,” kata perusahaan DevSecOps JFrog tahun lalu, menambahkan bagaimana aktor ancaman menggunakan repositori sebagai vektor distribusi malware dan meluncurkan serangan yang berhasil pada pengembang dan CI/CD mesin di dalam pipa.