> > > > AMD Opteron: в архитектуре Zen данные в памяти шифруются для отдельных VM

AMD Opteron: в архитектуре Zen данные в памяти шифруются для отдельных VM

Опубликовано:

На современных серверных процессорах обычно работает не одна операционная система, а сразу несколько благодаря виртуальным машинам. Они не только совместно используют ресурсы процессоров, но и данные. Чтобы лучше защитить данные каждой виртуальной машины, AMD в архитектуре Zen поддерживает полное или частичное шифрование памяти.

На конференции KVM Forum 2016 разработчик Linux Томас Лендаки (Thomas Lendacky) рассказал о технологиях AMD Secure Memory Encryption (SME) и Secure Encrypted Virtualization (SEV). Цель обеи технологий кроется в шифровании данных в памяти. Для этого AMD использует шифрование AES128 с секретным ключом, который нельзя считать или взломать. Технологии SME и SEV работают на разных уровнях шифрования.

SME нацелена, главным образом, для противодействия физическим атакам на систему, которые могут считать содержимое памяти напрямую. Например, злоумышленник может получить физический доступ к памяти и выполнить атаку Cold Boot. В будущем в серверах все шире будут распространены модули NVDIMM, что облегчает подобные атаки, поскольку они построены на энергонезависимой памяти. SME может шифровать не всю память, а указанные диапазоны адресов. Для этого в Hypervisor предусмотрены соответствующие команды для защиты памяти SME. При работе с незащищенной областью проникнуть в защищенную возможности нет.

SEV обеспечивает создание разделов в памяти для каждой виртуальной машины. Но здесь уже требуется поддержка со стороны операционной системы, что для SME не обязательно. В случае SEV некоторые области памяти можно оставлять незашифрованными, их можно использовать как общие области для обмена данными между VM. Ядро Linux вскоре получит поддержку SEV.

Ключи шифрования хранятся в Secure Processor, который есть во всех процессорах AMD. AMD использует ядро Cortex A5 ARM, у которого есть своя доверенная зона (Trust Zone). У Apple и Samsung, а также некоторых других производителей схожий подход с Secure Processor в SoC. Intel в процессорах Skylake называет подобную функцию Software Guard Extension (SGX). В процессорах Skylake-EP или Purley, которые выйдут в ближайшие годы, будет поддерживаться функция Memory Encryption Extensions (MEE), тоже ориентированная на шифрование памяти, как и у AMD. Дополнительную информацию можно получить в руководстве AMD64 (PDF).