На прошлой неделе исследователи
сообщили о создании руткита,
который использует для установки уязвимость в кэше процессоров Intel. Джоанна
Рутковска и Лоик Дафлот утвержают, что такого опасного и неуловимого руткита еще
не было. Он устанавливается и прячется в пространстве
SMM, к которой не имеет
доступ никакая операционная система. Утверждается, что компния Intel знала о
существовании этой проблемы еще с 2005 года, но ничего не сделала для ее
исправления.

Сегодня мы предлагаем тебе перевод документа, в котором описана
использованная уязвимость.

 

Аннотация

В этой статье мы представим результаты нашего исследования безопасности
технологии Intel Trusted Execution Technology (TXT), являющейся составной частью
фирменной технологии Intel под названием vPro. Мы опишем практическую атаку,
позволяющую обойти краеугольный камень концепции доверительных вычислений Intel,
процедуру доверенной загрузки. Кроме этого, мы обсудим практические атаки на
память SMM, являющиеся одним из компонентов взлома TXT.

 

1. Вступление

Технологии Trusted Computing (Доверительных вычислений) становятся частью
нашей жизни, хотим мы этого или нет, поскольку сейчас практически каждый новый
ноутбук оснащается контроллером Trusted Platform Module (TPM). Кроме
того, некоторые из технологий Microsoft Palladium перекочевали в Vista, а
Microsoft BitLocker, вне всякого сомнения, является самым успешным и широко
распространенным продуктом, основанным на идее Trusted Computing.

Со стороны аппаратного обеспечения, помимо знаменитого TPM, мы также получили
технологию LaGrande, позднее переименованную в Trusted Execution Technology
(TXT)
. TXT – это ответ Intel на развитие концепции Trusted Computing. На
данный момент TXT является составной частью фирменной технологии vPro, а
совместимое с нею аппаратное обеспечение уже больше года можно купить в любом
компьютерном магазине (первым таким продуктом стала материнская плата DQ35J,
работавшая с некоторыми процессорами Core 2 Duo).

TXT не является альтернативой TPM, более того, для осуществления своих
базовых функций, таких как безопасное хранение вычисленных параметров, TXT во
многом опирается на TPM. Также и Palladium (или как он там сейчас называется) не
является конкурентом TXT. Intel TXT может предоставить той же Vista Bitlocker
необходимый строительный материал, и вероятно сделать ее более безопасной, чем
сейчас.

Единственной целью технологии Intel TXT является предоставление безопасного
способа загрузки и выполнения системного программного обеспечения, например ядра
операционной системы или Монитора виртуальных машин (Virtualization Machine
Monitor, VMM)
. Достигается это путем проведения и хранения программных
вычислений в определенных регистрах TPM. Самое выдающееся во всем этом – то, что
TXT не делает никаких предположений о состоянии системы перед загрузкой
программного обеспечения, позволяя таким образом пользователю обеспечить
безопасную загрузку операционной системы или VMM даже на потенциально
скомпрометированной машине.

Другими словами, загрузочный сектор жесткого диска может быть полон вирусов,
а BIOS – руткитов, и все равно TXT должен будет позволить безопасно загрузить
чистый VMM (или ядро ОС), обеспечивая им иммунитет от всех вредоносных
приложений, имеющихся в системе. Этот поддерживаемый TXT процесс загрузки
называется Late Launch (поздний запуск), а обрабатывается он через специальную
новую инструкцию ЦП под названием SENTER.

Здесь мы должны обратить внимание на то, что TXT не предназначена для защиты
рабочего цикла программы (например, от переполнения буфера в коде гипервизора).
Она рассчитана только на то, чтобы обеспечить защиту на время загрузки,
обеспечивая, таким образом, нашу уверенность в том, что код, который мы
загружаем, в момент загрузки является тем самым кодом, который мы и намеревались
загрузить.

