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