Уязвимость ThinkPwn в прошивках компьютеров оказалась серьезнее чем представлялось ранее

в 18:55, , рубрики: firmware, security, Блог компании ESET NOD32

Несколько дней назад мы писали о 0day Local Privilege Escalation (LPE) уязвимости в UEFI-прошивке ноутбуков Lenovo ThinkPad, которой было посвящено интересное исследование security-ресерчера под ником Cr4sh. Продемонстрированный вектор эксплуатации уязвимости позволяет отключить встроенную аппаратную защиту под названием SPI Protected Ranges, которая используется для защиты SPI flash-памяти чипа от записи данных. Сама уязвимость присутствует в одном из UEFI-драйверов прошивки под названием SystemSmmRuntimeRt и позволяет исполнить произвольный привилегированный SMM-код в системе.

Уязвимость ThinkPwn в прошивках компьютеров оказалась серьезнее чем представлялось ранее - 1

В свою очередь, Lenovo выпустила уведомление безопасности, в котором указала, что не занималась разработкой уязвимого драйвера, так как обращается за этим к производителям прошивок BIOS/UEFI, которые, в свою очередь, используют наработки Intel и AMD. После этого стало понятно, что спектр ноутбуков и компьютеров, уязвимых для ThinkPwn, не ограничивается компанией Lenovo. Хотя кроме Lenovo никто из производителей компьютеров и материнских плат не обмолвился об этой уязвимости, стало известно что ей подвержены ноутбуки Hewlett-Packard Pavilion, компьютеры с материнскими платами от GIGABYTE (Z68-UD3H, Z77X-UD5H, Z87MX-D3H, и др), ноутбуки Fujitsu LIFEBOOK, а также Dell.

Уязвимость ThinkPwn в прошивках компьютеров оказалась серьезнее чем представлялось ранее - 2
Рис. Декомпилированный код уязвимого драйвера из flash-памяти чипа материнской платы Gigabyte Z68-UD3H. (твиттер Cr4sh)

Уязвимость ThinkPwn в прошивках компьютеров оказалась серьезнее чем представлялось ранее - 3
Рис. Демонстрация успешной работы эксплойта на ноутбуке Dell Latitude E6430.

Уязвимость ThinkPwn была исправлена Intel еще в 2014 году, однако, производители UEFI до сих пор используют уязвимую версию драйвера при производстве прошивок. Полный масштаб охвата данной уязвимостью компьютеров пока не совсем ясен, так как никто из поставщиков UEFI не прокомментировал данную ситуацию. Очевидно, что речь идет о существенном количестве различных моделей компьютеров разных производителей, среди которых, Lenovo, Hewlett-Packard, GIGABYTE, Fujitsu, и Dell.

Как мы уже указывали ранее, эксплойт ThinkPwn использует 0day уязвимость в SystemSmmRuntimeRt для исполнения своего SMM-кода, который помогает эксплойту обойти защитную меру SMM LockBox, используемую для обеспечения безопасности системной структуры UEFI Boot Script Table. Данная структура является ключевой для сброса регистров SPI Protected Range при эксплуатации режима работы компьютера S3 sleep. Путем модификации полей структуры, которые отвечают за сохранность регистров SPI Protected Range, SMM-кодом, можно добиться последующей их загрузки нулевыми значениями в сами регистры SPI.

ThinkPwn позволяет отключить защиту на запись SPI flash-память чипа, что позволяет атакующим встроить туда свой backdoor или руткит для компрометации работы любой ОС на самом низком уровне. Это, в свою очередь, может привести к обходу технологии безопасной загрузки Secure Boot или таких аутентичных технологий как Virtual Secure Mode и Credential Guard на Windows 10.

Автор: ESET NOD32

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js