Byla zveřejněna analýza, která odhalila 200 škodlivých balíčků v NPM a PyPI

OpenSSF (Open Source Security Foundation), založený organizací Linux Foundation s cílem zvýšit bezpečnost open source softwaru, představil otevřený projekt Package Analysis, který vyvíjí systém pro analýzu přítomnosti škodlivého kódu v balíčcích. Kód projektu je napsán v jazyce Go a je distribuován pod licencí Apache 2.0. Předběžné skenování repozitářů NPM a PyPI pomocí navrženého nástroje odhalilo více než 200 dříve nezaznamenaných škodlivých balíčků.

Hlavní část odhalených problematických balíčků manipuluje s překrývajícími se názvy interních neveřejných závislostí projektů (útok dependency confusion) nebo používá metody typosquattingu (přiřazení názvů podobných názvům populárních knihoven) a také spouštějí během instalace skripty volající externí hostitele. Podle názoru vývojářů Package Analysis byla většina odhalených problematických balíčků pravděpodobně vytvořena bezpečnostními výzkumníky zapojenými do programů odměn za odhalení zranitelností (bug bounties), protože odesílané údaje se omezují na uživatelské jméno a systém, a akce jsou vykonávány zjevně, bez pokusu skrýt své chování.

Mezi balíčky s škodlivou aktivitou se poznamenávají:

  • PyPI balíček discordcmd, ve kterém bylo zaznamenáno odesílání netypických požadavků na raw.githubusercontent.com, Discord API a ipinfo.io. Uvedený balíček stahoval kód b backdooru z GitHubu a instalačně jej umisťoval do adresáře Windows klienta Discord, poté spouštěl proces hledání Discord tokenů v souborovém systému a odesílal je na externí Discord server, řízený útočníky.
  • NPM balíček colorsss, který se také pokoušel posílat na externí server tokeny účtu na Discordu.
  • NPM balíček @roku-web-core/ajax — během instalace odesílal údaje o systému a spouštěl zpracovatel (reverse shell), který přijímal externí připojení a spouštěl příkazy.
  • PyPI balíček secrevthree — spouštěl reverse shell při importování určitého modulu.
  • NPM balíček random-vouchercode-generator — po importu knihovny odesílal požadavek na externí server, který vracel příkaz a čas, kdy má být spuštěn.

Práce s analýzou balíčků spočívá v analýze zdrojových textů balíčků kódu pro vytváření síťových připojení, přístup k souborům a spouštění příkazů. Dále se sleduje změna stavu balíčků za účelem určení přidání škodlivých vložek v jednom z vydání původně neškodného softwaru. Pro monitorování nových balíčků v repozitářích a provádění změn v dříve umístěných balíčcích se používá nástroj Package Feeds, který unifikuje práci s repozitáři NPM, PyPI, Go, RubyGems, Packagist, NuGet a Crate.

Analýza balíčků zahrnuje tři základní komponenty, které mohou být používány jak společně, tak samostatně:

  • Plánovač spouštění analýz balíčků na základě dat z Package Feeds.
  • Analyzátor, který přímo kontroluje balíček a hodnotí jeho chování s využitím metod statické analýzy a dynamického sledování. Kontrola probíhá v izolovaném prostředí.
  • Nahrávač, umisťující výsledky kontroly do úložiště BigQuery.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster