Ребятам о руткитах.

// Или занимательная компьютерная проктология.

Честно говоря, публиковать этот пост – в этом есть некий риск. Не исключаю, что далеко не все читатели моего блога действительно настолько технически любопытны, чтобы интересоваться «руткитами» –  техническими подробностями компьютерного зловредства и анти-зловредства. Ведь не всех интригует тема глубины кроличьей норы – большинство интересуется только вкусом и ценой крольчатины. Но – иду на риск и предлагаю две таблетки. Красную и синюю (как было у Нео). // кстати, где-то был интересный вопрос – а что бы произошло, если бы Нео слопал обе таблетки? :)

Итак – таблетка красная.


Тема интересная, но о ней в прессе почти как о покойнике – или ничего или леденящие душу, не имеющие ничего общего с реальностью страшилки. Ну, есть и много чисто технических публикаций, но широкой аудитории от этого проблема никак не становится понятнее.

А проблема есть.

Увы, большинство антивирусов откровенно задвигают на защиту от руткитов. А способность бороться с ними, во-первых, свидетельствует о технологической продвинутости и вообще антималварной экспертизе разработчика. Как следствие – на реальный уровень доверия, который этот разработчик заслуживает. А во-вторых, это прямо влияет на среднюю температуру по больнице и разгул кибер-негодяев в глобальном масштабе. Половина ботнетов используют руткит-технологии и умение антивирусов выводить эту заразу – лучшая защита от сетевого криминала.

Обо всём этом ниже и по порядку.

Начнём с азов. Что такое руткит?

Немного юниксовой археологии. Изначально термином «руткит» называли скрытые «закладки» в код стандартных юниксовых (линусковых) утилей – благо исходный код юни/лину-ксов открыт, втыкай что ни попадя. Главной задачей этих закладок было дождаться коннекта от удалённого «хозяина» и дать ему полный доступ к ресурсам системы (сделать хозяина «рутом» – потому и «руткит»). Т.е. умельцы-самоделкины, компиляющие систему сами из непроверенных источников, самостоятельно ставили себе «троянcкую закладку», которая позволяла неведомым хакерам из немеряных пространств Инета получать контроль над системой и рулить по своему усмотрению.

Достаточно популярный был термин, который был скопи-пиз.. пастен любителями «громких названий» для обозначения Виндовых зловредностей. Так *-никс термин давно забыт, используется теперь везде в приложении ко всему, что «прячется в системе».

Итак, «руткит» в современном понимании – это вовсе не страшный-престрашный вредонос, как можно прочитать в популярных статьях. Руткит  в современном понимании – это просто технология сокрытия присутствия софта в системе. Инструментов тому много – перехват системных функций, изменение прав доступа, залочивание файлов, манипуляции с объектами ядра и много другого. И вредоносность этой технологии прямо зависит от фантазии автора. Вроде кухонного ножа – смотря как его использовать. Он может оказаться и полезной домашней утварью, а может быть и опасным холодным оружием в бытовых разборках. Например, руткиты используются в системах защиты от пиратства и эмуляторах разных устройств.

Но так повелось, что широкой публике эта технология больше известна с ярлыком плохиша. Много марвари (причём самой сложной и опасной) действительно использует руткиты, чтобы скрывать себя как от пользователя, так и от защитного ПО. Например, Stuxnet, TDSS, Sinowal и Rustock. Список очень длинный.

Историю, классификацию и прочие технические подробности по руткитам смотрите в Википедии. Также рекомендую вот эту обзорную статью по эволюции технологии. А я пойду дальше.

Руткиты – реально очень сложная технология. Некоторые из них научились обходить даже такие навороченные системы защиты как Patch Guard и цифровую подпись для драйверов. Я не сомневаюсь, что у кибер-негодяев такие спецы на вес золота. Да и сразу видно, что мало кто может себе позволить – например, у шикарно распиаренного McAfee Shady RAT (за которым, якобы, стояло некое правительство) этого не было.

Разумеется, и бороться с руткитами не так-то уж просто. С точки зрения интеграции в операционную систему и способности контролировать внутренние процессы руткиты равнозначны антивирусам. Как следствие – удаление руткита, а в частности лечение зараженного компьютера – задача нетривиальная. Но равные права нужно понимать буквально – у каждого также одинаковые возможности. И вот тут начинается реальный поединок мозгов и экспертизы.

Противостояние идёт по трём направлениям –  детект  модулей руткита (недопущение заражения), самозащита (чтобы руткит не вынес антивирус из памяти) и нападение (использование недостатков руткита для его нейтрализации и удаления).

Самое неприятное, что сейчас большинство антивирусов в борьбе с руткитами ограничиваются только детектом. Тупо вносят в базу данных хэши файлов-компонентов, тем самым позволяя детектировать руткит только в неактивном состоянии. В лучшем случае выпустят stand-alone утилиту для лечения (как в последней версии Нортона).

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

