Uus tehnika Spectre klassi haavatavuste ekspluateerimiseks Chromes

Ameerika, Australia ja Iisraeli ĂŒlikoolide teadlaste rĂŒhm on vĂ€lja pakkunud uue kĂŒlgkanalite rĂŒnnaku tehnika, et Ă€ra kasutada Spectre klassi haavatavusi Chromiumi pĂ”histel brauseritel. RĂŒnnak, mille koodinimi on Spook.js, vĂ”imaldab JavaScripti koodi kĂ€ivitamise kaudu mööduda saidi isolatsiooni mehhanismist ja lugeda kogu praeguse protsessi aadressiruumi sisu, st pÀÀseda juurde teiste vahekaartide avatud lehtede andmetele, mis töötlevad ĂŒhes protsessis.

Kuna Chrome kĂ€ivitab erinevaid saite erinevates protsessides, on praktiliste rĂŒnnakute vĂ”imalused piiratud teenustega, mis vĂ”imaldavad erinevatel kasutajatel oma lehti majutada. Meetod vĂ”imaldab rĂŒndajal, kellest on vĂ”imalik sisestada oma JavaScripti kood, tuvastada teised sama saidi kasutaja avatud lehed ja hankida neilt konfidentsiaalset teavet, nagu nĂ€iteks sisselogimisandmed vĂ”i pangarekvisiidid, mille sĂŒsteem automaatse tĂ€itmise korral web-vormides tĂ€idab. Demonstratsioonina on nĂ€idatud, kuidas rĂŒnnata kellegi teise blogi Tumblr'is, kui selle omanik avab teises vahekaardis kurjategijate blogi sama teenuse raames.

Vaata videot

Teine meetodi rakendamise variant on rĂŒnnak brauserilaiendite vastu, mis vĂ”imaldab rĂŒndajal installeerida kontrolli all oleva laiendi kaudu andmeid teistest laienditest vĂ€lja vĂ”tta. NĂ€itena on illustreeritud, kuidas kahjuliku laiendi installimisega saab hankida konfidentsiaalset teavet paroolihaldurist LastPass.

Vaata videot

Uurijatel on avaldatud Chrome 89-s töötava eksploitide prototĂŒĂŒp, mis töötab CPU Intel i7-6700K ja i7-7600U sĂŒsteemides. Eksploitatsiooni loomisel on kasutatud Google'i varem avaldatud JavaScript-koodi prototĂŒĂŒpe Spectre rĂŒnnakute sooritamiseks. Uurijad on suutnud ette valmistada töötavaid eksploitide versioone Intel ja Apple M1 protsessorite sĂŒsteemide jaoks, mis vĂ”imaldab korraldada mĂ€lu lugemist kiirusel 500 baiti sekundis ja 96% tĂ€psusega. Eeldatakse, et meetod sobib ka AMD protsessoritele, kuid tĂ€ielikult toimiva eksploidiga valmis ei saadud.

RĂŒnnak on rakendatav kĂ”igile Chromiumi mootoril pĂ”hinevatele brauseritele, sealhulgas Google Chrome, Microsoft Edge ja Brave. Uurijad usuvad ka, et meetodit saab kohandada töötamiseks Firefoxiga, kuid kuna Firefoxi mootor erineb tugevalt Chrome'ist, on selle sarnase eksploidiga loomise töö jĂ€etud tulevikku.

Veebibrauseri kaudu toimuvate spekulatiivsete juhiste tĂ€itmise rĂŒnnakute kaitsmiseks on Chromes rakendatud aadressiruumi segmentimist — sandbox-isolatsioon lubab JavaScripti töötada ainult 32-bitiste nĂ€idikutega ja jagab kĂ€sitlejate mĂ€lu mitteĂŒhtlastesse 4 GB hunnikutesse (heap). KĂŒsimiseks, kuidas pÀÀseda juurde kogu protsessi aadressiruumi ja mööduda 32-bitise piirangust, on teadlased kasutanud Type Confusion'i tehnikat, mis sunnib JavaScripti mootori töötlema objekti valesti mÀÀratud tĂŒĂŒbis, andes vĂ”imaluse luua 64-bitine nĂ€idik kahe 32-bitise vÀÀrtuse kombinatsiooni alusel.

RĂŒnnaku olemus seisneb selles, et JavaScript-mootori töötlemisel luuakse tingimused, mis viivad spekulatiivse tĂ€itmise korralduste juurde, mis ligipÀÀseb massiivile. Objekt valitakse selliselt, et rĂŒndajate kontrollitavad vĂ€ljad asuvad 64-bitise nĂ€itajaga alal. Kuna kahjulik objekti tĂŒĂŒp ei vasta töödeldava massiivi tĂŒĂŒbile, blokeerib Chrome'i koodi deoptimeerimise mehhanism tavaliselt sellised toimingud, mis on seotud massiivide ligipÀÀsuga. Selle probleemi lahendamiseks viiakse Type Confusion rĂŒnnaku kood tingimuslikku plokki „if”, mis ei aktiveeru normaalses olukorras, kuid tĂ€idetakse spekulatiivses reĆŸiimis, kui protsessor ennustab vale suunamist.

Seega protsessor spekulatiivselt pöördub loodud 64-bitise osutaja poole ja tagastab oleku pĂ€rast ebaĂ”nnestunud prognoosi mÀÀramist, kuid tĂ€itmisjĂ€ljed jÀÀvad ĂŒldsesse vahemĂ€lu ja neid saab taastada vahemĂ€lu sisu mÀÀramise meetodite abil kolmandate osapoolte kanalite kaudu, mis analĂŒĂŒsivad juurdepÀÀsuaja muutust vahemĂ€lus ja mittevahemĂ€lus olevate andmete vahel. VahemĂ€lu sisu analĂŒĂŒsimiseks olemasoleva JavaScripti ajaanduri tĂ€psuse puudulikkuse tingimustes kasutatakse Google'i pakutud meetodit, mis petab protsessorites rakendatavat Tree-PLRU vahemĂ€lu andmete vĂ€lja tĂ”rjumise strateegiat ja vĂ”imaldab tsĂŒklite arvu suurendamise kaudu oluliselt suurendada aega olemasoleva ja puuduva vÀÀrtuse puhul vahemĂ€lus.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster