Bytte en ny spekulativ eksekveringssårbarhed

SWAPGS-exploit-2

masse Bitdefender-forskere har identificeret en ny sårbarhed i mekanismen til spekulativ udførelse af instruktioner i moderne processorer, der fik navnet SWAPGS, Et svarende til navnet på processorinstruktionen, der forårsager problemet.

Sårbarhed tillader en uprivilegeret angriber at bestemme indholdet af kernehukommelsesområderne eller kører virtuelle maskiner. Problemet er bekræftet på Intel-processorer (x86_64) og påvirker delvist AMD-processorer, for hvilke den primære angrebsvektor ikke vises.

De tidligere implementerede Specter- og Meltdown-antisårbarhedsmetoder beskytter ikke mod SWAPGS-angreb ved hjælp af Intel-processorer, men der er allerede foreslået løsninger til Linux, ChromeOS, Android og Windows.

Sårbarheden tilhører Specter v1-klassen og er baseret på ideen om at hente data fra processorens cache, der er tilbage efter den spekulative udførelse af instruktionerne.

Forudsigelsesblokke for konvertering af moderne CPU'er bruger proaktiv udførelse af nogle instruktioner, som er mere tilbøjelige til at blive udført, for at forbedre ydeevnen, men uden at vente på beregningen af ​​alle de faktorer, der bestemmer deres udførelse (for eksempel når instruktionerne overgår betingelser eller adgangsparametre er endnu ikke beregnet).

Hvis prognosen ikke bekræftes, kasserer processoren resultatet af den spekulative kørsel, men de data, der behandles under kørslen, caches af processoren og kan gendannes ved hjælp af metoder til at bestemme indholdet af cachen på tværs af kanaler. ændring i adgangstid til cachelagrede og ikke-cachelagrede data.

Om SWAPGS

Det særlige angreb ved det nye angreb er brugen af ​​en lækage, der opstår under den spekulative udførelse af SWAPGS-instruktionen, som bruges i operativsystemer til at erstatte GS-registerværdien, når styringen overføres fra brugerrum til operativsystemets kerne (GS-værdi, der bruges i brugerrum, erstattes af den værdi, der anvendes i kernedrift).

Linux-kerne i GS gemmer per_cpu-markør, som bruges til at få adgang til kernedataene, og peger på TLS (Thread Local Storage) i brugerrummet.

For at udelukke dobbelt påkaldelse af SWAPGS-instruktionen efter gentagen kernetilgang fra kernerummet eller ved udførelse af kode, der ikke kræver udskiftning af GS-register, udføres en kontrol og en betinget overgang før instruktionen.

Den spekulative udførelsesmekanisme går ud for koden med SWAPGS-instruktionen, uden at vente på bekræftelsesresultatet, og hvis den valgte gren ikke bekræftes, kasserer den resultatet.

Derfor, en situation kan opstå, når en filial, der specificerer udførelsen af ​​SWAPGS, vælges spekulativt, men under spekulativ udførelse ændres værdien af ​​GS-registeret af SWAPGS-instruktionen og vil blive anvendt i hukommelsesafhængige operationer, der caches af CPU'en.

Forskerne foreslog to angrebsscenarier til hvilke udnyttelsesprototyper blev forberedt.

  • Det første scenario er baseret på den situation, hvor SWAPGS-instruktionen ikke udføres spekulativt, selvom den bruges i egentlig udførelse, og det andet scenario er det modsatte, når SWAPGS-instruktionen udføres spekulativt, selvom det virkelig ikke burde.
  • For hvert scenario er der to operationelle muligheder: angriberen kan bestemme værdien på en bestemt adresse i kerneområdet, og angriberen kan søge efter en bestemt værdi på tilfældige adresser i kernen.

Løsningen kræver installation af en kerneopdatering i både værts- og gæstemiljøet efterfulgt af en systemgenstart. For at deaktivere beskyttelse i Linux kan du bruge indstillingen "nospectre_v1", som også deaktiverer foranstaltningerne til at blokere SWAPGS-sårbarheden.

Løsningen er tilgængelig som en patch til Linux-kernen, som allerede er inkluderet i version 4.19.65, 5.2.7, 4.14.137, 4.9.188 og 4.4.188, mens for de forskellige Linux-distributioner vil de relevante korrektioner ankomme i perioden denne og den følgende uge.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

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.