Также стоит отметить, что у AMD имеется свой собственный вариант Late Launch,
реализуемый через процессорную инструкцию SKINIT. Глубоким изучением технологии
от AMD мы пока не занимались, поэтому от комментариев на ее счет в дальнейшем
предпочтем воздержаться.

Когда начинаешь думать о Late Launch, он представляется просто восхитительной
технологией, обещающей обеспечить все преимущества перезагрузки компьютера без
самой перезагрузки.

Трудно переоценить то влияние, которое технологии, подобные TXT, могли бы
оказать на компьютерную безопасность. Например, очевидной является возможность
использования TXT для того, чтобы избавляться от устойчивых вредоносных программ
системного уровня. То есть при ее помощи легко можно создавать системы (VMM или
даже стандартные ОС), которые были бы неуязвимы к атакам, пытающимся
скомпрометировать двоичный системный код на диске или угрожать машине напрямую,
через BIOS или загрузчик. А если добавить к ней технологии виртуализации в
процессорах (VT-x) и виртуализации ввода-вывода (VT-d), то получится, что в
распоряжении разработчиков систем оказались мощнейшие инструменты для создания
по-настоящему безопасных ОС и VMM…

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

 

2. Атака на Intel TXT

Ключевая особенность TXT, поздний запуск, зачастую описывается как способ
загрузки и выполнения части доверенного кода (обычно VMM) вне зависимости от
состояния системы на момент, предшествующий такой загрузке. Это, однако, не
совсем верно. На самом деле, определяются системные программы, которым следует
доверять по умолчанию. Они работают в режиме системного управления (System
Management Mode, SMM), который мы более подробно обсудим в следующем разделе (на
нашем сайте о таком режиме вы можете прочитать в цикле статей "SMM
и SMRAM или 128 Кб потусторонней памяти: исследовательская работа
").

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

Предполагаемая двухступенчатая атака на поздний запуск в TXT будет выглядеть
так:

  1. Заражение обработчика SMM.
  2. Компрометация только что безопасно загруженного кода (в нашем примере –
    гипервизора Xen) из инфицированного обработчика SMM.

Мы разработали образец кода, демонстрирующий описанную выше схему атаки
против гипервизора Xen, загруженного при помощи Tboot, открытого загрузчика от
Intel, обеспечивающего загрузку Linux и Xen со всеми преимуществами позднего
запуска Intel TXT. Tboot также является частью открытого и широко
распространенного гипервизора Xen

В нормальных условиях Tboot должен удостовериться, что загружается правильный
(не модифицированный) гипервизор Xen и только затем загружать в регистры TPM
корректные параметры. На практике это означает, что только избранные
(доверенные) версии гипервизора Xen получат доступ к определенным секретам,
зашитым в TPM, и/или будут способны пройти аутентификацию для какой-либо машины
(например, ноутбука системного администратора), осуществляемую через специальную
функцию TPM под названием Remote Attestation (удаленное подтверждение).

Нашей атакой мы показываем, что заразив обработчик SMM, мы можем
модифицировать только что загруженный (и только что просчитанный) VMM. Иными
словами, атака позволяет полностью обойти все меры обеспечения безопасности,
предусмотренные TXT для процедуры доверенной загрузки. Это – прямое следствие
того, что код SMM при поздней загрузке остается в неизменном виде – не важно,
был он до этого скомпрометирован или нет.

Детали того, как атаковать обработчик SMM, мы приведем в следующем разделе.

Предлагаемое Intel лекарство от вредоносного обработчика SMM называется STM,
что расшифровывается как SMM Transfer Monitor (монитор передачи SMM).
Цель STM заключается в том, чтобы изолировать существующий обработчик SMM при
помощи технологий виртуализации VT-x и VT-d. Он должен рассматриваться как
гипервизор для VMM, который загружается во время процедуры поздней загрузки.
Просчитывается STM также в процессе поздней загрузки.

К сожалению, на данный момент STM недоступен. Мы обсудим это более подробно в
последнем разделе нашего исследования.

(Продолжение следует)

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии