Группа исследователей из Технологического университета Граца (Австрия), ранее известная разработкой методов атак на MDS, NetSpectre, Throwhammer и ZombieLoad, недавно объявила о разработке нового метода атаки по побочным каналам, получившего кодовое название "PLATYPUS".
Атака позволяет восстанавливать вычисленные данные на основе информации, полученной непривилегированным пользователем через интерфейс мониторинга энергопотребления RAPL, предоставляемый современными процессорами Intel (CVE-2020-8694, CVE-2020-8695) и AMD (CVE-2020-12912).
О PLATYPUS
Исследователям удалось продемонстрировать извлечение закрытого ключа RSA анклава Intel SGX, используемого для шифрования, с помощью библиотеки mbed TLS, а также ключей AES, используемых для шифрования AES-NI на уровне ядра Linux.
Кроме того, показано, что атака может быть использована для обхода механизмов защиты и определения параметров рандомизации адресного пространства (KASLR) при эксплуатации различных уязвимостей.
Атака основана на колебаниях энергопотребления процессора при выполнении определенных инструкций, обработке различных операндов и извлечении данных из памяти, что позволяет злоумышленнику определить характер загружаемых данных. В отличие от аналогичных методов атаки, разработанных ранее и анализирующих колебания напряжения, PLATYPUS не требует физического доступа к компьютеру или подключения осциллографа, а использует интерфейс RAPL (Running Average Power Limit), доступный на процессорах Intel и AMD, начиная с семейств Sandy Bridge и Zen.
Мы пользуемся преимуществом непривилегированного доступа к интерфейсу Intel RAPL, демонстрируя энергопотребление процессора для вывода данных и извлечения криптографических ключей.
Проблема усугубляется тем фактом, что инфраструктура powercap, добавленная в ядро Linux, обеспечивает доступ к счетчикам RAPL для непривилегированных пользователей, что позволяет отслеживать потребление ЦП и DRAM. В Windows и macOS для атаки требуется установка пакета Intel Power Gadget (для этого пакета требуется привилегированный доступ).
Атаке препятствует очень низкое разрешение измерения, несравнимое с точностью, достигаемой с помощью осциллографа. В частности, RAPL может снимать показания на частоте 20 килогерц и усредненные значения, тогда как осциллограф может снимать измерения на нескольких гигагерцах. Однако точность RAPL оказалась достаточной для извлечения информации из общего потока инструкций о выполнении повторяющихся инструкций с разными данными или операндами.
Intel и AMD выпустили обновленный код драйверов для Linux , ограничивающий доступ к RAPL только для пользователя root. Разработчики гипервизора Xen также выпустили решение, блокирующее доступ к RAPL из гостевых систем.
В то же время, ограничений доступа недостаточно для блокировки атак на анклавы Intel SGX, которые могут быть осуществлены злоумышленниками, получившими привилегированный доступ к системе.
Для защиты от этих атак Intel также выпустила обновление микрокода , которое исправляет ряд других уязвимостей, способных привести к утечке данных. В общей сложности, ноябрьское обновление Intel устранило 95 уязвимостей в различных продуктах.
Довольно широкий спектр настольных, мобильных и серверных процессоров Intel, начиная с семейства Sandy Bridge, подвержен атакам.
В системах на базе ЦП AMD интерфейс RAPL существует еще со времен семейства Zen, но драйверы ядра Linux позволяют только непривилегированный доступ к статистике ЦП AMD Rome.
Атака потенциально может быть применена к процессорам ARM, у которых есть собственные системы для сбора метрик по изменениям мощности, а драйверы чипов Marvell и Ampere предоставляют непривилегированный доступ к датчикам, но подробный анализ возможности реализации атаки для таких устройств.
Наконец, если вас интересует более подробная информация о новом типе атаки, «PLATYPUS», вы можете найти ее по следующей ссылке.