Привет All!
Уязвимость в процессорах AMD, позволяющая получить контроль над TPM-окружением
Исследователи из команды обеспечения безопасности Google Cloud выявили
[
http://seclists.org/fulldisclosure/2018/Jan/12] серьёзную брешь во встроенном
в центральные процессоры AMD аппаратно изолированном исполняемом окружении,
работу которого координирует отдельный процессор PSP
[
https://classic.regonline.com/custImages/360000/369552/TCC%20PPTs/TCC2013_VanDoorn.pdf]
(Platform Security Processor) на базе архитектуры ARM. Как и ранее выявленные
уязвимости в сходных подсистемах Intel ME
[
https://www.opennet.ru/opennews/art.shtml?num=47597] и ARM TrustZone
[
https://www.opennet.ru/opennews/art.shtml?num=46911], в AMD PSP найдена
недоработка, позволяющая получить контроль над выполнением кода на стороне
изолированного от основной системы окружения.
Уязвимость вызвана переполнением стека в функции EkCheckCurrentCert,
поставляемой в прошивке fTMP
[
https://github.com/coreboot/blobs/tree/master/southbridge/amd/avalon/PSP] с
реализацией интерфейса для выполнения TPM-модулей (Trusted Platform Module),
через которые предоставляются защищённые обработчики для выполнения операций,
требующих повышенной защиты, например, в отдельное от операционной системы
окружение выносятся функции, связанные с шифрованием, хранением ключей и
аутентификацией.
Уязвимость в прошивке AMD PSP проявляется при обработке EK-ключей (Endorsement
Key) и позволяет через передачу специально оформленного ключа получить контроль
над счётчиком команд
[
https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0#%D0%A1%D1%87%
D1%91%D1%82%D1%87%D0%B8%D0%BA_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4] (регистр
процессора, определяющий следующую выполняемую инструкцию). Уязвимость даёт
возможность атакующему получить контроль над TPM-окружением на базе AMD PSP и
скомпрометировать систему, незаметно для основного программного окружения.
В основном уязвимость представляет интерес с точки зрения создания руткитов,
так как в результате атаки можно подменить обработчик TPM и это невозможно
будет определить из пользовательской ОС из-за полной изоляции AMD PSP. При этом
выполняемый в AMD PSP код может полностью контролировать всю системную память и
ввод/вывод.
Для эксплуатации уязвимости атакующий должен добиться записи своего EK-ключа в
NVRAM, уже имея привилегированный доступ в основной ОС или физический доступ к
оборудованию. Кроме того, по информации AMD, для изменения содержимого
SPI-Flash должен быть выставлен соответствующий переключатель на материнской
плате, но он не защищает от возможности совершения временной атаки или от
получения доступа к закрытой информации, такой как ключи шифрования.
Проблема была выявлена через статический анализ бинарных файлов прошивки,
поставляемых с обновлением к BIOS. В эмуляторе продемонстрирована возможность
совершения атак с использованием выявленной уязвимости. Компания AMD была
информирована об уязвимости 28 сентября, 7 декабря подготовила исправление и
начала его распространение среди производителей оборудования. Для конечных
пользователей обновления fTMP с устранением проблемы будет доставлено
[
https://www.theregister.co.uk/2018/01/06/amd_cpu_psp_flaw/] в январском
обновлении прошивки от OEM-производителей. Всем пользователям современных
процессоров AMD рекомендуется обновить прошивки. PSP поставляется в процессорах
AMD, выпущенных после 2013 года (семейство 16h и новее).
http://www.opennet.ru/opennews/art.shtml?num=47866
С уважением. Anton aka Stalker
Linux Registered User #386476
[#*TEAM:*#] [#_Злой СисОп_#] [*Heavy Metal!*] [*_Усачи_*]