В компании сообщают, что в последний год злоумышленники стали активно интересоваться открытым ПО, а доставка вредоносного кода через сторонние зависимости стала одним из способов заражения. Поэтому Positive Technologies разработала инструмент PT PyAnalysis для выявления подозрительных и вредоносных Python-пакетов. Сбор заявок на ранний доступ к сервису уже открыт.
Поскольку Python-пакеты используются большинством разработчиков, им приходится внимательно изучать внешние зависимости и встраивать механизм их анализа в процесс разработки. Кроме того, в ходе исследования репозитория PyPI, которое длилось восемь месяцев, эксперты компании выявили 175 вредоносных пакетов, причем часть из них находилась там с 2018 года.
В найденных пакетах были обнаружены различные типы или следы вредоносного ПО:
- стилеры — вредоносное программное обеспечение для кражи паролей пользователей (63%);
- бэкдоры — ПО, с помощью которого злоумышленники могут незаметно дистанционно управлять устройством жертвы (20%);
- программы-загрузчики — используются для загрузки вредоносного ПО на компьютер жертвы (6%);
- нежелательную для пользователя активность, например назойливые уведомления или удаление учетной записи Telegram (8%);
- proof of concept вредоносного ПО без вредоносной активности, разрушительных действий или краж (2%);
- программы-вымогатели (1%).
Исследователи говорят, что средняя продолжительность жизни вредоносного пакета до его удаления составляет 13 дней. Это достаточный срок для заражения компьютера пользователя. Чаще всего пакеты маскируются под легитимные и используются для кражи данных.
Также отмечается, что создать репозиторий с незанятым именем на pypi.org для хранения Python-пакетов может любой желающий. У администраторов есть система Malware Checks, но ее правила обнаружения лежат в исходном коде проекта, и обойти их достаточно просто. Сама система при этом не является блокирующей: сигналы приходят на почту администраторам, после чего происходит проверка кода пакета и принимается решение о блокировке. Всем этим активно злоупотребляют хакеры, использующие различные техники, связанные с компрометацией разработчиков, имитацией легитимных пакетов и обфускацией.
Система PyAnalysis отличается максимальной автоматизацией: через API пользователи могут отправить название Python-пакета на проверку и получить оценку его опасности (clean, suspicious, malicious). Экспертиза в области анализа вредоносного кода не требуется. Система не только выдает ясный вердикт, но и объясняет, почему тот или иной пакет является вредоносным.
«Когда разработчик загружает пакет в свое программное обеспечение, то не подозревает, что он заражен, и злоумышленник получает возможность атаковать пользователей этого ПО. Именно поэтому наша система проверки Python-пакетов из репозитория PyPI работает по модели as a service: каждый может протестировать ее в своем процессе безопасной разработки. На этапе тестирования использование этой системы будет бесплатным. Мы ожидаем, что Python-разработчики и специалисты по безопасной разработке оценят PT PyAnalysis и поделятся с нами своими замечаниями, чтобы мы смогли улучшить этот сервис и сделать его удобным для всех», — комментирует Максим Долгинин, руководитель по развитию направления по работе с данными о киберугрозах, Positive Technologies.
Оставить заявку на доступ к сервису можно на странице PT PyAnalysis.