РЕКЛАМА
ПОИСК И ЦЕНЫ
Поиск по сайту THG.ru


Поиск по ценам в Price.ru




ИНФОРМАЦИЯ
Rambler's Top100 Рейтинг@Mail.ru
bigmir)net TOP 100

СЕТИ

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

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


Редакция THG,  10 августа 2009


Введение

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

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

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

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

Джоанна. Я - исследователь, который фокусируется на проблемах безопасности системного уровня, например, в ядре, гипервизоре, чипсете и т.д. Именно исследователь, а не охотник за уязвимостями или тестер. Меня больше интересуют фундаментальные проблемы, а не какие-то конкретные "дыры" в каких-либо программах пользователей. Например, может ли ОС/платформа обеспечить какую-либо защиту пользователя, несмотря на то, что приложения, например, Adobe Reader или IE могут быть потенциально скомпрометированы? Я верю в "безопасность путём изоляции".

Что касается бизнеса, то я - основатель и директор Invisible Things Lab (ITL), небольшой компании, занимающейся исследованиями и консультациями в области безопасности. Я очень горжусь командной, которую я смогла создать в ITL, в которую входят Александр Терешкин (Alexander Tereshkin) и Рафль Войтсзак (Rafal Wojtczuk), два наиболее опытных исследователя в сфере безопасности системного уровня.

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

THG. Да, хорошо быть начальником. Как ты начала карьеру в области исследования безопасности?

Джоанна. Это было так давно, что я уже и не помню. ;)

THG. Ладно, спрошу чего полегче. Какой был твой первый компьютер и первое впечатление от компьютеров? Мой был TI-99/4A, я играл в Parsec и Alpiner. Я ещё помню, как набрал “OLD DSK1” когда мне было три года.

Джоанна. Это был PC/AT 286, работающий с невероятной частотой 16 МГц, если я правильно помню, оснащённый 2 Мбайт памяти (если я не ошибаюсь, для этого пришлось сапгрейдить материнскую плату). Мне было 11 лет, когда я начала развлекаться с компьютером. Почти сразу же я познакомилась с GW-BASIC, а затем через год или около того я переключилась на Borland Turbo Basic - это был просто убойный язык с замечательным графическим интерфейсом и возможностью "собирать" исполняемые файлы!

THG. На что похожа неделя в вашем офисе?

Джоанна. Мы гордимся тем, что мы - современная компания. У нас нет физического офиса вообще. Все работают на дому, а информацией мы обмениваемся через почту с шифрованием. У нас нет такого, чтобы работник высиживал в офисе с девяти до пяти. Работа, которой мы занимаемся, требует креативности, и было бы глупо заставлять людей высиживать чёткий график.

Лично для меня очень важно подремать после обеда. Я вообще не могу долго работать, если нормально не выспалась. Честно говоря, я даже день в офисе никогда не выдерживала.

THG. (посмеявшись) На кого похож обычный клиент ITL?

Джоанна. Мы позиционируем наши услуги в основном на вендоров системного уровня.

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

Джоанна. Я бы хотела подчеркнуть слово вендоры, поскольку мы заинтересованы в том, чтобы у нас была возможность влиять на технологии. По моему мнению, единственный смысл выполнения активных исследований безопасности заключается в том, чтобы выдавать конструктивную критику и менять или улучшать технологии, которые у нас сегодня есть. Таким образом, в идеальном случае мы работаем как с аппаратными (CPU/чипсет), так и с программными (BIOS/OS) вендорами, поскольку некоторые новые и интересные аппаратные технологии можно использовать только в паре с правильно разработанным системным ПО.

THG. Какая конфигурация у твоего основного компьютера?

Джоанна. Мой основной настольный компьютер - это восьмиядерный Mac Pro (2 x 2,8 ГГц Intel Xeon) с 16 Гбайт памяти и роскошным 30" монитором Apple. Это самый красивый настольный компьютер, который у меня когда-либо был - как по внешнему виду, так и по графическому интерфейсу.

Я также пользуюсь довольно старым чёрным MacBook (Santa Rosa, Core 2 Duo 2,2 ГГц, 4 Гбайт памяти) в качестве универсального ноутбука. Я отложила покупку нового стильного MacBook Pro с цельным корпусом, поскольку до недавнего времени у него не было поддержки более 4 Гбайт памяти (по крайней мере, это касается 15" моделей, которые я предпочитаю), а мне это важно.

Впрочем, я вижу слабые стороны аппаратного обеспечения Mac: они касаются отсутствия TPM, TXT, VT-d и системы OS X. Я пытаюсь обойти некоторые ограничения ОС с помощью виртуализации.

Я также использую несколько обычных ПК, причём это и ноутбуки, и настольные машины. Иногда я поражаюсь, насколько неказистыми кажется большая часть обычных ноутбуков по сравнению с продуктами Apple. Одним исключением можно назвать Voodoo Envy 133 - мне просто нужен был новый чипсет, поэтому я нашла рациональное оправдание для покупки. ;)

THG. Я работал уже с двумя поколениями 13" MacBooks с цельным корпусом. Чипсет 9400M очень хорош, а литиево-полимерная батарея в новой модель приятно впечатляет. Полёт через Штаты с использованием WiFi в самолёте на одном заряде кажется чудом.

