Команда специалистов из Технического университета Граца, Университета Бирмингема и Центра информационной безопасности имени Гельмгольца (CISPA) сообщила о новом методе атак, который позволяет злоумышленникам похищать данные из процессоров Intel.
Атака получила название Platypus (акроним от Power Leakage Attacks: Targeting Your Protected User Secrets) и нацелена на RAPL-интерфейсы процессоров Intel. RAPL (Running Average Power Limit) — компонент, который позволяет встроенным программным средствам или программным приложениям контролировать потребление энергии в ЦП и DRAM.
Атака Platypus может использоваться для определения того, какие данные обрабатываются внутри ЦП, путем анализа значений в RAPL-интерфейсе. Используя PLATYPUS, можно наблюдать вариации в энергопотреблении и делать выводы о загруженных значениях. Это могут быть ключи шифрования, пароли, конфиденциальные документы или любой другой тип информации. Доступ к таким данным обычно защищен множеством технологий, таких как рандомизация структуры адресного пространства ядра (KASLR) или аппаратно изолированные доверенные среды выполнения (TEE), например, Intel SGX. Однако исследователи говорят, что Platypus позволяет злоумышленнику обойти все эти системы безопасности, наблюдая за изменениями значений энергопотребления.
В ходе эксперимента специалистам удалось обойти KASLR, наблюдая за значениями энергопотребления RAPL всего в течение 20 секунд, и получить данные из ядра Linux. В другом тесте они также получили данные, которые обрабатывались в защищенных анклавах Intel SGX. Для хищения закрытых RSA-ключей из анклава SGX злоумышленникам потребуется отслеживать данные RAPL в течение 100 минут, а для хищения ключей шифрования AES-NI из анклава SGX и из пространства памяти ядра Linux — 26 часов.
По мнению исследовательской группы, атаки Platypus лучше всего работают в системах Linux. Это связано с тем, что ядро Linux поставляется с фреймворком PowerCap — универсальным драйвером для взаимодействия с RAPL-интерфейсами и другими API-интерфейсами ограничения мощности, позволяющими легко считывать значения энергопотребления.
Возможны атаки на Windows и macOS, но в этих случаях на атакованных устройствах должно быть установлено приложение Intel Power Gadget. Аналогичный эксперимент удалось провести и с AMD. В ходе атак использовались уязвимости CVE-2020-8694 (Linux + Intel), CVE-2020-8695 (Intel) и CVE-2020-12912 (Linux + AMD).
В то время как другим исследовательским группам удалось наблюдать за показаниями мощности процессора, подключив осциллографы к процессору, атаки Platypus можно проводить удаленно. Например, код атаки может содержаться внутри вредоносных приложений, установленных или размещенных на целевом устройстве. Это позволяет провести атаку без физического доступа к системе.
Компания Intel уже выпустила обновление прошивки ЦП для блокировки атак Platypus. Ядро Linux также получило обновление, которое ограничивает доступ к RAPL-интерфейсу только для приложений с повышенными привилегиями, что затрудняет проведение атак из низкоуровневых приложений.