24.11.2020

Уязвимость в чипсетах Intel, позволяющая извлечь корневой ключ платформы


Исследователи из компании Positive Technologies выявили уязвимость (CVE-2019-0090), позволяющую при наличии физического доступа к оборудованию извлечь корневой ключ платформы (Chipset key), используемый в качестве корня доверия при проверке подлинности различных компонентов платформы, включая прошивки TPM (Trusted Platform Module) и UEFI.

Уязвимость вызвана ошибкой в оборудовании и в прошивке Intel CSME, которая размещается в загрузочном ПЗУ, что не позволяет устранить проблему в уже используемых устройствах. Из-за наличия окна во время перезапуска Intel CSME (например, при выходе из спящего режима), через манипуляции с DMA можно записать данные в статическую память Intel CSME и изменить уже инициализированные таблицы страниц памяти Intel CSME для перехвата выполнения, перехвата ключа платформы и получения контроля за генерацией ключей шифрования для модулей Intel CSME. Детали эксплуатации уязвимости планируется опубликовать позднее.

Кроме извлечения ключа ошибка также позволяет добиться выполнения кода на нулевом уровне привилегий Intel CSME (Converged Security and Manageability Engine). Проблема затрагивает большинство выпущенных за последние пять лет чипсетов Intel, но в 10 поколении процессоров (Ice Point) проблема уже не проявляется. Intel стало известно о проблеме около года назад и в мае 2019 года были выпущены обновления прошивок, которые, хотя и не могут изменить уязвимый код в ПЗУ, но пытаются на уровне отдельных модулей Intel CSME блокировать возможные пути эксплуатации.

Из возможных последствий получения корневого ключа платформы, упоминается возможность компрометации систем шифрования носителей на базе Intel CSME, а также подделки идентификаторов EPID (Enhanced Privacy ID) для того чтобы выдать свой компьютер за другой для обхода защиты DRM. В случае компрометации отдельных модулей CSME компания Intel предусмотрела возможность перегенерации связанных с ними ключи при помощи механизма SVN (Security Version Number). В случае доступа к корневому ключу платформы этот механизм не эффективен так как этот ключ применяется для генерации ключа для шифрования блока контроля целостности (ICVB, Integrity Control Value Blob), получение которого, в свою очередь, позволяет подделать код любого из модулей прошивки Intel CSME.

При этом отмечается, что корневой ключ платформы хранится в зашифрованном виде и для полной компрометации дополнительно требуется определить аппаратный ключ, хранящийся в SKS (Secure Key Storage). Указанный ключ не уникальный и одинаков для каждого поколения чипсетов Intel. Так как ошибка позволяет выполнить код на стадии до блокировки механизма генерации ключа в SKS, прогнозируется, что рано или поздно данный ключ будет определён.

Источник: https://www.opennet.ru/opennews/art.shtml?num=52487

Добавить комментарий