Google demonstrerer udnyttelse af Spectre-sårbarheder ved hjælp af JavaScript i en browser

Google afsløret for flere dage siden forskellige udnytter prototyper der viser muligheden for at udnytte sårbarheder af Spectre-klassen, når JavaScript-kode udføres i en browser, uden at gå igennem de ovennævnte sikkerhedsmetoder.

Exploits kan bruges til at få adgang til hukommelsen i en proces der behandler webindhold i den aktuelle fane. For at teste driften af ​​udnyttelsen blev webstedet for den utætte side lanceret, og koden, der beskriver operationens logik, offentliggøres på GitHub.

Den foreslåede prototype er designet til angrebssystemer med Intel Core i7-6500U processorer i et Linux- og Chrome 88-miljø, skønt dette ikke udelukker, at der kan foretages ændringer for at bruge udnyttelsen i andre miljøer.

Driftsmetoden er ikke specifik for processorer Intel: efter korrekt tilpasning, Udnyttelsen er blevet bekræftet til at arbejde på systemer med tredjeparts-CPU'er, inklusive Apple M1 baseret på ARM-arkitekturen. Efter mindre justeringer fungerer udnyttelsen også på andre operativsystemer og andre browsere baseret på Chromium-motoren.

I et miljø baseret på standard Chrome 88- og Intel Skylake-processorer opnåede vi en datalækage fra processen, der er ansvarlig for gengivelse af webindhold i den aktuelle Chrome-fane (gengivelsesproces) med en hastighed på 1 kilobyte pr. Sekund. Derudover blev der udviklet alternative prototyper, for eksempel en udnyttelse, der tillader, på bekostning af reduceret stabilitet, at øge lækagehastigheden til 8 kB / s, når man bruger performance.now () -timeren med en præcision på 5 mikrosekunder (0.005 millisekunder) ). Der blev også udviklet en variant, der fungerede med en tidspræcision på et millisekund, som kunne bruges til at organisere adgang til hukommelsen til en anden proces med en hastighed på ca. 60 bytes pr. Sekund.

Den offentliggjorte demo-kode består af tre dele:

  • Den første del kalibrer timeren for at estimere køretiden af de operationer, der er nødvendige for at hente de data, der er tilbage i processorens cache som et resultat af den spekulative udførelse af CPU-instruktionerne.
  • Del to Definerer det hukommelseslayout, der bruges ved tildeling af JavaScript-arrayet.
  • Den tredje del udnytter direkte Spectre-sårbarheden til at bestemme hukommelsesindhold af den aktuelle proces som et resultat af oprettelsen af ​​betingelser for den spekulative udførelse af visse operationer, hvis resultat kasseres af processoren efter bestemmelse af en mislykket prognose, men eksekveringssporene afvikles i den delte cache og kan gendannes ved hjælp af metoder til at bestemme indholdet af cachen ved hjælp af tredjepartskanaler, der analyserer ændringen i adgangstid til cachelagrede og ikke-cachelagrede data.

Den foreslåede udnyttelsesteknik eliminerer timere med høj præcision tilgængelig via performance.now () API og uden understøttelse af typen SharedArrayBuffer, som giver dig mulighed for at oprette arrays i delt hukommelse.

Udnyttelsen inkluderer Spectre-enheden, der forårsager kontrolleret eksekvering af spekulativ kode, og en sidekanal lækageanalysator, som bestemmer, hvilke data der er cache under spekulativ udførelse.

Gadget implementeres ved hjælp af et JavaScript-array, i hvilken der forsøges at få adgang til et område uden for bufferen, som påvirker tilstanden af ​​grenforudsigelsesblokken på grund af tilstedeværelsen af ​​en bufferstørrelseskontrol tilføjet af compileren (processoren udfører spekulativt en adgang på forhånd, men vender tilbage til tilstanden efter kontrol).

For at analysere indholdet af cachen under betingelser med utilstrækkelig timerpræcision blev der foreslået en metode, der trickede Tree-PLRU-cache-dataudkastningsstrategien, der blev brugt i processorer, og giver mulighed for, ved at øge antallet af cyklusser, at øge forskellen tid, når værdien returneres fra cachen og i mangel af en værdi i cachen.

Google har offentliggjort en prototype af udnyttelsen for at vise gennemførligheden af ​​angrebene ved hjælp af Specter-klasses sårbarheder og tilskynde webudviklere til at bruge teknikker, der minimerer risikoen for sådanne angreb.

Samtidig mener Google, at det uden en væsentlig revision af den foreslåede prototype er umuligt at skabe universelle bedrifter, der ikke kun er klar til demonstration, men også til udbredt brug.

kilde: https://security.googleblog.com


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.