ЛВИ је нова класа напада на механизам спекулативног извршења у ЦПУ-у

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

Нова класа напада заснована је на манипулацији истим микроархитектонским структурама које се користе у нападима МДС (Узорковање микроархитектонских података), Спецтре и Мелтдовн. Истовремено, нови напади нису блокирани постојећим методама заштите од Мелтдовн, Спецтре, МДС и других сличних напада. Ефикасна ЛВИ заштита захтева промене хардвера на ЦПУ-у. Приликом програмског организовања заштите, додавањем ЛФЕНЦЕ инструкције од стране компајлера након сваке операције учитавања из меморије и заменом РЕТ инструкције са ПОП, ЛФЕНЦЕ и ЈМП, бележи се превелики трошкови - према истраживачима, потпуна софтверска заштита ће довести до смањења перформансе за 2-19 пута.

Део потешкоћа у блокирању проблема је надокнађен чињеницом да је напад тренутно више теоретски него практичан (напад је теоретски могућ, али веома тежак за имплементацију и репродуциран само у синтетичким тестовима).
Интел присвојио проблем има умерени ниво опасности (5.6 од 10) и пуштен ажурирање фирмвера и СДК за СГКС окружење, у којем је покушао да блокира напад користећи заобилазно решење. Предложене методе напада су тренутно применљиве само на Интел процесоре, али се не може искључити могућност прилагођавања ЛВИ-а за друге процесоре на које су применљиви напади класе Мелтдовн.

Проблем је прошлог априла идентификовао истраживач Јо Ван Булк са Универзитета у Левену, након чега је, уз учешће 9 истраживача са других универзитета, развијено пет основних метода напада, од којих свака омогућава постојање специфичнијих опције. Независно, у фебруару ове године, истраживачи из Битдефендера такође открио једну од варијанти ЛВИ напада и пријавио је Интелу. Варијанте напада се разликују по употреби различитих микроархитектонских структура, као што су бафер за складиштење (СБ, Сторе Буффер), бафер за попуњавање (ЛФБ, Лине Филл Буффер), бафер за пребацивање контекста ФПУ и кеш првог нивоа (Л1Д), који се раније користио у нападима као нпр ЗомбиеЛоад, РИДЛ, Испадање, ЛазиФП, Форесхадов и Топљење језгра нуклеарног реактора.

ЛВИ је нова класа напада на механизам спекулативног извршења у ЦПУ-у

Главни почасти ЛВИ против МДС напада је да МДС манипулише одређивањем садржаја микроархитектонских структура које остају у кешу након спекулативног руковања грешкама или операција учитавања и складиштења, док
ЛВИ напади омогућавају да се подаци нападача уметну у микроархитектонске структуре како би се утицало на накнадно спекулативно извршавање кода жртве. Користећи ове манипулације, нападач може да издвоји садржај приватних структура података у другим процесима приликом извршавања одређеног кода на циљном ЦПУ језгру.

ЛВИ је нова класа напада на механизам спекулативног извршења у ЦПУ-у

За проблем експлоатације у коду процеса жртве треба да се састане посебне секвенце кода (гаџета) у којима се учитава вредност коју контролише нападач, а учитавање ове вредности изазива избацивање изузетака (грешка, прекид или помоћ), одбацујући резултат и поновно извршавање инструкције. Када се обради изузетак, појављује се спекулативни прозор током којег подаци обрађени у гаџет цуре. Конкретно, процесор почиње да извршава део кода (гаџет) у спекулативном режиму, затим утврђује да предвиђање није било оправдано и враћа операције у првобитно стање, али се подаци обрађени током спекулативног извршавања депонују у Л1Д кеш меморију и микроархитектонске бафере и доступан је за преузимање од њих уз коришћење познатих метода за одређивање резидуалних података преко канала треће стране.

Изузетком "помоћ", за разлику од изузетка "грешке", процесор управља интерно без позивања софтверских руковалаца. Помоћ се може појавити, на пример, када треба ажурирати бит А (приступљено) или Д (прљаво) у табели меморијских страница. Главна потешкоћа у извођењу напада на друге процесе је како иницирати појаву асистенције манипулисањем процесом жртве. Тренутно не постоје поуздани начини да се то уради, али је могуће да ће се они наћи у будућности. Могућност извођења напада је до сада потврђена само за Интел СГКС енклаве, други сценарији су теоретски или репродуцибилни у синтетичким условима (захтева додавање одређених гаџета у код)

ЛВИ је нова класа напада на механизам спекулативног извршења у ЦПУ-у

ЛВИ је нова класа напада на механизам спекулативног извршења у ЦПУ-у

Могући вектори напада:

  • Цурење података из структура кернела у процес на нивоу корисника. Заштита Линук кернела од напада Спецтре 1, као и СМАП (Супервисор Моде Аццесс Превентион) заштитни механизам, значајно смањују вероватноћу ЛВИ напада. Додавање додатне заштите језгру може бити неопходно ако се у будућности идентификују једноставније методе ЛВИ напада.
  • Цурење података између различитих процеса. Напад захтева присуство одређених делова кода у апликацији и дефиницију методе за избацивање изузетка у циљном процесу.
  • Цурење података из окружења домаћина у систем за госте. Напад је класификован као сувише сложен и захтева различите кораке које је тешко спровести и предвиђања активности у систему.
  • Цурење података између процеса у различитим системима за госте. Вектор напада је близу организовања цурења података између различитих процеса, али додатно захтева сложене манипулације да би се заобишла изолација између система гостију.

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


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

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