NPM ve PyPI'de 200 kötü amaçlı paket tespit eden bir analizör yayınlandı

Linux Vakfı tarafından oluşturulan ve açık kaynaklı yazılımların güvenliğini artırmayı amaçlayan OpenSSF (Açık Kaynak Güvenlik Vakfı), paketlerde kötü amaçlı kod varlığını analiz etmeye yönelik bir sistem geliştiren açık proje Paket Analizi'ni tanıttı. Proje kodu Go'da yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır. Önerilen araçları kullanarak NPM ve PyPI depolarının ön taraması, daha önce tespit edilmemiş 200'den fazla kötü amaçlı paketi tanımlamamıza olanak sağladı.

Tanımlanan sorunlu paketlerin büyük bir kısmı, isimlerin projelerin dahili halka açık olmayan bağımlılıklarıyla kesişimini manipüle ediyor (bağımlılık karışıklığı saldırısı) veya yazım hatası yöntemlerini kullanıyor (popüler kitaplıkların adlarına benzer adlar atamak) ve ayrıca sırasında harici ana bilgisayarlara erişen komut dosyalarını çağırıyor. Kurulum işlemi. Paket Analizi geliştiricilerine göre, gönderilen veriler kullanıcı ve sistem adı ile sınırlı olduğundan ve eylemler açıkça, herhangi bir girişimde bulunulmadan gerçekleştirildiğinden, tespit edilen sorunlu paketlerin çoğu büyük olasılıkla hata ödül programlarına katılan güvenlik araştırmacıları tarafından oluşturulmuştur. davranışlarını gizler.

Kötü amaçlı etkinliğe sahip paketler şunları içerir:

  • raw.githubusercontent.com, Discord API ve ipinfo.io'ya gönderilen alışılmadık istekleri kaydeden discordcmd PyPI paketi. Belirtilen paket, arka kapı kodunu GitHub'dan indirerek Discord Windows istemci dizinine yükledi ve ardından dosya sisteminde Discord tokenlarını arama ve bunları saldırganlar tarafından kontrol edilen harici bir Discord sunucusuna gönderme sürecini başlattı.
  • Colors'ın NPM paketi aynı zamanda bir Discord hesabından harici bir sunucuya token göndermeyi de denedi.
  • NPM paketi @roku-web-core/ajax - kurulum işlemi sırasında sistem hakkında veri gönderdi ve harici bağlantıları kabul eden ve komutları başlatan bir işleyici (ters kabuk) başlattı.
  • PyPI paketi secrev three - belirli bir modülü içe aktarırken bir ters kabuk başlattı.
  • NPM paketi random-vouchercode-generator - kitaplığı içe aktardıktan sonra, harici bir sunucuya, komutu ve çalıştırılması gereken zamanı döndüren bir istek gönderdi.

Paket Analizinin işi, ağ bağlantıları kurmak, dosyalara erişmek ve komutları çalıştırmak için kaynak koddaki kod paketlerini analiz etmeye dayanır. Ek olarak, başlangıçta zararsız olan yazılım sürümlerinden birine kötü amaçlı eklentilerin eklendiğini belirlemek için paketlerin durumundaki değişiklikler izlenir. Yeni paketlerin depolardaki görünümünü izlemek ve önceden gönderilen paketlerde değişiklik yapmak için NPM, PyPI, Go, RubyGems, Packagist, NuGet ve Crate depolarıyla çalışmayı birleştiren Paket Akışları araç seti kullanılır.

Paket Analizi, hem birlikte hem de ayrı ayrı kullanılabilecek üç temel bileşeni içerir:

  • Paket Akışlarından elde edilen verilere dayalı olarak paket analizi çalışmasını başlatmak için zamanlayıcı.
  • Bir paketi doğrudan inceleyen ve statik analiz ve dinamik izleme tekniklerini kullanarak davranışını değerlendiren bir analizci. Test izole bir ortamda gerçekleştirilir.
  • Test sonuçlarını BigQuery depolama alanına yerleştiren bir yükleyici.

Kaynak: opennet.ru

Yorum ekle