De utvecklade en serie CPU-cacheåterställningsattacker på webbläsare utan att JavaScript krävs

Ett team av forskare från olika universitet Amerikaner, israeler och australier har utvecklat tre attacker inriktade på webbläsare som gör det möjligt att extrahera information om innehållet i processorns cache. En metod fungerar i webbläsare utan JavaScript och de andra två kringgår befintliga skyddsmetoder mot attacker via tredjepartskanaler, inklusive de som används i Tor-webbläsaren och DeterFox.

Att analysera innehållet i cachen i alla attacker använder metoden "Prime + Probe"Att innebär att man fyller cachen med en uppsättning referensvärden och bestämmer ändringar genom att mäta åtkomsttid när de laddas upp. För att kringgå de säkerhetsmekanismer som finns i webbläsare, som förhindrar noggrann tidsmätning, uppmanas i två versioner en kontrollerad attackerande DNS- eller WebSocket-server som registrerar tidpunkten för mottagande av förfrågningar. I en utföringsform används den fasta DNS-svarstiden som en tidsreferens.

Mätningar med externa DNS-servrar eller WebSocket, tack vare användningen av ett klassificeringssystem baserat på maskininlärning, var tillräckliga för att förutsäga värden med en noggrannhet på 98% i det mest optimala scenariot (i genomsnitt 80-90%). Attackmetoderna har testats på olika hårdvaruplattformar (Intel, AMD Ryzen, Apple M1, Samsung Exynos) och har visat sig vara mångsidiga.

Den första varianten av DNS Racing-attacken använder en klassisk implementering av Prime + Probe-metoden med JavaScript-matriser. Skillnaderna beror på användningen av en extern DNS-baserad timer och en felhanterare som avfyras när man försöker ladda en bild från en domän som inte finns. Den externa timern tillåter Prime + Probe-attacker i webbläsare som begränsar eller helt inaktiverar JavaScript-timeråtkomst.

För en DNS-server som är värd i samma Ethernet-nätverk uppskattas timernas precision till cirka 2 ms, vilket är tillräckligt för att utföra en sidokanalattack (för jämförelse: precisionen för standard JavaScript-timern i Tor-webbläsaren har har minskats till 100 ms). För attacken krävs ingen kontroll över DNS-servern, eftersom körningstiden för operationen väljs så att DNS-svarstiden tjänar som en signal om en tidig slutförande av verifieringen (beroende på om felhanteraren utlöstes tidigare eller senare). , det dras slutsatsen att verifieringsåtgärden med cachen är klar) ...

Den andra "String and Sock" -attacken är utformad för att kringgå säkerhetstekniker som begränsar användningen av JavaScript-arrayer på låg nivå. Istället för arrays använder String och Sock operationer på mycket stora strängar, vars storlek väljs så att variabeln täcker hela LLC-cachen (toppnivåcache).

Använd sedan indexOf () -funktionen och letar efter en liten delsträng i strängen, som ursprungligen saknas i originalsträngen, det vill säga sökoperationen resulterar i en iteration över hela strängen. Eftersom storleken på linjen motsvarar storleken på LLC-cachen, möjliggör genomsökningen en cache-kontrollåtgärd utan att manipulera matriser. För att mäta förseningar istället för DNS är detta en överklagande till en attackerande WebSocket-server som kontrolleras av angriparen: före start och efter slutet av sökoperationen skickas förfrågningar i kedjan,

Den tredje versionen av attacken "CSS PP0" via HTML och CSS, och kan fungera i webbläsare med JavaScript inaktiverat. Den här metoden ser ut som "String and Sock" men är inte bunden till JavaScript. Attacken genererar en uppsättning CSS-väljare som söker efter mask. Den fantastiska originallinjen som fyller cachen ställs in genom att skapa en div-tagg med ett mycket stort klassnamn, ochn där inne finns en uppsättning andra divs med egna identifierare.

Var och en av dessa kapslade divs är utformade med en väljare som letar efter en substring. När sidan renderas försöker webbläsaren först att bearbeta de inre diverna, vilket resulterar i en sökning i en stor sträng. Sökningen görs med en uppenbarligen saknad mask och leder till en iteration av hela strängen, varefter "nej" -villkoret utlöses och ett försök görs att ladda bakgrundsbilden.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.