Ada Celah Keamanan di Titik Masuk Paket Open Source

Ada Celah Keamanan di Titik Masuk Paket Open Source

Penyerang juga dapat memanfaatkan plugin dan ekstensi berbahaya.

(MedCom) 31/10/24 14:11 17257084

Jakarta: Paket aplikasi open source, termasuk yang ada di Python dan JavaScript, memiliki kerentanan di titik masuknya yang dapat digunakan oleh pelaku ancaman untuk mengeksekusi kode berbahaya untuk mencuri data, menanam malware, dan banyak lagi. Peringatan ini datang dalam laporan yang dirilis hari ini oleh para peneliti di Checkmarx.

Dikutip dari CSO Online, mereka menjuluki teknik ini "command jacking," karena penyerang dapat menggunakan titik masuk untuk menjalankan perintah tertentu yang meniru alat pihak ketiga yang populer dan perintah sistem. Tetapi penyerang juga dapat memanfaatkan plugin dan ekstensi berbahaya.

"Serangan titik masuk, sementara membutuhkan interaksi pengguna, menawarkan penyerang metode yang lebih tersembunyi dan gigih untuk membahayakan sistem [daripada taktik lain], yang berpotensi melewati pemeriksaan keamanan tradisional," laporan itu memperingatkan.
Selama dua tahun terakhir, banyak peneliti telah memperingatkan bahwa pengelola paket open source adalah tempat pelaku ancaman menyimpan salinan berbahaya dari alat atau pustaka yang sah yang diinginkan pengembang, sering meniru atau menyalin nama-nama alat ini – teknik yang disebut typosquatting – untuk membodohi pengembang yang tidak menaruh curiga.

Laporan terbaru ini adalah contoh lain mengapa pengembang perlu berhati-hati saat memilih paket untuk diunduh dari repositori kode sumber terbuka.

Misalnya, pada bulan Maret, sebuah perusahaan keamanan siber memperingatkan bahwa pelaku ancaman telah membuat beberapa repositori GitHub, menyamar sebagai perangkat lunak yang diretak, untuk menjatuhkan pencuri info RisePro ke dalam aplikasi.

Taktik lain adalah kebingungan ketergantungan, yang bergantung pada aktor ancaman yang menerbitkan versi berbahaya dari paket dengan nomor versi yang berbeda dari paket yang sah.

Para peneliti Checkmarx mengatakan vektor serangan titik masuk ada dalam beberapa bahasa utama dan pengelola paket, termasuk npm (JavaScript), Ruby Gems, NuGet (.NET), Dart Pub, dan Rust Crates.

Meskipun metode ini tidak memungkinkan kompromi sistem langsung seperti halnya skrip otomatis atau dependensi berbahaya, Checkmarx mengatakan bahwa metode ini menawarkan pendekatan yang lebih halus bagi penyerang yang sabar untuk menyusup ke sistem, yang berpotensi menghindari langkah-langkah keamanan standar.

Pertama, primer: Titik masuk aplikasi mengontrol akses pengguna. Laporan tersebut menggambarkannya sebagai fitur kekuatan pada sistem pengemasan yang memungkinkan pengembang untuk mengekspos fungsi tertentu melalui baris perintah tanpa mengharuskan pengguna untuk mengetahui jalur impor atau struktur paket yang tepat.

Titik masuk memungkinkan pembuatan skrip baris perintah yang dapat dijalankan pengguna setelah menginstal paket, atau menentukan sistem plugin di mana paket pihak ketiga dapat memperluas fungsionalitas paket inti. Lokasi dan format definisi titik masuk bervariasi tergantung pada apakah paket tersebut adalah sumber atau distribusi roda.

Titik masuk paling populer di Python, misalnya, adalah "console_scripts", yang menunjuk ke fungsi yang pengembang ingin tersedia sebagai alat baris perintah bagi siapa pun yang menginstal paket.

Ketika sebuah paket diinstal, kata laporan, titik masuk ini dicatat dalam metadata paket. Paket atau alat lain kemudian dapat mengkueri metadata ini untuk menemukan dan menggunakan titik masuk yang ditentukan.

"Jika penyerang dapat memanipulasi metadata paket yang sah atau meyakinkan pengguna untuk menginstal paket berbahaya, mereka berpotensi mengeksekusi kode arbitrer pada sistem pengguna setiap kali perintah atau plugin yang ditentukan dipanggil," kata para peneliti.

Taktik yang disebut para peneliti sebagai command jacking melibatkan penggunaan titik masuk untuk menyamar sebagai alat pihak ketiga yang banyak digunakan. "Taktik ini sangat efektif terhadap pengembang yang sering menggunakan alat ini dalam alur kerja mereka," catat laporan itu.