Джоанна. Наш разговор превращается в рекламу Apple, если я правильно догадалась? Может быть, кто-то из компании прочитает интервью и вышлет мне новый 15" MacBook Pro?

THG. Последний вводный вопрос: какое твоё любимое хобби, не связанное с техникой?

Джоанна. Нетехнологическое хобби? Ты подразумеваешь программирование автономного шестипалого робота с мозгом на основе двух 8-битных микроконтроллеров? Подойдёт?

Поговорим о "вредоносах"

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

Джоанна. Я протестую против того, чтобы называть файловые инфекции "простыми". Некоторые из них, на самом деле, являлись очень сложными тварями, например, на основе движка Mistfall от Z0mbie.

THG. Ну я подразумевал времена до Dark Avenger/MtE. Что-то наподобие эпохи Friday the 13th/Jerusalem. Если посмотреть на картину в целом, то загрузочные вирусы стали следующим поколением "зловредов", а уже потом настала эпоха MtE. В те времена защита на основе сигнатур ещё не считалась чем-то ограниченным. Следующая смена поколений, как мне кажется, настала с макро-вирусами. Не только из-за того, что они затрагивали кросс-платформенную защиту, но из-за новизны макро-вирусов самих по себе. При этом макро-вирусы заставили нас задуматься о роли социальной инженерии в распространении "зловредов", а также о "песочницах". Социальная инженерия стала играть важную роль, поскольку компьютеры стали массовыми, а обмен документами был распространён намного чаще, чем обмен программами. Но что более важно, раньше был популярен постулат, что файлы с данными не могут инфицировать систему - и появилось доказательство, что могут. Я помню, как многие специалисты утверждали: "если вы не будете открывать вложения в письмах электронной почты, то вы будете защищены" или "если у вас установлены все обновления безопасности, то вы будете защищены". Или "если вы пользуетесь Mac, то вы защищены". Моя любимая цитата? “Don't be trapped by dogma - which is living with the results of other people's thinking/Не попадайте в ловушку догмы, которая говорит жить мыслями других людей”, которая принадлежит Стиву Джобсу (Steve Jobs).

Я не уверен, где располагаются "водоразделы" поколений. Возможность интеграции кода ZMist можно считать сменой поколений, но что брать за отправную точку?

Впрочем, вернёмся к нашему рассказу. Когда вы запускаете инфицированный файл, то вирус загружается и остаётся в памяти, после чего он копирует себя в программу, которую вы будете запускать следующей. Если вы никогда не запускали инфицированный файл, то ваша система никогда не заразится. Загрузочные вирусы смогли обойти это правило. Когда вы включаете ПК, то BIOS считывает содержимое загрузочного сектора, чтобы загрузить операционную систему. Если вирус скроется в этой области, то он сможет загрузиться до оставшейся части операционной системы, после чего он может спокойно работать с любыми данными. Это была одна из первых попыток "зловредов" незаметно скрыться в системе.

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

THG. Конечно, но если у вас работал резидентный антивирусный сканер, то он бы смог определить попытку запуска вируса после полной загрузки ОС. Вирус же в загрузочном секторе позволял вирусописателю получить "ранний" контроль над ОС. Верно?

Джоанна. Да, конечно.

THG. Продолжаем. Если Windows ME и другие операционные системы, представляющие собой надстройку над DOS, опирались на возможности BIOS при доступе к диску, то Windows NT - уже нет.

Джоанна. DOS не следует путать с Windows 95/98/ME. Более поздние операционные системы действительно использовали защищённый режим, то есть реализовали идею защиты памяти ядра. Я также вполне уверена, что системы на основе Windows 95 не пользовались прерываниями BIOS, а опирались на драйверы, которые выполняли операции PIO/MMIO с накопителями (как это делают современные ОС).

THG. Я правильно понимаю, что хотя загрузочный вирус по-прежнему может навредить (например, отформатировать диск до загрузки Windows), то после загрузки Windows NT ОС использует свои собственные драйверы в защищённом режиме, которые обходят BIOS? Таким образом, даже если BIOS атакован загрузочным вирусом, драйверы защищённого режима имеют более высокий приоритет и обходят BIOS?

Джоанна. Не совсем. Как уже демонстрировалось несколько раз (например, Eeye BootRoot), существует возможность, что "зловред", стартовавший с загрузочного сектора, выживает переключение в защищённый режим (то есть старт Windows NT/2000/2003) и может атаковать свежезапущенную Windows.

THG. Знаешь, я, пожалуй, внесу правки в эту часть интервью, чтобы читателям не показалось, что я не знаю, о чём говорю.

Джоанна. Обещаю не проговориться.

THG. Впрочем, я ничего тереть не буду. Такие интервью по-своему полезны. Девяносто девять процентов контента мы делаем в редакции, но такие интервью позволяют обогатить наши знания благодаря экспертам, которые у нас не работают.

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

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

THG. С помощью RedPill ты показала, что можно определить, когда приложение запущено внутри "Матрицы"? Ты просто подсмотрела IDTR через инструкцию SIDT?

