7 августа мы выступили с докладом на VolgaCTF 2012.
Содержание:
- развитие drive-by download атак;
- новый подход к эксплуатации уязвимостей и защиты;
- защита ПО и анализ патчей;
- служба Безопасного Поиска Яндекса.
Развитие drive-by download атак
Переломные моменты развития:
- первый эксплоит с Heap Spray CVE-2004-1050;
- первая версия эксплоит пака MPack v0.33 от Dream Coders Team (2006 год);
- выход самого популярного комплекта для drive-by download атак – MPack v0.91 + DreamDownloader v3.1 с обходом проактивных защит (2007 год).
Доход автора от продаж MPack составил $50 000.
Статистика MPack v0.91:
Конфигуратор DreamDownloader v3.1:
Появление модификаций:
- модификации (IcePack, FirePack, Neosploit и т.д.
- злоумышленники поняли, что эксплоит паки очень выгодны, но не думали о собственной защите.
Первые уязвимости:
- file.php?id={FILE}%00 для MPack < v0.90;
- exe.php?exp={FILE}%00 для Syberia Exploit pack;
- index.php?ma=7’{SQL} для El-Fiesta (register_globals = On, magic_quotes_gpc = Off).
Раньше вредоносный код:
- дописывался к концу страницы или скрипта;
- отображался всегда.
Вредоносный код сейчас:
- дописывается к концу страницы или скрипта;
- заражает .htaccess;
- заражает скрипты CMS;
- записывается в базы данных;
- подменяет бинарники Nginx, Apache (если есть права на такое действие);
- отображается не всегда, а только в зависимости от входных данных (страна, повторный показ, переход с SERP и т. д.).
Распространение через Flash-баннеры:
- не нужно ничего взламывать – нужно только убедить администратора разместить баннер;
- баннеры не проверяют;
- вредоносный код работает потому, что метод ExternalIntarface.call() по умолчанию “allowSameDomain”;
- цели: крупные сайты, где флеш-баннеры размещаются с помощью популярного OpenX Ad Server, который ставит “allowScriptAccess = always”.
Противодействие обнаружению:
- использование Dynamic DNS и/или сокращателей ссылок, чтобы не работал черный список;
- применение обратного редиректа, чтобы не выдавать вредоносный код сайта роботам, аналитикам, вебмастерам, нецелевым пользователем;
- проверка сервисами анализа и обнаружения вредоносного контента Wepawet, urlQuery, JSUnpack, чтобы сбить их детект .
Закрытые вредоносные партнерские программы:
- traffbiz.ru ;
- realtraf.net ;
- beetraf.ru .
Типы адвертов вредоносных партнёрских программ:
- следят за выплатами, но не знают, что выкупаемый трафик идёт на эксплоит пак (что характерно, такие партнёрские программы показывают, что трафик очень дорогой и денег заработано много, но снять со счёта разрешают только небольшую их часть);
- знают, что передают трафик на эксплоит-пак, и следят за заражениями.
Новый подход к эксплуатации уязвимостей и защиты
Трудности:
- появление DEP и ASLR (обходится через ROP);
- появление механизма Sled Detection начиная с IE9;
- появление в Windows 8 защиты от ROP (хотя уже обходится);
- сложные в эксплуатации уязвимости (Memory Corruption, Use-after-free и т. д.).
Решения:
- поиск уязвимостей в сторонних продуктах (Java, Acrobat Reader, ActiveX и т. д.
- использование PluginDetect.js для определения версий плагинов;
- поиск логических уязвимостей ( CVE-2010-0886, CVE-2010-4452, CVE-2012-0500 и т.д.).
Статистика BlackHole:
Защита ПО и анализ патчей
Софт:
- дизассемблеры ( IDA Pro и т.д.
- дебагеры (WinDBG, OllyDBG, Immunity Debugger);
- сравнение бинарников (BinDiff, PatchDiff, DarunGrim и т.д.).
Трудности:
- cофт для сравнения бинарников не всегда корректно обрабатывает патч;
- не всегда удаётся найти предыдущую версию ПО.
Патчи Microsoft
например, CVE-2012-1899 (XML Node):
- 30 мая 2012 Google оповестил Microsoft об уязвимости;
- 12 июня 2012 Microsoft опубликовал статью и временное решение.
- патч в одну инструкцию:
Патчи Java
Эксплоит CVE-2010-0886 (метод launch):
Дизассемблерный листинг уязвимого метода:
Дизассемблерный листинг пропатченного метода:
Антивирусная система Яндекса
Состоит из:
- поведенческого анализатора собственной разработки (включает чёрный список);
- антивирусного движка Sophos.
Статистика:
- проверяем 20m адресов в сутки;
- находим более 4k новых заражённых хостов в сутки;
- всего Яндексу известно более 180k заражённых хостов.
Выводы:
- cовременные эксплоит-паки пробивают все известные браузеры, работающие под всеми известными ОС;
- следите за обновлениями антивирусов, используйте актуальные браузеры, вовремя обновляйте ОС;
- актуальные версии браузеров пробиваются существенно хуже устаревших, в основном это происходит за счёт уязвимостей в сторонних компонентах;
- работа злоумышленников со временем становится более сложной, менее результативной и прибыльной, те же знания и усилия, приложенные в других областях, вознаграждаются лучше.
Команда Безопасного Поиска Яндекса