Новая атака Platypus на процессоры Intel и AMD


Группа исследователей из Грацского технического университета (Австрия), ранее известная разработкой методов атак MDS, NetSpectre, Throwhammer и ZombieLoad, разработала новый метод атаки по сторонним каналам, получивший кодовое имя PLATYPUS. Атака позволяет воссоздать обрабатываемые при вычислении данные на основе сведений, получаемых непривилегированным пользователем через интерфейс мониторинга энергопотребления RAPL, предоставляемый в современных процессорах Intel (CVE-2020-8694, CVE-2020-8695) и AMD (CVE-2020-12912).

Исследователям удалось продемонстрировать извлечения из анклава Intel SGX закрытого RSA-ключа, применяемого при шифровании с использованием библиотеки mbed TLS, а также AES-ключей используемых для шифрования AES-NI на уровне ядра Linux. Кроме того, показана возможность применения атаки для обхода механизмов защиты и определения параметров рандомизации адресного пространства (KASLR) в процессе эксплуатации различных уязвимостей.

Атака базируется на флуктуациях потребления энергии CPU при выполнении определённых процессорных инструкций, обработке разных операндов и извлечений данных из памяти, позволяющих судить о характере загружаемых данных. В отличие от ранее разработанных похожих методов атак, анализирующих колебания напряжения, PLATYPUS не требует физического доступа к оборудованию и подключения осциллографа, а позволяет использовать интерфейс RAPL (Running Average Power Limit), доступный в процессорах Intel и AMD, начиная с семейств Sandy Bridge и Zen.

Проблему усугубляет то, что добавленный в ядро Linux фреймворк powercap, предоставляет доступ к счётчикам RAPL непривилегированным пользователям, давая возможность отслеживать потребление памяти CPU и DRAM. В Windows и macOS для проведения атаки требуется установка пакета Intel Power Gadget (данный пакет требует привилегированного доступа).

Проведение атаки затрудняет очень низкое разрешение измерений, несравнимое с точностью, достижимой при применении осциллографа. В частности, RAPL позволяет снимать показания с частотой 20 килогерц и усредняет значения, в то время как осциллограф может снимать измерения с частотой нескольких гигагерц. Тем не менее, точности RAPL оказалось достаточно для выделения из общего потока команд информации о выполнении повторяющихся инструкций с разными данными или операндами.

Компании Intel и AMD уже выпустили обновление кода драйверов для Linux, в которых доступ к RAPL ограничен пользователем root. Разработчики гипервизора Xen дополнительно выпустили исправление, блокирующие доступ к RAPL из гостевых систем.

При этом, ограничения доступа недостаточно для блокирования атак на анклавы Intel SGX, которые могут производиться злоумышленниками, получившими привилегированный доступ к системе. Для защиты от подобных атак компания Intel дополнительно опубликовала обновление микрокода, в котором также устранено ещё несколько уязвимостей, способных привести к утечке данных. Всего в ноябрьском обновлении Intel устранено 95 уязвимостей в разных продуктах.

Атаке подвержен достаточно большой спектр настольных, мобильных и серверных процессоров Intel, начиная с семейства Sandy Bridge. В системах на базе CPU AMD интерфейс RAPL присутствует начиная с семейства Zen, но драйверы для ядра Linux позволяют получить непривилегированный доступ к статистике только для CPU AMD Rome. Потенциально атака может быть применена к процессорам ARM, в которых имеются собственные системы сбора метрик об изменении энергии, а драйверы к чипам Marvell и Ampere предоставляют непривилегированный доступ к датчикам, но детальный анализ возможности реализации атаки для таких устройств не проводился.

Дополнение: В обновлении микрокода Intel выявлена проблема, приводящая к зависанию на системах Tiger Lake.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54068


Comments 0