Джоанна. Есть разница между определением виртуализации и определением специфического гипервизора, такого как BluePill, о чём мы уже говорили ранее. Следует помнить, что RedPill был нацелен на определение программной виртуализации, которую использовали продукты VMWare ещё до того, как Intel и AMD представили VT-x/AMD-v (до 2006 года). Мой оригинальный детектор RedPill, который был опубликован в 2004 году, не способен определять аппаратную виртуализацию.

Другие представили детекторы, способные (или не способные) определять аппаратную виртуализацию - это случилось в 2006 и 2007 годах, после моей оригинальной презентации BluePill на Black Hat (летом 2006 года).

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

Джоанна. Дело в том, что несмотря на то, что почти все компьютеры, которые мы покупаем сегодня, оснащены поддержкой VT-x, некоторые продукты виртуализации по-прежнему используют программный подход. Мне кажется, что VMWare Workstation всё ещё использует программную виртуализацию при запуске 32-битных гостевых ОС. Новые детекторы виртуализации (следующее поколение RedPill, если вам нравится) способны определять виртуализацию VT-x/AMD-v, при этом они замеряют время выполнения команд или кэширование.

THG. Если вы на светлой стороне Силы, то вас должны беспокоить "зловреды", работающие в кольце 1. Идентификация наличия виртуальной машины тоже полезна. Если вы не планировали запускать виртуальную машину, но она запущена, можно паниковать?

Джоанна. Конечно, но не забывайте, что мир движется в сторону виртуализации, которая используется даже на настольных системах - это Xen Client Initiative (также известная как Project Independence) или Phoenix HyperCore.

THG. Хорошо. Если бы ты была злодеем, запустившим виртуальную машину, то не могла бы ты подменить результаты детектора, чтобы скрытый "зловред" оказался скрытым? Например, если приложение запрашивает IDT и следующая строчка в коде гласит "начинается ли результат с 0xc0 или 0x80", то нельзя ли его подменить? Как защититься от подобных атак?

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

Если посмотреть с перспективы "хороших" пользователей, то такие атаки предотвратить нельзя, если привилегий меньше, чем у оппонента (или они равны). Именно поэтому антивирусные продукты проигрывают битву с руткитами уровня ядра, которые часто могут отключить агент режима ядра известных антивирусов, поскольку они хорошо известны, и против них можно применить специфическую атаку. Затем выходит новая версия антивируса, "вредонос" тоже должен обновиться, и так далее. Гонка вооружений продолжается, злодеи зарабатывают деньги и радуются жизни, производители антивирусов тоже зарабатывают деньги и радуются жизни, хотя и не достигают заявленной цели, а именно защиты пользователя.

THG. Поставщики оружия хорошо зарабатывают на любой войне, поставляя его обеим сторонам. Некоторые современные незаметные "вредоносы" разработаны так, чтобы выключать свои наиболее опасные действия, если код выполняется внутри виртуальной машины. Злодеи поступают так намеренно, чтобы исследователям компьютерной безопасности было сложнее определять истинные возможности и угрозы "вредоноса". Поэтому если "вредонос" ищет IDT в "верхней" памяти, почему бы домашним пользователям не работать под операционными системами, которые располагают IDT в "верхней" памяти? Домашние пользователи вряд ли будут работать с виртуальными машинами, и автор "вредоноса" не сможет узнать путём просмотра IDT в "верхней" памяти, заразил ли он беспечного домашнего пользователя или "вредонос" работает под виртуальной машиной опытного борца с вирусами, который расставил ловушку?

Джоанна. Авторы "вредоносов" тогда бы быстро поняли, что больше не имеет смысла обходить виртуальные системы, и мы вернулись бы к тому же, что имеем сегодня.

THG. Но ты находишься на один шаг впереди, поскольку "зловред" уже не сможет спрятать себя внутри виртуальной машины. Поэтому если исследователю безопасности требуется x дней на разработку противодействия нейтрализации "зловреда" в условиях виртуальной машины, а на анализ образца и противодействие ему требуется y дней, то не сократим ли мы время работы "зловреда" в реальных условиях на x дней?

Джоанна. Как я уже говорила, это совершенно наивно. В долгосрочной перспективе это не даст защиты.

THG. Хорошо, ваша команда не остановилась на кольце -1. Что происходит на кольце -2?

Джоанна. Да, "вредоносы" кольца -1 остались в 2006 году! Каждый процессор x86 поддерживает так называемый System Management Mode (SMM), который сам по себе не новый, поскольку присутствует со времён 80386. Чем же он интересен? Когда процессоры обзавелись виртуализацией, то режим SMM получил больше привилегий, чем новый объявленный режим гипервизора кольца -1. Поэтому мы назвали его "кольцо -2", чтобы подчеркнуть его привилегии по сравнению с режимом гипервизора.

Впрочем, наша команда была не первой, кто стал играть с SMM. В 2006 году Лойк Дафлот (Loic Duflot) представил очень любопытную атаку против механизма уровней безопасности OpenBSD, которая использовала режим SMM. Но Лойк применил SMM в качестве инструмента атаки, а не цели. Тогда, в 2006 году, на многих системах SMM был вообще не защищён - если у кого-то был доступ на уровне ядра (или root), то можно было вставлять любой код в SMM и выполнять его с привилегиями SMM. Конечно, для этого всё равно требовалось получить доступ на уровне ядра.

