Avastati uus Zombieloadi rünnakute variant Intel'i protsessoritele.

Graz Tehnikaülikooli teadlased (Austria) avalikustas teave uue rünnaku meetodi kohta, mis kasutab kõrvalkanaleid ZombieLoad 2.0 (CVE-2019-11135), mis võimaldab tõmmata konfidentsiaalset teavet teistest protsessidest, opsüsteemist, virtuaalmasinatest ja kaitstud kontekstidest (TEE, Trusted Execution Environment). Probleem mõjutab ainult Intel'i protsessoreid. Probleemi blokeerimise komponendid pakutakse eilses mikrokoodi uuenduses.

Probleem kuulub MDS (Microarchitectural Data Sampling) klassi ja on moderniseeritud variant avalikustatud maines ZombieLoad rünnakust. ZombieLoad 2.0, nagu ka teised MDS klassi rünnakud, põhinevad kõrvalkanali analüüsi meetodite rakendamisel mikroarhitektuurilistes struktuurides (näiteks täitepuhvrid (Line Fill Buffer) ja salvestuspuhvrid (Store Buffer), kuhu ajutiselt salvestatakse andmed, mida kasutatakse Load ja Store operatsioonide täitmisel).

Uus Zombieload rünnaku variant põhineb TAA (TSX Asynchronous Abort) mehhanismi töötluse käigus tekkiv lekkimine, mis on rakendatud TSX (Transactional Synchronization Extensions) laienduses. See pakub vahendeid töötamiseks tehingulise mäluga, mis võib suurendada mitme lõimega rakenduste jõudlust, välistades dünaamiliselt mittevajalikud sünkroniseerimisoperatsioonid (toetatakse aatomseid tehinguid, mis võivad olla kas aktsepteeritud või katkestatud). Kui tehing katkestatakse, tagastatakse tehingulise mälu piirkonnas teostatud operatsioonid.

Tehingu katkestamine toimub asünkroonselt ja sel ajal võivad teised lõimed pääseda vahemällu, mida kasutatakse ka kõrvaldatud tehingu mäluregioni. Ajal, mil toimub asünkroonne tehingu katkestamine, võib esineda olukordi, kus protsessor spekulatiivsete toimingute käigus võib lugeda andmeid sisemistest mikroarhitektuurilistest puhvritest ja edastada need spekulatiivselt teostatavale toimingule. Seejärel tuvastatakse konflikt ja spekulatiivne toiming tühistatakse, kuid andmed jäävad vahemälusse ja neid saab taastada kasuraamistikuga seotud taastamismeetodite kaudu.

Rünnak seisneb TSX tehingute avamises ja tingimuste loomises nende asünkroonseks katkemiseks, mille käigus tekivad tingimused sisu leketeks sisemistest puhverdest, spekulatiivselt täidetud andmetega, mis pärinevad samal CPU tuumal töötavatest mälu lugemise toimingutest. Lekke ulatus on piiratud käimasoleva füüsilise CPU tuumaga (kus rünnaku kood töötab), kuid kuna mikroarhitektuurilisi puhverid jagavad erinevad lõimed Hyper-Threading režiimis, võib tekkida mälu toimingute leke, mida täidavad teised CPU lõimed.

Rünnak on haavatavad mõned Intel Core'i kaheteistkümnenda, üheteistkümnenda ja kümnenda põlvkonna protsessorid, samuti Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W ja teise põlvkonna Intel Xeon Scalable. Sealhulgas on rünnakute ohus ka uued Intel'i protsessorid, mis põhinevad aprillis esitatud mikroarhitektuuril Cascade Lake, mis algselt ei olnud vastuvõtlik RIDL- ja Fallout-rünnakutele. Koos Zombieload 2.0-ga avastasid uurijad ka võimaluse varjata varem välja pakutud kaitsemeetodeid MDS-rünnakute vastu, mis põhinevad VERW-käsu kasutamisel mikroarhitektuuriliste vahemike sisu kustutamiseks tuumast kasutajaruumi või külalisüsteemile juhtimise ülekandmise hetkel.

Intel'i raportis väidetakse, et heterogeensete koormustega süsteemides on rünnaku läbiviimine keeruline, kuna mikroarhitektuuride struktuuridest lekke tegemine katab kogu süsteemi tegevuse ja ründajal pole võimalik mõjutada välja sihitud andmeallikaid. Ta saab ainult koguda lekke tulemusena tekkivaid andmeid ja püüda nende seas leida kasulikku teavet, ilma et tal oleks võimalik sihitud viisil haarata andmeid, mis on seotud konkreetsete mäluaadressidega. Sellegipoolest on teadlased avaldanud exploit prototüüp, mis töötab nii Linuxis kui ka Windowsis, ning näidatud on rünnaku rakendamise võimalust, et määrata kasutaja root parooli hajutust.
Võimalik on rünnaku tegemine külalis süsteemist andmete kogumiseks, mis on seotud teiste külalis süsteemide, hostkeskkonna, hüperviisori ja Intel SGX-enklavidega.

Vaata videot

Parandused haavatavuste blokeerimiseks on lisatud lisasid Linuxi tuumakoodibaasi ja on kaasatud väljaannetesse 5.3.11, 4.19.84, 4.14.154, 4.9.201 ja 4.4.201. Kerneli ja mikrokoode värskendused on samuti juba välja antud peamiste distributsioonide jaoks (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Probleem tuvastati aprillis ja parandamine koordineeriti Intel'i ja operatsioonisüsteemide arendajate vahel.

Zombieload 2.0 blokeerimise lihtsaim meetod on TSX-i toe keelamine protsessoris. Linuxi kerneli jaoks ettepanekustatud parandus sisaldab mitmeid kaitsevariante. Esimene variant pakub parameetrit "tsx=on/off/auto", mis võimaldab hallata TSX-i laienduse aktiveerimist protsessoris (auto väärtus keelab TSX ainult haavatavates protsessorites). Teine kaitsevariant aktiveeritakse parameetriga "tsx_async_abort=off/full/full,nosmt" ja põhineb mikroarhitektuuriliste puhvrite puhastamisel konteksti vahetamise ajal (lipp nosmt keelab lisaks SMT/Hyper-Threads). Süsteemi haavatavuse kontrollimiseks on sysfs-is ette nähtud parameeter "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort".

Lisaks, uuenduses mikrokood eemaldatud veel üks haavatavus (CVE-2018-12207) Intel'i protsessorites, mis on samuti blokeeritud värskes uuenduses Linuxi kärg. Haavatavus lubab võimaldab mitteprivilegeeritud ründajal käivitada teenuse välistamise rünnak, mis viib süsteemi hangumiseni "Machine Check Error" olekusse.
Rünnakut on võimalik teostada ka külalis süsteemist. Sissejuhatus funktsionaalsetesse sõltuvustesse

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster