Новая атака Platypus на процессоры Intel и AMD
12 ноября 2020 года
Группа исследователей из Грацского технического университета (Австрия), ранее известная разработкой методов атак 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 предоставляют непривилегированный доступ к датчикам, но детальный анализ возможности реализации атаки для таких устройств не проводился.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.