Но затем производители систем начали защищать режим SMM. Для хранения исполняемого в SMM кода была выделена специальная область памяти, названная SMRAM, которая получила особую защиту со стороны чипсета (Memory Controller Hub, если быть точным). На большинстве современных систем уже весьма нетривиально выполнить код с привилегиями SMM. Для этого нужно найти "дыру" в чипсете или BIOS (даже если у нас есть доступ на уровне ядра). На самом деле, на прошлогодней конференции Black Hat в Лас-Вегасе Шерри Спаркс (Sherri Sparks) и Шон Эмблтон (Shawn Embleton) сделали презентацию о руткитах SMM, но при этом ясно дали понять, что их руткиты можно загрузить только на старых системах (до 2006 года). Что интересно, как раз на следующий день мы показали серию презентаций о компрометации Xen, а также обсудили "дыру" в BIOS Intel, которая позволяла выполнять произвольный код в режиме SMM. Я уверена, что это была первая публично обсуждаемая "дыра", которая позволяла обойти защиту SMM. Затем мы обнаружили ещё два способа пробиться в режим SMM на различных системах. Другая атака, которую мы обнаружили в конце 2008 года, срабатывала на большом количестве систем Intel (и потенциально на машинах со старыми BIOS), мы как раз использовали её для обхода Intel TXT во время нашей презентации на Black Hat DC в феврале 2009 года.

Эта ошибка пока ещё закрывается Intel, но мы планируем представить все детали на конференции Black Hat USA в августе 2009 года. Другая "дыра", обнаруженная нами в начале этого года, касается семантики кэша процессоров Intel. Ту же самую ошибку обнаружил независимо от нас и Лойк Дафлот, и мы согласились опубликовать документацию в тот же день, когда Лойк показывал презентацию на конференции.

Подводя итог, можно сказать что руткиты SMM (или руткиты кольца -2) требуют доступа к сильно защищённой памяти SMM, и на большинстве современных систем атакующему придётся использовать "дыры" (найти их весьма нетривиально), чтобы это сделать.

THG. Атаки SMM ограничены каким-либо "железом"?

Джоанна. Обычно они ограничиваются версией BIOS (или линейкой продуктов BIOS) и семейством чипсетов, например, линейкой 3- или 4- чипсетов Intel.

Могут ли "вредоносы" прошивать BIOS?

THG. Может ли какой-либо современный "зловред" прошить BIOS?

Джоанна. Нет! За последние месяцы в этом вопросе возникло немало путаницы. Некоторые пользователи считают, что атаки SMM автоматически позволяют прошивать BIOS. Это не так. Кроме того, на конференции CanSecWest чуть раньше в этом году была показана несколько неудачная презентация двух исследователей из Core, демонстрировавшая "Persistent BIOS Infection/Хроническую инфекцию BIOS". Я видела слайды, они представили всё так, как будто обнаружили универсальный способ прошить любой BIOS, причём защититься от подобных атак нет возможности. На самом деле, всё это оказалось очень далеко от правды.

Начнём с того, что они атаковали старые и несложные BIOS: Award BIOS и VMWare BIOS (это само по себе значит не очень много, поскольку это не настоящий BIOS). Два этих BIOS не требовали, чтобы обновления прошивки имели цифровую подпись производителей. Поэтому нет ничего особо страшного в том, что появилась возможность добавления в них какого-либо вредоносного кода. С другой стороны, большинство современных BIOS (Intel или Phoenix BIOS) позволяют прошивать только обновления, подписанные производителем. Этот механизм используется уже многие годы, при этом он не имеет ничего общего с TPM или технологиями Trusted Computing.

Ситуация для нас не совсем удобная, поскольку в августе на Black Hat Рафаль и Алекс будут показывать реальные атаки на прошивание BIOS, которые обходят защиту прошивания Intel BIOS. Рафаль и Алекс покажут, как можно прошить защищённый BIOS Intel, хотя обычно поддерживаются только подписанные обновления. Презентация будет очень интересной, а эксплойт можно назвать вообще произведением искусства. Но я сомневаюсь, что "вредоносы" будут выполнять похожие атаки - они слишком сложные и слишком привязаны к определённому BIOS. Но с исследовательской точки зрения эта атака очень ценная, с намного большими потенциальными последствиями, чем "хроническая инфекция BIOS". Но подробнее об этом я расскажу в августе.

THG. Жду с нетерпением! Как насчёт атак кольца -3?

Джоанна. Им будет посвящён второй доклад Алекса и Рафаля на конференции Black Hat в августе. Атаки кольца -3 вообще совершенно новые, опять же очень интересные, а потенциал возможностей куда шире, чем у руткитов SMM. Как можно дать больше привилегий, чем SMM, где есть уже все привилегии? К сожалению, я не могу сказать больше. Просто скажу, что мы уже некоторое время тесно работаем с Intel по поводу обеих найденных уязвимостей, и Intel представит исправления за несколько недель до конференции.

THG. Что ты можешь рассказать о HyperCore?

