NPM va PyPI-da 200 ta zararli paketlarni aniqlagan analizator nashr etildi

Linux Foundation tomonidan tashkil etilgan va ochiq kodli dasturiy ta'minot xavfsizligini yaxshilashga qaratilgan OpenSSF (Open Source Security Foundation) paketlarda zararli kodlar mavjudligini tahlil qilish tizimini ishlab chiqadigan "Paket tahlili" ochiq loyihasini taqdim etdi. Loyiha kodi Go-da yozilgan va Apache 2.0 litsenziyasi ostida tarqatiladi. Taklif etilgan vositalardan foydalangan holda NPM va PyPI omborlarini dastlabki skanerlash bizga ilgari aniqlanmagan 200 dan ortiq zararli paketlarni aniqlash imkonini berdi.

Aniqlangan muammoli paketlarning asosiy qismi nomlarning loyihalarning ichki noommaviy bog'liqliklari bilan kesishishini manipulyatsiya qiladi (bog'liqlik chalkashliklari hujumi) yoki matn terish usullaridan foydalanadi (mashhur kutubxonalar nomlariga o'xshash nomlarni belgilash), shuningdek, tashqi xostlarga kirish uchun skriptlarni chaqiradi. o'rnatish jarayoni. Paket tahlilini ishlab chiquvchilarning fikriga ko'ra, aniqlangan muammoli paketlarning aksariyati xatoliklarni mukofotlash dasturlarida ishtirok etuvchi xavfsizlik tadqiqotchilari tomonidan yaratilgan bo'lishi mumkin, chunki yuborilgan ma'lumotlar foydalanuvchi va tizim nomi bilan cheklangan va harakatlar aniq, aniq bajarilgan. xatti-harakatlarini yashirish.

Zararli faoliyatga ega paketlarga quyidagilar kiradi:

  • raw.githubusercontent.com, Discord API va ipinfo.io manzillariga atipik so'rovlarni yuborishni qayd qiluvchi PyPI discordcmd paketi. Belgilangan paket GitHub'dan backdoor kodini yuklab oldi va uni Discord Windows mijozlar katalogiga o'rnatdi, shundan so'ng u fayl tizimida Discord tokenlarini qidirish va ularni tajovuzkorlar tomonidan boshqariladigan tashqi Discord serveriga yuborish jarayonini boshladi.
  • Colorss NPM to'plami, shuningdek, Discord hisob qaydnomasidan tashqi serverga tokenlarni yuborishga harakat qildi.
  • NPM paketi @roku-web-core/ajax - o'rnatish jarayonida u tizim haqida ma'lumot yubordi va tashqi ulanishlarni qabul qiladigan va buyruqlarni ishga tushiradigan ishlov beruvchini (teskari qobiq) ishga tushirdi.
  • PyPI to'plami secrevthree - ma'lum bir modulni import qilishda teskari qobiqni ishga tushirdi.
  • NPM paketi tasodifiy-voucherkod-generator - kutubxonani import qilgandan so'ng, u tashqi serverga so'rov yubordi, u buyruqni va uni ishga tushirish vaqtini qaytardi.

Paket tahlilining ishi tarmoq ulanishlarini o'rnatish, fayllarga kirish va buyruqlarni bajarish uchun manba kodidagi kod paketlarini tahlil qilishdan iborat. Bundan tashqari, dastlab zararsiz dasturiy ta'minotning relizlaridan birida zararli qo'shimchalar qo'shilganligini aniqlash uchun paketlar holatidagi o'zgarishlar nazorat qilinadi. Repozitariylarda yangi paketlarning ko'rinishini kuzatish va ilgari joylashtirilgan paketlarga o'zgartirishlar kiritish uchun NPM, PyPI, Go, RubyGems, Packagist, NuGet va Crate omborlari bilan ishlashni birlashtiruvchi Package Feeds asboblar to'plamidan foydalaniladi.

Paket tahlili birgalikda va alohida ishlatilishi mumkin bo'lgan uchta asosiy komponentni o'z ichiga oladi:

  • Package Feeds maΚΌlumotlari asosida paketlarni tahlil qilish ishini boshlash uchun rejalashtiruvchi.
  • To'g'ridan-to'g'ri paketni tekshiradigan va uning xatti-harakatlarini statik tahlil va dinamik kuzatish usullaridan foydalangan holda baholaydigan analizator. Sinov izolyatsiya qilingan muhitda o'tkaziladi.
  • Sinov natijalarini BigQuery xotirasiga joylashtiradigan yuklovchi.

Manba: opennet.ru

a Izoh qo'shish