В защите AMD Zen SEV найдены потенциальные уязвимости

В октябре компания AMD официально опубликовала данные о встроенной в архитектуру процессоров Zen защите виртуальных машин. Облачные сервисы, как нетрудно догадаться, делают работу с удалёнными службами повсеместным явлением и, следовательно, становятся соблазном для действий злоумышленников. Компания AMD решила пойти во главе процесса защиты данных на уровне процессора и его кэша. Тем самым серверные версии Zen получат встроенные блоки шифрования данных Secure Memory Encryption (SME) и Secure Encrypted Virtualization (SEV). Документация, разъясняющая способы работы блоков, уже есть в свободном доступе.

Интересно, что, основываясь на доступных данных, два немецких специалиста по безопасности смогли обнаружить в механизме работы AMD Secure Encrypted Virtualization три потенциальных уязвимости. Технология SEV признана ими перспективной, но вызывающей ряд вопросов. Забегая вперёд, отметим, что компания AMD прокомментировала упрёки в недоработках тем, что продукции поколения Zen на рынке пока нет, так что об уязвимости говорить не приходится. Странная позиция, но это их решение.

Прежде чем рассказать об уязвимости, напомним, что SEV шифрует данные в кэш-памяти процессора 128-битным AES-ключами (своим ключом для каждой виртуальной машины). Данные расшифровываются при загрузке в кэш процессора и шифруются после выгрузки. Шифрование и дешифровка работают как для блоков памяти, так и для приложений. Это даёт возможность защититься от атак от потенциально уязвимого гипервизора.

На бумаге всё выглядит красиво, но специалисты представили три сценария, в случае которых защита SEV может не сработать. Во-первых, в случае SEV не предусмотрено шифрование блоков управляющих команд, отдающихся непосредственно гипервизором, что позволит обойти SEV. Во-вторых, значения регистров общего назначения в Zen не шифруются, что ведёт к потенциальным утечкам критически важных данных. В-третьих, реализованный метод управления вложениями типа nested page tables позволяет уязвимому гипервизору контролировать виртуальную машину и применить так называемую атаку повторного воспроизведения (memory replay attacks). Ещё раз подчеркнём, что все три сценария существуют только на бумаге, но кто мешает воплотить их в жизнь?

Нравится20
Комментарии
    B
    i
    u
    Спойлер