Ugotovljena je bila nova različica napada Zombieload na procesorje Intel

Raziskovalci s Tehniške univerze v Gradcu (Avstrija) odkrito informacije o novi metodi napada prek kanalov tretjih oseb Zombie Load 2.0 (CVE-2019-11135), ki omogoča pridobivanje zaupnih informacij iz drugih procesov, operacijskega sistema, virtualnih strojev in zaščitenih enklav (TEE, Trusted Execution Environment). Težava vpliva samo na procesorje Intel. Komponente za blokiranje težave predlagano včeraj posodobitev mikrokode.

Problem spada v razred MDS (Microarchitectural Data Sampling) in je posodobljena različica objavljeno v maju napadi ZombieLoad. ZombieLoad 2.0 se tako kot drugi napadi MDS zanaša na uporabo tehnik analize stranskih kanalov za podatke v mikroarhitekturnih strukturah (na primer Line Fill Buffer in Store Buffer), ki začasno shranjujejo podatke, uporabljene v procesu. izvajanje operacij nalaganja in shranjevanja) .

Nova različica napada Zombieload temelji o puščanju, ki nastane med delovanjem mehanizma za asinhrono prekinitev operacij (TAA, TSX Asynchronous Abort), implementiranega v razširitvi TSX (Transactional Synchronization Extensions), ki ponuja orodja za delo s transakcijskim pomnilnikom, kar omogoča povečanje zmogljivosti večnitne aplikacije z dinamičnim odpravljanjem nepotrebnih sinhronizacijskih operacij (podprte atomske transakcije, ki jih je mogoče sprejeti ali prekiniti). Če so prekinjene, se operacije, izvedene na območju transakcijskega pomnilnika, povrnejo nazaj.

Prekinitev transakcije se zgodi asinhrono in v tem času lahko druge niti dostopajo do predpomnilnika, ki se uporablja tudi v zavrženem območju transakcijskega pomnilnika. V času od začetka do dejanskega zaključka prekinitve asinhrone transakcije je možno, da pride do situacij, ko lahko procesor med špekulativnim izvajanjem operacije prebere podatke iz notranjih mikroarhitekturnih medpomnilnikov in jih prenese v špekulativno operacijo. Konflikt bo nato zaznan in špekulativna operacija zavržena, podatki pa bodo ostali v predpomnilniku in jih bo mogoče pridobiti s tehnikami za obnovitev predpomnilnika stranskega kanala.

Napad se zmanjša na odpiranje transakcij TSX in ustvarjanje pogojev za njihovo asinhrono prekinitev, pri čemer nastanejo pogoji za uhajanje vsebine notranjih medpomnilnikov, špekulativno napolnjenih s podatki iz operacij branja pomnilnika, ki se izvajajo na istem jedru procesorja. Puščanje je omejeno na trenutno fizično jedro CPU (na katerem se izvaja napadalčeva koda), a ker so mikroarhitekturni medpomnilniki v načinu Hyper-Threading v skupni rabi med različnimi nitmi, je možno uhajanje pomnilniških operacij, ki se izvajajo v drugih nitih CPU.

Napad pod pogojem nekateri modeli osme, devete in desete generacije procesorjev Intel Core ter Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W in druge generacije Intel Xeon Scalable. Novi Intelovi procesorji, ki temeljijo na mikroarhitekturi Cascade Lake, predstavljeni aprila in ki sprva niso bili dovzetni za napade RIDL in Fallout, so prav tako dovzetni za napade. Poleg Zombieload 2.0 so raziskovalci identificirali tudi možnost obhoda predhodno predlaganih metod zaščite pred napadi MDS, ki temeljijo na uporabi ukaza VERW za brisanje vsebine mikroarhitekturnih medpomnilnikov pri vračanju iz jedra v uporabniški prostor ali pri prenosu nadzora na sistem za goste.

Intelovo poročilo navaja, da je v sistemih s heterogeno obremenitvijo zmožnost izvajanja napada težavna, saj uhajanje iz mikroarhitekturnih struktur pokriva vse aktivnosti v sistemu in napadalec ne more vplivati ​​na vir ekstrahiranih podatkov, tj. lahko le kopiči informacije, ki se pojavijo kot posledica uhajanja, in med temi podatki poskuša identificirati uporabne informacije, ne da bi imel možnost namenskega prestrezanja podatkov, povezanih z določenimi pomnilniškimi naslovi. Vendar so raziskovalci objavili izkoriščanje prototipa, ki deluje v sistemih Linux in Windows, in je pokazal zmožnost uporabe napada za določitev zgoščene vrednosti gesla korenskega uporabnika.
Mogoče izvajanje napada iz gostujočega sistema za kopičenje podatkov, ki se pojavljajo pri delovanju drugih gostujočih sistemov, gostiteljskega okolja, hipervizorja in enklav Intel SGX.

Popravki za blokiranje ranljivosti vključeno v kodno bazo jedra Linuxa in vključen v izdaje 5.3.11, 4.19.84, 4.14.154, 4.9.201 in 4.4.201. Posodobitve jedra in mikrokode so bile tudi že izdane za glavne distribucije (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Težava je bila ugotovljena aprila in popravek je bil usklajen med Intelom in razvijalci operacijskega sistema.

Najenostavnejša metoda za blokiranje Zombieload 2.0 je onemogočanje podpore TSX v procesorju. Predlagani popravek za jedro Linuxa vključuje več možnosti zaščite. Prva možnost ponuja parameter »tsx=on/off/auto« za nadzor nad tem, ali je razširitev TSX omogočena v CPE (samodejna vrednost onemogoči TSX samo za ranljive CPE). Druga možnost zaščite je omogočena s parametrom “tsx_async_abort=off/full/full,nosmt” in temelji na čiščenju mikroarhitekturnih medpomnilnikov med preklapljanjem konteksta (zastavica nosmt dodatno onemogoči SMT/Hyper-Threads). Za preverjanje, ali je sistem dovzeten za ranljivosti, sysfs zagotavlja parameter »/sys/devices/system/cpu/vulnerabilities/tsx_async_abort«.

Tudi v posodobitev mikrokoda odpraviti še en ranljivost (CVE-2018-12207) v Intelovih procesorjih, ki je prav tako blokiran v najnovejših posodobitev Jedra Linuxa. Ranljivost omogoča neprivilegiran napadalec sproži zavrnitev storitve, zaradi česar sistem visi v stanju »Machine Check Error«.
Vključno z napadom se lahko zavežejo iz sistema za goste.

Vir: opennet.ru

Dodaj komentar