Hertzbleed, новая атака на процессоры Intel и AMD
Автор: Kaspersky_LabТолько недавно мы написали про подобную SPECTRE уязвимость в процессорах на базе архитектуры ARM. На прошлой неделе вышла новая исследовательская работа, которая описывает еще одну атаку на процессоры Intel и AMD. Как в SPECTRE и подобных атаках, в Hertzbleed используется не то чтобы баг, а скорее обычная функциональность процессоров. В данном случае это система динамической регулировки частоты и напряжения процессора в зависимости от нагрузки. Отсюда и название исследования.
Если совсем коротко, в работе показан метод извлечения секретов (конкретно — ключей шифрования) путем манипуляции системой регулировки частоты процессора. Создавая условия для изменения частоты, а соответственно и скорости обработки инструкций при выполнении криптографической функции, исследователи смогли организовать утечку данных по стороннему каналу. Таким образом, это аппаратная атака, схожая по своей природе на классический анализ данных по сторонним каналам непосредственно «на железе». Типичным примером классической атаки является анализ флуктуаций потребляемой микросхемой энергии. Но в случае с Hertzbleed атаку теоретически можно провести и удаленно, так как метод наблюдения за выполнением инструкций встроен в сам процессор.
Источники информации:
- Сайт проекта и научная работа.
- Еще одна научная работа, независимо исследовавшая похожую атаку на стороне криптографического алгоритма.
- Бюллетень и пост в блоге компании Intel.
- Бюллетень компании AMD.
- Обзорная статья в издании ArsTechnica.
В данной работе крайний интерес представляет символическая связь между Hertzbleed и более традиционными атаками по сторонним каналам с использованием условного «вольтметра» для наблюдения за работой микросхемы или модуля. Но подобная отсылка происходит не впервые, так как в современных процессорах (очень!) условный вольтметр часто бывает встроенным. Например, это метрика Running Average Power Limit в процессорах Intel, сообщающая об энергопотреблении. В феврале сообщалось о потенциальной атаке, которая путем наблюдения за RAPL позволяет извлекать секретную информацию, в частности из защищенного анклава Software Guard Extensions.
Впрочем, такие атаки можно затруднить, просто ограничив доступ ПО к механизмам, подобным RAPL. Системы динамического изменения частоты и напряжения процессора (dynamic voltage and frequency scaling, DVFS) просто так отключить не получится, а если удастся каким-то образом организовать через них канал наблюдения за исполнением инструкций, можно получить достаточно подробные данные.
Еще одна необходимая вводная в исследовательской работе — системы защиты криптографических алгоритмов от наблюдения. Достаточно давно (начиная с 1996 года) в подобных алгоритмах применяется метод constant-time programming. Если время, затрачиваемое на выполнение процедуры шифрования данных, как-то зависит от вводных (например, от ключа шифрования), то теоретически можно реконструировать ключ, просто наблюдая за выполнением этой процедуры. И нет необходимости использовать аппаратные атаки. Constant-time programming убирает эту уязвимость, то есть независимо от вводных выполнение процедуры на одном и том же железе всегда занимает одно и то же время. Современный пример криптографического алгоритма с таким методом — это SIKE, разрабатываемый в течение последних 10 лет и претендующий на звание одного из решений постквантовой криптографии.
Проблема в том, что DVFS ломает правило исполнения процедур шифрования с постоянными временными интервалами. Hertzbleed показывает это на практике применительно к SIKE как к относительно современному механизму энкапсуляции ключей, многократно протестированному на резистентность к атакам по сторонним каналам. Это было не так-то просто сделать: изменение параметров работы процессоров хоть и может происходить с достаточно короткими интервалами (тысячные доли секунды), но между этими событиями выполняются миллионы циклов. С точки зрения наблюдателя это очень грубый механизм.
Само исследование поделено на две части. В первой авторы изучают принцип работы DVFS на системе с процессором Intel, нагружая его базовыми вычислительными задачами. Во второй части они конструируют атаку на алгоритм SIKE. В атаке используются не только особенности DVFS, но и тонкости самого алгоритма. В результате происходит атака типа chosen-ciphertext, когда у нас есть возможность передавать на атакуемую систему данные, зашифрованные произвольным ключом шифрования. При некоторых условиях исследователям удалось добиться устойчивого состояния, когда частота процессора повышается и инструкция выполняется быстрее, в зависимости от вводных. Измеряя время отклика алгоритма на предложенные вводные данные, авторы работы смогли реконструировать почти весь ключ шифрования, который изначально был неизвестен (оставшуюся часть ключа для скорости подобрали перебором).
Звучит впечатляюще, но стоит поговорить и о характерных для атак по сторонним каналам серьезных ограничениях. С одной стороны, для атаки были выбраны реально используемые решения CIRCL компании Cloudflare и PQCrypto-SIDH компании Microsoft, частью которых является алгоритм SIKE. С другой — демонстрационная атака на них в контролируемых условиях заняла соответственно 36 и 89 часов, в течение которых к атакуемому криптографическому решению были направлены сотни миллионов запросов.
Атака была проверена на процессорах Intel с 8-го по 11-е поколение. Была показана возможность реализации атаки и на процессорах AMD. В конце прошлого года информация об атаке была доведена до Intel, AMD, Microsoft и Cloudflare. Уязвимость получила идентификаторы CVE-2022-23823 для Intel и CVE-2022-24436 для AMD. Тут все же правильнее говорить о законной функциональности работы процессора, что подтверждается действиями вендоров. Intel и AMD не планируют выпускать обновления микрокода для подверженных процессоров, вместо этого предлагая закрывать проблему в софте. Microsoft и Cloudflare обновили код своих криптографических систем (заодно замедлив их работу соответственно на 5 и 11 процентов). Пока исследование находилось под эмбарго (по просьбе Intel), независимая команда исследователей продемонстрировала похожую атаку и предложила изменения непосредственно в алгоритме SIKE.
Интересное получилось исследование. Его авторы нашли способ извлечения ключа шифрования с помощью нового метода наблюдения за работой процессора, причем атака теоретически может быть выполнена удаленно, по сети. Как отметили в Intel, у данного класса атак есть большие перспективы, но конкретная работа вряд ли применима на практике. В атаке задействованы не только особенности DVFS, она также во многом зависит от поведения алгоритма SIKE (которое в итоге и было изменено). Поэтому можно понять производителей процессоров, которые не склонны прибегать к дорогостоящим изменениям, если вопрос закрывается программно. Другое дело, что это только один пример атаки на конкретный «кирпичик» криптографической системы. Возможно, в будущем удастся смоделировать более опасную атаку, решением для которой будет только полное отключение системы динамического изменения частоты (в терминах Intel это Turbo Boost) с драматическим провалом в производительности. Впрочем, ни одну аппаратную атаку пока не удалось довести до такого опасного сценария.
Что еще произошло:
На конференции WWDC компания Apple продемонстрировала технологию, позволяющую отказаться от верификации пользователя с помощью метода Captcha. В компании предложили механизм, авторизующий пользователя с помощью некоего Private Access Token, по сути идентификатора сетевых запросов, удостоверяющего, что они приходят от реального пользователя, а не от робота. Похожий метод использует в своей капче Google, исключая запросы типа «покажите все светофоры на картинке» для тех, кто залогинен в сервисы компании. Потенциальным ущербом от внедрения таких технологий может быть то, что для пользователей, не использующих продукты крупных вендоров, количество проверочных запросов в будущем будет только увеличиваться.
В рамках очередного набора патчей от Microsoft на прошлой неделе была закрыта уязвимость Follina в компоненте Microsoft Support Diagnostic Protocol. Мы писали об этой проблеме в начале июня.
Исследователи «Лаборатории Касперского» подготовили обзор, посвященный безопасности роутеров. Самое часто детектируемое вредоносное ПО, эксплуатирующее уязвимости в роутерах, относится к ботнету Mirai. Самих уязвимостей в сетевых устройствах за 2020 и 2021 год было обнаружено более 500 штук.
Еще одно исследование «Лаборатории Касперского» приводит показательные примеры перепродажи корпоративных данных на черном рынке. В ассортименте утечек не только данные учетных записей, но и большой объем логов, из которых также можно вытащить пригодную для дальнейших атак информацию.