Penganalisis telah diterbitkan yang mengenal pasti 200 pakej berniat jahat dalam NPM dan PyPI

OpenSSF (Yayasan Keselamatan Sumber Terbuka), yang dibentuk oleh Yayasan Linux dan bertujuan untuk meningkatkan keselamatan perisian sumber terbuka, memperkenalkan Analisis Pakej projek terbuka, yang membangunkan sistem untuk menganalisis kehadiran kod berniat jahat dalam pakej. Kod projek ditulis dalam Go dan diedarkan di bawah lesen Apache 2.0. Imbasan awal repositori NPM dan PyPI menggunakan alat yang dicadangkan membolehkan kami mengenal pasti lebih daripada 200 pakej hasad yang tidak dapat dikesan sebelum ini.

Sebahagian besar daripada pakej bermasalah yang dikenal pasti memanipulasi persilangan nama dengan kebergantungan dalaman bukan awam projek (serangan kekeliruan ketergantungan) atau menggunakan kaedah typosquatting (menetapkan nama yang serupa dengan nama perpustakaan popular), dan juga memanggil skrip yang mengakses hos luaran semasa proses pemasangan. Menurut pembangun Analisis Pakej, kebanyakan pakej bermasalah yang dikenal pasti berkemungkinan besar dicipta oleh penyelidik keselamatan yang mengambil bahagian dalam program hadiah pepijat, memandangkan data yang dihantar terhad kepada pengguna dan nama sistem, dan tindakan dilakukan secara eksplisit, tanpa percubaan untuk menyembunyikan kelakuan mereka.

Pakej dengan aktiviti berniat jahat termasuk:

  • Discordcmd pakej PyPI, yang merekodkan penghantaran permintaan atipikal ke raw.githubusercontent.com, Discord API dan ipinfo.io. Pakej yang ditentukan memuat turun kod pintu belakang daripada GitHub dan memasangnya dalam direktori klien Windows Discord, selepas itu ia memulakan proses mencari token Discord dalam sistem fail dan menghantarnya ke pelayan Discord luaran yang dikawal oleh penyerang.
  • Pakej NPM colorss juga cuba menghantar token daripada akaun Discord ke pelayan luaran.
  • Pakej NPM @roku-web-core/ajax - semasa proses pemasangan ia menghantar data tentang sistem dan melancarkan pengendali (cangkang terbalik) yang menerima sambungan luaran dan melancarkan arahan.
  • Pakej PyPI secrevthree - melancarkan shell terbalik apabila mengimport modul tertentu.
  • Pakej NPM random-vouchercode-generator - selepas mengimport perpustakaan, ia menghantar permintaan kepada pelayan luaran, yang mengembalikan arahan dan masa ia harus dijalankan.

Kerja Analisis Pakej adalah untuk menganalisis pakej kod dalam kod sumber untuk mewujudkan sambungan rangkaian, mengakses fail dan menjalankan arahan. Selain itu, perubahan dalam keadaan pakej dipantau untuk menentukan penambahan sisipan berniat jahat dalam salah satu keluaran perisian yang pada mulanya tidak berbahaya. Untuk memantau penampilan pakej baharu dalam repositori dan membuat perubahan pada pakej yang disiarkan sebelum ini, kit alat Suapan Pakej digunakan, yang menyatukan kerja dengan repositori NPM, PyPI, Go, RubyGems, Packagist, NuGet dan Crate.

Analisis Pakej merangkumi tiga komponen asas yang boleh digunakan secara bersama dan berasingan:

  • Penjadual untuk melancarkan kerja analisis pakej berdasarkan data daripada Suapan Pakej.
  • Penganalisis yang memeriksa secara langsung pakej dan menilai kelakuannya menggunakan analisis statik dan teknik pengesanan dinamik. Ujian dijalankan dalam persekitaran terpencil.
  • Pemuat yang meletakkan hasil ujian ke dalam storan BigQuery.

Sumber: opennet.ru

Tambah komen