De utviklet en serie CPU-hurtiggjenopprettingsangrep på nettlesere uten å kreve JavaScript

Et team av forskere fra forskjellige universiteter Amerikanere, israelere og australiere har utviklet tre angrep rettet mot nettlesere som tillater utvinning av informasjon om innholdet i prosessorbufferen. En metode fungerer i nettlesere uten JavaScript og de to andre omgår eksisterende beskyttelsesmetoder mot angrep gjennom tredjepartskanaler, inkludert de som brukes i Tor-nettleseren og DeterFox.

Å analysere innholdet i hurtigbufferen i alle angrep bruker "Prime + Probe" -metodenAt innebærer å fylle hurtigbufferen med et sett med referanseverdier og bestemme endringer ved å måle tilgangstid til dem når de lades opp. For å omgå sikkerhetsmekanismene som er tilstede i nettlesere, som forhindrer nøyaktig tidsmåling, kalles det i to versjoner en kontrollert angripende DNS- eller WebSocket-server, som fører oversikt over tidspunktet for mottak av forespørsler. I en utførelsesform brukes den faste DNS-responstiden som en tidsreferanse.

Målinger gjort ved hjelp av eksterne DNS-servere eller WebSocket, takket være bruken av et klassifiseringssystem basert på maskinlæring, var tilstrekkelig til å forutsi verdier med en nøyaktighet på 98% i det mest optimale scenariet (i gjennomsnitt 80-90%). Angrepsmetodene er testet på forskjellige maskinvareplattformer (Intel, AMD Ryzen, Apple M1, Samsung Exynos) og har vist seg å være allsidige.

Den første varianten av DNS Racing-angrepet bruker en klassisk implementering av Prime + Probe-metoden ved hjelp av JavaScript-arrays. Forskjellene kommer ned på bruken av en ekstern DNS-basert tidtaker og en feilbehandler som utløses når du prøver å laste et bilde fra et ikke-eksisterende domene. Den eksterne timeren tillater Prime + Probe-angrep i nettlesere som begrenser eller fullstendig deaktiverer JavaScript-tidtakertilgang.

For en DNS-server som er vert på det samme Ethernet-nettverket, anslås timerenes presisjon til ca 2 ms, noe som er nok til å utføre et sidekanalangrep (til sammenligning: presisjonen til standard JavaScript-timeren i Tor-nettleseren har blitt redusert til 100ms). For angrepet kreves ingen kontroll over DNS-serverenettersom utførelsestiden for operasjonen er valgt slik at DNS-responstiden tjener som et signal om en tidlig fullføring av bekreftelsen (avhengig av om feilbehandleren ble utløst tidligere eller senere). , konkluderes det med at bekreftelsesoperasjonen med hurtigbufferen er fullført) ...

Det andre "String and Sock" -angrepet er designet for å omgå sikkerhetsteknikker som begrenser bruken av JavaScript-matriser på lavt nivå. I stedet for matriser bruker String og Sock veldig store strengoperasjoner, hvis størrelse er valgt slik at variabelen dekker hele LLC-cachen (toppnivå-cache).

Deretter, ved å bruke indexOf () -funksjonen, blir det søkt etter en liten delstreng i strengen, som i utgangspunktet er fraværende i den opprinnelige strengen, det vil si at søkeoperasjonen resulterer i en iterasjon over hele strengen. Siden størrelsen på linjen tilsvarer størrelsen på LLC-hurtigbufferen, tillater skanningen en cacheverifiseringsoperasjon uten å manipulere matriser. For å måle forsinkelser, i stedet for DNS, er dette en appell til en angripende WebSocket-server som kontrolleres av angriperen: før starten og etter slutten av søkeoperasjonen, sendes forespørsler i kjeden,

Den tredje versjonen av angrepet "CSS PP0" gjennom HTML og CSS, og kan fungere i nettlesere med deaktivert JavaScript. Denne metoden ser ut som "String and Sock", men er ikke bundet til JavaScript. Angrepet genererer et sett med CSS-velgere som søker etter maske. Den flotte originale linjen som fyller hurtigbufferen er satt ved å opprette en div-tag med et veldig stort klassenavn, ogn der inne er det et sett med andre divs med egne identifikatorer.

Hver og en av disse nestede divene er utformet med en velger som ser etter en substring. Når du gjengir siden, prøver nettleseren først å behandle de indre delene, noe som resulterer i et søk på en stor streng. Søket gjøres ved hjelp av en åpenbart manglende maske og fører til en iterasjon av hele strengen, hvoretter "nei" -tilstanden utløses og det blir forsøkt å laste inn bakgrunnsbildet.


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.