Конкурсы

Руткит, Буткит, ГиперКит... Что дальше?

03 ноября, 2009

В этой статье автор поделится своим видением будущего руткитов.

Проект "Синяя таблетка".

Несколько лет назад, я столкнулся со странной штукой, каким-то образом Windows XP обрела измененный boot сектор.
Для начала расскажу историю.

Когда вы включаете компьютер, процессор начинает выполнение программы, которая должна находится в строго указанных адресах памяти. Обычно там находится ПЗУ (постоянное запоминающее устройство. ("Привыкайте к сокращениям" (с) Трансформеры)) или проще говоря BIOS (Basic Input Output System или базовая система ввода вывода). Процессор может работать в 2х, а теперь уже в 3х режимах. Первый режим называется реальным и собственно представляет собой сверхпроизводительный процессор i8086 образца 1980 года, второй режим: защищенный, в нем реализован доступ ко всей доступной памяти до 4х гигабайт, сумасшедший объем для 1985 года и процессора i80386. В защищенном режиме был реализован режим виртуального i8086, для совместимости.

Как я говорил ранее i80386 и его клоны, позволяли уже тогда создавать виртуальную среду, в которой можно было эмулировать, в частности и сам i80386. Конечно, задача очень сложная в части обеспечения стабильности работы. А недавно для 64битной архитектуры появился и режим виртуального i80386. То есть 64 битная архитектура эмулирует 32 битную, а последняя 16 битную, образца 1980 года.

Вот такая матрешка. При этом, надо отметить, что технология виртулизации впервые появилась у AMD, но только для i80386, виртулизация i8086 пропала за ненадобностью, по крайней мере так посчитали в AMD, а Intel с опозданием, таки смогла обеспечить полный комплект виртуализаций. Но обе технологии отличаются друг от друга, поэтому придется писать два кода, чтобы использовать свой гипервизор на обоих технологиях.

Но я забежал вперед.

Очевидно было, что windows сама такое сделать не смогла бы. Тогда кто ? Изучение привело меня в замешательство. Это был мой первый опыт, я понятия не имел, что такой механизм уже существует в бытовом применении. То был буткит Sinowal, крадущий банковскую информацию, красть было с этого компьютера нечего, поэтому, как говорится, обошлось. Исследование показало, что помимо загрузочной части, у него было продолжение, собственный драйвер в системе, который уже работал, как классический руткит, скрывавший свое присутствие. Понимание этого процесса, помогло избавиться от заразы в ручную, так как ни один доступный мне антивирус его не обнаруживал.