Джоанна. HyperCore - это "тонкий" гипервизор для ноутбуков, разработанный Phoenix Technologies. Нас наняла Phoenix, чтобы мы исследовали различные технологии, которые можно потенциально использовать для защиты гипервизора. Как часто бывает в индустрии, я не могу публично рассказывать об этом исследовании, а также о том, какая его часть будет использоваться в готовом продукте.

Быть ближе к пользователю?

THG. Судя по большей части исследований, вы всё ближе и ближе подбираетесь к CPU. Но как насчёт другого подхода, а именно быть ближе к пользователю? Если вы можете захватить память GPU, то можно ли "подложить" пользователю диалог запроса пароля, который позволит получить пароль администратора? Или как насчёт захвата USB-контроллера и записи вводимой информации?

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

THG. Я фанат 3D-графики, GPGPU, и среди моих хобби фотография и кино. Конечно, я думаю, что GPU ближе к пользователю, чем CPU! В конце концов, всё зависит от восприятия. То, что вы не видите, повредить не может. Сколько раз вы находили испорченные продукты, упрятанные в закрома холодильника? Пока вы не нашли их по запаху или по внешнему виду, вы даже не задумывались об их существовании.

Джоанна. Насчёт предположений о захвате памяти GPU - я не думаю, что это будет очень практичная атака для "вредоноса". Даже традиционные пароли выводятся в виде звёздочек, поэтому у GPU возникнут проблемы с тем, чтобы увидеть пароль под звёздочками.

THG. Если только вы не пользуетесь iPhone, где пароли ничем не закрываются. Прости, что перебил.

Джоанна. Взлом контроллеров клавиатуры и USB - стратегия чуть получше, но это сработает только для самых простых сценариев, подобно web-сайту банка, где не используются маркеры или пароли OTP - ничего интересного в этом нет. Намного более эффективная атака, если смотреть с точки зрения "вредоноса", будет просто на браузер. Очевидным недостатком будет то, что антивирусные агенты в режиме ядра смогут обнаружить подобный взлом браузера (в теории, конечно, на практике они часто ничего не находят).

Есть и ещё одна проблема, связанная с таким подходом. Как быть, если пользователь более осторожен и использует разные браузеры для повседневной работы (возможно, он даже хранит его внутри виртуальной машины) и для банковских операций? В таком случае будет нелегко проникнуть внутрь "банковского" браузера, придётся прибегать к каким-либо другим атакам.

Кроме того, есть ещё одна причина, почему мы фокусируемся на глубоких аппаратных атаках. Мы считаем, что безопасные системы должны строиться на прочном основании, иначе в них нет никакого смысла. Это особенно важно, если вы поддерживаете принцип "безопасность путём изоляции" как и я (подробнее см. пост Джоанны в её блоге).

Безопасность путём изоляции

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

Джоанна. Конечно, но мы должны разрабатывать наши системы с предположением, что любая программа потенциально содержит "дыры", и ОС должна защитить другие приложения от неправильно работающей или заражённой программы.

THG. Как насчёт практических советов? Хотя большая часть ваших исследований находится на передовой компьютерной безопасности, подавляющее большинство "зловредов", обитающих в диких условиях, не работают на передовых уровнях. Как наши читатели смогут защитить свои системы?

Джоанна. Это очень общий вопрос, на который сложно дать какой-либо определённый ответ, который бы всем подошёл.

THG. А что ты делаешь для своих рабочих систем?

Джоанна. Сначала, как я уже говорила, я прониклась подходом "безопасность путём изоляции". Но проблема заключается в том, что все популярные ОС, такие как Vista, Mac OS X или даже Linux, не обеспечивают должную степень изоляции своих приложений. Это результат, главным образом, больших монолитных ядер в этих ОС, которые состоят из сотен драйверов третьих сторон, работающих с такими же привилегиями, что и ядро. В результате "вредоносу" будет довольно легко проникнуть в ядро, то есть обойти любые механизмы безопасности ОС.

Я пытаюсь обойти эту слабую изоляцию приложений с помощью виртуализации. Я использую разные виртуальные машины для работы разных типов браузеров, которые я использую для разных типов активности. Так, я запускаю "красную" виртуальную машину для повседневной работы в браузере, которая не является для меня критически важной: чтение новостей, поиск информации в Google и т.д. Я использую "жёлтую" машину для более важных задач, таких как покупки в онлайн-магазинах, обновление моего блога на Blogger и т.д. Наконец, "зелёная" виртуальная машина обеспечивает доступ к моему банковскому счёту.

Меня мало обеспокоит, если кто-то взломает мою "красную" машину - на самом деле я возвращаю её к известному "здоровому" состоянию через образ каждую неделю или около того. Насчёт взлома "жёлтой" машины я беспокоюсь намного сильнее. Например, я использую опцию NoScript в браузере и разрешаю только скрипты с некоторых сайтов, которые я посещаю (онлайновые магазины, блог и т.д.). Конечно, кто-то может сделать атаку перехвата "человек посередине" (man-in-the-middle, MITM) на соединение HTTP с открытой передачей текста, которое находится в "белом списке" NoScript и внести вредоносный код, но, опять же, "жёлтая" машина для меня некритически важная, и если кто-то украдёт из неё информацию, катастрофы не произойдёт. Но вот "зелёная" машина может работать только с соединениями HTTPS к сайту моего банка. Довольно важно убедиться, чтобы использовались только соединения HTTPS, которые позволяют избежать атаки "человек посередине", например, при использовании WiFi в отелях.

