
Boitumelo / unsplash.com
Атака получила название DDRop. Она основана на том, что масштабируемые системы шифрования памяти не проверяют криптографическую «свежесть» данных — то есть не позволяют надёжно определить, являются ли находящиеся в памяти данные последней актуальной версией. Это даёт возможность злоумышленнику подменять содержимое памяти устаревшими данными, которые при этом корректно расшифровываются.
Учёные разработали аппаратный модуль-посредник DDRop, который физически подключается между процессором и оперативной памятью и позволяет незаметно блокировать операции записи в зашифрованную память на высокоскоростной шине DDR5. В результате защищённая виртуальная машина продолжает работать со старыми данными, не подозревая, что они больше не являются актуальными. Учитывая, что для атаки требуется физический доступ к машине, открытие представляет интерес в разрезе сценариев, в которых облачные провайдеры гарантируют клиентам конфиденциальность вычислений. Стоимость устройства составляет $200, и оно нарушает работу механизмов защиты Intel TDX, Scalable SGX и AMD SEV-SNP, которые используются в средах доверенных вычислений (TEE).
«Внедряя специально сформированные данные в таблице страниц, мы можем перевести любую защищённую виртуальную машину в режим отладки и считать содержимое её закрытой [области] памяти в открытом виде. Более того, запись в критически важные структуры метаданных TDX позволяет подделывать отчёты об аттестации, за счёт чего виртуальная машина с бэкдором в глазах удалённого пользователя продолжает выглядеть надёжной», — рассказали авторы проекта. Особенность атаки DDRop заключается в том, что она позволяет модифицировать трафик шины DDR5 без ущерба для скорости; кроме того, это первая схема атаки, позволяющая скомпрометировать доверенный интерфейс управления TDX без эксплуатации программных уязвимостей.
Для актуальных систем масштабируемого шифрования памяти от Intel и AMD простого решения проблемы не существует — ни аппаратного, ни программного. Она возникла из-за того, что для шифрования больших объёмов памяти производители отказались от некоторых механизмов, которые смогли бы гарантировать уникальность и актуальность каждой версии данных. В Intel и AMD признали факт наличия уязвимости, но заявили, что она не входит в их модели угроз для облачных вычислений. В AMD заявили, что никаких мер принимать не намерены, а Intel изучает дополнительные способы обнаружения атак и архитектурного усиления будущих платформ.