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