Retbleed: Një sulm i ri spekulativ i ekzekutimit që godet Intel dhe AMD

Lajmi u bë i ditur së fundmiNjë grup studiuesish nga ETH Cyrih ka identifikuar një sulm të ri te mekanizmi spekulativ i ekzekutimit të kërcimeve indirekte në CPU, i cili lejon nxjerrjen e informacionit nga memoria e kernelit ose organizimin e një sulmi në sistemin pritës nga makinat virtuale.

Dobësitë u koduan me emrin Retbleed (tashmë e kataloguar sipas CVE-2022-29900, CVE-2022-29901) dhe janë të ngjashme në natyrë me sulmet Spectre-v2.

Dallimi zbret në organizimin e ekzekutimit spekulativ të kodit arbitrar duke përpunuar instruksionin "ret" (kthim), i cili e merr adresën për t'u hedhur nga pirgu, në vend që të kërcejë në mënyrë indirekte duke përdorur instruksionin "jmp", duke ngarkuar adresën nga memoria ose një regjistër CPU.

Për sulmin e ri përmendet se një sulmues mund të krijojë kushte për një parashikim fork të pasaktë dhe organizoni një kërcim të qëllimshëm spekulativ në një bllok kodi që nuk synohet nga logjika e ekzekutimit të programit.

Në fund të fundit, procesori do të përcaktojë që parashikimi i degës nuk ishte i justifikuar dhe do të rikthejë operacionin në gjendjen e tij origjinale, por të dhënat e përpunuara Gjatë ekzekutimit spekulativ ata do të ulen në cache dhe tamponat mikroarkitekturore. Nëse një bllok i ekzekutuar gabimisht kryen një akses në memorie, atëherë ekzekutimi i tij spekulativ do të çojë në instalimin në cache të përgjithshme dhe leximin e të dhënave nga memoria.

Për të përcaktuar të dhënat e mbetura në cache pas ekzekutimit spekulativ të operacioneve, sulmuesi mund të përdorë metoda për të përcaktuar të dhënat e mbetura përmes kanaleve të palëve të treta, për shembull, duke analizuar ndryshimet në kohën e hyrjes në të dhënat e memories së ruajtur dhe jo të memorizuara.

Për nxjerrjen e qëllimshme të informacionit nga zona në një nivel të ndryshëm privilegji (për shembull, nga memoria e kernelit), përdoren "pajisje": skriptet e pranishme në kernel, të përshtatshme për leximin spekulativ të të dhënave nga memorja, në varësi të kushteve të jashtme mund të ndikohen. nga një sulmues.

Për të mbrojtur kundër sulmeve klasike të klasës Spectre, të cilat përdorin udhëzime indirekte dhe të kushtëzuara të degëve, shumica e sistemeve operative përdorin teknikën "retpoline", e cila bazohet në zëvendësimin e operacioneve indirekte të degës me instruksionin "ret", për të cilin kërkohet një parashikim i veçantë i gjendjes së stivës. njësia përdoret në procesorë, nuk përdor një bllok parashikimi të degëve.

Në prezantimin e retpoline në vitin 2018, manipulimi i adresave të ngjashme me Spectre besohej të ishte jopraktik për forcimin spekulativ me udhëzimin "ret".

Studiuesit që zhvilluan metodën e sulmit Retbleed demonstroi mundësinë e krijimit të kushteve mikroarkitekturore për të inicuar një tranzicion spekulativ duke përdorur instruksionin "ret" dhe lëshuar një vegël të gatshme për të identifikuar sekuencat e përshtatshme të udhëzimeve (gadgets) për të shfrytëzuar cenueshmërinë në kernelin Linux në të cilin shfaqen kushte të tilla.

Gjatë rrjedhës së studimit, u përgatit një shfrytëzim pune i cili lejon, në sistemet me CPU Intel, nga një proces i paprivilegjuar në hapësirën e përdoruesit për të nxjerrë të dhëna arbitrare nga memoria e kernelit me një shpejtësi prej 219 bajt për sekondë dhe me saktësi 98%.

En përpunuesit AMD, efikasiteti i shfrytëzimit është shumë më i lartë, meqenëse shkalla e rrjedhjes është 3,9 KB për sekondë. Si shembull praktik, tregohet se si të përdoret shfrytëzimi i propozuar për të përcaktuar përmbajtjen e skedarit /etc/shadow. Në sistemet me CPU Intel, një sulm për të përcaktuar hash-in e fjalëkalimit rrënjë u krye në 28 minuta dhe në sistemet me CPU AMD, në 6 minuta.

Sulmi u konfirmua për 6-8 gjenerata të procesorëve Intel që u lëshuan përpara tremujorit të tretë 2019 (përfshirë Skylake) dhe procesorë AMD të bazuar në mikroarkitekturat Zen 1, Zen 1+ dhe Zen 2 që u lëshuan përpara tremujorit të dytë 2021. Në modelet më të reja të procesorëve, të tilla si AMD Zen3 dhe Intel Alder Lake, si dhe procesorë ARM, problemi është bllokuar nga mekanizmat ekzistues të mbrojtjes. Për shembull, përdorimi i udhëzimeve IBRS (Indirekt Branch Restricted Speculation) ndihmon në mbrojtjen kundër një sulmi.

Përgatit një grup ndryshimesh për kernelin Linux dhe hipervizorin Xen, të cilat bllokojnë problemin në mënyrë programore në CPU-të e vjetra. Patch-i i propozuar i kernelit Linux ndryshon 68 skedarë, shton 1783 rreshta dhe heq 387 rreshta.

Fatkeqësisht, mbrojtja shkakton kosto të konsiderueshme të përgjithshme: në tekstet e bëra në procesorët AMD dhe Intel, degradimi i performancës vlerësohet të jetë midis 14% dhe 39%. Është më e preferueshme të përdoret mbrojtja bazuar në udhëzimet IBRS, të disponueshme në gjeneratat më të reja të CPU-ve Intel dhe të mbështetur që nga kernel Linux 4.19.

Së fundmi, nëse jeni të interesuar të dini më shumë për këtë, mund të konsultoheni me detajet në lidhjen vijuese.


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: AB Internet Networks 2008 SL
  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.