Sebuah penganalisis telah diterbitkan yang mengidentifikasi 200 paket berbahaya di NPM dan PyPI

OpenSSF (Open Source Security Foundation), dibentuk oleh Linux Foundation dan bertujuan untuk meningkatkan keamanan perangkat lunak sumber terbuka, memperkenalkan proyek terbuka Analisis Paket, yang mengembangkan sistem untuk menganalisis keberadaan kode berbahaya dalam paket. Kode proyek ditulis dalam Go dan didistribusikan di bawah lisensi Apache 2.0. Pemindaian awal terhadap repositori NPM dan PyPI menggunakan alat yang diusulkan memungkinkan kami mengidentifikasi lebih dari 200 paket berbahaya yang sebelumnya tidak terdeteksi.

Sebagian besar paket bermasalah yang teridentifikasi memanipulasi perpotongan nama dengan dependensi internal non-publik proyek (serangan kebingungan ketergantungan) atau menggunakan metode kesalahan ketik (menetapkan nama yang mirip dengan nama perpustakaan populer), dan juga memanggil skrip yang mengakses host eksternal selama proses instalasi. Menurut pengembang Analisis Paket, sebagian besar paket bermasalah yang teridentifikasi kemungkinan besar dibuat oleh peneliti keamanan yang berpartisipasi dalam program bug bounty, karena data yang dikirim terbatas pada nama pengguna dan sistem, dan tindakan dilakukan secara eksplisit, tanpa upaya untuk menyembunyikan perilaku mereka.

Paket dengan aktivitas jahat meliputi:

  • Paket PyPI discordcmd, yang mencatat pengiriman permintaan atipikal ke raw.githubusercontent.com, Discord API, dan ipinfo.io. Paket yang ditentukan mengunduh kode pintu belakang dari GitHub dan menginstalnya di direktori klien Discord Windows, setelah itu memulai proses pencarian token Discord di sistem file dan mengirimkannya ke server Discord eksternal yang dikendalikan oleh penyerang.
  • Paket NPM colourss juga mencoba mengirim token dari akun Discord ke server eksternal.
  • Paket NPM @roku-web-core/ajax - selama proses instalasi ia mengirimkan data tentang sistem dan meluncurkan handler (reverse shell) yang menerima koneksi eksternal dan meluncurkan perintah.
  • Paket PyPI secrevthree - meluncurkan shell terbalik saat mengimpor modul tertentu.
  • Paket NPM generator kode voucher acak - setelah mengimpor perpustakaan, ia mengirim permintaan ke server eksternal, yang mengembalikan perintah dan waktu dijalankannya.

Pekerjaan Analisis Paket adalah menganalisis paket kode dalam kode sumber untuk membuat koneksi jaringan, mengakses file, dan menjalankan perintah. Selain itu, perubahan status paket dipantau untuk menentukan penambahan sisipan berbahaya di salah satu rilis perangkat lunak yang awalnya tidak berbahaya. Untuk memantau kemunculan paket baru di repositori dan membuat perubahan pada paket yang diposting sebelumnya, toolkit Package Feeds digunakan, yang menyatukan pekerjaan dengan repositori NPM, PyPI, Go, RubyGems, Packagist, NuGet dan Crate.

Analisis Paket mencakup tiga komponen dasar yang dapat digunakan baik secara kombinasi maupun terpisah:

  • Penjadwal untuk meluncurkan analisis paket bekerja berdasarkan data dari Umpan Paket.
  • Penganalisis yang secara langsung memeriksa suatu paket dan mengevaluasi perilakunya menggunakan analisis statis dan teknik penelusuran dinamis. Tes ini dilakukan di lingkungan yang terisolasi.
  • Pemuat yang menempatkan hasil pengujian ke penyimpanan BigQuery.

Sumber: opennet.ru

Tambah komentar