В 2006м году. Польский эксперт по безопасности, работающая в тайваньской компании COSEINC, а также основатель и директор компании Invisible Things Lab(http://invisiblethingslab.com/ ; http://invisiblethingslab.org/) Джоанна Рутковская, разработала прототип руткита, который теоретически невозможно было бы обнаружить. Проект был назван голубая таблетка "Bluepill" и представлял собой буткит с поддержкой виртуальной среды.

Совсем недавно, в 2009м году, проект получил свое развитие и теперь успешно торпедирует как windows xp x64, так и Vista всех сортов, о чем и было доложено Джоанной на конференции Confedence.

Идея состоит в эксплуатации виртуализации предоставляемой процессорами для загрузки операционной системы, которая считает, что она контролирует аппратную часть и... и все что запущено в ней, понятия не имеет, что исполняется в виртуальной среде. Более того, Джоанне удалось решить проблему вложенности гипервизоров. Да, Голубую Таблетку можно запускать из под Голубой Таблетки и когда надоест, запустить операционную систему, если к тому времени останутся ресурсы, так как любая виртуализация снижает производительность примерно на 10-15%. Таким образом ни сканнеры, ни антивирусные программы, никто никаким образом не поймет, что находится под наблюдением, при этом у гипервизора, есть абсолютно полный доступ ко всем ресурсам исполняемой под ним операционной системы, все процессы, память, все что угодно в его распоряжении. И для него не составит труда внедриться в процесс, так всеми любимый Internet Explorer или любой другой, который обычно является в списке доверенных и от его имени получать и принимать информацию, делать нужные манипуляции, подсовывать не зараженные версии секторов, файлов, областей памяти, в общем производить впечатление чистой не пораженной системы.

Технологии не стоят на месте и гибкость оборачивается проблемами, когда ее начинают использовать с иными или двойными целями.

В том же 2006 году, компания Next Generation Security Software Ltd взорвала мир новостью о том, что существует возможность написания руткита, переживающего reset компьютера. Новость была опубликована в ноябре 2006 года. Несколько позже, та же компания опубликовала еще один способ заражения и выживания, более того практически, намертво вживления в систему, через перепрограммирование карт на шине PCI. Таким образом была концептуально скомпрометирована архитектура ACPI и вслед за ней PCI, для устройств с установленной EEPROM (Electrically Erasable Programmable Read Only Memory - электрически стираемой перезаписываемой памятью только для чтения) памятью, что встречается достаточно часто.

На сколько мне известно, рут(бут)китов использующих эти технологии нет, однако проект BluePill доступен в исходных кодах, при желании его можно скомпилировать, изменить и...

В 2008 году, летом, группа North Security Labs сообщила о возможности обнаружения среды виртуализации BluePill.

Есть два способа обнаружения, первый это через анализ косвенных действий, например снижения производительности или использования внешнего источника времени, так как внутренний может и будет, и подделывается гипервизором, конечно, анализ может быть отрицательным, если действия по обнаружению будут присекаться гипервизором, например, он будет смотреть, не лезет ли кто в сеть за источником точного времени, например путем внедрения в процесс NDIS, концепт метод которого описан той же Джоанной или как это делают некоторые руткиты внедряясь в процесс ipv6.sys, правда несколько для других целей.
Но существует второй способ, более надежный, это вбить еще один клин, и запустить вражеский гипервизор из под доверенного гипервизора и уже при помощи него проанализировать, нет ли чего подозрительного, включающего режим виртуализации, где не надо.

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

Однако не стоит забывать о факторе профессионализма.

Руткит сложен, буткит еще сложнее, гипервизоры сложнее первых двух. Уровень профессионализма должен быть огромен, написать действующий невосприимчивый к обнаружению гипервизор, по трудозатратам похоже на написание небольшой собственной OS. Более того, он труден в отладке,  отладчик должен обладать свойствами гипервизора, при этом не забудьте, что все это должно вращаться в гостевой операционной системе, предоставляющей возможность отладки и разработки. И если вы себе этого представить не можете, то поверьте, это очень и очень не просто. И самое главное, подобные трудозатраты недоступны тем, кто занимается самоутверждением, а так же тем, кто хочет подработать денег на собственном ботнете.
Это профессионалы, которые должны иметь сильную мотивацию, много времени и финансового ресурса, который их будет обеспечивать во время разработки и отладки кода. Но технологии не стоят на месте и борьба щита и меча наверняка развернется на небесах виртаулизации, оставив операционную систему более слабым и более молодым хакерам.

Hypersight RD 0.5.761 Beta
Сильные и слабые стороны BluePill
Введение в Bluepill
Один из самых сильных руткит детекторов: GMER
Статья 2006 года Джоанны корреспонденту eWeek Райану Нарайну (Ryan Naraine) озаглавленную просто: Антивирусное ПО неэффективно
Превосходная статья с Джоанной Дмитрия Чеканова корреспондента Thg.Ru


(Голосов: 2, Рейтинг: 3.19)

Комментарии:

Страницы: 1  2  
   
Гость: 92187
03.11.2009 23:58:10
Спасибо за интересный материал!

Все эти ужасные хитрые зловреды должны немало весить. Всё-таки, меня очень интересует вопрос, каким же именно образом буткит попал к автору на компутер?

   
Гость: Онаним
03.11.2009 23:59:33
ммм, об чём статья-то? или это сводный набор копипастов?
"краткое содержание предыдущих серий"
цель и идея автора осталась где-то далеко

Гость: 70704
04.11.2009 00:28:29
У неё фамилия Rutkowska, т.е. Рутковска, а не как в статье.

   
Гость: Igor
04.11.2009 02:57:07
Рутковска -> Рутковски
Oн транссексуал

   
Гость: 75949
04.11.2009 00:30:48
> И самое главное, подобные трудозатраты недоступны тем,
> кто занимается самоутверждением, а так же тем, кто хочет
> подработать денег на собственном ботнете
Что за чушь? Если автор статьи не осилил сам как это сделать, не стоит делать выводы об интеллектуальных способностей других.
А bluepill code, между прочим, сильно overengineered. Можно гораздо проще. Читайте, господа-товарищи, мануалы к вашим процессорам!

   
04.11.2009 01:04:35
А дальше, судя по содержанию статьи, ничего! smile:D

Гость: Половцев.
04.11.2009 04:02:17
В старых мануалах я читал о вирусе ЗАРАЗА, который эксплуатировал уязвимость ДОСа - при загрузчик передавал управление файлу с именем io.sys не обращая внимания на его атрибуты.

Вирус записывал код запуска своего тела в файл io.sys и присваивал ему атрибут "метка тома", делавший этот файл невидимым для штатных средств операционной системы и антивирусов, лечился только правкой содержимого диска DiskEditorom.

Дилехтика же.

Гость: Дилехтант
04.11.2009 20:52:34
Шkoлoтa, метка тома у файлов в FAT - это фантастика.

   
Гость: 36749
10.11.2009 19:25:52
> Шkoлoтa, метка тома у файлов в FAT - это фантастика
Попроси у человека извинение за оскорбление.
Метка тома в FAT - элемент root dir с аттрибутом "volume label". 4-й бит по счету.

   
Гость: Евгений Ваганович
04.11.2009 07:53:13
1. очень удивлюсь, если эту статью писал не школьнег
2. стиль изложения очень радует - зря аффтар уроки литературы прогуливал
3. уровень статьи очень поверхностный, многие факты изложены некорректно/неправильно
Но, как сказал бы Фетиш-Мастер, уровень статьи для секлаба пойдет

По теме: статья интересная, хотя и не большая.

P.S.: В комментариях как всегда "срут" грамотеи, которые нагадят, а лучше не сделают. Лишить вас всех любой техники и выдать молоток с зубилом на все про все, может научитесь ценить чужой труд и различать познание с умением.


Гость: Евгений Ваганович
04.11.2009 14:27:01
Цитата
По теме: статья интересная, хотя и не большая

особенно интересно это:
Цитата
Обычно там находится ПЗУ (постоянное запоминающее устройство. ("Привыкайте к сокращениям" (с) Трансформеры)) или проще говоря BIOS (Basic Input Output System или базовая система ввода вывода).

- детский сад, чесслово...

Вот и напишите свою статью или воспитывайте тех, кто работы допускает на сайт, а автора после публикации "пинать" могут, только те ... читайте мой комментарий выше.

   
Гость: Евгений Ваганович
05.11.2009 05:28:23
Цитата
Вот и напишите свою статью

если у меня нет таланта писать статьи, то я это и не делаю - и не выставляю себя на посмешище.

Цитата
воспитывайте тех, кто работы допускает на сайт

а допускают то такие же школьники - или неужели для управления cms нужен грамотный спец, которому нужно платить хорошие деньги? для того цмс и придумали, чтобы любая домохозяйка могла управлять сайтом

Цитата
а автора после публикации "пинать" могут, только те

еще раз повторю - если нет таланта в написании статей и нет технической подкованности в рассматриваемом вопросе - то нечего постить статьи такому человеку

Гость: editor7
04.11.2009 20:06:20
я прибалдел от этой статьи. Реально
Что-то не в порядке с нашим интеллектом. Нашим - компьютерщиков
боже, какой регресс.
что это за сенсация на ровном месте??????
во времена 8086 было полно бутовых вирусов. Именно так они называются, а вовсе не киты.
Написать бутовый вирус, который использует защищёные режимы - это всего лишь дело грамотного использования возможностей машины. Да, документация и сама архитектура сложны и нелогичны, но это дело техники.
Как извести такой вирус? да пожалуйста! Загрузиться с другого носителя и перезаписать мастер-бут и буты. Даже не обязательно этот вирус "ловить".
и только-то
или уже разучились грузиться с дисков??????

   
Гость: 50155
05.11.2009 22:47:46
Ау! А как насчет техники внедрения и запуска вируса ДО процесса загрузки? Ну загрузиться ваша дискетка в эдакой импровизированной виртуальной машине, которую и обнаружить толком-то невозможно... дальше что?
Времера 8086 давно прошли. Не все старые методы работают.
Читайте мануалы к новым CPU и архитектурам и прозревайте smile;)

   
Гость: ONE HALF
05.11.2009 22:55:29
Интересно, что во времена, когда было полно бутовых вирусов был и ONE HALF, который шифровал содержимое диска... Соотв. необходимо было ловить и дешифровывать содержимое обязательно, если оно было необходимо конечно.

   
Гость: editor7
04.11.2009 20:09:23
а, да, я и забыл, перезаписывать же буты нынешним "хакерам" нечем...
да мож, они и не знают, какие есть типовые буты и мастер-буты
КУДЫ МЫ КАТИМСЯ????

Страницы: 1  2