SWAPGS një dobësi e re ekzekutuese spekulative

SWAPGS-shfrytëzoj-2

L Studiuesit e Bitdefender kanë identifikuar një dobësi të re në mekanizmin për ekzekutimin spekulativ të udhëzimeve në përpunuesit modernë, i cili mori emrin SWAPGS, Një që korrespondon me emrin e udhëzimit të procesorit që shkakton problemin.

Prekshmëria lejon një sulmues të pa privilegjuar të përcaktojë përmbajtjen e zonave të kujtesës së bërthamës ose drejtimin e makinave virtuale. Çështja është konfirmuar në procesorët Intel (x86_64) dhe pjesërisht prek procesorët AMD për të cilët nuk shfaqet vektori kryesor i sulmit.

Metodat anti-cenueshmëri të zbatuara më parë Specter dhe Meltdown nuk mbrojnë nga sulmet SWAPGS duke përdorur procesorë Intel, por zgjidhjet për Linux, ChromeOS, Android dhe Windows tashmë janë propozuar.

Dobësia i përket klasës Spectre v1 dhe bazohet në idenë e marrjes së të dhënave nga memoria e procesorit që mbetet pas ekzekutimit spekulativ të udhëzimeve.

Blloqet e parashikimit të konvertimit të CPU-ve moderne përdorin ekzekutimin proaktiv të disa udhëzimeve, të cilat ka më shumë të ngjarë të ekzekutohen, për të përmirësuar performancën, por pa pritur llogaritjen e të gjithë faktorëve që përcaktojnë ekzekutimin e tyre (për shembull, kur udhëzimet kushte kalimi ose parametrat e hyrjes nuk janë llogaritur ende).

Nëse parashikimi nuk konfirmohet, procesori hedh rezultatin e ekzekutimit spekulativ, por të dhënat e përpunuara gjatë ekzekutimit ruhen nga procesori dhe mund të rikthehen duke përdorur metoda për të përcaktuar përmbajtjen e memorjes së fshehtë nëpër kanale. Palët e treta që analizojnë ndryshimi në kohën e hyrjes në të dhënat e memorizuara dhe ato jo të memorizuara.

Rreth SWAPGS

Veçori e sulmit të ri është përdorimi i një rrjedhje që lind gjatë ekzekutimit spekulativ të udhëzimit SWAPGS, e cila përdoret në sistemet operative për të zëvendësuar vlerën e regjistrit GS kur kontrolli transferohet nga hapësira e përdoruesit në kernelin e sistemit operativ (vlera GS e përdorur në hapësirën e përdoruesit zëvendësohet me vlerën e përdorur në operacionet e kernelit).

Kerneli Linux në dyqanet GS treguesin per_cpu, i cili përdoret për të hyrë në të dhënat e bërthamës, dhe tregon TLS (Thread Local Storage) në hapësirën e përdoruesit.

Për të përjashtuar thirrjen e dyfishtë të udhëzimit SWAPGS pas hyrjes së përsëritur të kernelit nga hapësira e kernelit ose kur ekzekutoni kodin që nuk kërkon zëvendësimin e regjistrit GS, një kontroll dhe një tranzicion i kushtëzuar kryhet para udhëzimit.

Mekanizmi spekulativ i ekzekutimit i paraprin ekzekutimit të kodit me udhëzimin SWAPGS, pa pritur rezultatin e verifikimit, dhe nëse dega e zgjedhur nuk konfirmohet, ajo hedh rezultatin.

Prandaj, një situatë mund të krijohet kur një degë që specifikon ekzekutimin e SWAPGS zgjidhet në mënyrë spekulative, por gjatë ekzekutimit spekulativ vlera e regjistrit GS do të ndryshohet nga udhëzimi SWAPGS dhe do të përdoret në operacione të varura nga memoria që ruhen nga CPU.

Studiuesit propozuan dy skenarë sulmi për të cilat ishin përgatitur prototipet e shfrytëzimit.

  • Skenari i parë bazohet në situatën kur udhëzimi SWAPGS nuk ekzekutohet në mënyrë spekulative, edhe pse përdoret në ekzekutimin aktual, dhe skenari i dytë është e kundërta, kur udhëzimi SWAPGS ekzekutohet në mënyrë spekulative, megjithëse në të vërtetë nuk duhet.
  • Për secilin skenar, ekzistojnë dy opsione operacionale: sulmuesi mund të përcaktojë vlerën në një adresë specifike në zonën thelbësore, dhe sulmuesi mund të kërkojë një vlerë specifike në adresa të rastit në bërthamë.

Zgjidhja kërkon instalimin e një azhurnimi të kernelit si në mjediset pritëse ashtu edhe në ato të mysafirëve, pasuar nga një reboot i sistemit. Për të çaktivizuar mbrojtjen në Linux, mund të përdorni opsionin "nospectre_v1", i cili gjithashtu pamundëson masat për të bllokuar cenueshmërinë SWAPGS.

Zgjidhja është në dispozicion si një copë toke për kernelin Linux, i cili është përfshirë tashmë në versionet 4.19.65, 5.2.7, 4.14.137, 4.9.188 dhe 4.4.188, ndërsa për shpërndarjet e ndryshme të Linux korrigjimet përkatëse do të vijnë gjatë periudhës së kësaj dhe javës në vijim.


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.