Google представила инструментарий Zentool для анализа и изменения микрокода процессоров AMD микроархитектуры Zen (1-4)
Google представила открытый инструментарий под названием Zentool под лицензией Apache 2.0 для анализа и изменения микрокода процессоров AMD на базе 1–4 поколений микроархитектуры Zen. Специалисты компании опубликовали руководство по микроархитектуре RISC86, применяемой в микрокоде AMD, а также выложили в общий доступ документацию по созданию собственного микрокода для энтузиастов и исследователей.
В наработках проекта Zentool используется уязвимость CVE-2024–56 161, позволяющая обойти механизм проверки цифровой подписи при обновлении микрокода в процессорах AMD. Это способ обхода системы безопасности AMD SEV или Secure Encrypted Virtualization. По данным Google, потенциальный злоумышленник для загрузки вредоносного микрокода должен иметь права администратора в системе. Оказалось, что AMD применяло для AES‑CMAC единый ключ шифрования, поставляемый на всех CPU, начиная с Zen 1 и заканчивая Zen 4. Таким образом, достаточно извлечь данный ключ из любого CPU AMD и он будет применим ко всем остальным CPU. Исследователи Google обнаружили, что в поколениях процессоров с Zen 1 по Zen 4 для шифрования AES‑CMAC использован известный ключ, взятый из примера, упомянутого в рекомендациях по использованию блочных шифров NIST SP 800–38B. В AMD устранили уязвимость CVE-2024–56 161 в декабрьском обновлении микрокода для процессоров путём замены CMAC на криптографически стойкую хэш‑функцию.
В Google показали, что Zentool успешно работает не только для серверных процессоров AMD EPYC, но и на потребительском процессоре AMD Ryzen 9 7940HS. В компании показали, как с помощью патча заставить генератор случайных чисел RDRAND на процессоре AMD всегда возвращать одно и то же число, например 4, вместо псевдослучайных последовательностей.
В состав
Читать на habr.com