Spook.js, një teknikë e re për të shfrytëzuar dobësitë e Spectre në Chrome

Një grup studiuesish nga universitetet amerikane, australiane dhe izraelite raportuan se përshkroi një teknikë të re sulmi që lejon të shfrytëzohen dobësitë Klasa Spectre në shfletuesit e mundësuar nga Chromium.

Sulmi, i koduar Spook.js, lejon kur ekzekutoni kodin JavaScript të anashkaloni mekanizmin e izolimit të sitit dhe leximi i përmbajtjes së të gjithë hapësirës së adresave të procesit aktual, domethënë qasja në të dhënat e faqeve që ekzekutohen në skedat e tjera, por që përpunohen në të njëjtin proces.

Meqenëse Chrome lëshon faqe të ndryshme në procese të ndryshme, sulmet praktike janë të kufizuara në shërbimet që lejojnë përdorues të ndryshëm të presin faqet e tyre. Metoda e sulmit Spook.js bën të mundur nga një faqe në të cilën një sulmues mund të vendosë kodin e tij JavaScript, përcaktoni praninë e faqeve të tjera të hapura nga përdoruesi i të njëjtit sit dhe nxjerr informacion konfidencial prej tyre, për shembull, kredencialet ose detajet bankare të zëvendësuara me sistemin e plotësimit automatik në format e uebit.

Një tjetër aplikim i metodës është një sulm ndaj shtojcave të shfletuesit, e cila lejon, kur instalohet një plug-in i kontrolluar nga sulmuesi, të nxjerrë të dhëna nga shtojcat e tjera.

Spook.js është i zbatueshëm për çdo shfletues bazuar në motorin Chromium, përfshirë Google Chrome, Microsoft Edge dhe Brave. Studiuesit gjithashtu besojnë se metoda mund të përshtatet për të punuar me Firefox, por meqenëse motori Firefox është shumë i ndryshëm nga Chrome, puna për krijimin e një shfrytëzimi të tillë i lihet së ardhmes.

Për të mbrojtur kundër sulmeve që lidhen me ekzekutimin spekulativ të udhëzimeve përmes shfletuesit, ndarja e hapësirës së adresave zbatohet në Chrome: izolimi i sandbox-it lejon që JavaScript të funksionojë vetëm me tregues 32-bit dhe ndan kujtesën e kontrolluesit në pirgjet 4GB të mbivendosura.

Për të organizuar qasjen në të gjithë hapësirën e adresave të procesit dhe për të shmangur kufizimin 32-bit, studiuesit përdorën teknikën e konfuzionit të tipit, e cila lejon motorin JavaScript të përpunojë një objekt me llojin e gabuar, duke bërë të mundur formimin e një 64-bit kod i bazuar në një kombinim të dy vlerave 32-bit.

Thelbi i sulmit është se duke përpunuar një objekt të keq të krijuar posaçërisht në motorin JavaScript, krijohen kushte që çojnë në ekzekutimin spekulativ të udhëzimeve që hyjnë në grup. Objekti zgjidhet në atë mënyrë që fushat e kontrolluara nga sulmuesit të vendosen në zonën ku përdoret treguesi 64-bit.

Meqenëse lloji i objektit me qëllim të keq nuk korrespondon me llojin e grupit që përpunohet, në kushte normale veprime të tilla bllokohen në Chrome nga mekanizmi i deoptimizimit të kodit të përdorur për të hyrë në vargjet. Për të zgjidhur këtë problem, kodi i sulmit Type Confusion vendoset në një bllok të kushtëzuar "nëse", i cili nuk ndizet në kushte normale, por funksionon në mënyrë spekulative, nëse procesori parashikon gabimisht më shumë degë.

Si rezultat, procesori hyn në mënyrë spekulative në treguesin e gjeneruar 64-bit dhe kthen gjendjen pas përcaktimit të parashikimit të dështuar, por gjurmët e ekzekutimit vendosen në cache-in e përbashkët dhe mund të restaurohen duke përdorur metoda për të përcaktuar përmbajtjen e cache-it përmes të tretit kanalet e partisë, duke analizuar ndryshimin në kohën e qasjes në të dhënat e ruajtura dhe jo të ruajtura.

Për të analizuar përmbajtjen e cache-it në kushtet e saktësisë së pamjaftueshme të kohëmatësit të disponueshëm në JavaScript, përdoret një metodë e propozuar nga Google që mashtron strategjinë e dëbimit të të dhënave të cache Tree-PLRU të përdorur në përpunuesit dhe lejon, duke rritur ciklet e numrit, të rrisin ndjeshëm diferencën kohore në prani dhe mungesë të një vlere në cache.

Studiuesit kanë lëshuar një prototip shfrytëzimi që punon në Chrome 89 en sisteme me Intel i7-6700K dhe i7-7600U. Shfrytëzimi u krijua duke përdorur prototipe të kodit JavaScript të botuar më parë nga Google për të kryer sulme Spectre.

Në fund studiuesit e përmendin atë arriti të përgatisë shfrytëzime pune për sistemet e bazuara në procesorët Intel dhe Apple M1, të cilave u jepet mundësia të organizojnë leximin e kujtesës me një shpejtësi prej 500 bajtë në sekondë dhe një saktësi prej 96%. Metoda supozohet të jetë e zbatueshme për përpunuesit AMD, por nuk ishte e mundur të përgatitej një shfrytëzim plotësisht funksional.

Fuente: https://www.spookjs.com


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.