Ако бъдат използвани, тези пропуски могат да позволят на нападателите да получат неоторизиран достъп до чувствителна информация или като цяло да причинят проблеми
наскоро Новината беше обявена от изследователи на CISPA, за нов метод за атака CacheWarp за компрометиране на механизма за сигурност на AMD SEV използвани в системите за виртуализация за защита на виртуални машини от намеса от страна на хипервайзора или системния администратор на хоста.
По отношение на уязвимостта (CacheWarp), изследователите споменават това се основава на използването на уязвимост (посочен под CVE-2023-20592) причинено от неизправност в кеша по време на изпълнение на инструкции на INVD процесор, с помощта на които е възможно да се постигне несъответствие на данните в паметта и кеш и байпасни механизми за поддържане на целостта на паметта на виртуалната машина, реализирани на базата на разширенията SEV-ES и SEV-SNP.
Предложеният метод позволява на атакуващ с достъп до хипервайзора да изпълни код на трета страна и ескалиране на привилегии на виртуална машина, защитена от AMD SEV. Уязвимостта засяга процесорите AMD EPYC от първо до трето поколение.
Технология AMD SEV се използва за изолиране на виртуална машина от облачни доставчици. AMD SEV защита Реализира се чрез криптиране на хардуерно ниво на паметта на виртуалната машина, Освен това разширението SEV-ES защитава регистрите на процесора. Само текущата система за гости има достъп до декриптираните данни и когато други виртуални машини и хипервайзорът се опитат да получат достъп до тази памет, те получават набор от криптирани данни.
За атаката споменава се, че Базира се на използването на инструкцията INVD за анулиране на блокове в кеша на страницата без изхвърляне на натрупаните в кеша данни в паметта (обратно записване). Следователно, Методът ви позволява да извадите модифицирани данни от кеша, без да променяте състоянието на паметта.
За да извършите атака, предлага се да се използват софтуерни изключения за да наруши работата на виртуалната машина на две места: първо, атакуващият извиква инструкцията „wbnoinvd“, за да нулира всички операции за запис в паметта, натрупани в кеша, и второ, той извиква инструкцията „invd“, за да върне операции за запис, които не са отразени в памет към предишното състояние.
За да проверите уязвимостта, sПубликуван е прототип на експлойт, който позволява изключение да бъде вмъкнато във виртуална машина, защитена от AMD SEV и върнете промените във VM, които не са били нулирани в паметта.
Възстановяването на промяна може да се използва за промяна на потока на програма чрез връщане на предишен адрес за връщане в стека или за използване на параметри за влизане от предишна сесия, която преди това е била удостоверена чрез връщане на стойност на атрибут за удостоверяване.
Например изследователи демонстрира възможността за използване на метода CacheWarp за извършване на Bellcore атака изпълнението на алгоритъма RSA-CRT в ipp-crypto библиотеката, което направи възможно възстановяването на частния ключ чрез замяна на грешки при изчисляване на цифров ключ.
Накрая се споменава, че CacheWarp обикновено не засяга всички AMD процесори, тъй като напр за XNUMX-то поколение процесори AMD EPYC (Дзен 3), Проблемът е разрешен в актуализацията на микрокода Ноември, публикувано от AMD (корекцията не причинява влошаване на производителността).
докато за първо и второ поколение на AMD EPYC (Дзен 1 и Дзен 2), не е осигурена защита, тъй като тези процесори не поддържат разширението SEV-SNP, което осигурява контрол на целостта за виртуални машини. Четвъртото поколение на процесори AMD AMD EPYC “Genoa”, базирани на микроархитектурата “Zen 4” Не е уязвимо.
Освен, че, Третото поколение процесори AMD EPYC представи допълнително разширение, SEV-SNP (Secure Nested Paging), който осигурява безопасна работа на вложени таблици на страници на паметта. В допълнение към общото криптиране на паметта и изолирането на регистрационни файлове, SEV-SNP прилага допълнителни мерки за защита на целостта на паметта, като предотвратява промени във VM от хипервайзора. Ключовете за криптиране се управляват от страна на отделен PSP (Platform Security Processor) процесор, интегриран в чипа, реализиран на базата на ARM архитектура.
Ако се интересувате да научите повече за него, можете да се консултирате с подробностите В следващия линк.