Каспер, скенер за спекулативне проблеме извршавања кода у Линук кернелу, сада је доступан

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

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

Раније доступни алати за скенирање гаџета на рањивост Спецтре, засновани на тражењу типичних образаца, показали су веома висок ниво лажних позитивних резултата, док су недостајали многи прави геџети (експерименти су показали да 99% гаџета идентификованих помоћу таквих алата није могло да се користи за нападе , а 33% радних геџета који би могли да доведу до напада нису примећени).

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

Каспер, скенер за спекулативне проблеме извршавања кода у Линук кернелу, сада је доступан

Приликом тестирања, кернел је повезан са Каспер рунтиме библиотекама и провере које се покрећу на ЛЛВМ нивоу. Процес провере емулира спекулативно извршавање кода, имплементирано коришћењем механизма за враћање контролне тачке, који посебно извршава погрешно предвиђену грану кода, а затим се враћа у првобитно стање пре него што је гранање почела. Каспер такође покушава да симулира различите софтверске и хардверске рањивости, анализира утицај архитектонских и микроархитектонских ефеката и врши фузз тестирање могућих акција нападача. За анализу токова извршавања користи се порт ДатаФловСанитизер за језгро Линука, а за фуззинг тестирање се користи модификована верзија пакета сизкаллер.

Каспер, скенер за спекулативне проблеме извршавања кода у Линук кернелу, сада је доступан

Скенирањем Линук кернела помоћу Каспера идентификовано је 1379 раније непознатих гаџета који потенцијално доводе до цурења података током спекулативног извршавања инструкција. Напомиње се да можда само неки од њих могу представљати стварне проблеме, али да би се показало да постоји стварна опасност, а не само теоријска, развијен је радни прототип експлоатације за један од проблематичних фрагмената кода, који води до информација цурење из меморије кернела.

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

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