Выбрать главу

Компьютерра 04.04.2011 - 10.04.2011

Статьи

Рождение и смерть ботнета Rustock Юрий Ильин

Опубликовано 07 апреля 2011 года

Причина тишины — не совестливость спамеров. 16 марта 2011 года корпорация Microsoft совместно с правоохранительными органами нескольких стран провела масштабнейшую операцию и заблокировала многочисленные контрольные серверы ботнета. Поскольку операция осуществлялась скоординированно, получилось, что ботнету снесли все головы разом. Это не был поход одиноких Геракла и Иолая против Лернейской Гидры, скорее — набег целого отряда лесорубов с бензопилами.

Rustock уходит в режим радиомолчания не впервые. Его уже пытались искоренить в 2008 году, потом он по каким-то причинам притих на рубеже 2010-2011 годов. Оба раза тишина продолжалась недолго. Замолк ли он навсегда в этот раз? Пока непонятно. Факт, однако, в том, что с ним расправились на совесть. Даже если его владельцам однажды удастся поднять ботнет на ноги, это будет не так уж просто.

Возможно, стоит подвести некоторые итоги. Rustock и сам по себе — явление интересное.

Начало

Название Rustock придумали сотрудники антивирусной фирмы Symantec. Так окрестили пойманную 13 января 2008 года вредоносную программу. Впрочем, автору (или авторам?) Rustock имя пришлось по вкусу — вот какая строка обнаружилась в одной из следующих версий программы.

Фрагмент с «визитной карточкой» раньше выглядел иначе: папки «Rustock» не было, только «Spambot».

С тех пор прошёл не один год, но об авторах и владельцах Rustock по-прежнему нет достоверных сведений. По косвенным признакам выходит, что их родным языком был русский. Об этом можно судить, например, по упоминанию mail.ru и yandex.ru в коде или по говорящему названию бета-версии Rustock.b — huy32.sys. Кроме того, основателем злополучного хостинга McColo, на котором располагался первый контрольный центр Rustock, был «русский хакер» по имени Николай (только это о нём и известно).

В «Лаборатории Касперского» практически уверены, что Rustock — российское произведение. По словам ведущего антивирусного эксперта компании Сергея Голованова, спам-бизнес — практически полностью русский, к тому же именно так, как был написан Rustock, руткиты пишут только выходцы из СНГ.

Руткит — это основа Rustock. Троянец устанавливает его на компьютер жертвы первым делом. Руткит позволяет использовать заражённую машину в качестве скрытого прокси-сервера, который действует на случайно выбранном TCP-порту. Кроме того, программа предпринимает попытки связаться с серверами ftp.skystockfinance.cc, https.enjoyfit2006.biz и www2.firemonk2006.com для подгрузки дополнительных файлов и конфигурационной информации. Мало того, через TCP-порт 25 она могла обращаться к SMTP-хостам mxs.mail.ru, smtp.yandex.ru и maila.microsoft.com.

В июле 2008 года с разницей в несколько дней Symantec отрапортовал о ещё двух разновидностях троянца — Rustock.A и Rustock.B, причём по поводу второй было заявлено, что она использует усовершенствованный руткит для установки себя в систему и сокрытия своего присутствия. Обе версии были способны рассылать спам с заражённого компьютера.

А потом появились слухи о Rustock.c.

Неуловимый Джо

Его очень долго не могли обнаружить. Настолько долго, что всё чаще звучали голоса: а не миф ли это, ваш Rustock.c? Может, его просто не существуют, а антивирусы гоняются за химерой?

"Химера", к сожалению, оказалась самой что ни на есть реальной, всамделишной пакостью. Первой новую версию вредоносной программы обнаружила российская антивирусная компания «Доктор Веб». Тут и выяснилось, что создатели Rustock прекрасно понимали, что они делают и какие средства будут применяться против их детища. Все версии спамбота были сходны между собой по функциональности, но у Rustock.c оказался самый хитрый механизм для игры в прятки.

Во-первых, этот троянец заражает драйверы и сам реализован в виде драйвера уровня ядра. Во-вторых, он использует полиморфизм и обфускацию кода, чтобы затруднить анализ. Вдобавок, Rustock.c самым активным образом противодействует отладке, в том числе нарушает или блокирует работу отладчиков, а также имеет функцию самозащиты, противодействующую модификации кода во время исполнения.

Ещё один метод маскировки: Rustock.c то и дело «меняет партнёров». Сначала он заражает один драйвер, затем другой, а первый вылечивает. Мало того, он фильтрует обращения к заражённому файлу и подставляет оригинальный файл вместо заражённого. Наконец, как отмечают в «Доктор Веб», троян перехватывает системные функции «неклассическим методом». Каждая копия руткита привязывается к заражённому компьютеру на аппаратном уровне, так что на других машинах та же копия работать, скорее всего, не будет.