EntrySign также влияет на процессоры AMD Zen 5 и ставит под угрозу проверку микрокода.

Логотип уязвимости EntrySign

Несколько недель назад мы поделились здесь, в блоге, новостью о Уязвимость EntrySign что позволяет обойти механизм проверки цифровой подписи при обновлении микрокода в процессорах AMD.

Как Изначально казалось, что это ошибка, характерная только для поколений Zen 1 и Zen 4, Теперь она распространяется на такие современные чипы, как Ryzen 9000, EPYC 9005, Ryzen AI 300 и Ryzen 9000HX. Эта уязвимость позволяет при определенных условиях модифицировать микрокод ЦП, обходя механизм проверки цифровой подписи, что имеет серьезные последствия для безопасности виртуализированных систем.

Корень проблемы находится в ненадлежащее использование алгоритма CMAC в процессе проверки микрокода. АМД традиционно использует закрытый ключ RSA для цифровой подписи содержания этих обновлений, и открытый ключ, включенный в патч для проверки подлинности микрокода во время загрузки. Однако хэш открытого ключа, который должен гарантировать эту целостность, генерируется с использованием AES-CMAC, криптографического MAC, который, в отличие от надежной хэш-функции, не дает никаких гарантий от коллизий.

Этот дизайн, в дополнение к тому, что AMD использовала общий ключ шифрования для всех ваших процессоров начиная с Zen 1, позволил исследователям извлечь ключ из любого затронутого процессора и повторно использовать его для манипулирования исправлениями микрокода на других компьютерах. Удивительно, но этот ключ соответствует общедоступному примеру методов шифрования NIST SP 800-38B, демонстрируя небрежное использование надлежащих криптографических методов.

Поддельный микрокод, действительные подписи

Из-за этой слабости, Исследователям удалось сгенерировать открытые ключи, которые создают тот же хеш, что и оригинальный ключ AMD., которые они позволили создать поддельные исправления, способные обойти контроль целостности. Эти коллизии достигаются путем вставки дополнительных блоков в конец микрокода, на первый взгляд случайных, но тщательно рассчитанных, что позволяет цифровой подписи оставаться внешне нетронутой. Таким образом, внутреннее поведение процессора может быть изменено без активации механизмов оповещения.

Этот процесс был облегчен с помощью инструментов анализа. например, Zentool — набор утилит с открытым исходным кодом, позволяющий изучать микрокод AMD и подготавливать модифицированные исправления. Для реализации этого типа атаки злоумышленник должен обладать привилегиями Ring 0, то есть доступом к самому высокому уровню операционной системы, что осуществимо в виртуализированных средах, если гипервизор скомпрометирован или через небезопасные конфигурации технологий, таких как VT-x или AMD-V.

Влияние на AMD SEV и безопасную виртуализацию

Помимо манипуляции микрокодом, EntrySign представляет прямую угрозу для AMD SEV (Secure Encrypted Virtualization) и ее расширения SEV-SNP (Secure Nested Paging) — технологий, разработанных для обеспечения целостности и конфиденциальности виртуальных машин даже в условиях атак со стороны гипервизора или хост-системы. Эта уязвимость позволяет вмешиваться в защищенные регистры процессора, изменять вложенные таблицы страниц и изменять поведение гостевых систем, что ставит под угрозу их безопасность на глубоком уровне.

Меры реагирования и смягчения последствий AMD

В этой ситуации AMD начала распространять обновления микрокода, исправляющие ошибку.или, хотя в системах, использующих SEV-SNP, также необходимо обновить прошивку модуля SEV, что требует обновления BIOS. Компания уже отправила производителям новую посылку. называется ComboAM5PI 1.2.0.3c AGESA, но предполагается, что окончательные исправления могут стать доступными для конечных пользователей через несколько недель или даже месяцев.

В дополнение к этому, Инженеры AMD предложили патч для ядра Linux, блокирующий загрузку микрокода. неофициально. Данная мера направлена ​​на предотвращение распространения сторонних модифицированных патчей, например, созданных энтузиастами из извлеченных фрагментов BIOS. В то же время настоятельно рекомендуется дождаться официальных обновлений BIOS и воздержаться от установки непроверенных версий.

Наконец, если вам интересно узнать об этом больше, вы можете проверить подробности в по следующей ссылке.