У RubyGems виявлено 724 шкідливі пакети

Компанія ReversingLabs опублікувала результати аналізу застосування тайпсквоттінга у репозиторії RubyGems. Зазвичай тайпсквоттінг застосовується для поширення шкідливих пакетів, розрахованих на те, що неуважний розробник при пошуку допустить друкарську помилку або не помітить різниці. У ході дослідження було виявлено понад 700 пакетів, назви яких схожі з популярними пакетами та відрізняються незначними деталями, наприклад, заміною схожих літер або використанням підкреслення замість тире.

У більш ніж 400 пакетах було виявлено компоненти, підозрювані у скоєнні шкідливих дій. Зокрема, всередині знаходився файл aaa.png, що включає код, що виконується у форматі PE. Зазначені пакети були пов'язані з двома обліковими записами, через які з 16 по 25 лютого 2020 року в RubyGems було розміщено 724 шкідливі пакети, які у сумі були завантажені близько 95 тисяч разів. Дослідники поінформували адміністрацію RubyGems і виявлені шкідливі пакети вже видалено з репозиторію.

З виявлених проблемних пакетів найбільш популярним виявився "atlas-client", який на перший погляд практично не відрізняється від легітимного пакета.atlas_client«. Зазначений пакет був завантажений 2100 разів (нормальний пакет був завантажений 6496 разів, тобто. користувачі помилялися майже 25% випадках). Інші пакети в середньому були завантажені 100-150 разів і камуфлювали під інші пакети з використанням схожої техніки заміни підкреслення і тире (наприклад, серед шкідливих пакетів: 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-

Шкідливі пакети включали PNG-файл, в якому замість зображення розміщувався виконуваний файл для платформи Windows. Файл був сформований за допомогою утиліти Ocra Ruby2Exe і включав архів, що саморозпаковується, з Ruby-скриптом і інтерпретатором Ruby. При встановленні пакета файл png перейменовувався на exe і запускався. У ході виконання створювався і додавався в автозапуск файл з VBScript. Вказаний шкідливий VBScript в циклі аналізував вміст буфера обміну на наявність інформації, що нагадує адреси криптогаманців, і в разі виявлення підміняв номер гаманця з розрахунком на те, що користувач не помітить відмінностей і переведе кошти не на той гаманець.

Проведене дослідження показало, що не важко домогтися додавання шкідливих пакетів в один з найпопулярніших репозиторіїв і дані пакети можуть залишатися непоміченими, незважаючи на значну кількість завантажень. Слід зазначити, що проблема НЕ специфічна для RubyGems стосується інших популярних репозиторіїв. Наприклад, минулого року ті ж дослідники виявили у репозиторії NPM шкідливий пакет bb-builder, який використовує аналогічну техніку запуску виконуваного файлу для крадіжки паролів. До цього бекдор був знайдений залежно до NPM-пакету event-stream та шкідливий код було завантажено близько 8 млн разів. Шкідливі пакети також періодично спливають у репозиторії PyPI.

Джерело: opennet.ru

Додати коментар або відгук