Учёные взломали защиту процессоров AMD микрокомпьютером за $5

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

Механизм безопасности, который AMD использует для защиты памяти виртуальных машин, можно обойти с помощью одноплатного компьютера Raspberry Pi Pico стоимостью $5. Это обнаружила группа учёных из Бельгии, Германии и Великобритании, разработавшая схему атаки BadRAM.

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

AMD разработала технологию Secure Encrypted Virtualization (SEV), которая обеспечивает создание среды доверенного выполнения (Trusted Execution Environment — TEE). Аналогичные решения есть у конкурентов: Software Guard Extensions (SGX) и Trusted Domain Extensions (TDX) от Intel, а также Arm Confidential Compute Architecture (CCA). Эти технологии используются поставщиками облачных услуг и гарантируют, что администраторы, имеющие доступ к оборудованию центров обработки данных, не смогут скопировать конфиденциальную информацию с виртуальных машин клиентов. Информация в памяти шифруется, защищая клиентов облачных платформ от ненадёжных поставщиков услуг и недобросовестных представителей органов власти.

Учёные исследовали новую версию одной из таких технологий — AMD SEV-SNP (Secure Nested Paging), которая добавляет защиту от атак с перераспределением памяти со стороны гипервизора. Однако, как выяснилось, эта технология обладает изъянами. Для обхода ограничений доступа к содержимому памяти в TEE необходимы одноплатный компьютер Raspberry Pi Pico, разъём DDR и батарейка на 9 В. Предложенная учёными атака BadRAM предполагает злоупотребление механизмами работы чипа SPD (Serial Presence Detect), отвечающего за идентификацию модуля системой. С помощью манипуляций с SPD в физической памяти создаются псевдонимы, позволяющие изучить её содержимое на предмет конфиденциальной информации.

В ходе атаки видимый размер установленного в системе модуля DIMM удваивается, что позволяет обмануть контроллер памяти центрального процессора и заставить его использовать дополнительные биты адресации. В результате на одно и то же местоположение DRAM ссылаются два физических адреса. Метод работает с памятью DDR4 и DDR5. Теоретически атака может быть осуществлена и без физического доступа к оборудованию, например через SSH, поскольку некоторые поставщики DRAM оставляют чип SPD разблокированным. Это было обнаружено на двух модулях DDR4 от Corsair. Для реализации атаки на DDR3 требуется удаление или замена SPD. Технология AMD SEV-SNP используется в Amazon AWS, Google Cloud и Microsoft Azure. Учёные отмечают, что схема атаки BadRAM позволяет добавлять «необнаруживаемые бэкдоры на любую защищённую SEV виртуальную машину».

Актуальные технологии Intel SGX и TDX не подвержены данной уязвимости благодаря реализованным контрмерам, предотвращающим создание псевдонимов памяти. Уязвима лишь устаревшая версия SGX, которая уже не используется производителем. Arm CCA также защищена на уровне спецификации, однако проверить это исследователи не смогли из-за отсутствия оборудования. Схему атаки и образец кода учёные передали AMD 26 февраля 2024 года. Свои выводы они намерены представить в 2025 году на мероприятии IEEE Symposium on Security and Privacy. Компания зарегистрировала уязвимость под номерами CVE-2024-21944 and AMD-SB-3015 — сведения о них она опубликовала накануне.

«AMD считает, что эксплуатация раскрытой уязвимости предполагает, что у злоумышленника есть либо физический доступ к системе, либо доступ к ядру операционной системы, либо установлен изменённый вредоносный BIOS. AMD рекомендует использовать модули памяти, в которых заблокирован Serial Presence Detect (SPD), а также следовать передовым практикам [в области] безопасности физической системы. AMD также выпустила обновления прошивки для клиентов, которые смягчат уязвимость», — заявили в компании ресурсу The Register.