Společnost ReversingLabs výsledky analýzy použití v repozitáři RubyGems. Typiskvotting se obvykle používá k šíření škodlivých balíčků, které jsou určeny k tomu, aby nedbalý vývojář v průběhu hledání udělal překlep nebo si nevšiml rozdílu. Během výzkumu bylo identifikováno více než 700 balíčků, jejichž názvy se podobají populárním balíčkům a liší se nepatrnými detaily, jako je nahrazení podobných písmen nebo použití podtržítek místo pomlček.
U více než 400 balíčků byly nalezeny komponenty podezřelé z vykonávání škodlivých činností. Konkrétně uvnitř byl soubor aaa.png, který zahrnoval spustitelný kód ve formátu PE. Tyto balíčky byly spojeny se dvěma účty, prostřednictvím kterých bylo od 16. do 25. února 2020 v RubyGems umístěno , které byly celkově staženy přibližně 95 tisíckrát. Výzkumníci informovali správu RubyGems a zjištěné škodlivé balíčky byly již odstraněny z repozitáře.
Z identifikovaných problematických balíčků byl nejpopulárnější balíček „atlas-client“, který na první pohled prakticky není odlišitelný od legitimního balíčku „“. Uvedený balíček byl stažen 2100krát (normální balíček přitom byl stažen 6496krát, tj. uživatelé se mýlili téměř ve 25 % případů). Ostatní balíčky byly průměrně stahovány 100-150krát a maskovaly se pod jiné balíčky pomocí podobné techniky nahrazování podtržítek a pomlček (například mezi : appium-lib, action-mailer_cache_delivery, activemodel_validators, asciidoctor_bibliography, assets-pipeline, apress_validators, ar_octopus-replication-tracking, aliyun-open_search, aliyun-mns, ab_split, apns-polite).
Zlovolné balíčky zahrnovaly PNG soubor, ve kterém byl místo obrázku umístěn spustitelný soubor pro platformu Windows. Soubor byl vytvořen pomocí utility Ocra Ruby2Exe a obsahoval samorozbalovací archiv s Ruby skriptem a interpretem Ruby. Při instalaci balíčku byl soubor png přejmenován na exe a spuštěn. Během provádění byl vytvořen a přidán do automatického spouštění soubor s VBScript. Uvedený zlovolný VBScript v cyklu analyzoval obsah schránky na přítomnost informací připomínajících adresy kryptopeněženek, a v případě zjištění podmineňoval číslo peněženky s cílem, že uživatel nezaregistruje rozdíly a převede prostředky na nesprávnou peněženku.
Provedené šetření ukázalo, že není obtížné dosáhnout přidání zlovolných balíčků do jednoho z nejpopulárnějších repozitářů a tyto balíčky mohou zůstat nezpozorovány, i přes značný počet stažení. Je třeba poznamenat, že problém pro RubyGems a týká se dalších populárních repozitářů. Například loni stejní výzkumníci v repozitáři NPM našli zlovolný balíček bb-builder, který používá podobnou techniku spuštění spustitelného souboru pro krádež hesel. Předtím byl záznam v závislosti na NPM balíčku event-stream a zlovolný kód byl stažen přibližně 8 milionkrát. Zlovolné balíčky také v repozitáři PyPI.
Zdroj: opennet.ru
