Uvedena je nova klasa ranjivosti u Intelovim procesorima

Intel objavljeno informacije o novim klasa ranjivosti u njihovim procesorima - MDS (Uzorkovanje mikroarhitektonskih podataka). Kao i prethodni Spectre napadi, novi problemi mogu dovesti do curenja privatnih podataka iz operativnog sistema, virtuelnih mašina i drugih procesa. Navodno su problemi prvi identifikovani od strane Intelovih zaposlenih i partnera tokom interne revizije, nakon čega su nezavisni istraživači dali informacije o sličnim problemima Intelu. Problem ne utiče na AMD i ARM procesore.

Na osnovu identifikovanih problema istraživača sa Tehničkog univerziteta u Gracu (Austrija) razvijen Neki praktični napadi sa strane kanala:

  • ZombieLoad (PDF) - omogućava vam da izvučete povjerljive informacije iz drugih procesa, operativnog sistema, virtuelnih mašina i zaštićenih enklava (TEE, Trusted Execution Environment). Na primjer, demonstrirana je mogućnost utvrđivanja historije otvaranja stranica u Tor pretraživaču koji radi na drugoj virtuelnoj mašini, kao i određivanje pristupnih ključeva i lozinki koje se koriste u aplikacijama;


  • RIDL (PDF) - omogućava curenje informacija između različitih izolovanih oblasti u Intel procesorima, kao što su baferi za punjenje, baferi za skladištenje i portovi za učitavanje. Prikazani su primjeri napada koji organiziraju curenje iz drugih procesa, operativnog sistema, virtuelnih mašina i zaštićenih enklava. Na primjer, pokazuje kako saznati sadržaj hash lozinke root iz /etc/shadow tokom periodičnih pokušaja autentifikacije (napad je trajao 24 sata);

    Osim toga, prikazan je primjer napada koji koristi JavaScript i WebAssembly prilikom otvaranja zlonamjerne stranice u motoru SpiderMonkey (u modernim punopravnim pretraživačima takav napad je malo vjerojatan zbog ograničene točnosti tajmera i mjera zaštite od Spectre);

  • Ispasti (PDF) - omogućava čitanje podataka koje je nedavno napisao operativni sistem i određivanje rasporeda OS memorije kako bi se pojednostavili drugi napadi;
  • Prosljeđivanje od trgovine do curenja — koristi optimizacije CPU-a za rad sa baferom za skladištenje i može se koristiti za zaobilaženje mehanizma randomizacije adresnog prostora kernela (KASLR), za praćenje stanja operativnog sistema ili za organizacija curenja u kombinaciji sa gadžetima baziranim na Spectre metodama.

Identifikovani ranjivosti:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), oporavak sadržaja međuspremnika za skladištenje. Koristi se u Fallout napadu. Stepen opasnosti utvrđuje se na 6.5 ​​bodova (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), oporavak sadržaja porta za opterećenje. Koristi se u RIDL napadu. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), oporavak sadržaja bafera punjenja. Koristi se u ZombieLoad i RIDL napadima. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), oporavak nekeširajuće memorije. Koristi se u RIDL napadu. CVSS 3.8.

Essence identifikovani problemi u mogućnosti primjene metoda analize bočnih kanala na podatke u mikroarhitektonskim strukturama kojima aplikacije nemaju direktan pristup. Govorimo o strukturama niskog nivoa kao što su baferi punjenja (Line Fill Buffer), međuspremnici za skladištenje (Store Buffer) i portovi za učitavanje (Load Port), koji su manji građevinski blokovi od keša prvog nivoa (L1D), keš memorije za učitavanje podataka ( RDCL ) ili L1TF (Kvar L1 terminala), te prema tome uključuju manje informacija i intenzivnije se ažuriraju.

Uvedena je nova klasa ranjivosti u Intelovim procesorima

Napadi bočnim kanalom na mikroarhitektonske strukture mnogo su teži za izvođenje u odnosu na metode za vraćanje sadržaja keša i zahtijevaju praćenje i analizu značajnih količina podataka kako bi se utvrdila njihova povezanost s određenim adresama u memoriji (u suštini, napadač ne može namjerno presresti određene podatke , ali može imati vremena za akumuliranje curenja i primjenu statističkih metoda za rekonstrukciju određenih vrsta podataka). Dodatno, napad utiče samo na podatke na istom fizičkom CPU jezgru kao i kod napadača.

