Гоогле демонстрира експлоатацију рањивости Спецтре извршавањем ЈаваСцрипт-а у претраживачу

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

Предложени прототип је дизајниран за напад на системе са Интел Цоре и7-6500У процесорима у окружењу са Линуком и Цхроме 88. Да би се користио експлоат за друга окружења, потребне су модификације. Метод експлоатације није специфичан за Интел процесоре – након одговарајуће адаптације, потврђено је да експлоатација ради на системима са ЦПУ-има других произвођача, укључујући Аппле М1 заснован на АРМ архитектури. После мањих подешавања, експлоатација је такође изводљива у другим оперативним системима и другим претраживачима заснованим на Цхромиум машини.

У окружењу заснованом на стандардним Цхроме 88 и Интел Скилаке процесорима, било је могуће процурити податке из процеса одговорног за обраду веб садржаја на тренутној картици Цхроме (процес рендерера) брзином од 1 килобајта у секунди. Поред тога, развијени су алтернативни прототипови, на пример, експлоатација која омогућава, по цену смањења стабилности, да се повећа стопа цурења на 8кБ/с када се користи тајмер перформанси.нов() са тачношћу од 5 микросекунди (0.005 милисекунди ). Припремљена је и верзија која је радила са тачношћу тајмера од једне милисекунде, која је могла да се користи за организовање приступа меморији другог процеса брзином од око 60 бајтова у секунди.

Објављени демо код се састоји од три дела. Први део калибрише тајмер да процени време извршења операција потребних за враћање података преосталих у кешу процесора као резултат спекулативног извршавања ЦПУ инструкција. Други део одређује распоред меморије који се користи приликом додељивања ЈаваСцрипт низа.

Трећи део директно искоришћава рањивост Спецтре за одређивање меморијског садржаја тренутног процеса као резултат стварања услова за спекулативно извршавање одређених операција, чији резултат одбацује процесор након утврђивања неуспешног предвиђања, али трагови извршења се депонују у општу кеш меморију и могу се вратити коришћењем метода за одређивање садржаја кеша путем канала треће стране који анализирају промене у времену приступа кешираним и некешираним подацима.

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

Гаџет је имплементиран коришћењем ЈаваСцрипт низа у коме се покушава приступити области изван граница бафера, што утиче на стање блока предвиђања гранања због присуства провере величине бафера коју додаје компајлер (процесор, гледајући унапред, спекулативно обавља приступ, али враћа стање након провере). За анализу садржаја кеша у условима недовољне тачности тајмера, предложен је метод који обмањује стратегију избацивања кеша Трее-ПЛРУ која се користи у процесорима и омогућава да се повећањем броја циклуса значајно повећа разлика у времену при враћању вредност из кеша и када нема вредности у кешу.

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

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



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

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