Плундерволт је нови метод напада на Интел процесоре који утиче на СГКС технологију

Интел пуштен ажурирање микрокода које поправља рањивост (ЦВЕ-2019-14607), дозвољавајући манипулисањем динамичким механизмом за контролу напона и фреквенције у ЦПУ-у, иницира оштећење садржаја ћелија са подацима, укључујући подручја која се користе за прорачуне у изолованим Интел СГКС енклавама. Напад се зове Плундерволт и потенцијално омогућава локалном кориснику да ескалира своје привилегије на систему, изазове ускраћивање услуге и добије приступ осетљивим подацима.

Напад је опасан само у контексту манипулација прорачунима у СГКС енклавама, јер су за његово извођење потребна роот права у систему. У најједноставнијем случају, нападач може да искриви информације које се обрађују у енклави, али у сложенијим сценаријима могуће је реконструисати приватне кључеве ускладиштене у енклави који се користе за шифровање коришћењем алгоритама РСА-ЦРТ и АЕС-НИ. Техника се такође може користити за генерисање грешака у иницијално исправним алгоритмима како би се изазвале рањивости при раду са меморијом, на пример, за организовање приступа области изван границе додељеног бафера.
Прототип кода за извођење напада објављено на ГитХуб-у

Суштина методе је да се створе услови за појаву неочекиваних оштећења података током прорачуна у СГКС-у, од којих употреба шифровања и аутентификације меморије у енклави не штити. За увођење изобличења, показало се да је могуће користити стандардне софтверске интерфејсе за контролу фреквенције и напона, који се обично користе за смањење потрошње енергије у време мировања система и активирање максималних перформанси током интензивног рада. Карактеристике фреквенције и напона обухватају цео чип, укључујући утицај рачунарства у изолованој енклави.

Променом напона можете створити услове под којима пуњење није довољно за регенерацију меморијске ћелије унутар ЦПУ-а, а њена вредност се мења. Кључна разлика од напада РовХаммер је да вам РовХаммер омогућава да мењате садржај појединачних битова у ДРАМ меморији цикличним читањем података из суседних ћелија, док Плундерволт омогућава да мењате битове унутар ЦПУ-а када су подаци већ учитани из меморије за рачунање. Ова функција вам омогућава да заобиђете механизме контроле интегритета и шифровања који се користе у СГКС-у за податке у меморији, пошто вредности ​​у меморији остају тачне, али могу бити изобличене током операција са њима пре него што се резултат упише у меморију.

Ако се ова измењена вредност користи у процесу множења процеса шифровања, излаз се одбија са нетачним шифрованим текстом. Имајући могућност да контактира руковаоца у СГКС-у да шифрује своје податке, нападач може, узрокујући неуспехе, да акумулира статистику о променама у излазном шифрованом тексту и, за неколико минута, врати вредност кључа ускладиштеног у енклави. Оригинални улазни текст и исправан излазни шифровани текст су познати, кључ се не мења, а излаз нетачног шифрованог текста указује да је неки бит изобличен на супротну вредност.

Анализирајући парове вредности исправних и покварених шифрованих текстова акумулираних током различитих кварова, користећи методе диференцијалне анализе грешака (ДФА, Диференцијална анализа кварова) Моћи предвидети вероватне кључеве који се користе за АЕС симетрично шифровање, а затим, анализом пресека кључева у различитим скуповима, одредити жељени кључ.

Проблем утиче на различите моделе Интел процесора, укључујући Интел Цоре ЦПУ са 6
10. генерација, као и пета и шеста генерација Ксеон Е3, прва и друга генерација Интел Ксеон Сцалабле, Ксеон Д,
Ксеон В и Ксеон Е.

Подсетимо, СГКС технологија (Проширења софтверске заштите) појавио у шестој генерацији Интел Цоре процесора (Скилаке) и понуде серија упутстава која дозвољавају апликацијама на нивоу корисника да доделе затворене меморијске области - енклаве, чији садржај не може да се прочита или мења чак ни језгро и код који раде у ринг0, СММ и ВММ режимима. Немогуће је пренети контролу на код у енклави користећи традиционалне функције скока и манипулације са регистрима и стеком; за пренос контроле на енклаву користи се посебно креирана нова инструкција која врши проверу овлашћења. У овом случају, код смештен у енклаву може да користи класичне методе позивања за приступ функцијама унутар енклаве и посебне инструкције за позивање екстерних функција. Енклавно шифровање меморије се користи за заштиту од хардверских напада као што је повезивање са ДРАМ модулом.

Извор: опеннет.ру

Додај коментар