Predložene metode za određivanje sadržaja mikroarhitektonskih struktura zasnovane su na činjenici da se ove strukture koriste prilikom spekulativnog rukovanja izuzecima (kvarovima) ili operacijama učitavanja i skladištenja.
Tokom spekulativnog izvršenja, sadržaj internih struktura se preusmjerava u registre ili keš memorije na obradu. Špekulativne operacije se ne završavaju i rezultat se odbacuje, ali se preusmjereni sadržaj može odrediti korištenjem tehnika analize predmemorije bočnog kanala.

Portove za učitavanje procesor koristi za primanje podataka iz memorije ili I/O podsistema i pružanje primljenih informacija CPU registrima. Zbog mogućnosti implementacije, podaci iz starih operacija preuzimanja ostaju u portovima sve dok ih ne prepišu novi podaci, što omogućava indirektno određivanje stanja podataka u portu za preuzimanje manipuliranjem izuzetaka (greške) i SSE/AVX/ AVX-512 instrukcije koje učitavaju više od 64 bita podataka. Pod takvim uslovima, operacije učitavanja spekulativno izlažu zastarele vrednosti podataka iz unutrašnjih struktura zavisnim operacijama. Na sličan način se organizira curenje kroz međuspremnik za pohranu, koji se koristi za ubrzanje upisivanja u CPU keš memoriju i uključuje tablicu adresa, vrijednosti i zastavica, kao i kroz bafer punjenja koji sadrži podatke koji još nije u L1 keš memoriji (cache-miss), za sada se učitava iz keša drugih nivoa.

Uvedena je nova klasa ranjivosti u Intelovim procesorima

problem utiče Modeli Intel procesora koji se proizvode od 2011. godine (počevši od 6. generacije). U ovom slučaju, hardverske ranjivosti su blokirane počevši od nekih modela 8. i 9. generacije Intel Core i 2. generacije Intel Xeon Scalable (možete provjeriti korištenjem bita ARCH_CAP_MDS_NO u IA32_ARCH_CAPABILITIES MSR). Ranjivosti takođe već postoje eliminisan na nivou firmvera, mikrokoda i operativnih sistema. Intel procjenjuje gubitak performansi nakon aktiviranja zakrpe za većinu korisnika ne prelazi 3%. Kada je tehnologija Hyper-Threading onemogućena, degradacija performansi može doseći do 9% u SPECint_rate_base testu, do 11% u aktivnim cjelobrojnim kalkulacijama i do 19% pri pokretanju Java aplikacija na strani servera (sa omogućenim HT-om, gotovo nema degradacije performansi). Zakrpe imaju mali uticaj na I/O performanse.

Linux kernel štiti od MDS-a dodano u današnjem ažuriranja 5.1.2, 5.0.16,
4.19.43, 4.14.119 i 4.9.176. Način zaštite u izgradnji o čišćenju sadržaja mikroarhitektonskih bafera u trenutku povratka iz kernela u korisnički prostor ili prilikom prenosa kontrole na gostujući sistem, za šta se koristi VERW instrukcija. Da bi zaštita radila, potrebna je podrška za MD_CLEAR način rada, implementiran u najnovijem ažuriranju mikrokoda. Za potpunu zaštitu, također se preporučuje da onemogućite Hyper Threading. Za provjeru izloženosti sistema ranjivosti u Linux kernelu dodano rukovalac "/sys/devices/system/cpu/vulnerabilities/mds". Za kontrolu uključivanja različitih načina blokiranja ranjivosti, jezgru je dodat parametar “mds=” koji može uzeti vrijednosti “full”, “full,nosmt” (onemogućavanje Hyper-Threads), “vmwerv” i "isključeno".

Ažuriranja paketa su već objavljena za RHEL и Ubuntu, ali za sada ostaju nedostupni Debian, fedora и SUSE.
Popravka za blokiranje curenja podataka sa virtuelnih mašina formirana za Xen hipervizor. Za zaštitu sistema virtuelizacije koji izdaju naredbu L1D_FLUSH prije prijenosa kontrole na drugu virtuelnu mašinu i za zaštitu Intel SGX enklava, ažuriranje mikrokoda je dovoljno.

izvor: opennet.ru

Dodajte komentar