РЕКЛАМА
ИНФОРМАЦИЯ
Rambler's Top100 Рейтинг@Mail.ru

СЕТИ

Интервью с Джоанной Ратковской: виртуализация, руткиты и гипервизоры
Краткое содержание статьи: На днях нам посчастливилось пообщаться с Джоанной Ратковской (Joanna Rutkowska), одним из ведущих специалистов-новаторов в области компьютерной безопасности в мире. Она является основателем и главным исполнительным директором (CEO) Invisible Things Lab (ITL), компании, занимающейся консалтингом и исследованиям в сфере компьютерной безопасности. Джоанна известна своими эксплойтами BluePill и RedPill, также интересными работами и докладами на конференциях. Подробности вы узнаете в нашем интервью.

Интервью с Джоанной Ратковской: виртуализация, руткиты и гипервизоры


Редакция THG,  10 августа 2009
Назад
Вы читаете страницу 2 из 5
1 2 3 4 5
Далее


Переходим к руткитам

THG. Вернёмся в сегодняшний день. Термин "руткит" стал широко распространён - под ним понимают "зловреды", получившие привилегии на административном уровне. Руткит пользовательского уровня влияет на одну программу; представьте атакованный Internet Explorer или копию Flash. Поскольку такой руткит существует в "пользовательском пространстве", то антивирус может найти его и идентифицировать.

Джоанна. Если быть более правильным, то руткиты пользовательского уровня - это "зловреды", работающие в третьем кольце (пользовательский режим, Ring 3). Они не ограничены одним приложениям, и во многих случаях они получают доступ ко всем процессам пользовательского уровня, как популярный Hacker Defender, включая и некоторые процессы системного уровня. Процессы системного уровня обычно похожи на процессы пользовательского уровня, владельцем которых является не пользователь.

Интервью с Джоанной Ратковской

Нажмите на картинку для увеличения.

THG. Руткиты "уровня ядра" получили немало внимания прессы. В данном случае компрометировано само ядро операционной системы. Поскольку с более высоким уровнем доступа нет ничего, то нет возможности найти и идентифицировать вирус "сверху". Например, если система заражена руткитом уровня ядра, то при сканировании антивирусом заражённого файла руткит может "подкладывать" чистый файл, и никто ничего не узнает.

Джоанна. Совершенно верно. Преимущество руткитов уровня ядра над руткитами пользовательского режима начало проявляться, когда различные антивирусные продукты стали опираться на агенты режима ядра, которые выполняли, например, сканирование файловой системы.

Впрочем, работа двух оппонентов (руткит и антивирусная программа) с одним уровнем привилегий (кольцо 0) не означает, что один из них станет победителем в долгосрочной перспективе. На самом деле, говорить "долгосрочная перспектива" несколько провокационно. "Зловред" обычно побеждает на небольшое время, и это само по себе плохо, поскольку для выполнения своей задачи "зловреду" достаточно несколько недель (или даже дней).

THG. Руткиты уровня ядра можно назвать эксплойтами, которые могут оставаться полностью незамеченными, а потенциал их вреда неисчерпаем...

Джоанна. Нет, такого никогда не было. Ещё с первых дней появления руткитов уровня ядра, даже оригинальных на Linux/*BSD ещё в 90-е годы, люди стали создавать различные детекторы уровня ядра, определяющие руткиты известных типов или их действия.

THG. Известный вопрос появления курицы или яйца? Если посмотреть на руткит уровня ядра, то не возвращаемся ли мы обратно в эпоху DOS? Ты написала самый изящный детектор уровня ядра для определения всех других руткитов уровня ядра, но я выпускаю новый изящный руткит уровня ядра, причём моя версия n+1 может определять твой детектор и обманывать его. Это несколько противоречит концепции идеально продуманной операционной системы, где "плохому парню" приходится работать в пользовательском режиме, а система защиты работает на уровне ядра. Защита всегда может применить силу, и единственный способ её обойти - ошибка в коде, которая позволяет пробраться на нулевой уровень.

Джоанна. Да.

THG. Получается, весь смысл последнего разговора сводится к идее, когда нужно быть на один уровень привилегий более защищённым, чем оппонент? То есть чем меньше число, тем больше доступа.

BluePill

THG. Давай поговорим об эксплойтах "кольца -1" и BluePill?

Джоанна. "Кольцо -1" - неофициальное название, которое появилось, когда AMD и Intel представили аппаратную поддержку виртуализации на CPU (AMD-v и VT-x) где-то три года назад. Новые технологии добавили новый режим работы, который называется "root mode" или "host" в зависимости от производителя, чью документацию вы читаете. Неформально режим работы называется "кольцо -1", чтобы подчеркнуть тот факт, что у гипервизора больше привилегий, чем у ядра ОС, обычно работающего в кольце 0.

Я написала BluePill в 2006 году, чтобы продемонстрировать, как эту аппаратную технологию виртуализации могут использовать "зловреды" для создания незаметного гипервизора и перевода "на лету" работающую ОС в виртуальную машину, контролируемую этим незаметным гипервизором.

Представьте, что у нас сканер целостности системы, который способен отслеживать весь код ядра, структуры данных и функциональные указатели, определяя, не были ли они скомпрометированы. Даже подобный идеальный сканер не способен определить "зловреды" наподобие BluePill. Дело в том, что в отличие от предыдущих руткитов режима ядра, BluePill не требуется компрометировать что-либо в коде или данных ядра. "Зловред" располагается выше ядра, ему ничего не нужно в нём менять.

Ещё одной уникальной функцией BluePill, действительно уникальной, можно назвать поддержку гнездовой виртуализации: вы можете загрузить BluePill, а затем уже внутри виртуальной машины, созданной BluePill, стартовать обычный гипервизор, например, Xen или Virtual PC (который сам по себе использует VT-x/AMD-v). Вы даже можете загрузить несколько гипервизоров BluePill, которые будут располагаться внутри друг друга. Честно сказать, я очень горжусь поддержкой гнездовой виртуализации!

Многие пытались доказать, что BluePill можно определить, представляя разные детекторы виртуализации (но не детекторы BluePill). Они просто предполагали, что если мы определяем использование виртуализации, то находимся "под колпаком" BluePill.

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

THG. Давай внесём ясность. Если я вполне нормально работаю внутри виртуальной машины, у меня есть доступ ко всем имеющимся инструментам, то я не смогу определить, скомпрометирован BluePill менеджер виртуальных машин (или гипервизор)? Я, конечно, могу запустить детектор виртуализации, но какой смысл, если я уже нахожусь в виртуальной машине?

Джоанна. Да, определение виртуализации и определение легального гипервизора, который подвергся воздействию "зловреда" BluePill - это точно не одно и то же.

THG. То есть вся суть принципа определения виртуализации заключается в том, что моя рабочая host-система не должна находиться в режиме виртуализации, а если находится, что я атакован?

Джоанна. Теоретически можно попытаться замерить время выполнения некоторых инструкций, чтобы определить существуют ли (и в каком количестве) гнездовые гипервизоры выше легального гипервизора. На конференции Black Hat в прошлом году мы это показывали, когда дискутировали об использовании BluePill с гипервизором Xen. Но это довольно хитроумный подход, который очень чувствителен к реализации легального гипервизора, располагающегося сверху рабочей ОС - мы должны в точности знать его временные характеристики, чтобы "отделить сигнал от шума". Я думаю, что подобный подход к решению проблемы "вредоносов", подобных Bluepill, хорош для академических исследований (сколько графиков!), но он является тупиковым. Честно говоря, я не думаю, что мы увидим "вредоносы" подобные BluePill в реальной среде в ближайшее время, поскольку нынешние старые добрые руткиты уровня ядра работают замечательно. Антивирусная индустрия сдаёт даже перед определением и предотвращением угроз подобного рода. Поэтому для организованной преступности пока мало стимулов переходить на намного более сложные технологии. Конечно, мы, исследователи в сфере безопасности, не должны ждать этого момента. Нам нужно думать над тем, как не допустить, чтобы подобные "вредоносы" вообще появились в реальной среде. Одно из решений - технология Intel TXT (примечание: Trusted Execution, если вам не знакомо сокращение), которую мы, опять же, обошли в феврале 2009 года на конференции Black Hat DC.
Назад
Вы читаете страницу 2 из 5
1 2 3 4 5
Далее


СОДЕРЖАНИЕ

Отзывы об интервью с Джоанной Ратковской в Клубе экспертов THG [ 15 отзывов] Отзывы об интервью с Джоанной Ратковской в Клубе экспертов THG [ 15 отзывов]


РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ССЫЛКИ