Një tjetër dobësi është identifikuar në procesorët AMD që lejon sulmet Meltdown

Një ekip studiuesish nga Universiteti Teknik i Grazit (Austri) dhe Qendra Helmholtz për Sigurinë e Informacionit (CISPA) ka zbuluar një dobësi (CVE-2021-26318) në të gjithë procesorët AMD që bën të mundur kryerjen anësore të klasës Meltdown. sulmet e kanaleve (fillimisht u supozua se procesorët AMD nuk preken nga cenueshmëria e Meltdown). Në terma praktike, sulmi mund të përdoret për të krijuar kanale të fshehta komunikimi, për të monitoruar aktivitetin në kernel ose për të marrë informacion rreth adresave në kujtesën e kernelit për të anashkaluar mbrojtjen KASLR duke shfrytëzuar dobësitë në kernel.

AMD e konsideron të papërshtatshme marrjen e masave të posaçme për të bllokuar problemin, pasi cenueshmëria, si një sulm i ngjashëm i zbuluar në gusht, ka pak përdorim në kushte reale, është i kufizuar nga kufijtë aktualë të hapësirës së adresave të procesit dhe kërkon praninë e disa sekuenca të gatshme instruksionesh (gadgets) në kernel. Për të demonstruar sulmin, studiuesit ngarkuan modulin e tyre të kernelit me një vegël të shtuar artificialisht. Në kushte reale, sulmuesit mund të përdorin, për shembull, duke shfaqur rregullisht dobësi në nënsistemin eBPF për të zëvendësuar sekuencat e nevojshme.

Për t'u mbrojtur kundër këtij lloji të ri sulmi, AMD rekomandoi përdorimin e teknikave të sigurta të kodimit që ndihmojnë në bllokimin e sulmeve të Meltdown, të tilla si përdorimi i udhëzimeve LFENCE. Studiuesit që identifikuan problemin rekomandojnë aktivizimin e izolimit më të rreptë të tabelës së memories (KPTI), i cili më parë përdorej vetëm për procesorët Intel.

Gjatë eksperimentit, studiuesit arritën të rrjedhin informacion nga kerneli në një proces në hapësirën e përdoruesit me një shpejtësi prej 52 bajt në sekondë, duke pasur parasysh praninë e një vegël në kernel që kryen operacionin "if (offset < data_len) tmp = LUT[të dhënat[ofset] * 4096];” . Janë propozuar disa metoda për marrjen e informacionit nëpërmjet kanaleve anësore që përfundojnë në cache gjatë ekzekutimit spekulativ. Metoda e parë bazohet në analizimin e devijimeve në kohën e ekzekutimit të instruksionit të procesorit “PREFETCH” (Prefetch+Time), dhe e dyta në ndryshimin e ndryshimit të konsumit të energjisë gjatë ekzekutimit të “PREFETCH” (Prefetch+Power).

Kujtojmë se dobësia klasike e Meltdown bazohet në faktin se gjatë ekzekutimit spekulativ të udhëzimeve, procesori mund të hyjë në një zonë private të të dhënave dhe më pas të heqë rezultatin, pasi privilegjet e vendosura ndalojnë një akses të tillë nga procesi i përdoruesit. Në program, blloku i ekzekutuar në mënyrë spekulative ndahet nga kodi kryesor me një degë të kushtëzuar, e cila në kushte reale ndizet gjithmonë, por për faktin se deklarata e kushtëzuar përdor një vlerë të llogaritur që procesori nuk e njeh gjatë ekzekutimit paraprak të kodi, të gjitha opsionet e degës kryhen në mënyrë spekulative.

Meqenëse operacionet e ekzekutuara në mënyrë spekulative përdorin të njëjtën cache si instruksionet e ekzekutuara normalisht, është e mundur gjatë ekzekutimit spekulativ të vendosen shënues në cache që pasqyrojnë përmbajtjen e biteve individuale në një zonë të memories private, dhe më pas në kodin e ekzekutuar normalisht për të përcaktuar vlerën e tyre përmes kohës. qasjet e analizës në të dhënat e memories dhe jo të ruajtura.

Burimi: opennet.ru

Shto një koment