Я использую эту конфигурацию довольно давно, и меня она полностью устраивает. Моя подруга, которая вообще далека от мира техники, тоже использует схожую конфигурацию на своём Mac, и ей она очень нравится. Поэтому я не думаю, что подобная конфигурация слишком перегружена, как может показаться изначально.

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

Впрочем, нельзя сказать, что моя конфигурация идеальна. Чтобы запускать все мои виртуальные машины я используют гипервизор второго типа (VMWare Fusion) - довольно "громоздкое" приложение для моей host-системы. С теоретической точки зрения вряд ли можно обосновать, что будет сложнее найти "дыру" в гипервизоре типа II, чем "дыру" в ядре самой ОС. И то и другое - большие и громоздкие программные оболочки, внутри которых присутствует большое количество драйверов. Но, как показывает практика, поиск уязвимостей в гипервизоре более сложен. Атакующий сначала должен найти способ выполнения кода в ядре гостевой операционной системы. Помните, что атака начинается с возможности выполнения кода только в браузере, затем атакующему нужно найти способ добраться до VMM (гипервизор). Ему нужно выйти за пределы виртуальной машины и сделать какие-то разумные действия в ядре host-системы, которое может совершенно отличаться от ядра гостевой ОС (я использую Windows на гостевых системах и Mac OS X на host-системе).

THG. Работаешь с Google Chrome?

Джоанна. Да, я использую этот браузер для своей "красной" машины. Основная причина выбора - мне понравился его графический интерфейс, он работает быстро и поддерживает все эти скрипты, Flash и Бог знает что там ещё - всё, что нужно для просмотра типичных новостных сайтов сегодня.

Впрочем, данное решение лучше воспринимать как временное. Правильное решение - это установка гипервизора типа I (боле простого), похожего на Xen, который безопасно загружается в момент старта системы (например, через технологию Intel TXT), а затем этот "тонкий" гипервизор будет управлять всеми виртуальными машинами. Конечно, чтобы гипервизор был "тонким", нам нужно избавиться от драйверов и эмуляции ввода/вывода. Для этого нам нужны технологии Intel VT-d (не путайте с VT-x) или AMD IOMMU. Что касается ноутбуков Intel, то это более или менее соответствует моделям на Centrino 2. Как раз Phoenix HyperCore и Xen Project Independence являются попытками пойти в этом направлении. Но сегодня "толстые" гипервизоры типа II от VMWare или Parallels остаются единственным возможным вариантом.

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

Джоанна. Именно хороший дизайн ОС (или гипервизора и ОС) способен защитить от "вредоносов", а не какие-либо хитроумные добавления третьих сторон, наложенные сверху на что-то, что по своему дизайну не защищено.

THG. Видишь? Подход "безопасность через дизайн" всё же важен!

Джоанна. Да, но я подразумеваю дизайн нескольких ключевых элементов системы (ядро/гипервизор), а не всего программного обеспечения.

THG. Есть ли способы "проголосовать рублём" за то, чтобы компании использовали упреждающий подход к безопасности?

Джоанна. К сожалению, я не вижу простого способа это сделать. На рынке просто нет хороших продуктов, если рассматривать операционные системы для настольных ПК. Будь то Mac, Windows или даже Linux, все эти системы используют большие монолитные ядра, которые содержат драйверы, разработанные третьими сторонами. Это создаёт серьёзный вектор атаки против любых механизмов изоляции, обеспечиваемых ОС, таких как разделение процессов, разделение учётных записей пользователей или защита ядра.

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

Джоанна. Действительно это так. С одной стороны, довольно многие пользователи не видят никаких проблем, доверяя web-сервисам свою личную информацию, начиная от календаря (Google Calendar) и заканчивая документами (Google Docs) и даже записями о здоровье (Google Health). Даже если предположить, что Google (или другой аналогичный провайдер web-сервисов) обеспечивает идеальную безопасность (что на самом деле не так), доверяем ли мы ИТ-персоналу, который там работает? Но на самом деле большая часть информации хранится по-прежнему на персональных компьютерах, а не в облаке (слава Богу). Кроме того, даже если мы будем хранить всю информацию в облаке, тогда вредоносные программы, атаковавшие ваш персональный компьютер, могут получить доступ и к информации из облака. Поэтому действительно защита персональных настольных компьютеров является самым важным аспектом компьютерной безопасности, и возможны гораздо худшие последствия, чем украденный номер кредитной карты.

THG. Многие наверняка поспорят, что там, где критически важна многослойная безопасность, всегда нужно начинать с подхода "безопасность через дизайн". Код нужно проверять и аккуратно писать с самого первого дня. Это даст наибольшие шансы на успех, чем исправление уже рабочей системы "на лету" или повторное использование старого кода, который был написан в эпоху "до безопасности". Добавление всех других элементов, таких как рандомизация и изоляция, даёт дополнительные слои. Всё ли сказанное верно?

