Напад екстракције ЦПУ кеша имплементиран у веб претраживачу без ЈаваСцрипт-а

Тим истраживача са неколико америчких, израелских и аустралијских универзитета развио је три напада која се покрећу на веб претраживаче како би извукли информације о садржају кеша процесора. Једна метода ради у претраживачима без ЈаваСцрипт-а, а друга два заобилазе постојеће методе заштите од напада са стране канала, укључујући и оне које се користе у претраживачу Тор и ДетерФок-у. Код за демонстрацију напада, као и серверске компоненте неопходне за нападе, објављени су на ГитХуб-у.

За анализу садржаја кеша, сви напади користе метод Приме+Пробе, који укључује пуњење кеша стандардним скупом вредности и откривање промена мерењем времена приступа њима приликом њиховог поновног пуњења. Да би се заобишли безбедносни механизми присутни у претраживачима који ометају тачно мерење времена, у две опције, апелује се на ДНС или ВебСоцкет сервер који контролише нападач, који води евиденцију о времену примљених захтева. У једном аспекту, фиксно ДНС време одговора се користи као временска референца.

Мерења извршена коришћењем екстерних ДНС или ВебСоцкет сервера, коришћењем система класификације заснованог на машинском учењу, била су довољна за предвиђање вредности са тачношћу до 98% у најоптималнијем сценарију (у просеку 80-90%). Методе напада су тестиране на различитим хардверским платформама (Интел, АМД Ризен, Аппле М1, Самсунг Екинос) и показале су се универзалне.

Напад екстракције ЦПУ кеша имплементиран у веб претраживачу без ЈаваСцрипт-а

Прва варијанта ДНС Рацинг напада користи класичну имплементацију Приме+Пробе методе користећи ЈаваСцрипт низове. Разлике се своде на употребу екстерног тајмера заснованог на ДНС-у и руковаоца грешком, који се покреће када се покуша учитати слика са непостојећег домена. Екстерни тајмер омогућава Приме+Пробе напад на претраживаче који ограничавају или потпуно онемогућавају приступ ЈаваСцрипт тајмерима.

За ДНС сервер који се налази на истој Етернет мрежи, тачност тајмера се процењује на приближно 2 мс, што је довољно да се изврши напад са стране канала (за поређење, тачност стандардног ЈаваСцрипт тајмера у Тор претраживачу је смањено на 100 мс). За напад није потребна контрола над ДНС сервером, јер је време извршења операције изабрано тако да време одговора са ДНС-а служи као знак ранијег завршетка провере (у зависности од тога да ли је покренут руковалац грешком). раније или касније доноси се закључак о брзини операције провере са кешом) .

Други метод напада, „Стринг анд Соцк“, има за циљ да заобиђе безбедносне технике које ограничавају употребу низова на ниском нивоу у ЈаваСцрипт-у. Уместо низова, Стринг и Соцк користе операције на веома великим стринговима, чија се величина бира тако да променљива покрива цео ЛЛЦ кеш (кеш последњег нивоа). Затим се помоћу функције индекОф() у стрингу претражује мали подниз, који у почетку нема у изворном низу, тј. операција претраге резултира понављањем преко целог низа. Пошто величина линије одговара величини ЛЛЦ кеша, скенирање вам омогућава да извршите операцију провере кеша без манипулисања низовима. За мерење кашњења, уместо ДНС-а, упућује се позив ВебСоцкет серверу који контролише нападач – пре и после завршетка операције претраге, упити се шаљу у линији, на основу којих сервер израчунава кашњење коришћено за анализу кеша. садржаја.

Трећа варијанта „ЦСС ПП0“ напада се имплементира преко ХТМЛ-а и ЦСС-а и може да ради у прегледачима са онемогућеним ЈаваСцрипт-ом. Метод је сличан „Стринг анд Соцк“, али није везан за ЈаваСцрипт. Током напада, генерише се скуп ЦСС селектора који траже по маски. Почетни велики стринг који испуњава кеш меморију се поставља креирањем див ознаке са веома великим именом класе. Унутра се налази скуп других див-ова са сопственим идентификаторима. Сваки од ових угнежђених див-ова има свој стил са селектором који тражи подниз. Приликом приказивања странице, претраживач прво покушава да обради унутрашње дивове, што резултира операцијом претраживања на великом реду. Претрага се врши коришћењем маске која намерно недостаје и доводи до понављања преко целе линије, након чега се покреће услов „не“ и покушава се учитати позадинска слика која упућује на насумичне домене: #пп:нот([ цласс*='кјтокг']) # с0 {бацкгроунд-имаге: урл("хттпс://кдлвибмр.хеллдомаин.ои.не.ро");} #пп:нот([цласс*='гзсткф']) # с1 {бацкгроунд-имаге: урл(" хттпс://лицфсдју.хеллдомаин.ои.не.ро");} ... Кс Кс …

Поддомене опслужује нападачев ДНС сервер, који може да мери кашњења у пријему захтева. ДНС сервер издаје НКСДОМАИН за све захтеве и води евиденцију тачног времена захтева. Као резултат обраде скупа див-ова, ДНС сервер нападача прима низ захтева, кашњења између којих су у корелацији са резултатом провере садржаја кеша.

Напад екстракције ЦПУ кеша имплементиран у веб претраживачу без ЈаваСцрипт-а


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

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