Станислав Раковский, руководитель группы Supply Chain Security департамента Threat Intelligence PT Expert Security Center (PT ESC), автор телеграм-канала disasm.me channel, в интервью порталу Cyber Media поделился деталями работы вирусного аналитика, раскрыл сценарии атак на open-source проекты и рассказал о необычных кейсах — от рикролла в коде до кражи паролей через библиотеку для признания в любви.
Cyber Media: В чем специфика работы вирусного аналитика, каких специфических навыков и компетенций она требует?
Станислав Раковский: Вирусные аналитики — специалисты, поставляющие экспертизу для антивирусных решений, анализаторов трафика, проактивных агентов, песочниц. Они анализируют вредоносные объекты сами по себе и в рамках их жизненного цикла. Погрузиться в специфику работы можно на самом простом примере — на исполняемых файлах, в которых может оказаться неожиданная для пользователя изюминка.
Одна из главных задач вирусного аналитика — это создание специальных правил. Они бывают двух типов: статические и динамические. Первые нацелены на обнаружение вредоносного файла еще до того, как он будет запущен пользователем. Такие правила ориентируются на уникальные строки, структуры, инструкции, которые встречаются в определенном семействе ВПО или являются артефактами в рамках работы программы. Например, в недавнем исследовании статическое правило было представлено на языке YARA и позволяло выявлять вредоносные .doc-файлы, замеченные в кампании группировки Cloud Atlas.
Другой тип правил — динамический — ориентируется на артефакты, которые возникают в рамках исполнения вредоносного кода. Они позволяют обнаруживать паттерны, которые:
Среди основных навыков вирусного аналитика можно отметить умение работать с утилитами по обратной разработке, знание механизмов работы операционных систем и сети. Самодисциплина также играет важную роль в работе. Специалистам часто приходится иметь дело со сложными семплами, для работы с которыми требуются усидчивость и высокая концентрация внимания.
Cyber Media: Обфускация вредоносных программ: насколько часто злоумышленники уделяют внимание маскировке ВПО и какие методы можно считать повсеместными?
Станислав Раковский: Обфускация в открытых репозиториях кода распространена среди разработчиков, но может быть использована и злоумышленниками. В то время как атакующие используют ее для сокрытия своих истинных мотивов, разработчики, в свою очередь, стремятся защитить свою интеллектуальную собственность. Так, библиотека PySimpleGUI усложняет анализ производимых лицензионных проверок, а smartchart — логику в целом.
Известные публичные обфускаторы, доступные на GitHub, часто используются для защиты легитимных проектов. Встречаются также случаи их применения атакующими для маскировки ВПО. Чаще всего такая обфускация однотипна и запускает расшифрованный код либо с помощью eval или exec, либо сохраняет его на диск с последующим импортом или консольным вызовом. Тем не менее такие действия легко поддаются не только обнаружению, но и автоматической деобфускации.
Рисунок 1. Обфускация в библиотеке smartchart
Некоторые злоумышленники могут заимствовать код из больших библиотек (например, requests), добавляя строку с необходимой вредоносной активностью. Это более сложный способ маскировки ВПО по сравнению с публикацией небольшой библиотеки. Последняя содержит только логику относительно хищения конфиденциальных данных или удаленного управления, поэтому ее легче детектировать.
Более продвинутые злоумышленники разбивают вредоносную активность на две библиотеки. Например, сейчас мы наблюдаем кампанию, в которой используются копии библиотеки aliyun-python-sdk-core для Alibaba Cloud. В модифицированной версии этой библиотеки, такой как acloud-clients, acloud-client-uses, alicloud-client-sdk, процесс отправки приватного ключа замаскирован под получение времени, этот процесс осуществляется через вторую библиотеку — time_check_server. Подобные действия атакующих сложнее обнаружить, так как требуется делать вердикт по пакету с учетом его зависимостей.
Рисунок 2. Hовый импорт в модифицированной библиотеке acloud-clients
Рисунок 3. Эксфильтрация чувствительных данных в библиотеке acloud-clients
Рисунок 4. Вызываемая функция в time_check_server
Cyber Media: Если говорить о проектах с открытым исходным кодом, есть ли какая-то градация или логика: в каких проектах вредоносы встречаются чаще, какие сценарии в них закладывают злоумышленники?
Станислав Раковский: Определенные закономерности в действиях злоумышленников действительно присутствуют. По степени распространенности сценарии можно разделить на три группы.
Самый часто встречающийся — применение новых библиотек, которые изначально написаны злоумышленниками. Это простой сценарий, не требующий особой подготовки. В нем иногда можно наблюдать использование техники тайпсквоттинг — попытку с помощью названия мимикрировать под популярную библиотеку. Например, использовать request, созвучное с requests. Примеры вредоносной нагрузки можно найти в открытом доступе и переиспользовать. В последнее время все чаще становятся известны случаи применения нагрузки, сгенерированной с помощью моделей машинного обучения.
В качестве второго сценария можно выделить встраивание вредоносной логики в копию популярной библиотеки. Частыми «жертвами» повторного использования кода становятся известные библиотеки: requests, boto3, aiohttp и другие.
Третий сценарий заключается в попытке добавить вредоносную активность в популярный проект. В прошлом году были зафиксированы два громких случая использования такого сценария. Первый из них — бэкдор в xz-utils (CVE-2024-3094), в рамках которого мейнтейнер передал контрибьютору, оказавшемуся злоумышленником, права на управление проектом. Вторая попытка заключалась в атаке на репозитории Top.gg, в которой в рамках большого коммита изменение домена для пакета colorama осталось незамеченным.
Рисунок 5. Вредоносный коммит в одном из репозиториев top.gg
Cyber Media: Поделитесь кейсами из вашей практики: с какими необычными или интересными open-source-проектами вы сталкивались?
Станислав Раковский: Хорошо запоминаются проекты, связанные с шутками и личными темами.
Так, в начале 2023 года мы обнаружили пакет rickquests, мимикрирующий под популярную библиотеку requests.
Рисунок 6. Однострочкик из rickquests 3.1.0
При просмотре пакетов в нашем анализаторе пробелы отмечаются серой точкой. Это дает возможность увидеть, что после 476 пробелов идет однострочный обфусцированный код:
Рисунок 7. Начало обфускации в rickquests 3.1.0
Это известная техника, которая используется злоумышленниками для сокрытия вредоносной активности. В рамках автоматической деобфускации я обнаружил следующий код:
Рисунок 8
В коде содержалась ссылка на легендарный клип Рика Эстли Never Gonna Give You Up, что является отсылкой на культуру рикроллов.[1]
Другой запоминающийся кейс связан с обнаружением пакета bhagyashree в августе 2024 года. Изначально эта библиотека была предназначена для признания в любви девушке с приглашением на свидание. Однако за несколько дней до намеченной даты вышла новая версия, в которой функциональность была расширена «дампилкой» паролей от Wi-Fi. В результате девушка могла стать жертвой автора библиотеки, так как он потенциально мог получить пароль от её Wi-Fi. Вот такая получилась драма.
Рисунок 9. Так пропадает романтика
[1] Рикролл — это интернет-мем, зародившийся на имиджборде 4chan. Суть в том, что жертва получает гиперссылку, которая предполагается как ведущая на какой-либо интересный контент, но на самом деле перенаправляет ее на музыкальный клип Рика Эстли Never Gonna Give You Up.
Нажимая на кнопку, я даю Согласие на обработку персональных данных в соответствии с Политикой обработки.
Зарегистрироваться