Злоумышленники активно интересуются открытым ПО. Доставка вредоносов через сторонние зависимости стала одним из способов заражения. Чтобы защититься от таких угроз, нужно обеспечить регулярную проверку внешних зависимостей на наличие в них вредоносного кода.
PT PyAnalysis
Выявление подозрительных и вредоносных Python-пакетов
Обзор продукта
PT PyAnalysis — сервис для выявления подозрительных и вредоносных Python-пакетов, который можно интегрировать в процесс безопасной разработки ПО. Cервис нацелен на анализ пакетов из глобального репозитория PyPI. Мы являемся независимыми аудиторами этого репозитория и за девять месяцев исследования нашли в нем более 200 вредоносных пакетов.
С точки зрения пользователя сервис представляет собой API, который позволяет проверить пакет по его названию и получить вердикт относительно его функций: чистый, подозрительный, опасный.
Почему важно проверять пакеты с PyPI
Создать репозиторий с незанятым именем на pypi.org может любой желающий. У ресурса есть своя система проверки, но правила обнаружения лежат в исходном коде проекта и злоумышленнику не составит труда их обойти. При этом сама система является неблокирующей: сработки приходят на почту администраторам, которые проверяют вердикты для принятия решения о блокировке.
Векторы атак
- Создание аккаунта и добавление в репозиторий пакетов, которые будут мимикрировать под уже существующий пакет. В 2022 году мы обнаружили много таких пакетов. Среди них были selfbotts, selfbotters, requist, rquests, equests, colorafull, colorapy, мимикрирующие под selfbots, requests и colorful.
- Добавление через созданный аккаунт вредоносных пакетов, которые своим названием будут намекать на решение определенных задач. В частности, мы поймали пакеты с такими названиями, как requests-json, requestscaches и flask-utils-helper.
- Получение несанкционированного доступа к аккаунту легитимного разработчика и выпуск «новых» версий его пакетов. Так, в мае 2022 года был взломан разработчик модуля ctx, а в следующей версии пакета в него был добавлен стилер AWS-токенов. В августе через массовый фишинг были скомпрометированы по меньшей мере 10 популярных пакетов.
При использовании Python-пакетов существует также и вероятность компрометации компьютера разработчика. Опечататься во время установки пакета может каждый. В лучшем случае будет выведено предупреждение, что данный пакет не существует, или установится другой пакет, в худшем — компьютер разработчика будет заражен вредоносом.
Как работает
- Клиент формирует запрос к системе. Запрос может быть сформирован в автоматизированной системе, например в рамках процесса CI/CD, или отправлен в ручном режиме для единоразовой проверки. Отправить можно название пакета и его версию или ссылку на проект в GitHub.
- Система принимает запрос и проверяет пакет.
- На основе собранной информации система выдает вердикт о том, безопасен этот пакет или нет.
Видео
Ключевые возможности
PT PyAnalysis выявляет вредоносные функции кода, нацеленные на:
- усложнение анализа;
- шифрование файлов;
- кражу информации;
- запуск небезопасных команд;
- использование необычных протоколов;
- сбор информации о системе.
Обратиться за консультацией
Заполните форму и узнайте больше о сервисах от наших экспертов