Предложен вариант обхода Intel SMEP через особенности Windows 8

21/09/2012 12:00

Эксперты Positive Technologies проанализировали работу системы защиты от повышения привилегий Intel SMEP в ОС Windows 8, реализованной в процессорах Intel на базе архитектуры Ivy Bridge. Эксперты пришли к выводу, что несмотря на безопасную реализацию технологии Intel SMEP на программном уровне в 64-битной ОС Windows 8, 32-битная версия этой ОС содержит значительные недостатки конфигурации. Эти недостатки могут быть использованы злоумышленниками для выполнения шелл-кода с использованием модифицированных объектов палитры (GDI Palette), размещаемых в незащищенных областях памяти ядра, а именно в пуле сессии. Разумеется, при использовании пула сессии существуют некоторые ограничения. Во-первых, он является подкачиваемым, следовательно, необходимо учитывать уровень запроса на прерывание (IRQL) при эксплуатации уязвимости режима ядра. Во-вторых, пул сессии проецируется в соответствии с текущей пользовательской сессией, значит, также необходимо учитывать текущую сессию. И в-третьих, в многопроцессорной среде управляющие регистры присутствуют на каждом ядре, следовательно, необходимо использовать привязку потока к ядру для отключения SMEP на конкретном ядре процессора. Учитывая столь большое количество ограничений, данный метод с трудом реализуется на практике, в отличие от другого метода, направленного на использование старых версий драйверов устройств, полностью не совместимых с ОС Windows 8. Используя фрагменты кода этих драйверов, которые уже размещаются в памяти ядра, методами возвратно-ориентированного программирования можно добиться выполнения необходимых вредоносных команд. Таким образом, недостатки конфигурации Intel SMEP в Windows 8 могут быть использованы злоумышленниками для проведения локальных или многоуровневых атак, направленных на получение скрытого контроля над уязвимой системой.
Подробности