Как стать автором
Обновить

Остерегайтесь «песочных террористов»

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров4K

или как намеренно внести Win32-приложение в вирусные базы без смс, но с регистрацией

что, зашифровано?
что, зашифровано?

Представьте: вы разработчик коммерческого ПО. В один прекрасный день пользователи начинают сообщать, что популярный блокировщик uBlock Origin не дает скачать ваш продукт. Никакой рекламы или сторонних баннеров в приложении нет и никогда не было. Невозможно? Вчера один из дружественных проектов столкнулся именно с такой беспощадной атакой на репутацию. Под катом — интриги, расследование, анатомия атаки и выводы, которые могут спасти и ваш проект.

1. Тревожный звонок: блокировка в uBlock Origin

Изначально было совершенно неясно, как ссылка на обычный лаунчер-обновлялку вдруг стала считаться рекламой. После взгляда в источники списков блокировки uBlock Origin стало понятно: дело не в рекламе. Ссылка попала в настоящий список вредоносного ПО (malware list), который поддерживается SpamHaus.

Вскоре была найдена и запись в базе, которая вела на MalwareBazaar — проект, тесно связанный со SpamHaus и агрегирующий отчеты из множества онлайн-песочниц (sandbox).

покраснение на спамхаусе - к холодам
покраснение на спамхаусе - к холодам

2. Расследование: по следам вредоноса

Я начал с изучения отчетов из разных песочниц. В большинстве из них срабатывания были вызваны пересечением строк пострадавшего с другими подозрительными файлами (на деле — это были общие строки из стандартных библиотек, классический false positive).

Однако в отчете одной из песочниц всплыло кое-что интересное. Анализ показал, что лаунчер не был основной целью проверки. Он запускался в цепочке как дочерний процесс, соседствуя с откровенным malware. Вредонос запускал лаунчер, имитируя обращения к следующей ступени атаки на систему, что в итоге привело к распространению красных флагов.

3. Анатомия атаки: force false-positive

По сторонним каналам коллегам удалось выяснить картину целиком. Конкурент добавил прямую ссылку на лаунчер в собственноручно написанный вирус-криптор и VNC-бэкдор, упаковал всё это в один исполняемый файл и загрузил его на несколько популярных песочниц.

Результат был предсказуем: сканеры обнаружили вредоносную активность и пометили все образцы как опасные. А поскольку лаунчер был частью этого адского бульона, его контрольная сумма и связанные с ним строки тоже попали в отчеты с пометкой "malicious". Так было создано искусственное ложноположительное срабатывание (force false-positive).

кусок одного из запускаемых подозрительных файлов пытается запустить vnc.exe
кусок одного из запускаемых подозрительных файлов пытается запустить vnc.exe

4. Что делать, если вас атаковали? План спасения

Если вы оказались в такой ситуации, время — ваш главный ресурс. Системы анализа часто обмениваются данными, и одно срабатывание может вызвать лавинообразное распространение блокировок.

Вот что нужно делать:

  1. Немедленно оспаривайте результаты, свяжитесь с поддержкой песочницы или антивирусного вендора. Предоставьте доказательства, что ваш файл легитимен, а срабатывание вызвано его запуском в связке с вредоносом.

  2. Перепроверьте все площадки для загрузки, убедитесь, что на сайтах, где распространяется ПО, лежат чистые, не модифицированные файлы, не произошло компрометации репозиториев.

  3. Проинформируйте пользователей, честно расскажите о ситуации в своем блоге или соцсетях. Это лучше, чем молчание.

5. Профилактика: как защититься заранее?

Одна из песочниц ставит High malicious из-за вызовов стандартного MSVC CRT
Одна из песочниц ставит High malicious из-за вызовов стандартного MSVC CRT

Гарантированно застраховаться от такой атаки сложно, но можно сильно усложнить жизнь злоумышленнику и упростить себе реабилитацию.

  • Самостоятельно загружайте образцы на площадки проверок, так вы будете знать какие антивирусы/песочницы реагируют на ваш исполняемый файл. Уже на данном этапе стоит отработать по каждому красному флагу.

  • Пользуйтесь цифровой подписью, подписывайте свой код, в идеале — сертификатом Extended Validation (EV Code Signing). Файлы с валидной подписью вызывают больше доверия у аналитических систем и антивирусов, это может предотвратить автоматическое попадание в черные списки.

  • Проверка родительского процесса: Как вариант противодействия, можно встроить в приложение механизм, который проверяет, кто его запускает, и запретить запуск, если родительский процесс не имеет цифровой подписи. Это может, однако, вызвать проблемы в некоторых легитимных сценариях, отдельно тестируйте подобные трюки.

Послесловие

Эта история показала, насколько легко при минимальных затратах "очернить" репутацию любого легитимного ПО.

Хочу обратить внимание авторов площадок статического и динамического анализа на подобные векторы атак. Я считаю, что эвристические правила не должны полагаться только на "соседство" с вредоносным файлом в цепочке процессов, а пытаться комбинировать взаимодействие с отдельными частями таких цепочек.

Разработчикам ПО для Windows я настоятельно рекомендую внимательно следить за репутацией своих файлов и скоростью реакции на инциденты. Надеюсь, данный опыт будет вам полезен.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Сталкивались ли Вы с атаками на репутацию?
4% Да, было один в один1
4% Да, было нечто подобное при атаке1
4% Да, внесли в черные списки Cloudflare/Spamhaus/других1
84% Нет, нас не касается21
4% Свой вариант в комментариях1
Проголосовали 25 пользователей. Воздержались 26 пользователей.
Теги:
Хабы:
+7
Комментарии13

Публикации

Работа

Ближайшие события