В RubyGems выявлено 724 вредоносных пакета

RubyGems Новости

Компания 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-polite).

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

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

Publisher
Оцените автора
AsaDagar
Добавить комментарий