Содержание статьи
Про ботнеты можно говорить долго и упорно. За последние десять лет их появилось столько, что для обзора, наверное, не хватит и всех страниц целого журнала «Хакер». Но даже из всего этого многообразия можно выделить ботнеты, которые выбиваются из общей массы по ряду признаков.
Во-первых, это, естественно, количество установок: есть отдельные экземпляры, показатели зараженности которыми исчисляются миллионами. Во-вторых (что, впрочем, следствие «во-первых»), это раскрученность имени. И наконец, еще один показатель — «возраст», некоторые семейства вредоносов, как показало время, получились очень долгоиграющими. Несмотря на то что отдельных троянских дел мастеров уже «приземлили» сотрудники правоохранительных органов, целые семейства malware продолжают жить своей жизнью дальше, принимая некий ореол «легендарности». Твоему вниманию представляется топ-10 таких «легенд». Места распределялись по формуле: [количество заражений] * 2 в степени [техническая навороченность]. Последний параметр является субъективной оценкой ][ и может не совпадать с мнением отдельных экспертов.
Storm
На последнем месте нашего «хит-парада» червь Storm (aka Zhelatin, Peacomm). Впервые он появился в поле зрения антивирусных аналитиков в начале 2007 года, маскируясь под видеоролики с разрушениями, вызванными необычайно сильными бурями, проносившимися над Европой в то время. Для продвижения бота в интернете злоумышленники использовали широкий спектр приемов социальной инженерии. В дальнейшем в качестве завлекалова в теме писем указывались даже такие «горячие» новости, как гибель Фиделя Кастро и воскрешение Саддама Хусейна. Но социалка — это не самая главная характеристика Storm. Для своего времени Storm был самой технологичной малварью, в качестве передовых технологий в нем были реализованы децентрализованная система управления через P2P на основе опенсорсного протокола Overnet (сеть eDonkey) и server-side полиморфизм. Последний, кстати, до этого применялся только в ботнете Stration, более известном по названию китайской хакерской группировки Warezov, которая его создала и запустила в конце лета 2006 года. Впоследствии между Warezow и Storm развернулось целое противостояние за компьютеры пользователей.
Краткая характеристика: email-червь с функциями spambot и DDoS
Годы жизни: 2007–2008
Количество заражений: 2 миллиона
Методы распространения: рассылка email и самораспространение через найденные почтовые адреса
Существуют самые разнообразные оценки числа зараженных Storm машин. Одни эксперты считали, что в ботнет входит 2 миллиона машин (пожалуй, наиболее адекватная оценка), другие полагали, что число зараженных машин составляет от 250 тысяч до миллиона, третьи оценивали размеры ботнета в 150 тысяч машин. Были и такие (компания IronPort, подразделение Cisco), кто говорил о 50 миллионах инфицированных компьютеров (видать, просто взяли количество всех активных пиров в Overnet).
В июле 2007 года, на пике своей карьеры, ботнет генерировал 20% всего спам-трафика в интернете, рассылая его с 1,4 миллиона компьютеров. Экономическая подоплека рассылки заключалась в продвижении медикаментов, как легальных, типа виагры, так и не очень. Заведовала непосредственно фармацевтическим бизнесом Canadian Pharmacy, связанная с сервисом «ГлавМед», а тот, в свою очередь, — с партнеркой SpamIT. По данным IronPort, сам Storm, шаблоны спама, дизайн вредоносных сайтов, система обработки платежей, средства обработки заказов на медикаменты предположительно были разработаны одной из российских киберпреступных групп.
Штормовой ботнет защищал свои ресурсы от слишком любопытных исследователей. Когда обнаруживались частые обращения с одного и того же адреса для скачивания новых экземпляров червя (что часто практикуется антивирусными компаниями), ботам давалась команда начать DDoS-атаку этого адреса. Кроме того, проводился ряд атак на сайты компаний, активно участвующих в противодействии спам-рассылкам. Так, в результате DDoS-атак на время была нарушена работа служб Spamhaus, SURBL (Spam URI Realtime Blocklists) и URIBL (Realtime URI Blacklist). Таким образом, антиспам-решения не могли получать актуальные обновления blacklist.
К концу 2008 года ботнет на базе Storm как будто растворился. Одной из причин этого эксперты «Лаборатории Касперского» назвали фактическое закрытие киберкриминального хостинга Russian Business Network.
По другой версии, Storm был повержен силами White Hat. На 25-й конференции Chaos Communication Congress, которая проходила в декабре 2008 года, исследователи Георг Вихерски (Georg Wicherski, вирусный аналитик «Kaspersky Lab» в Германии), Феликс Ледер (Felix Leder, Honeynet Project), Тиллман Вернер (Tillman Werner, Боннский университет) и Марк Шлёссер (Mark Schloesser, университет RWTH Aachen) презентовали тулзу Stormfucker, которая, используя ошибку в коде Storm, самостоятельно распространялась через сеть Оvernet и производила дезинфекцию зараженных PC.
Но свято место пусто не бывает. Примерно в то же время, как почил в бозе Storm, начал формироваться новый ботнет на базе трояна Waledac. Хотя в его основе лежал совершенно другой код, однако Waledac обладал рядом характеристик, подобных Storm: использование Fast Flux хостинга C&C, peer-to-peer механизм обновления, server-side полиморфизм, функции рассылки спама. Кроме того, шаблоны рассылки спама были подозрительно похожи на шаблоны в рассылке Storm. И еще немного о Waledac: через полгода он стал отгружаться через ботсеть Conficker. Все эти факты наводят на мысль, что дельцы, занимающиеся «черным» фармацевтическим бизнесом и такими же методами продвижения своей продукции, обладая значительными финансовыми средствами, непрерывно заказывали у различных сообществ российских троянописателей создание соответствующей вредоносной инфраструктуры для построения ботнетов. Как только один ботнет прикрывался, ему на смену тут же появлялся новый.
В 2010 году участники проекта Honeynet Project обнаружили новый вариант Storm. Он содержал приблизительно две трети кода первоначального варианта, а именно 236 из 310 функций червя остались прежними. Под нож пошел код P2P (вероятно, из-за Stormfucker), а протокол взаимодействия с C&C был реализован на базе HTTP (ранее использовалась прямая работа с сокетами по TCP). К счастью, Storm 2.0 такого успеха, как его старший брат, не имел. Вполне могло оказаться, что исходный код первой версии был передан другой команде разработчиков.
SpyEye
Приблизительно в декабре 2009 года на «черном рынке» появился конкурент Zeus — SpyEye от разработчика с ником Gribodemon (aka Harderman). Функционал и состав (билдер и админ-панель) SpyEye были очень схожи с Zeus. В дальнейшем конкурентная борьба привела к появлению в SpyEye версии 1.0.7 от февраля 2010 года функции Zeus Killer, предназначенной для удаления Zeus. Кроме того, SpyEye мог перехватывать отчеты, отправляемые Zeus, и таким образом не делать двойную работу. Еще одна новинка — модуль для обхода системы безопасности Rapport (которая была создана компанией Trusteer в том числе для противодействия Zeus), блокирующей возможность внедрения в браузер вредоносных программ. Билдер SpyEye, как и билдер Zeus, содержал в себе систему лицензирования, основанную на привязке к заданной аппаратной конфигурации. Она реализовывалась при помощи навесной защиты VMProtect.
В SpyEye имелся модуль RDP, который добавлял в Windows XP функционал терминального сервера, позволяющего работать более чем одному пользователю в системе. Вкупе с созданием дополнительного пользователя это давало возможность получить полный контроль над ПЭВМ через удаленный рабочий стол совершенно незаметно для пользователя.
Создатель Zeus в 2010 году решил лечь на дно и передал на безвозмездной основе все исходники Gribodemon’у, который брал на себя обслуживание его бывших клиентов. В дальнейшем предполагалось некое слияние исходных кодов Zeus и SpyEye. И действительно, с января 2011 года исследователи антивирусных компаний начали обнаруживать новые гибридные версии SpyEye, использовавшие часть кода и модулей Zeus, их нумерация начиналась с версии 1.3.
В апреле 2011 года эксперты Kaspersky Lab обнаружили очередную атаку вида man-in-the-mobile с участием модификации SpyEye. Вредоносное приложение для платформы Symbian получило название SpyEye-in-the-Mobile (SpitMo). В форму ввода пароля и логина внедряется два дополнительных поля для ввода номера телефона и IMEI, якобы для обновления сертификатов для смартфона. IMEI использовался для формирования злоумышленниками цифровой подписи вредоносной программы. Ссылка на очередной «сертификат безопасности» приходила спустя несколько дней в SMS на указанный в фальшивой форме ввода номер телефона. Вредоносная программа подписывается сертификатом для беспроблемной установки и отвода подозрений. Судя по всему, заказ сертификата для подписи оформлялся через сайт ассоциации китайских дилеров OPDA, на его получение уходило два-три дня. На смартфоне ВПО перехватывает входящие SMS, отбирает из них те, которые содержат mTan, и отправляет их по протоколу HTTP на сервер злоумышленников, не демонстрируя пользователю. В июле SpitMo появился и для платформы Android.
По оценкам специалистов, SpyEye были заражены в общей сложности около 1,4 миллиона компьютеров во всем мире, что, естественно, не могло не привлечь внимание правоохранительных органов и специалистов в области защиты информации.
В ходе кампании по прекращению работы С&C-ботнетов, построенных на базе троянов Zeus и SpyEye, проводимой Microsoft в марте 2012 года, были установлены некоторые контактные данные Gribodemon’а: ICQ, Jabber и email.
Летом 2013 года власти США заявили об аресте гражданина России Александра Панина, который был задержан 28 июня сотрудниками Интерпола и экстрадирован из Доминиканской Республики в США. Уроженцу Твери Панину было на тот момент 24 года. Ему вменялась кража 5 миллионов долларов у нескольких американских банков. 28 января 2014 года на суде в Атланте Панин признал, что он был одним из разработчиков SpyEye и его псевдоним — Gribodemon.
В ходе следствия стало известно, что Панин сотрудничал с гражданином Алжира Хамзой Бенделладжем (Hamza Bendelladj aka Bx1), который выступал в роли ботмастера серверов SpyEye, а также продавца. Бенделладж был задержан в аэропорту Бангкока в Таиланде 5 января 2013 года. Не исключено, что его арест связан с установлением настоящего имени Gribodemon’а, с которым Bx1 имел тесные контакты.
В мае 2014 года в Англии был задержан еще один сообщник Панина Джеймс Бейлисс (James Bayliss aka Jam3s), разработчик модуля ccgrabber, который перехватывал POST-запросы и выуживал из них номера кредиток, а также CVV2-код.
Однако история SpyEye на аресте Панина не заканчивается, так как он был хотя и одним из ключевых разработчиков, но далеко не единственным. В августе 2012 года в black-маркете появился троян Tilon, также известный как SpyEye 2. Возможно, Панин, видя пристальное внимание к своей персоне, решил отойти от дел, а его сообщники по разработке стали вести отдельный side project. Следует отметить, что Tilon имеет функционал по удалению предыдущих версий SpyEye, что в очередной раз говорит о преемственности этих двух вредоносов. Троян Tilon не такой раскрученный бренд, как SpyEye, он поставлялся в качестве замены постоянным и проверенным покупателям оригинальной версии. После ареста автора SpyEye уровень активности Tilon резко сократился, хотя в декабре 2013 года вышла обновленная версия с поддержкой последних версий браузеров.
Sality
На восьмом месте расположился самый «старый» из всех здесь рассмотренных вредоносов — Sality (aka Sector). Название является производной от английского названия города — Salavat City (Салават, Республика Башкортостан). Первое упоминание о Sality датируется июлем 2003 года. Но курилка до сих пор в строю! А почему? Все очень просто, Sality представляет довольно редкую категорию малвари — это вирус с функцией трояна. Или, говоря другими словами, это троян с функцией файлового инфектора.
Краткая характеристика: вирус с функциями трояна
Годы жизни: 2003 — настоящее время
Количество заражений: 3 миллиона
Методы распространения: самораспространение через заражение файлов
Подобно агенту Смиту, не успокаивается, пока не заразит все что можно. Этим и обусловлено большое количество заражений, а также срок жизни, переваливший за десяток лет. Очень эффективно использует полиморфизм и обфускацию. Файлы заражает, расширяя последнюю секцию и перенося туда свое тело. Для передачи себе управления при запуске использует технику EPO. Заражает USB-носители, записывая туда autorun.inf и одну из двух зараженных собой программ — «Блокнот» или «Сапер». Видать, разработчик писал это все во времена, когда Portable Soft еще не был широко распространен, сейчас же на каждой флешке можно найти exe-файл, поэтому использование autorun.inf только понижает скрытность распространения.
Sality крайне агрессивен в системе, инжектируется во все работающие процессы, что сказывается на стабильности и скорости работы компьютера. В порядке самозащиты препятствует запуску антивирусного ПО, не дает обновиться Windows и зайти на сайты антивирусной тематики.
Начиная с 2008 года (возможно, конца 2007-го) автор запилил собственную реализацию P2P, которая уже пережила четыре версии
Для Sality с третьей версией протокола P2P анонимус с псевдонимом law-abiding citizen выложил подробную инструкцию по уничтожению ботсети. Вкратце речь там шла о взломе C&C и подмене загружаемого обновления, так как технология ЭЦП тогда еще не была реализована. Поэтому в Sality с четвертой версией протокола P2P уже присутствовал ключ RSA длиной 2048 бит.
По состоянию на 2014 год в пир-сети Sality зафиксировано порядка 1,2 миллиона ботов. В былые времена их количество доходило и до трех миллионов. Вредоносный функционал Sality реализован в виде модулей, в наши дни он таков:
- хищение паролей (HTTP, FTP) и другой конфиденциальной информации;
- рассылка спама;
- организация HTTP- и SOCKS-прокси;
- туннелирование DNS- и HTTP-трафика;
- побор паролей Wi-Fi-роутеров и подмена на них DNS-сервера (Rbrute).
В конце мая 2014 года специалисты компании «Доктор Веб» обнаружили в ботсети Sality новый модуль (RDPCheck), предназначенный для поиска открытых RDP-портов по заданному диапазону IP-адресов. Вообще, отчетливо видно, что разработчики явно преследуют цели построить распределенную систему взлома различных сервисов. Так, в начале 2011 года подгружался модуль, который мог работать в нескольких режимах:
- обнаружение SIP- и HTTP-серверов;
- регистрация аккаунтов на целевом сервере (функционал был реализован не полностью);
- взлом аккаунтов — С&С отправляет модулю список аккаунтов и список паролей для перебора, обнаруженная корректная пара логин — пароль отправляется обратно на С&С-сервер;
- взлом Asterisk FreePBX, обнаруженных на предыдущем шаге, или полученные из других источников списки серверов и списки паролей используются для обнаружения и подбора паролей к серверам Asterisk FreePBX. Цели у подобного рода атак, как правило, финансовые.
Можно зарегистрировать платный номер и позвонить на него с каждого из обнаруженных SIP-аккаунтов. Взлом FreePBX может нести и более серьезные последствия, так как злоумышленник получает контроль над аутентификацией и тарификацией пользователей, а также маршрутизацией звонков.
В том же 2011 году по информации исследователей из Калифорнийского университета в Сан-Диего и университета Наполи (Италия) ботоводы Sality провели полное сканирование диапазона IPv4 (такое же сканирование в 2012 году было проведено силами ботнета Carna, см. врезки). По данным, собранным с помощью пассивной системы мониторинга трафика UCSD Network Telescope, в 12-дневный период в феврале 2011 года с трех миллионов IP-адресов приходили пакеты на инициацию соединения по протоколу SIP. Целью сканирования было обнаружение SIP-серверов. Пробрутив учетки, их можно было использовать для создания фейковых аккаунтов, при помощи которых производить бесплатные и анонимные звонки, ну и так далее.
Интересно, что для максимальной скрытности процесса сканирования использовался ряд оригинальных методик. Например, с миллиона IP-адресов пришло всего по одному пакету, больше эти адреса не использовались. Все эти ухищрения привели к тому, что сканирование не было обнаружено ни одной системой детектирования угроз. Так что размах деятельности ботнета Sality и интеллектуальные способности его создателей внушают. Плюс разработчики Sality столько лет находятся на свободе, что даже становится «немножко» неловко за представителей закона.
Carberp
Первый банковский троян, который использовался в отношении российских систем ДБО. Carberp появился на радаре антивирусных компаний в феврале 2010 года. Как говорится, ничто не предвещало беды. На первых порах это был просто trojan-downloader, однако его функционал стал быстро наращиваться. Сначала появился модуль Grabber (passw.plug), собиравший пароли из различных приложений. В сентябре было добавлено два модуля: miniav.plug для удаления конкурентов и stopav.plug для нарушения работы антивирусов. Следующая версия в 2011-м уже содержала модули под конкретные ДБО, это sb.plug (Сбербанк) и cyberplat.plug (система электронных платежей КиберПлат), а также модуль VNC (vnc.plug). Самая крутая версия Carberp (которую слили в 2013 году) имела в своем составе буткит Rovnix (BKloader), эксплойты повышения привилегий, DDoS-модуль (атака производилась на серверы банков после зловредной транзакции для заметания следов), а также Java Patcher — средство модификации в памяти (при помощи легальной библиотеки Javassist) байт-кода в одной из систем онлайн-банкинга BIFIT’s iBank 2.
Краткая характеристика: троян с функциями самораспространения
Годы жизни: 2009–2011
Количество заражений: 12 миллионов — первая волна, 11 миллионов — вторая волна
Методы распространения: внедрение в пиратские версии софта, далее — самораспространение через MSN messenger, P2P-сети и флешки
Активная фаза разработки последней версии Carberp, которую использовала группировка Гермеса (aka Arashi), пришлась на 2011 год. В конце 2011 года было отмечено развертывание тестовой ботсети Carberp для проверки функционирования буткита, а в декабре поставщик/разработчик Carberp заявил о сворачивании продаж, перейдя на сопровождение одного ботнета.
Для распространения Carberp использовались эксплойт-паки Impact (2010), Blackhole (2011) и Nuclear Pack (2012). Ссылки на них размещались на взломанных сайтах с большой посещаемостью.
Сбербанк, обеспокоенный участившимися случаями кибермошенничества, инициировал расследование, поручив его российской компании Group-IB. Результатом расследования стала целая серия арестов.
Март 2012 года — группа Gizmo из восьми человек, заправляли всем два брата — Александр и Николай Покорские, причем главную роль играл младший, который имел богатый криминальный опыт и находился в федеральном розыске за мошенничества с недвижимостью.
В апреле 2014 года Люблинский суд огласил приговор: 31-летний Александр Покорский проведет в местах не столь отдаленных пять лет, а его младший 28-летний брат Николай — семь лет.
Май 2012-го — задержан программист из Тольятти Александр Пакичев (aka Hameleon), 1971 года рождения, писавший веб-инжекты для Carberp на заказ, получил условный срок. Активно взаимодействовал с Hermes. Кроме Пакичева, были задержаны его сообщники — Доронин, Стекачев и Агафонов.
Июнь 2012-го — группа Ивана Дудорова (aka benq-sim), в состав которой входил Максим Глотов (aka Robusto), ранее засветившийся в разработке OSMP Grabber.
Июнь 2012-го — группа Гермеса (семь человек). Только штат программистов, работающих на Гермеса, насчитывал девять человек, большинство из которых были жители Украины. Всего в группе было около 25 человек (это не считая мулов). В начале своей преступной деятельности группировка использовала троян Hodprot (созданная с его помощью ботсеть называлась Origami), а уже в 2011 году перешли на более продвинутую — Carberp. Если в октябре 2011 года на основном сервере управления ботсетью было зарегистрировано около 700 тысяч зараженных компьютеров, то спустя полтора месяца эта цифра удвоилась, а к маю 2012 года составила 6 миллионов.
Несмотря на ликвидацию двух групп, использовавших Carberp, авторы этого трояна оставались на свободе. Разработчики были задержаны на Украине только в марте 2013 года в результате совместной операции ФСБ и СБУ (в расследовании помогала компания Dr.Web). Были арестованы 16 человек, которые работали удаленно в Киеве, Запорожье, Львове, Херсоне и Одессе. Большинство из них не были знакомы друг с другом, каждый отвечал за свою часть разработки модуля, передавая данные готовой работы на центральный сервер в Одессе. Лидером группировки оказался 28-летний гражданин России, который в июле 2013 года был осужден Печорским судом Киева на пять лет лишения свободы.
Крайним звеном в цепочке арестов стала поимка в декабре 2013-го Дмитрия Федотова (aka Paunch), создателя эксплойт-паков Blackhole и Cool Exploit Kit, а также сервиса анонимных антивирусных проверок Crypt.am.
Слив наработок по проекту Carberp летом 2013-го наделал еще больше шума, чем слив сырцов Zeus в 2011-м. Кстати, благодаря утечке кодов Carberp стало возможным сделать кое-какие выводы о процессе разработки. Во-первых, судя по всему, время одиночек заканчивается, разработкой будут заниматься целые команды на развернутой инфраструктуре (SVN, Jabber и так далее) под прикрытием VPN. Во-вторых — активное использование third-party разработок. В куче сырцов замечены исходники Zeus, RDP-модули SpyEye, VNC-модули различных типов, вирусный инфектор Expiro, буткит Rovnix, криптор Mystic, паблик-эксплойты повышения привилегий и много чего еще. Таким образом, Carberp — сборная солянка чужих идей, впрочем, довольно эффективная. Интересно, что по логам чатов был установлен один из разработчиков Carberp — Игорь Ранюк (aka rivsoft1975).
Mariposa
Ботнет Mariposa (английское название Butterfly, бабочка) был создан в 2009 году с помощью трояна Palevo (aka Rimecud), имевшего, по оценкам сотрудников Panda Labs, размер 12 миллионов компьютеров. «Официальное» название трояна, данное разработчиком, — Butterfly Bot, но, как мы знаем, антивирусникам претит называть трояны их «собственными» именами. Создателем ботнета была команда DDP Team (сокращение от испанского Dias de Pesadilla Team, по-английски Nightmare Days Team), однако нужно учесть, что сам бот разрабатывали не они, а разработчик его продавал всем желающим.
Краткая характеристика: троян с функциями самораспространения
Годы жизни: 2009–2011
Количество заражений: 12 миллионов — первая волна, 11 миллионов — вторая волна
Методы распространения: внедрение в пиратские версии софта, далее — самораспространение через MSN messenger, P2P-сети и флешки
Кроме загрузки других исполняемых файлов, «из коробки» бот позволял перехватывать пароли в браузерах Firefox и IE, поднимать HTTP- и SOCKS-прокси, а также осуществлять TCP Syn и UDP flood (DDoS компонента). Для расширения «зоны поражения» бот имел функции самораспространения при помощи трех разных методов: MSN mesenger, пиринговых сетей и USB-девайсов. Кстати, первым признаком, что на твоей флешке именно Palevo, было наличие сильно обфусцированного файла autorun.ini. В нем управляющие инструкции перемешивались с большим количеством символов разных кодировок, поэтому ini-файл каждый раз выглядел по-разному.
- Бот был добротно написан и имел на борту множество механизмов, усложняющих работу реверсера:
- частые обновления и модификации бинарного кода, позволяющие обходить сигнатурное обнаружение;
- противодействие запуску на виртуальных машинах и в песочницах;
- защищенный протокол взаимодействия с командным центром на базе UDP.
В декабре 2009-го деятельность Mariposa была свернута: совместными усилиями компаниям Panda Security и Defence Intelligence удалось прикрыть командные серверы, которые хостились в Испании. В феврале 2010 года в Испании арестовали трех членов группы DDP Team: Флоренсио Карро Руиса (Florencio Carro Ruiz aka Netkairo), Хонатана Пасоса Риверу (Jonathan Pazos Rivera aka Jonyloleante) и Хуана Хосе Бельидо Риоса (Juan Jose Bellido Rios aka Ostiator). Однако, как потом сообщили испанские власти, никто из арестованных не был разработчиком Mariposa, поскольку не обладал необходимыми навыками программирования. По утверждению испанской полиции, прорыв в расследовании случился тогда, когда один из ботоводов спалился по-детски: подключился к С&C со своего домашнего интернет-адреса, вместо того чтобы использовать VPN. Однако призвать к ответу преступников не удалось, во многом из-за того, что управление ботнетом в то время вообще не считалось в Испании преступлением. А для уголовного дела полиции пришлось бы доказать, что они воровали информацию и затем использовали ее для получения денег. Выйдя через пару месяцев на свободу, Netkairo и Ostiator пришли в офис компании Panda и принялись упрашивать взять их на работу, так как, по их словам, они оказались совершенно без денег после того, как инфраструктура Mariposa была разрушена. Естественно, им отказали.
Впоследствии Netkairo утверждал, что в Panda «умножили реальные цифры на сто, наверное в рекламных целях». «Реальный размер Mariposa был около 100 тысяч, максимум, в пиковые моменты, от 500 тысяч до 900 тысяч машин». Как пояснил Netkairo, в Panda не учли тот факт, что среди выявленных IP зараженных машин было большое количество динамических. Сотрудники Panda, в свою очередь, уточнили, что оценка в 12 миллионов никогда не означала число различных ПК и речь велась об уникальных адресах, замеченных в связи с ботнетом Mariposa.
Создателю Butterfly Bot Матьясу «Iserdo» Скорьянсу (Matjaz Skorjanc) из Словении повезло меньше его испанских коллег. На момент разработки Butterfly Bot в 2008 году Скорьянсу было всего 23 года. Он был арестован 28 июля 2010 года, повторно. До этого он уже задерживался, был отпущен под залог, но все равно продолжал продавать бот. В декабре 2013 года суд Словении приговорил его к 58 месяцам тюремного заключения за создание Butterfly Bot. Восемь месяцев условно получила также подружка Iserdo, на счет которой складывались деньги, вырученные от продажи Butterfly Bot. Всего на продажах удалось заработать порядка 500 тысяч евро. По словам Скорьянса, стоимость базовой версии Butterfly Bot составляла 500 долларов. Усовершенствованный вариант, предназначенный для сбора конфиденциальных данных, информации о кредитных картах и доступе к системам веб-банкинга, стоил несколько дороже — 1300 долларов. По данным испанской полиции, посредством Mariposa преступники украли конфиденциальные данные более чем у 800 тысяч жертв, включая домашних пользователей, компании, государственные учреждения и университеты в 190 странах.
Несмотря на takedown C&C Palevo, c конца 2010 года число его детектов вновь начало расти, а к середине 2011 года был обнаружен еще один ботнет на основе Palevo, численностью около 11 миллионов, который назвали Metulji (бабочка по-словенски). В июне 2011 года его операторы, Алёша Боркович (Aljosa Borkovic) и Дарко Малинич (Darko Malinic), жители сербской Боснии, были вычислены. Ребята тоже особо не заморачивались и сорили деньгами направо и налево. Их арест был осуществлен в рамках международного расследования под кодовым наименованием Operation Hive, проведенного совместными усилиями ФБР, Интерпола, МВД Сербии и полиции Словении. С тех пор Palevo исчез из списков топовых угроз.
История ботнета Mariposa показывает, какой большой ущерб могут принести кулхацкеры, обладающие минимальным набором знаний. К сведению, первоначальный вектор заражения Palevo первой волны заключался в распространении пиратских копий софта и игр, инсталляторы которых были склеены с трояном. И никаких вам спам-рассылок и эксплойт-паков! Однако же миллион ПЭВМ заразить таки умудрились.
Zeus
Краткая характеристика: банковский троян
Годы жизни: 2007 — настоящее время
Количество заражений: 13 миллионов
Методы распространения: эксплойт-пак
Открывает первую пятерку Zeus — без сомнения, банковский троян номер один в мире. По оценкам аналитиков, он применялся в 90% случаев банковского мошенничества в мире. До определенного момента на основе Zeus было создано достаточно большое число (около нескольких сотен) разрозненных ботнетов, которые контролировались разными группировками киберпреступников. Создатели Zeus просто продавали его заинтересованным лицам, а они уже с его помощью формировали собственные ботнеты. Например, в 2009 году одна из группировок провела масштабную акцию — рассылала Zeus через электронную почту, используя мощности ботнета Pushdo. По оценке компании Damballa, в США тогда было заражено около 3,6 миллиона ПК. Общее количество заражений Zeus с момента его появления оценивается в 13 миллионов компьютеров.
Разработчик Zeus известен под никами Slavik и Monstr, именно он с 2007 и до 2010 года единолично производил сбыт и поддержку своего продукта. Так продолжалось до версии 2.0, в октябре 2010 года Slavik передал исходные коды версии 2.0 своему конкуренту — разработчику трояна SpyEye и якобы прекратил дальнейшую разработку. В то же время исследователи из компании RSA обнаружили некоторые факты, позволяющие усомниться в словах Slavik’а о выходе из бизнеса. В августе 2010 года, то есть за два месяца до «официального» объявления о прекращении работы над Zeus, был обнаружен ботнет, созданный при помощи Zeus, имевшего версию 2.1, которая ни на одном «черном» форуме не продавалась. По всему выходило, что Slavik просто поменял модель ведения бизнеса, теперь он решил сформировать свой собственный ботнет, а не продавать билдер бота всем желающим.
Ключевой особенностью Zeus 2.1 стало изменение схемы связи с управляющими серверами. Теперь адреса серверов не были жестко заданы в конфигурационном файле, а формировались с помощью DGA (Domain Generation Algorithms). Для защиты от перехвата управления производилась проверка ЭЦП загружаемого файла в ходе обновления. Для этого в Zeus использовался открытый ключ RSA длиной 1024 бита.
Если брать за основу версию, что Slavik с августа 2010 года начал развивать ветку версии 2.1, то к числу нововведений этой версии стоит отнести появление в сентябре ZeuS-in-the-Mobile (ZitMo) — трояна под мобильные платформы Symbian, Windows Mobile, BlackBerry и Android, который работал в связке с обычной версией Zeus и позволял обходить механизм двухфакторной аутентификации систем ДБО. По информации компаний Versafe и Check Point Software Technologies, в конце 2012 года версия ZitMo под названием Eurograber принесла своим распространителям прибыль в размере 36 миллионов евро (или 47 миллионов долларов).
Несмотря на заявление Slavik’а о передаче всего кода в одни руки, кто-то или пожадничал, или слил налево исходный код Zeus 2.0.8.9, который, начиная с февраля 2011 года, стал предлагаться на продажу. В конечном итоге в мае сорцы попали в паблик. Это событие стало, пожалуй, самым значимым для киберандеграунда в 2011 году.
Анализ исходных кодов показал, что разработчик Zeus — настоящий профи. При первом взгляде на сорцы бросается в глаза их предельно четкая структурированность, что говорит о большом опыте автора в разработке ПО. Сам код радует, все лаконично, четко и красиво. Отдельного упоминания стоит модуль HVNC (HiddenVNC), представляющий собой реализацию VNC-сервера, который взаимодействует с виртуальным рабочим столом, скрытым от глаз пользователя. Впоследствии на основе слитых сорцев модуль HVNC был переделан в отдельный проект. Как и в Zeus, HVNC поддерживает возможность backconnect, то есть возможность подключения злоумышленника к зараженным системам, которые находятся за NAT или роутером. Обеспечивается это благодаря промежуточному серверу-маршрутизатору (еще один компонент Zeus в виде приложения под Windows).
После утечки сразу появились люди, начавшие клепать свои трояны на базе исходников Zeus. Для примера можно упомянуть проект ICE IX (названый, видимо, как вирус из фильма «Рекрут»), который не предлагал ничего нового и был попыткой заработать денег на известном имени. Но «достойный» последователь нашелся — проект Citadel. Его ключевой особенностью стало создание онлайн-платформы, организованной по принципу социальной сети. Здесь заказчики могли запрашивать новые функции, сообщать об ошибках и добавлять собственные модули, что превращало процесс разработки в некое подобие open source проекта. Также была организована система технической поддержки покупателей — Citadel постоянно поддерживали в актуальном состоянии.
Осенью 2011 года Роман Хюсси, создатель ZeusTracker (сайт для отслеживания информации о командных серверах Zeus), исследуя последний полученный вариант Zeus, заметил наличие странного UDP-трафика. Дальнейший анализ показал, что новый вариант Zeus имел несколько IP-адресов в конфигурационном блоке и компьютеры с этими IP отвечали инфицированной системе. За сутки было выявлено около 100 тысяч уникальных IP-адресов, с которыми связывалась новая модификация. Большая часть зараженных компьютеров была расположена в Индии, Италии и США. Так было установлено, что Zeus обзавелся P2P-функционалом на базе протокола Kademlia для своего обновления. Из-за использования названия скрипта gameover.php при обращении к командному центру этой версии было дано название GameOver.
В начале 2012 года исследователи компании Symantec обнаружили очередной вариант Zeus GameOver. Данная модификация содержала в себе встроенный веб-сервер на базе nginx, что давало возможность загрузки исполняемых файлов через протокол HTTP от других ботов. Таким образом, каждый бот мог выступать в качестве своеобразного командного центра или в качестве посредника (прокси) в цепочке управления. Версия GameOver «благополучно» дожила до наших дней, количество ПЭВМ в нем колеблется возле отметки в 1,2 миллиона.
Относительно недавно появилась информация, что правоохранительные органы США совместно с властями около десяти государств, среди которых были Канада, Франция, Украина и Германия, раскрыли крупную преступную хакерскую группировку. Один из предполагаемых организаторов — 30-летний житель России Евгений Богачёв — объявлен ФБР в розыск. Ему предъявлены заочные обвинения на основании перехваченных переговоров в одном из чатов. В них Богачёв, пишущий под никами Lucky12345 и Slavik, признается собеседнику, что он и есть создатель трояна Zeus. По данным ФБР, Богачёв в настоящее время проживает в Анапе и владеет собственной яхтой. Так что будем внимательно следить за развитием событий.
Bredolab
На четвертом месте троян, который с успехом мог бы открывать топ. Ботнет Bredolab (aka Oficla), появившийся в середине 2009 года, состоял из примерно 30 миллионов компьютеров — похоже, большего ботнета за всю историю не было. Основная особенность его состояла в способе его формирования. Для распространения бота использовались взломанные веб-сайты, посетители которых через iframe перенаправлялись на вредоносные ресурсы, где был развернут exploit pack с пробивом Adobe Flash Player и виртуальной машины Java. На протрояненных таким образом компах уводились пароли к FTP-аккаунтам, проверялся доступ к FTP-серверу и во все файлы HTML и JS внедрялся вредоносный код для вставки iframe, который вел на вредоносный сайт с exploit pack. Таким образом, взлом новых сайтов производился в полностью автоматическом режиме.
Краткая характеристика: троян с функциями spambot и DDoS
Годы жизни: 2009–2010
Количество заражений: 30 миллионов
Методы распространения: эксплойт-пак и модификация страниц сайтов ссылками на него (с помощью найденных паролей)
Также использовалась схема с рассылкой писем, содержащих во вложении исполняемый файл Bredolab в виде ZIP-архива, сам файл имел иконку Word или Excel. Для поддержания ботнета в рабочем состоянии злоумышленники довольно эффективно скрывали центр управления ботнетом, используя технику Double Fast Flux (см. врезки).
Для максимального затруднения разработки сигнатур использовался server-side полиморфизм. Его суть состоит в том, что алгоритм, обеспечивающий мутации, закодирован не в самом исполняемом файле вредоносной программы (как у полиморфных вирусов), а реализуется на специальном сервере, который генерирует целую кучу непохожих друг на друга файлов.
Используемые для управления 143 сервера принадлежали голландскому хостинг-провайдеру LeaseWeb, что и вызвало в конечном итоге интерес голландской полиции, которой в октябре 2010-го удалось получить контроль над большей частью ботнета и выйти на его создателя. Им оказался гражданин РФ Георгий Аванесов 1987 года рождения, которого правоохранительные органы Нидерландов объявили в розыск по обвинению в членстве в организованной преступной группировке, в киберпреступности и в отмывании денег. По их данным, Георгий Аванесов в период с марта по июнь 2009 года, находясь на территории Республики Армения, создал вредоносную компьютерную программу, которая и использовалась для формирования ботнета Bredolab. У Аванесова был сообщник, известный под ником Birdie, однако его личность не была установлена.
Использование Bredolab для спам-рассылок, прогрузки другой малвари («партнерки») и организации DDoS-атак (в том числе на ряд российских новостных ресурсов и даже сайт «Лаборатории Касперского») только в 2010 году принесло Аванесову прибыль в размере 700 тысяч долларов. Георгий Аванесов, приговоренный 21 мая 2012 года к лишению свободы сроком на четыре года, был освобожден условно-досрочно на основании отбывания более половины назначенного судом срока (кроме этого, в его отношении была применена амнистия), поэтому летом 2013-го уже находился на свободе (срок наказания исчислялся с 26 октября 2010 года). Дело Георгия Аванесова стало уникальным для Армении случаем, где ранее не было прецедентов в области киберпреступлений.
Большую часть клиентуры Аванесова составляли «партнеры» SpamIT, участники которой считались основным в мировом масштабе источником рассылки фармацевтического спама. Доказательства связи между ботнетом Bredolab и SpamIT всплыли на поверхность, когда следователи в России объявили, что выдвигают уголовное обвинение против Игоря Гусева, человека, подозреваемого в создании «партнерской» программы «ГлавМед», предназначенной для рекламы онлайновой продажи лекарств. Считается, что SpamIT был частью «ГлавМед». Сам Гусев отрицал какую бы то ни было связь со спамом. В нескольких интервью он сказал, что за выдвижением против него фальшивых обвинений стоит его бывший партнер Павел Врублевский, с которым они когда-то начинали совместный бизнес.
Прикрытие деятельности ботнета Bredolab, по оценкам специалистов, привело к уменьшению мирового объема спама в 2010 году в два раза.
Технология Fast Flux
Термин Fast Flux (дословно переводится как «быстрое течение» или «поток») относится к быстрому многократному внесению изменений в записи DNS, что приводит к постоянному изменению IP-адреса, к которому относится доменное имя. Сама по себе технология Fast Flux не является «вредоносной», так как не эксплуатирует какие-либо уязвимости DNS и обычно используется для распределения нагрузки на серверы. В классической схеме одному доменному имени соответствуют несколько десятков IP-адресов, которые меняются каждые несколько минут (схема Single Fast Flux). Это уже делает неэффективной блокировку трафика ботов по IP-адресам. Злоумышленники же несколько усовершенствовали схему: сервер DNS возвращает не конечный адрес самого командного центра, а адрес одного из большого количества зараженных компьютеров, каждый из которых представляет собой прокси на реальный управляющий сервер (схема Double Fast Flux).
ZeroAccess
История ZeroAccess (aka MAX++) в руткит-ипостаси началась в июне 2009 года. Именно тогда был обнаружен образец вредоноса, который использовал путь вида \\?\globalroot\Device\__max++>\[8 digit hex code].dll, а в драйвере-рутките ядра имел строку f:\VC5\release\ZeroAccess.pdb. Так что название ZeroAccess — авторское. ZeroAccess также известен под названиями Smiscer и Sirefef.
Краткая характеристика: троян-загрузчик с функциями click fraud, spambot & bitcoin miner
Годы жизни: 2009–2013
Количество заражений: 9 миллионов
Методы распространения: эксплойт-пак
В январе 2010 года создатели ZeroAccess принялись распространять новую версию своего детища. Для этого задействовались ресурсы сети Ecatel компании Russian Business Network. Отличительным признаком новой версии ZeroAccess, было явное заимствование идей TDL-3, а именно запуск через заражение драйвера и использование скрытого хранилища для своих компонентов.
Вплоть до апреля 2011 года 64-разрядные версии ОС не заражались ZeroAccess. В мае это досадное упущение было исправлено, но не сказать, чтобы очень технологично. Дело в том, что для x86 алгоритм работы был аналогичен предыдущей версии и руткит работал на уровне ядра. В противовес этому в среде x64 все работало в usermode, видимо, авторы решили не заморачиваться, как обойти проверку электронной подписи драйвера.
Интересная фишка данной версии ZeroAccess — использование техники «ловли на живца» для обламывания антивирусов. Кроме своего основного драйвера-руткита, ZeroAccess имел дополнительный драйвер ядра для создания «приманки» — объекта, на который «клевали» антивирусные средств защиты. Этот драйвер создавал устройство \Device\svchost.exe и сохранял подставной PE-файл как \Device\svchost.exe\svchost.exe, доступ к которому мониторился руткитом. Если какое-то приложение пыталось обратиться к нему, то ZeroAccess немедленно завершал его. Для завершения потока приложения в него методом APC инжектировалось около двухсот байт кода, который вызывал ExitProcess(). Но это было еще не все! Чтобы предотвратить последующие запуски завершенного приложения, для его исполняемого файла ZeroAccess сбрасывал правила доступа ACL, разрешающие чтение и выполнение файла. Таким образом, один раз попавшись на крючок, антивирус больше не мог запуститься.
Чтобы повысить живучесть, разработчики стали использовать различные ухищрения. Основной упор был на возможность работы ZeroAccess при любых правах доступа, а также противодействие блокированию командных центров. С этой целью был добавлен код, реализующий P2P на базе протокола TCP для распространения своих модулей, список начальных пиров с названием «@» содержал в себе 256 значений IP-адресов супернод. По данным компании Sophos, активное распространение P2P TCP-based версии началось в сентябре-ноябре 2011-го, тогда как первые сэмплы появились в конце июля. Антивирусные аналитики отмечают, что данная версия загружала два основных вида полезной нагрузки — click fraud и spambot.
Май 2012-го — вот и кончилось время, когда в составе ZeroAccess был драйвер ядерного уровня, теперь вся работа происходила в usermode. Алгоритм работы P2P-сети претерпел некоторые изменения. Длина RSA-ключа была увеличена с 512 до 1024 бит. Как и прежде, существовало разделение по типу payload: click fraud и bitcoin miner. Если раньше P2P использовал только TCP, то теперь список IP-адресов запрашивался по UDP, а список файлов (модулей) — по ТСР.
Пример ZeroAccess хорошо иллюстрирует принцип бритвы Оккама — не умножайте сущности без надобности, или, по-простому, не усложняйте. Начавшись как технологичная разработка и потеряв в ходе своей эволюции руткит-составляющую, ZeroAccess тем не менее успешно продолжил свое существование и даже обзавелся такой модной фичей, как P2P.
По оценкам компании Sophos, количество заражений компьютеров ботом ZeroAccess на конец августа 2012 года составляло более 9 миллионов, а активных ботов около миллиона. В отчете лаборатории Kindsight Security «Malware Report» за третий квартал 2012 года говорится уже о 2,2 миллиона зараженных систем, из которых 685 тысяч (31%) находились в США. По мнению экспертов, ботнет на основе ZeroAccess был самым активным в 2012 году.
Антивирусные компании, естественно, не сидели сложа руки и усиленно искали методы воздействия на P2P-протокол ZeroAccess, чтобы вывести ботнет из строя. В марте 2013 года за дело взялись инженеры компании Symantec. В ходе исследования специалисты выявили уязвимость протокола P2P ботнета, которая позволяла, хоть и с большим трудом, нарушить его работу. Одновременно продолжалось наблюдение за активностью ботнета, и 29 июня специалисты Symantec обнаружили, что через P2P-сеть распространяется новая версия ZeroAccess. Обновленная версия содержала ряд изменений, направленных на устранение уязвимости (был введен второй bootstrap list, который мог содержать 16 миллионов IP, и изменен принцип их формирования), которая обсуждалась исследователями в отчете, опубликованном в мае 2013 года. Возможно, именно это могло стать причиной обновления ботнета. Вскоре, 16 июля, специалисты Symantec начали операцию по захвату контроля над ботнетом, в результате которой из ботсети «выпало» более полумиллиона ботов (при общем количестве 1,9 миллиона).
Больших успехов, чем Symantec, добилась компания Microsoft. В начале декабря 2103 года компания Microsoft совместно с различными силовыми структурами нарушили работу ботнета ZeroAccess, взяв под свой контроль C&C. Правоохранители из различных стран получили ордеры на обыск и изъятие техники для 18 IP-адресов, с которых управлялся ботнет. После проведенных мероприятий инфицированные компьютеры получили от злоумышленников последнее обновление с сообщением «WHITE FLAG». Специалисты Microsoft убеждены, что таким образом админы ботсети дали понять, что отказываются от последующих попыток восстановления доступа к ней, а их сообщение стоит расценивать как «цифровую капитуляцию».
Технически ботнет остался «жив», просто была утрачена возможность скачивать новые модули из-за прикрытия управляющих серверов. Так как бот не обновляется, показатель его детектируемости постоянно растет, и растут шансы, что он будет обезврежен каким-либо антивирусом. В конце марта 2014 года было отмечено распространение новой версии click fraud плагина. На этом активность закончилась. Не исключено, что именно в этот момент разработчики корпят над созданием следующей версии ZeroAccess.
Ботнет Carna
Carna — ботнет численностью 420 тысяч устройств, созданный неким смышленым анонимусом с целью сбора статистики по IP-адресам всей сети Интернет. Был активен с июня по октябрь 2012 года, состоял в основном из различных домашних роутеров, которые взламывались путем подбора паролей (обычно там был или пустой пароль, или root:root). По результатам работы ботнета был создан Internet Census of 2012 (перепись интернета 2012 года). Результаты сканирования опубликованы в свободном доступе в виде базы данных размером 9 Тб, заархивированной в 568 Гб с помощью алгоритма ZPAQ. Из 4,3 миллиарда возможных адресов IPv4 ботнет Carna обнаружил использование 1,3 миллиарда, включая 141 миллион за брандмауэрами и 729 миллионов адресов, имевших обратную запись DNS (PTR). Оставшиеся 3 миллиарда адресов, вероятно, не использовались.
TDL
Второе место отдано загрузчику TDL. По большому счету, из всех рассмотренных здесь миллионников по технологичности он всем даст фору. Согласно непроверенной информации за созданием TDL первых трех версий стоял человек с ником Tyler Durden, а TDL расшифровывался как Tyler Durden Loader (хотя с равным успехом он мог бы расшифровываться как Trojan DownLoader, версии — они ведь такие версии). Tyler Durden предположительно был одним из сотрудников компании Comodo. Интересный факт о TDL — наличие в коде отладочных строк, которые представляли собой цитаты из культовых кинопроизведений: «Бойцовского клуба», «Симпсонов», «Страха и ненависти в Лас-Вегасе», «Форреста Гампа», «Звездных войн» и других. Вообще, в свое время между разработчиком TDL и экспертами антивирусных контор развернулось своеобразное соревнование, чье программистское кунг-фу лучше. В ответ на подкручивание проактивки выкатывался очередной апдейт, и далее по кругу. Существует версия, что TDL разрабатывался в качестве демонстрации обхода антивирусной защиты, а когда все завертелось — начал использоваться для формирования ботсети, ставшей частью сервиса по загрузке других вредоносов — «партнерки».
Краткая характеристика: троян-загрузчик с функцией click fraud
Годы жизни: 2008 — настоящее время
Количество заражений: 4,5 миллиона
Методы распространения: эксплойт-пак
Бизнес на базе TDL-3 было решено свернуть после взлома сотрудниками Esage Lab командных серверов TDL-3 и партнерской программы Dogma Million, что привело к утечке базы клиентов, которая сначала ходила в привате, а потом попала в руки отдела К летом 2010 года. TDL-4, по слухам, разрабатывался другими кодерами из исходников третьей версии, купленной за 65 тысяч долларов. Так или иначе, в июле 2010-го выходит TDL-4 0.01, а уже в августе 2010го — TDL-4 0.02 с поддержкой x64 операционных систем, став первым образцом malware такого вида, обнаруженным In The Wild.
Если TDL версии 1–3 были просто троянами с функцией руткита, то версия 4 уже относилась к такой интересной категории malware, как буткит. Загрузка до операционки на тот момент считалась передовой технологией. Ключевая идея буткита TDL — хранение своих компонентов вне файловой системы, разработчик TDL еще в третьей версии развил ее до концепции шифрованного хранилища с виртуальной файловой системой. Доступ к хранилищу обеспечивался драйвером-руткитом, который, помимо функций сокрытия и самозащиты, создавал виртуальное устройство, что позволяло при работе с файлами использовать стандартные функции WinAPI, такие как CreateFile(), WriteFile(), ReadFile().
Компоненты TDL-4 хранились в специальной области (размером не более 8 Mб) в конце жесткого диска. Среди модулей были замечены:
- своеобразный «антивирусный» компонент, который удалял около 20 вредоносных программ, таких как Gbot, ZeuS, Clishmic, Optima;
- SOCKS-прокси;
- модуль накрутки поисковых запросов (BlackSeo);
- модуль для генерации криптовалюты Bitcoin.
Наиболее интересным нововведением стало появление «полезной нагрузки» kad.dll, предназначенной для обмена информацией между ботами TDL-4 посредством сети P2P по протоколу Kademlia (как Zeus).
В 2011 году антивирусные компании выявили около 60 доменных имен командных центров TDL-4, которые по технологии Double Fast Flux (см. врезки) перенаправлялись на три различных сервера. Базы данных MySQL, поддерживающие работу ботнета, функционировали на трех серверах, расположенных в Молдавии, Литве и США. Согласно информации из этих БД, за три первых месяца 2011 года TDL-3 было заражено около 4,5 миллиона компьютеров по всему миру, около 28% из них находились в США.
TDL со временем приобрел много преемников. Очередная киберпреступная группировка (будем называть ее Pragma, такие идентификаторы содержались в их коде) прибрала к рукам исходники TDL-3 и TDL-4 и стала клепать свои альтернативные версии этих вредоносов, получившие название SST или MaxSS. Преемственность кодов TDL привела к тому, что в классификации многих антивирусных вендоров царит полная неразбериха и, по сути, разные семейства продолжают именоваться, как их предок (TDL, TDSS или Tidserv). Продажа кодов TDL-4 не привела к его исчезновению, этот проект продолжил развиваться параллельно проекту SST.
TDL-3 based вариант SST (с заражением драйвера) распространялся с начала 2011 года до начала лета, когда пошли загрузки тестовой версии SST на базе TDL-4 с заражением MBR. На то, что это тестовая версия, указывал большой объем трассировочных логов, отправляемых на C&C во время установки, а также многочисленные сообщения об ошибках, которые буткит слал во время работы.
Из фишек сотрудники компании Microsoft отметили очень интересный способ «резервного» канала восстановления связи SST со своими командными серверами. Конфигурационный файл с их адресами содержался в файлах формата JPG, которые размещались на хостинге imageshack.us. Ссылки на такие изображения были в постах, опубликованных на популярных блогерских площадках LiveJournal.com и WordPress.com.
Так или иначе, тестовая версия в августе была заменена новой и содержала в себе уже несколько иной способ получения управления при загрузке. Исполняемый код MBR не изменялся вовсе, а хранилище файлов организовывалось не просто в последних секторах диска, а в виде отдельного раздела размером до 15 Мб. Флаг активного раздела изменялся с загрузочного раздела ОС на раздел SST. Файловая система раздела с хранилищем в целом повторяла ФС TDL-4, однако содержала некоторые улучшения, в частности убрано ограничение на 15 файлов, а сами файлы в заголовке содержали контрольную сумму CRC32. Это позволяло реализовать в ФС проверку на целостность, в случае обнаружения повреждений файл удалялся из хранилища.
В конце 2011 года на сцену выходит форк TDL-4 под неблагозвучным названием Pihar, который по своим характеристикам почти неотличим от оригинального TDL-4. В нем применен ряд мер, изменяющих сигнатурные характеристики компонентов. Например, шифровался не раздел целиком, а только файл конфигурации. В заголовке этого файла, кстати, присутствовала строка [PurpleHaze], по всей видимости, являющаяся отсылкой к песне Джими Хендрикса.
В 2012 году компания Damballa представила аналитический отчет под названием «A New Iteration of the TDSS/TDL-4 Malware Using DGA-based Command-and-Control». В нем содержится информация об обнаружении трафика, аналогичного по своим параметрам семейству TDL. Он был выявлен с помощью «Плеяд» (Pleiades) — автоматизированной системы обнаружения малвари, использующей механизм DGA для связи с C&C. Дальнейший анализ показал, что это действительно новая модификация TDL-4.
Потомки TDL встречаются до сих пор, например, осенью 2013 года была выявлена модификация Pihar, использующая для повышения привилегий при инсталляции эксплойт уязвимости CVE-2013-3660 (для установки руткита, естественно, нужны права админа).
Conficker
И наконец, первое место! Сетевой червь Conficker (aka Kido, Downadup), главная угроза конца 2008 — первой половины 2009 года. Классический пример сетевого червя, можно сказать, наследник червя Морриса. Согласно одной версии, название образовано от слов configuration и ficker (немецкий синоним для fucker).
Краткая характеристика: сетевой червь
Годы жизни: 2008–2009
Количество заражений: 9 миллионов
Методы распространения: самораспространение через уязвимости сетевых сервисов
Получает заслуженное первое место за следующие показатели:
- Скорость распространения — первые образцы были обнаружены в ноябре 2008 года. По состоянию на январь 2009-го было поражено около 9 миллионов компьютеров во всем мире. Так много потому, что Conficker использовал для автоматического распространения уязвимость службы Server операционной системы Microsoft Windows, закрытую патчем MS08-067. В апреле 2009 года размер ботсети оценивался в 3,5 миллиона.
- Технологичность — реализовывал много различных фич, направленных на устойчивость управления: для связи с C&C применялась технология DGA; распространение новых версий реализовывалось с применением технологий электронной цифровой подписи и механизма P2P оригинальной архитектуры, в которой список пиров формировался динамически, путем сканирования смежных IP-адресов; изменение сетевой инфраструктуры (перенастройка шлюзов) посредством протокола SSDP для распространения в ЛВС.
Существует пять версий Conficker, обозначаемых буквами A (21 ноября 2008 года), B (29 декабря 2008 года), C (20 февраля 2009 года), D (4 марта 2009 года), E (7 апреля 2009 года). В терминологии некоторых антивирусных компаний используются наименования A, B, B++, C, D соответственно.
Версия Conficker.A содержала только один метод распространения — посредством эксплуатации уязвимости в службе Server. Связь с C&C обеспечивалась при помощи DGA, ежедневно генерировалось 250 доменов по псевдослучайному алгоритму. В целях защиты от подмены загружаемых файлов использовалась ЭЦП. Для загружаемого файла высчитывался хеш SHA-1 длиной 512 бит, который затем использовался в качестве ключа шифрования по алгоритму RC4, этот хеш также использовался для цифровой подписи RSA с ключом 1024 бит. В отличие от последующих вариантов, не содержал в себе функций самозащиты.
Есть мнение, что Conficker разработали на Украине, так как Conficker.A проверял наличие украинской раскладки клавиатуры и самоуничтожался в этом случае. Кроме того, по базе данных GeoIP с сайта maxmind.com определялась принадлежность заражаемого IP-адреса Украине, в этом случае заражение не производилось. В следующих версиях этого функционала уже не было.
В версии Conficker.B для расширения «ареала обитания» были добавлены еще два механизма распространения — путем использования сетевых ресурсов (каталогов) со «слабыми» паролями и алгоритм заражения USB Flash (методом autorun.inf). Была усилена криптография — в качестве алгоритма хеширования был применен алгоритм MD6 (новейший на тот момент, разработан в 2008 году), длина ключа RSA была увеличена до 4096 бит. Появились функции самозащиты: отключался механизм обновления операционной системы и блокировался доступ (путем отслеживания DNS-запросов) к ряду сайтов, где можно было скачать обновление антивирусных баз или специальные утилиты удаления вредоносов.
Основное изменение в Conficker.C касалось механизма DGA, из-за чего некоторые антивирусные компании называют эту версию B++. В качестве ответа инициативе Conficker Working Group по резервированию имен доменов, генерируемых Conficker, разработчики увеличили их количество с 250 до 50 тысяч в сутки, что свело на нет попытки их ежедневной регистрации.
Conficker.D лишился механизмов самораспространения. Была устранена ошибка в реализации MD6 типа «переполнение буфера», допущенная разработчиком алгоритма Рональдом Ривестом. Разрабы позаимствовали его код один к одному, поэтому баг оперативно пофиксили, как только Ривест о нем сообщил. Внедрен механизм P2P для обновления. Его интересной особенностью является отказ от начального списка пиров. Этот список обычно или задается внутри исполняемого кода, или размещается на публичных серверах. Conficker же находит свои пиры методом сканирования IP-адресов. Для каждого найденного IP-адреса проверялось, функционирует ли на нем Conficker. Если да, создавался поток для связи с удаленной копией. При сканировании проверялось нахождение IP в blacklist адресов антивирусных компаний, к ним обращение не производилось.
В Conficker.E вернули возможность заражения через сеть и реализовали фишку с перенастройкой шлюзов по SSDP. Наконец-то с этой версии началась «монетизация прибыли» при помощи двух методов. Первый — загрузка фейкового антивируса Spyware Protect 2009. Второй — распространение трояна Waledac, производившего кражу банковских данных и рассылку спама.
При анализе информации о Conficker не покидает чувство, что разработчики в первую очередь ставили исследовательские цели, уж очень много всяких концептуальных вещей реализовано (кстати, для их проверки нужна была нехилая тестовая лаборатория). С другой стороны одна только прибыль от установки FakeAV, по оценкам специалистов, составила около 72 миллионов долларов. Однако может так оказаться, что сначала ботнет был создан, а уже несколько месяцев спустя появилась идея, что неплохо бы и денежку какую на нем «заработать».
До сих пор непонятно, является ли Украина родиной Conficker. Некоторые исследователи отмечают, что рабочий эксплойт к уязвимости MS08-067 первым появился в Китае и его код почти полностью воспроизведен в Conficker. Эксперты вьетнамской компании BKIS, занимающейся вопросами компьютерной безопасности, сделали вывод о китайском происхождении червя Conficker после анализа его кода: он имеет много общего с червем Nimda, виновником эпидемии 2001 года, который предположительно тоже был разработан в Китае. Официально эти данные не были подтверждены, а сами разработчики Conficker так и не установлены, несмотря на обещанную награду в 250 тысяч долларов от Microsoft.
Заключение
Все рассмотренные зверушки в разное время успешно взяли по контроль миллионы компьютеров. И если сейчас в заголовках новостных ресурсов таких огромных чисел уже давно не видно, это не значит, что ситуация со временем улучшилась. Просто поле деятельности сегментировалось, стало больше всякой малвари для построения ботсетей, соответственно, их размер уменьшился. Отрадно, что киберподразделения мира все-таки не зря едят свой хлеб и рано или поздно ловят разработчиков всякой компьютерной нечисти.
Как видно из приведенного топ-10, последние несколько лет отчетливо прослеживается тренд использования в ботнетах P2P-технологий для обновления модулей. Как показала практика, их использование существенно повышает живучесть ботнета. В то же время сложность кода держится на среднем уровне, так как число высокопрофессиональных разработчиков, способных писать всякие крутые штуки типа руткитов или собственных реализаций стека TCP/IP, во всем мире не так уж и велико (когда их уже всех на карандаш возьмут? :)). Да и функционал P2P требует детальной проработки его протокола. В связи с последними событиями (повальная шпиономания, спровоцированная Сноуденом) есть вероятность, что большинство профи вскоре будут задействованы спецслужбами для разработки всяких APT-троянов. Или на аутсорсинговой основе (примеры: троян MiniDuke, предположительно написанный кем-то из адептов вирмейкерской группировки A29; бот BlackEnergy II со шпионскими модулями), или за еду (в четырех стенах).
Что еще интересного можно увидеть в данном обзоре? Ну, например, что большая часть всякой навороченной малвари создается выходцами из России. Для сравнения, в Китае тоже полно умельцев (да и в США тоже), однако засилья китайских или американских ботнетов что-то не видно. Не последнюю роль тут могут играть соответствующие законодательства этих стран, а также степень заинтересованности руководящей верхушки в управлении ситуацией. Со стороны это выглядит так (ну, мы ничего такого не утверждаем ;)), что США и Китай всех своих профи взяли под колпак и ведут необъявленную кибервойну, а в России тем временем планомерно рубят бабло (кто сказал «коррупция»?).
Анализ текущей ситуации показывает, что такие функции, как DDoS и спам, постепенно исчезают из ботов, работающих на десктопе. Указанные функции намного эффективнее реализуются в malware, которая заражает серверы. А какая у нас самая распространенная ОС на серверах? Правильно — Linux! И уровень зловредов там отнюдь не детский.
Напоследок в очередной раз напоминаем, что безопасность твоего ПК в твоих руках. Повышай свой уровень знаний в IT, и пусть участие в каком-нибудь очередном ботнете-миллионнике обойдет тебя стороной.