Rootkit (руткит, от англ. root – «корень» и kit – «набор») — программа или набор программ, позволяющие компьютерному злоумышленнику закрепиться во взломанной системе и скрыть следы своей деятельности путём сокрытия файлов, процессов, а также самого факта присутствия.
Предисловие
В последнее время, одним из основных направлений развития вредносных программ стало применение в них всевозможных способов защиты от обнаружения антивирусными средствами. Руткиты становятся все более изощренные, их количество растет с каждым годом. Большинство из них – это чужие идеи, воплощенные не лучшим образом в коде, однако, есть и крайне интересные экземпляры. Об одном таком мифическом и неопределяемом до недавнего времени рутките эта статья.
Ботнеты
Для того чтобы понять, о чем пойдет речь дальше, необходимо ознакомиться с некоторыми терминами, один из них – ботнет. По данным все той же Wikipedia, ботнет или бот-сеть (англ. botnet) — это компьютерная сеть, состоящая из некоторого количества хостов, с запущенными ботами — автономным программным обеспечением. Чаще всего бот в составе ботнета скрытно устанавливается на компьютере жертвы и позволяет злоумышленнику выполнять некие действия, эксплуатируя ПО и ресурсы заражённого компьютера. Как правило, ботнеты используются для нелегальной или несанкционированной деятельности — рассылки спама, перебора паролей в удалённой системе, атак на отказ в обслуживании и многого другого.
Компания SecureWorks провела исследование наиболее крупных бот-сетей, занимающихся рассылкой спама. Нас же интересует только один из них, а именно Rustock, который занимает третье место в этом своеобразном рейтинге. Краткая информация по ботнету выглядит так:
• предполагаемое количество зараженных машин: порядка 150, 000;
• способность ботнета рассылать спам: порядка 30 миллиардов сообщений в день;
• наличие руткит-составляющей: да.
Теперь вы представляете с чем мы имеем дело и каков размах подобных сетей
в Интернет.
Взросление Rustock
Название Rustock придумали специалисты антивирусной компании Symantec, и оно так понравилось автору вредоносного кода, что в дальнейшем он стал его использовать. Изначально в первых версиях руткита можно было встретить такую строку: «Z:\NewProjects\spambot\last\driver\objfre\i386\driver.pdb». В последующих кроме строки с использованием «spambot» появилась строка «Rustock rootkit v 1.2».
Принято считать и делить поколения данного руткита на три «возрастные группы» (A, B, C). Это не совсем верно, так как автор постоянно экспериментировал и изменял код, методы перехвата функций и улучшал стабильность, но в целом кардинальных изменений за одну версию не вносил. На самом деле ситуацию с «версионностью» руткита достаточно просто отследить.
В конце 2005 – начале 2006 года появились первые бета-версии Rustock.A на которых обкатывались технологии. Отличить их можно по названиям драйверов: i386.sys, sysbus32. Для скрытия себя в системе использовался перехват системной таблицы вызовов (SSDT) и перехват IRP-пакетов.
Далее появилась полноценная версия Rustock.A – pe386.sys (версия 1.0), которая отличалась от первых версий техниками скрытия себя в системе. Прежде всего, автор отказался от SSDT и перехватил прерывание 0x2E (Windows 2000) и MSR_SYSENTER(Windows XP+). Для скрытия файла на диске были использованы ADS (Alternate Data Stream). Данная технология поддерживается на файловой системе NTFS. Тело руткита находилось в %SystemRoot%\system32:[случайный_набор_цифр].
В том же 2006 году появилась бета-версия Rustock.B (huy32.sys), а сразу за ней полноценная версия Rustock.B - lzx32.sys (версия 1.2), в которой использовались перехваты INT2E/MSR_SYSENTER, ADS (%Windir%\System32:lzx32.sys). Кроме всего прочего, автор добавил перехват функций сетевых драйверов: tcpip.sys, wanarp.sys и ndis.sys, который позволял ему обходить фаерволы и прятать спам-трафик.
Также были выпущены варианты с урезанным функционалом, варианты, которые восстанавливали перехваты в случае их обнаружения и снятия антируткитами или антивирусами, а также различные варианты со случайными именами драйверов.
Некоторые антивирусные вендоры, например TrendMicro, выложили в своих вирусных библиотеках описание Rustock.C, но после проверки этот экземпляр оказался очередной экспериментальной версией Rustock.B
Rustock.C
Первые слухи о Rustock.C появились летом 2006 года. Тогда же его начали искать как антивирусные лаборатории, так и вирусописатели. Антивирусные лаборатории искали для того, чтобы проанализировать и улучшить свои методы обнаружения руткитов, а вирусописатели просто для того, чтобы наворовать чужих идей и встроить в свои вредоносные программы защиту и методы сокрытия «попрактичнее».
Шло время, а образец то ли не находился, то ли времени на его анализ у антивирусных лабораторий не хватало, ведь ежедневно приходится иметь дело с тысячами файлов. Официальных подтверждений или опровержений так и не появилось, были лишь какие-то разговоры
Читать далее...