Уязвимость в процессорах AMD, позволяющая получить контроль над TPM-окружением

Исследователи из команды обеспечения безопасности Google Cloud выявили серьёзную брешь во встроенном в центральные процессоры AMD аппаратно изолированном исполняемом окружении, работу которого координирует отдельный процессор PSP (Platform Security Processor) на базе архитектуры ARM.

Как и ранее выявленные уязвимости в сходных подсистемах Intel ME и ARM TrustZone, в AMD PSP найдена недоработка, позволяющая получить контроль над выполнением кода на стороне изолированного от основной системы окружения.

Уязвимость вызвана переполнением стека в функции EkCheckCurrentCert, поставляемой в прошивке fTMP с реализацией интерфейса для выполнения TPM-модулей (Trusted Platform Module), через которые предоставляются защищённые обработчики для выполнения операций, требующих повышенной защиты, например, в отдельное от операционной системы окружение выносятся функции, связанные с шифрованием, хранением ключей и аутентификацией.

Уязвимость в прошивке AMD PSP проявляется при обработке EK-ключей (Endorsement Key) и позволяет через передачу специально оформленного ключа получить контроль над счётчиком команд (регистр процессора, определяющий следующую выполняемую инструкцию). Уязвимость даёт возможность атакующему получить контроль над TPM-окружением на базе AMD PSP и скомпрометировать систему, незаметно для основного программного окружения.

В основном уязвимость представляет интерес с точки зрения создания руткитов, так как в результате атаки можно подменить обработчик TPM и это невозможно будет определить из пользовательской ОС из-за полной изоляции AMD PSP. При этом выполняемый в AMD PSP код может полностью контролировать всю системную память и ввод/вывод.

Для эксплуатации уязвимости атакующий должен добиться записи своего EK-ключа в NVRAM, уже имея привилегированный доступ в основной ОС или физический доступ к оборудованию. Кроме того, по информации AMD, для изменения содержимого SPI-Flash должен быть выставлен соответствующий переключатель на материнской плате, но он не защищает от возможности совершения временной атаки или от получения доступа к закрытой информации, такой как ключи шифрования.

Проблема была выявлена через статический анализ бинарных файлов прошивки, поставляемых с обновлением к BIOS. В эмуляторе продемонстрирована возможность совершения атак с использованием выявленной уязвимости. Компания AMD была информирована об уязвимости 28 сентября, 7 декабря подготовила исправление и начала его распространение среди производителей оборудования. Для конечных пользователей обновления fTMP с устранением проблемы будет доставлено в январском обновлении прошивки от OEM-производителей. Всем пользователям современных процессоров AMD рекомендуется обновить прошивки. PSP поставляется в процессорах AMD, выпущенных после 2013 года (семейство 16h и новее).

Источник: opennet.ru




Комментарии:

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