Misalnya, penyerang mungkin membuat paket dengan titik masuk \'aws\' berbahaya. Ketika pengembang yang tidak curiga yang secara teratur menggunakan layanan AWS menginstal paket ini dan kemudian menjalankan perintah aws, perintah \'aws\' palsu dapat mengeksfiltrasi kunci akses dan rahasia AWS mereka.

"Serangan ini bisa menghancurkan di lingkungan CI/CD [integrasi berkelanjutan/pengiriman berkelanjutan], di mana kredensial AWS sering disimpan untuk penerapan otomatis," kata laporan itu, "berpotensi memberi penyerang akses ke seluruh infrastruktur cloud.

Contoh lain adalah paket berbahaya yang meniru perintah \'docker\', menargetkan pengembang yang bekerja dengan aplikasi dalam kontainer. Perintah \'docker\' palsu mungkin diam-diam mengirim gambar atau spesifikasi kontainer ke server penyerang selama build atau deployment. Dalam arsitektur layanan mikro, ini dapat mengekspos konfigurasi layanan sensitif atau bahkan mengarah pada eksfiltrasi gambar kontainer berpemilik, kata laporan itu.

Perintah pihak ketiga populer lainnya yang dapat menjadi target potensial untuk peniruan identitas meliputi:

npm (pengelola paket Node.js)
pip (penginstal paket Python)
git (sistem kontrol versi)
kubectl (alat baris perintah Kubernetes)
terraform (alat Infrastruktur sebagai Kode)
gcloud (antarmuka baris perintah Google Cloud)
heroku (antarmuka baris perintah Heroku)
dotnet (antarmuka baris perintah untuk .NET Core)

"Masing-masing perintah ini banyak digunakan di berbagai lingkungan pengembangan, menjadikannya target yang menarik bagi penyerang yang ingin memaksimalkan dampak paket berbahaya mereka," kata laporan itu.

Taktik pembajakan perintah lainnya telah dijuluki "pembungkus perintah." Alih-alih mengganti perintah, penyerang membuat titik masuk yang bertindak sebagai pembungkus di sekitar perintah asli. Pendekatan diam-diam ini memungkinkan penyerang untuk mempertahankan akses jangka panjang dan berpotensi mengeksfiltrasi informasi sensitif tanpa menimbulkan kecurigaan, kata laporan itu.

Namun, ia menambahkan, menerapkan pembungkus perintah membutuhkan penelitian tambahan oleh penyerang. Mereka perlu memahami jalur yang benar untuk perintah yang ditargetkan pada sistem operasi yang berbeda dan memperhitungkan potensi kesalahan dalam kode mereka. Kompleksitas ini meningkat dengan keragaman sistem yang ditargetkan oleh serangan.

Taktik ketiga adalah membuat plugin berbahaya untuk alat dan kerangka kerja populer. Misalnya, jika penyerang ingin menargetkan kerangka pengujian pytest Python, mereka akan membuat plugin yang tampaknya menjadi utilitas untuk membantu dalam pengujian yang menggunakan titik masuk pytest. Plugin kemudian dapat menjalankan kode berbahaya di latar belakang, atau memungkinkan kode yang bermasalah atau rentan untuk lulus pemeriksaan kualitas.

"Penting untuk mengklarifikasi bahwa titik masuk pada dasarnya tidak bermasalah," kata Yehuda Gelb, seorang peneliti keamanan Checkmarx, kepada CSO Online. "Mereka adalah fitur yang sah dan berguna dalam berbagai ekosistem bahasa, termasuk Python.

Kerentanannya terletak pada bagaimana fitur ini dapat dieksploitasi, bukan pada fitur itu sendiri. Alih-alih \'memperbaiki\' titik masuk, yang dapat merusak fungsionalitas yang sah untuk banyak paket, fokus kita harus meningkatkan kesadaran di antara konsumen kode tentang potensi risiko, dan mendidik mereka tentang strategi mitigasi risiko."

"Dengan berkonsentrasi pada area ini, kami dapat mengurangi risiko yang terkait dengan manipulasi titik masuk sambil mempertahankan fungsionalitas dan kenyamanan yang disediakan titik masuk," kata Gelb.

"Sangat penting untuk mengembangkan langkah-langkah keamanan komprehensif yang memperhitungkan eksploitasi titik masuk," laporan itu menyimpulkan. Dengan memahami dan mengatasi risiko ini, katanya, komunitas keamanan dapat bekerja menuju lingkungan pengemasan aplikasi yang lebih aman, melindungi pengembang individu dan sistem perusahaan dari serangan rantai pasokan yang canggih.


dan followChannel WhatsApp Medcom.id

(MMI)

#cyber-security #keamanan-siber

https://www.medcom.id/teknologi/news-teknologi/yKXL9YEK-ada-celah-keamanan-di-titik-masuk-paket-open-source