Plundervolt — новый метод атаки на процессоры Intel, затрагивающий технологию SGX

11 декабря 2019 года

Компания Intel выпустила обновление микрокода, устраняющего уязвимость (CVE-2019-14607), позволяющую через манипуляции с механизмом динамического управления напряжением и частотой в CPU инициировать повреждение содержимого ячеек с данными, в том числе в областях, используемых при вычислениях в изолированных анклавах Intel SGX. Атака получила название Plundervolt и потенциально позволяет локальному пользователю добиться повышения своих привилегий в системе, вызвать отказ в обслуживании и получить доступ к закрытым данным.

Атака представляет опасность только в контексте манипуляций с вычислениями в анклавах SGX, так как для проведения требует наличия прав root в системе. В простейшем случае, атакующий может добиться внесения искажений в информацию, обрабатываемую в анклаве, но при более сложных сценариях не исключается возможность воссоздания хранимых в анклаве закрытых ключей, используемых для шифрования с использованием алгоритмов RSA-CRT и AES-NI. Техника также может применяться для генерации ошибок в изначально корректных алгоритмах для провоцирования возникновения уязвимостей при работе с памятью, например, для организации обращения к области за границей выделенного буфера. Прототип кода для совершения атаки опубликован на GitHub

Суть метода заключается в создании условий для возникновения непредвиденных искажений данных при вычислениях в SGX, от которых не защищает применение шифрования и аутентификации памяти в анклаве. Для внесения искажений, оказалось, можно использовать штатные программные интерфейсы для управления частотой и напряжением, обычно применяемые для снижения энергопотребления во время простоя системы и активации максимальной производительности при выполнении интенсивных работ. Характеристики частоты и напряжения охватывают весь чип, в том числе влияют на выполнение вычислений в изолированном анклаве.

Изменяя напряжение, можно добиться возникновения условий, при которых заряда оказывается недостаточно для регенерации ячейки памяти внутри CPU, и её значение меняется. Ключевым отличием от атаки RowHammer является то, что RowHammer позволяет изменить содержимое отдельных битов в памяти DRAM, путём цикличного чтения данных из соседних ячеек, в то время как Plundervolt позволяет добиться изменения битов внутри CPU, когда данные уже загружены из памяти для выполнения вычислений. Подобная особенность позволяет обойти применяемые в SGX механизмы контроля целостности и шифрования данных в памяти, так как значения в памяти остаются корректными, но могут исказиться при операциях с ними до того, как результат будет записан в память.

Если данное изменённое значение используется в процессе умножения в процессе шифрования, то на выходе оказывается некорректный шифротекст. Имея возможность обращаться к обработчику в SGX для шифрования своих данных, атакующий может, вызывая сбои, накопить статистику об изменении шифротекста на выходе и за несколько минут восстановить значение хранящегося в анклаве ключа. Исходный текст на входе и корректный шифротекст на выходе известны, ключ не изменяется, а вывод некорректного шифротекста свидетельствует об искажении какого-то бита на противоположное значение.

Проанализировав накопленные при разных сбоях пары значений корректного и искажённого шифротекстов, при помощи методов дифференциального анализа сбоев (DFA, Differential Fault Analysis) можно

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Plundervolt — новый метод атаки на процессоры Intel, затрагивающий технологию SGX», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.