Недавно на anti-malware.ru вышел свежий тест на способности разных продуктов лечить активное заражение руткитами. Ну, во-первых, просто приятно + респект нашему AMR (Anti-Malware Research). Так держать, очень горжусь как результатом, так и прогрессом по сравнению с прошлым годом. Во-вторых, из этой таблички очень просто понять, кто реально занимается исследованиями, а кто ориентируется на разные нерелевантные горе-тесты. В-третьих – это повод в нескольких словах рассказать про наши анти-руткит технологии.

У нас есть две собственные разработки против руткитов. Первая, QScan – такая универсальная таблетка против руткитов. Вторая, MARK – заточена под конкретные руткиты и их методики маскировки. Если QScan не справляется с чем-то, на помощь приходит MARK, проводит сложные хирургические мероприятия в памяти и передаёт «пациента» обратно QScan’у. У обеих технологий куча особенностей и хитростей. Например, QScan умело обходит руткитовые перехватчики – он разбирает файлы системного реестра и посекторно собирает файлы для сканирования. Дальше не буду углубляться – слишком сложно, да и тут много ноу-хау, которые ждут своей очереди в патентных бюро разных стран. Главное – налицо результат – наши продукты впереди всех по защите от руткитов!

Вот. А MARK мы сделали ещё в 2008 году. QScan появился годом позже. С тех пор постоянно их развиваем. Обе технологии – часть нашего антивирусного движка и присутствуют в коммерческих (консьюмерских и корпоративных) продуктах и бесплатных утилитах (например, наша Virus Removal Tool).

Я думаю, что чем дальше, тем руткиты будут становиться сложнее. И тем шире будет их применение. Уже сейчас старенький руткит можно запросто купить на чёрном рынке за пару сотен долларов и прикрутить к своей малвари. Да и сама технология тоже не стоит на месте -эволюционирует вместе с операционной системой! Руткиты начали поддерживать x64 (а мы что? Мы тоже их там ловим!), даже несмотря на то, что в x64 ОС усилили защиту от различных перехватов/модификаций системы. Плюс кибер-негодяи вовсю используют буткиты (также их использует и много легального софта), а на повестке дня уже стоят биоскиты.

Имхо, забивать на это направление малвари как это делает большинство антивирусных компаний – неправильно, недальновидно и вообще неуважительно по отношению к пользователям. У них создаётся ложное чувство защищённости – какой-нибудь троян может нормально себе жить-поживать на компьютере под защитой такого антивируса и «тырить всё»! И кому это надо?? Ясно кому!

В общем, смотрите, что себе ставите на компьютер. И не забывайте про сыр и мышеловки.

А синяя таблетка уже и не нужна – всё равно же ничего не помните! :)

11 Responses to “Ребятам о руткитах.”

  1. Эххх, синюю таблетку хочу прочитать… :)

  2. Да наплевать на эти руктиты. Нечего выкладывать в интырнете правдивую информацию (тем более о себе). А заходить в интырнет надо со открытых DNS серверов, чтобы не засекли. И работать нефиг на виндах.

    • Правильно. Нечего делать в этом Инете. Отключить. Компьютер тоже – сначала снести Винду, потом поставить Линукс, а потом – выключить и навсегда. Телефон тоже. Сетевые шнурки, зарядки, кабеля прочие – выкинуть из окна, чтобы соблазна не было. Окно – заколотить, дверь тоже – чтобы этого соблазна тоже не было. Телевизор и радио… Ну ладно, пусть будет.

  3. TheChemicalBrothers Reply November 18, 2011 at 09:06

    Познавательная статья. Спасибо!

  4. Вот не надо про юникс гнать-то. Неведомо откуда скомпилять не получится,надо чтобы репозиторий был доверенный и пописанный ключём. Неведомо откуда ещё раз повторяю в никсах поставить не получится у каждого дистра свой реп с нужными программами.

    • Ага, а что это за левые сетевые вызовы я своими глазами видел в исходниках совершенно несетевых юниксовых/линуксовых приблудах типа принтера (несетевого) и прочего? И детектил их в 90х годах как “Backdoor.Unix/Linux….”

      • Как гриться, исходники в студию. Руткиты под юниксы есть я не отрицаю. Но чтобы они заработали админ должен быть идиотом.
        Да, ещё политикой безопасности можно даже рута ограничить, man selinux,aparmor. Так что запуск руткита под никсы довольно нетривиальная задача.

        • Исходники копать – лень. К тому же я не уверен, что у меня до сих пор доступ к коллекции малвара есть :) Так что – верьте на слово.

          > админ должен быть идиотом.

          Такого разве совсем не бывает?…

          • у дохтура веба коллекция ещё 95 у меня валяется с описанием.

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

      • http://web.archive.org/web/20020830075425/http://ddk.zeno.com/Reference/ZjStream/Default.htm

        Найдите “левые сетевые вызовы”,а я посмотрю.

Trackbacks/Pingbacks

  1. Что в виндовсе тебе моём? | Nota Bene - September 6, 2012

    […] (ELAM) и Measured Boot. По сути – это дополнительная защита от руткитов. Благодаря ELAM’у сертифицированный антивирус […]

Оставить комментарий

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: