AMD EPYC можно взломать через их защиту от взломов — AMD исправила проблему только в одном поколении чипов

Читать в полной версии

Эксперты по кибербезопасности из AMD и Грацского технического университета (Австрия) обнаружили уязвимость под названием CacheWarp, или CVE-2023-20592. Она эксплуатирует одну из функций серверных процессоров EPYC, которая, по иронии должна их делать устойчивыми ко взломам. Уязвимость затронула чипы EPYC с первого по третье поколения (Naples, Rome и Milan), но обновление микрокода AMD выпустила только для последних. Чипы EPYC четвёртого поколения не затронуты.

Источник изображения: amd.com

Функция SEV (Secure Encrypted Virtualization) на процессорах EPYC направлена на повышение безопасности виртуальных машин — память каждой из них шифруется при помощи ключа. Уязвимость CacheWarp, актуальная без физического доступа к машине, делает процессоры уязвимыми из-за особенностей работы этой функции. Эксплойт CacheWarp запускается посредством очистки кеша процессора при помощи инструкции INVD. В результате процессор остаётся с устаревшими данными в ОЗУ, которые может считывать, классифицируя их как новые.

Важно, что при этом процессор считывает значение аутентификации, равное нулю — оно свидетельствует об её успешном прохождении. Предполагается, что единственный способ получить такое значение — передать правильный ключ доступа, но, как оказалось, начальное значение также равно нулю. Иными словами, чтобы обойти защиту процессора, нужно отправить его «назад во времени».

Уязвимость затрагивает процессоры AMD EPYC первого, второго и третьего поколений, но обновлённый микрокод получат только последние — семейства Milan (Zen 3). Для чипов Naples (Zen) и Rome (Zen 2) обновлений не будет, поскольку у них «функции SEV и SEV-ES не предназначаются для защиты целостности памяти виртуальных машин, а SEV-SNP недоступна», пояснили в AMD. Производитель также подчеркнул, что обновление микрокода не скажется на производительности процессоров.