Джоанна. Я скептически отношусь к подходу "безопасно, поскольку правильно написано". Я не думаю, что наши приложения и драйверы, да и большинство программного обеспечения в целом, будет в ближайшем будущем свободно от ошибок (да и не в ближайшем будущем тоже). Лучше сфокусироваться на "тонких" ключевых компонентах, которые не будут содержать "дыр", таких как гипервизоры первого уровня, а уже они смогут обеспечить изоляцию между другими компонентами, чтобы ограничить возможный вред, который они смогут нанести (например, один взломанный браузер, который используется для повседневного поиска в Google, не повлияет на другой защищённый браузер, который используется для банковских операций). Что интересно, индустрия безопасности почему-то верит в подход "безопасно, поскольку правильно написано" и в то, что разработчики когда-нибудь перестанут ошибаться. Или, по крайней мере, хочет, чтобы мы в это поверили.

Когда я читаю новости об очередной "дыре" в IE или Adobe Reader, или Flash Player, то я не перестаю пожимать плечами: ну и что? Что это изменит?

THG. Я не скажу ничего нового, но мы должны всё равно пытаться создавать безопасный код, особенно при написании чего-то "с нуля". Впрочем, ладно.

Возьмём в качестве примера взломанный браузер, через который производится поиск в Google на "красной" машине и сравним его с более защищённым браузером на отдельной машине для банковских операций. Какая польза от предотвращения "дыры" в браузере, если какая-либо ошибка позволит мне зайти в свой банковский счёт, но я увижу твою финансовую информацию?

Джоанна. Конечно, но в данном случае мы говорим о безопасности на стороне сервера, хотя мы до сих пор обсуждали безопасность настольных компьютеров - в этих двух областях разные угрозы и разные решения. Скажу честно, я уважаю мастерство людей, которые находят и затем используют различные "дыры" в браузерах. Это всё очень круто и часто очень красиво. Но с перспективы "как сделать компьютер более безопасным" это не так и важно. Мы никогда не исправим все "дыры" в IE или Firefox - эти программы постоянно расширяются, в них добавляются новые функции, поэтому даже если мы проверим полностью весь код IE 7, нам придётся начинать всё сначала с браузером IE8 и так далее. Конечно, для поставщиков программного обеспечения, таких как Microsoft, намного проще идти проторенными дорожками, выпускать "заплатки" к каждой найденной "дыре". Это намного проще, чем взять ОС и полностью изменить дизайн её ядра, а затем заставить разработчиков "железа" переписать свои драйверы.

Я каждый раз удивляюсь, что многие эксперты по компьютерной безопасности уделяют внимание разным хардкорным способам атаки, таким как переполнение на основе кучи (heap), и в то же время они мало знакомы с новыми грядущими технологиями, у которых есть замечательный потенциал изменить весь ландшафт безопасности персональных компьютеров - например, TPM, TXT и VT-x/VT-d. Конечно, круто писать эксплойты для приложений, но участие в этой бесконечной гонке вооружений не поможет лучше защитить наши компьютеры. Вы не сделаете компьютер более защищённым, если будете постоянно искать "дыры" и писать эксплойты!

Гетерогенные окружения

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

Джоанна. Конечно. Как я уже говорила, безопасность программного обеспечения со стороны серверов - это совершенно иное поле битвы, нежели безопасность настольных систем.

THG. Если посмотреть с точки зрения биолога, то мне кажется, что мы, будучи сообществом, должны избегать стандартизации какого-либо единого программного или аппаратного компонента. Когда организация закупает новые компьютеры, то в итоге берутся десятки одинаковых моделей. Если у материнской платы или CPU будет найдена уязвимость, то вся организация подвергается риску атаки. Должны ли крупные организации, смотря в будущее выбирать гетерогенные вычислительные среды? Часть компьютеров на Intel, часть на AMD? Часть на Windows, часть на Mac и часть на Linux?

Джоанна. Что ж, такой подход можно назвать "безопасность из-за неизвестности". Если нас беспокоят DoS-атаки, то подход можно назвать разумным. Однако если мы беспокоимся по поводу кражи информации, а эти атаки уже нацеленные, то подход даст ложное ощущение безопасности - я предполагаю, что в организации всё равно используют популярные ОС, а не сделанный внутри перекомпилированный Linux, правильно?

THG. Всё зависит от организации. В моём примере большая часть инфраструктуры работает на машинах *nix, а большая часть пользовательских ПК - под Windows или Mac. Многие организации, например, используют терминалы на основе Citrix.

Джоанна. Но всё равно в организации есть некоторые популярные дистрибутивы Linux, а не только собственные перекомпилированные ОС. Генеральный директор наверняка использует популярную ОС (Windows или Mac или какой-то вариант Linux, но распространённый дистрибутив). Для атакующего, который хочет добраться до данных, будет совершенно неважно, что работает на других компьютерах.

THG. Это напоминает многоуровневый подход. Можно взять информацию напрямую из облака, если она там хранится. Или можно использовать системы конечных пользователей, если у них есть доступ к облаку. Впрочем, если будет обнаружена "дыра" в Windows, которая позволяет скомпрометировать систему полностью, организация с гетерогенной структурой сможет быстро отключить все машины Windows от сети и нормально работать под машинами Linux/OS X.

