SMI прерывание

"Кстати, упомянутый SMM – весьма интересная вещь. Режим системного управления (англ. System Management Mode, SMM) — режим, при котором приостанавливается исполнение другого кода (включая код операционной системы) и запускается специальная программа – в наиболее привилегированном режиме. Как всегда, задумывался режим в благородных целях – его использование позволяет обрабатывать ошибки памяти и чипсетов, а также выключать процессор при перегреве. Но он позволил также обходить встроенные в ОС системы защиты и запускать руткиты. Код, работающий в режиме SMM, получает неограниченный доступ ко всей системной памяти, включая память ядра и память гипервизора."

Европа и США богатые, поделяться
Ключ к Чужому Компьютеру - smm перехватчик
"В 2006 году исследователь Люк Дюфо впервые представил небольшой перехватчик, способный работать с SMM, полностью обойдя все политики безопасности ОС. Мы взяли эту концепцию, развили и дополнили ее кодами, позволяющими осуществлять удаленное администрирование машиной", - рассказывает Эмбелтон.

  Там, куда нельзя антивирусу
Там, куда нельзя антивирусу

Продемонстрирован руткит, который размещается в закрытой для операционной системы области памяти компьютера
13.05.2008 Роберт Макмиллан Рубрика:Технологии

Исследователи вопросов безопасности представили новый тип вредоносного программного обеспечения, которое скрывает свое присутствие в невидимой для существующих антивирусных программ области микропроцессора. Руткит System Management Mode (SMM) представляет собой код, исполняемый в защищенной области памяти компьютера, доступ к которой для операционной системы закрыт. Вместе с тем это ПО предоставляет атакующим полную информацию о том, что происходит в памяти.

Шерри Спаркс: Исследователи вопросов информационной безопасности представили новый тип вредоносного программного обеспечения, которое скрывает свое присутствие в невидимой для современных антивирусных программ области микропроцессора.

Руткит System Management Mode (SMM) представляет собой код, исполняемый в защищенной области памяти компьютера, доступ к которой для операционной системы закрыт. Вместе с тем данный код предоставляет атакующим полную информацию о том, что происходит в памяти.

Для этого в состав SMM включены средства регистрации нажатия клавиш и программное обеспечение связи, благодаря чему руткит может использоваться для похищения важной информации с компьютера жертвы. Авторами руткита являются основатели компании Clear Hat Consulting Шон Эмблтон и Шерри Спаркс.

Работа вредоносной программы нового типа будет продемонстрирована на конференции по безопасности Black Hat, которая состоится в августе в Лас-Вегасе.

За пределами операционной системы

Руткиты, используемые сегодня кибермошенниками, представляют собой программы, которые должны скрыть следы их вторжения и помочь избежать обнаружения. Механизм руткитов привлек к себе всеобщее внимание в конце 2005 года, когда студия Sony BMG Music применила такого рода технологию, чтобы спрятать программные компоненты, обеспечивающие защиту от копирования. Однако после разгоревшегося скандала музыкальная компания вынуждена была отозвать миллионы выпущенных компакт-дисков.

В последние годы исследователи ищут способы вывести руткиты за рамки операционной системы, с тем чтобы обнаружить их было еще труднее. К примеру, два года тому назад Джоанна Рутковска представила руткит Blue Pill, который для маскировки своего присутствия использовал технологию виртуализации, работавшую на уровне аппаратных ресурсов процессора AMD. По словам Рутковской, на основе предложенной ею технологии в конечном итоге можно создать "вредоносное программное обеспечения, обнаружить которое будет фактически невозможно".

"Руткиты все сильнее привязываются к особенностям оборудования, - отметила Спаркс, написавшая три года тому назад собственный руткит Shadow Walker. - Чем глубже вы проникаете в систему, тем мощнее становятся ваши средства и тем труднее их обнаружить".

Новые технологии — новые опасности

Руткит Blue Pill использует преимущества технологий виртуализации, поддерживаемых новыми микропроцессорами. Что касается программного обеспечения SMM, в нем задействованы функции, которые известны уже очень давно и присутствуют в гораздо более широком спектре машин. Впервые они были интегрированы в процессоры Intel 386, с тем чтобы помочь разработчикам оборудования устранять ошибки в своих продуктах с помощью программных средств. Кроме того, эта технология применяется для управления энергопотреблением компьютера и перевода его в спящий режим.

"Во многих случаях обнаружить руткит SMM, работающий в защищенной области памяти, оказывается труднее, чем Blue Pill, - заметил Джон Хизман, научный директор компании NGS Software, специализирующейся на консультациях по вопросам безопасности. - Разработчикам антивирусного программного обеспечения придется несладко. Ведь для современных антивирусных программ руткит SMM остается незамеченным".

В последние годы исследователи догадывались, что вредоносное программное обеспечение может функционировать в защищенном режиме SMM. В 2006 году Луак Дюфло продемонстрировал, каким образом работают подобные вредоносные программы.

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

Каждому компьютеру — свой руткит?

Для того чтобы запустить свой руткит, Спаркс и Эмблтону помимо отладчика пришлось писать код драйвера на достаточно сложном в использовании языке ассемблера. "Труднее всего было отлаживать этот драйвер", - указывает Спаркс.

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

"Не думаю, что такие атаки получат широкое распространение, поскольку для них характерна сильная привязка к конкретному оборудованию, - отметила Спаркс. - И при планировании атаки это нужно учитывать".

Правда ли, что обнаружить подобные руткиты абсолютно невозможно? Спаркс считает, что это не так. "Я никогда не утверждала, что выявить их невозможно, но сделать это тем не менее будет весьма непросто", - подчеркнула она.

"Новые типы руткитов появляются далеко не каждый день, - заметил Хизман. - И создание Black Hat представляется одним из наиболее интересных, если не самым интересным событием нынешнего года".


Поделитесь материалом с коллегами и друзьями

SMI-прерывания

SMI (System Management Interrupt) — единственный способ перевести процессор в режим системного управления. SMI представляет собой внешнее прерывание, работающее независимо от механизма обработки прерываний и исключений процессора.

SMI-прерывания бывают аппаратными, системными и программными. Со списком всевозможных событий, генерирующих SMI-прерывания, можно ознакомиться здесь (Power Management).

Вызвать программное SMI-прерывание можно при помощи записи в порт ввода-вывода APM (Advanced Power Management). Данный порт имеет два регистра: APM_CNT (0xB2) и APM_STS (0xB3).

APM_CNT (0xB2) — управляющий регистр. Для вызова SMI-прерывания необходимо записать в этот регистр байт — номер (код) прерывания.

Запись в регистр APM_CNT с помощью утилиты Read & Write
Запись в регистр APM_CNT с помощью утилиты Read & Write

APM_STS (0xB3) — регистр статуса. Запись в данный регистр не вызывает SMI-прерывание, тем не менее, он может быть использован для передачи дополнительной информации обработчику SMI-прерывания. SMI-прерывание будет сгенерировано только в том случае, если в конфигурационном регистре APM установлен бит APMC_EN.

Вызов SMI-прерывания в дизассемблированном коде прошивки
Вызов SMI-прерывания в дизассемблированном коде прошивки
Обработчики SMI-прерываний

Обработчики SMI-прерываний вызываются процессором при возникновении соответствующего SMI-прерывания и возвращаются в операционную систему с помощью специальной инструкции RSM. Основным механизмом передачи информации и регулирования деятельности обработчиков SMI-прерываний в режиме SMM является SMST (System Management System Table). SMST обеспечивает доступ к службам режима SMM.


Рецензии