EntrySign също засяга процесорите AMD Zen 5 и застрашава проверката на микрокода.

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

Преди няколко седмици споделихме тук в блога новината за Уязвимост на EntrySign което позволява да се избегне механизмът за проверка на цифровия подпис по време на актуализации на микрокод в процесорите на AMD.

каквото Първоначално изглеждаше като грешка, ограничена до Zen 1 до Zen 4 поколения, Сега се разпростира върху чипове като Ryzen 9000, EPYC 9005, Ryzen AI 300 и Ryzen 9000HX. Този пропуск позволява, при определени условия, микрокодът на процесора да бъде модифициран чрез заобикаляне на механизма за проверка на цифровия подпис, със сериозни последици за сигурността на виртуализираните системи.

Коренът на проблема това е в неподходящо използване на алгоритъма CMAC по време на процеса на валидиране на микрокода. AMD традиционно използва частен 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 и да се въздържате от инсталиране на непроверени версии.

И накрая, ако се интересувате да научите повече за това, можете да проверите подробностите в следваща връзка.