Джоанна. Как я уже сказала выше, такой подход хорош для предотвращения DoS-атак, но не атак, призванных утянуть информацию.

Что интересно, вариант "безопасность из-за неизвестности" был широко реализован в последние годы на большинстве массовых ОС. Например, техника рандомизации раскладки памяти (ASLR) впервые была введена на Linux патчем PaX, затем она была добавлена в Vista, а теперь появляется и на Mac OS X. Технология ASLR является ничем другим, как "безопасностью из-за неизвестности".

Другая техника защиты от эксплойтов заключается в защите стека через так называемые "канарейки/canaries" - магические числа, помещённые в стек, чтобы определять переполнение стека. Опять же, это ничто другое, как "безопасность из-за неизвестности". Технология была реализована через Stack Guard в Linux лет десять назад, и сегодня уже несколько лет она присутствует в компиляторе Microsoft Visual Studio.

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

THG. А если вы параноик и начнёте реализовать все эти функции на множестве компьютеров?

Джоанна. И какая польза от этого будет помимо защиты от DoS?

Рекомендации

THG. Предположим, что какой-то интернет-червь стал распространяться среди компьютеров Windows в моей сети из-за какой-либо непредвиденной "дыры" в ОС, гипервизоре или в чём-то другом. Если у меня активно атакуют одну платформу, но я не могу допустить перерыва в сервисах, то перенос инфраструктуры на другую платформу кажется логичным решением. Есть ли что-то лучшее?

Джоанна. Опять же, мы здесь говорим о смягчении DoS-атак (надёжность систем), а не информационной утечке.

THG. Если бы ты стала рекомендовать, то какую систему: Mac, ПК или Linux? Или ты считаешь все эти платформы одинаково (не)безопасными?

Джоанна. Всё зависит от конкретных целей, для которых будет использоваться система. Если бы действительно параноидальный человек или организация попросили бы совета о том, как подготовить систему к каким-то критическим условиям безопасности, то я бы порекомендовала сделать этот экстрим наподобие специально настроенного Xen, который будет использовать такие функции, как VT-d для дезагрегации Dom0, TPM и TXT для защищённой загрузки и высокую степень изоляции через специализированные разделы DomU. В каждом DomU следовало бы запускать версию Linux с усиленной безопасностью.

Для обычной же машины, которой пользуются простые смертные, я бы рекомендовала Windows или Mac. Linux всё же отстаёт от двух этих систем по поддержке устройств и периферии. Как вы сможете синхронизировать iPhone под Linux? Как насчёт настройки новой сетевой карты 3G на ноутбуке с Linux?

Если у вас нет эстетического вкуса, то вполне можно выбрать компьютер на основе Windows с традиционными комплектующими ПК. Другие же слышать ни о чём не могут кроме как о стильном Mac - в конце концов, всё зависит от вкуса и более удобного графического интерфейса на мой взгляд.

Неважно, выберите ли вы ПК или Mac, единственным перспективным решением сегодня является использование того или иного продукта виртуализации, который будет обеспечивать изоляцию между разными приложениями (по крайней мере, между разными браузерами), что мы уже обсуждали выше. Антивирусный продукт, по крайней мере, в той форме, что есть сегодня - это потеря денег и ресурсов на мой взгляд. Да и за последние годы не раз случалось, что компоненты ядра многих антивирусных программ содержали ошибки и добавляли уязвимости в систему, которую они призваны защищать! Я не использую никакого антивируса на своих компьютерах (включая и виртуальные машины). Я не вижу, как антивирусная программа может обеспечить улучшение безопасности по сравнению с весьма разумной конфигурацией, которую мы реализовали с помощью виртуализации.

THG. Последний вопрос. Даже в исследовании, опубликованном ACM в 2009 году, говорится о преобладании мужского пола в компьютерных науках/информатике. Что ты посоветуешь молодым девушкам, если они заинтересовались компьютерами?

Джоанна. Я хотела бы знать ответ на этот вопрос. Во многих исследованиях делается предположение, что девушки (и женщины) хуже разбираются в науке и технологиях, чем мужчины, поскольку практически все (включая женщин) считают, что так оно и должно быть. Так что это связано с патриархальным укладом общества. К счастью, во многих уголках мира патриархальная система уходит в прошлое, так что будем надеяться на будущее.

THG. Что ж, будем надеяться, что это интервью кому-то поможет воплотить свою мечту в жизнь. Джоанна, спасибо за проведённое с нами время!

Джоанна. Всегда пожалуйста! И выражаю благодарность тем читателям, кто осилил всё интервью до конца. :)




Свежие статьи
RSS
Лучший SSD: текущий анализ рынка Предварительный обзор Samsung Galaxy A8s: первый «дырявый» Главные новости за неделю Лучшие смартфоны 2018 года: выбор THG.ru HP Tango X: обзор беспроводного струйного принтера
Лучший SSD Предварительный обзор Samsung Galaxy A8s Главные новости за неделю Лучшие смартфоны 2018 года Обзор HP Tango X
РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

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

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

ССЫЛКИ
Реклама от YouDo
Автомобильные перевозки: сыктывкар грузоперевозки дешево: лучшие цены.