Predstavljena je nova klasa ranjivosti u Intelovim procesorima

Intel опубликовала informacije o novim klasa ranjivosti u svojim procesorima - MDS (Uzorkovanje mikroarhitektonskih podataka). Kao i prethodni Spectre napadi, novi problemi mogu dovesti do curenja privatnih podataka iz operativnog sustava, virtualnih strojeva i drugih procesa. Navodno su probleme prvi identificirali Intelovi zaposlenici i partneri tijekom interne revizije, nakon čega su neovisni istraživači Intelu dostavili informacije o sličnim problemima. AMD i ARM procesori nisu pogođeni problemom.

Na temelju identificiranih problema od strane istraživača s Tehničkog sveučilišta u Grazu (Austrija) razvijen Neki praktični napadi na bočni kanal:

  • ZombieLoad (PDF) - omogućuje vam izdvajanje povjerljivih informacija iz drugih procesa, operativnog sustava, virtualnih strojeva i zaštićenih enklava (TEE, Trusted Execution Environment). Primjerice, demonstrirana je mogućnost utvrđivanja povijesti otvaranja stranica u pregledniku Tor koji radi na drugom virtualnom računalu, kao i određivanje pristupnih ključeva i lozinki korištenih u aplikacijama;


  • RIDL (PDF) - omogućuje curenje informacija između različitih izoliranih područja u Intel procesorima, kao što su međuspremnici za punjenje, međuspremnici za pohranu i priključci za učitavanje. Prikazani su primjeri napada za organiziranje curenja iz drugih procesa, operativnog sustava, virtualnih strojeva i zaštićenih enklava. Na primjer, pokazuje kako saznati sadržaj hash root lozinke iz /etc/shadow tijekom 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 pogonu SpiderMonkey (u modernim potpunim preglednicima takav je napad malo vjerojatan zbog ograničene točnosti mjerača vremena i mjera zaštite od Spectre);

  • Ispadanje (PDF) - omogućuje čitanje podataka koje je nedavno napisao operativni sustav i određivanje rasporeda memorije OS-a kako bi se pojednostavili drugi napadi;
  • Prosljeđivanje od trgovine do curenja — iskorištava CPU optimizacije za rad s međuspremnikom za pohranu i može se koristiti za zaobilaženje mehanizma randomizacije adresnog prostora jezgre (KASLR), za praćenje stanja operativnog sustava ili za organizacije curenja u kombinaciji s napravama temeljenim na Spectre metodama.

Identificiran ranjivosti:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), oporavak sadržaja međuspremnika za pohranu. Koristi se u napadu Fallout. Stupanj opasnosti utvrđen je 6.5 bodova (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Sampling Data), obnavljanje sadržaja priključka za učitavanje. Koristi se u RIDL napadu. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), obnavljanje sadržaja međuspremnika za punjenje. Koristi se u ZombieLoad i RIDL napadima. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), oporavak sadržaja memorije koji se ne mogu predmemorirati. Koristi se u RIDL napadu. CVSS 3.8.

srce identificirali su probleme u mogućnosti primjene metoda analize bočnih kanala na podatke u mikroarhitektonskim strukturama kojima aplikacije nemaju izravan pristup. Govorimo o takvim strukturama niske razine kao što su međuspremnici za punjenje (Line Fill Buffer), međuspremnici za pohranu (Store Buffer) i priključci za učitavanje (Load Port), koji su manji sastavni blokovi od predmemorije prve razine (L1D), predmemorije za učitavanje podataka ( RDCL ) ili L1TF (L1 Terminal Fault), te prema tome uključuju manje informacija i ažuriraju se intenzivnije.

Predstavljena je nova klasa ranjivosti u Intelovim procesorima

Napade sporednih kanala na mikroarhitektonske strukture puno je teže izvesti u usporedbi s metodama vraćanja sadržaja predmemorije i zahtijevaju praćenje i analizu značajnih količina podataka kako bi se utvrdila njihova veza s određenim adresama u memoriji (u biti, napadač ne može namjerno presresti određene podatke , ali može doći do nakupljanja curenja i primjene statističkih metoda za rekonstrukciju određenih vrsta podataka). Osim toga, napad utječe samo na podatke na istoj fizičkoj CPU jezgri kao napadačev kod.

Predložene metode za određivanje sadržaja mikroarhitektonskih struktura temelje se na činjenici da se te strukture koriste tijekom spekulativnog rukovanja iznimkama (greškama) ili operacijama učitavanja i pohranjivanja.
Tijekom spekulativnog izvođenja, sadržaj internih struktura preusmjerava se u registre ili predmemorije za obradu. Spekulativne operacije se ne dovrš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 koristi procesor za primanje podataka iz memorije ili I/O podsustava i davanje primljenih informacija CPU registrima. Zbog značajke implementacije, podaci iz starih operacija preuzimanja ostaju u portovima dok ih ne prebrišu novi podaci, što omogućuje neizravno određivanje stanja podataka u portu preuzimanja manipuliranjem iznimkama (greškama) i SSE/AVX/ AVX-512 upute koje učitavaju više od 64 bita podataka. Pod takvim uvjetima, operacije učitavanja spekulativno izlažu zastarjele vrijednosti podataka iz internih struktura ovisnim operacijama. Na sličan način, curenje je organizirano kroz međuspremnik za pohranu, koji se koristi za ubrzavanje pisanja u predmemoriju CPU-a i uključuje tablicu adresa, vrijednosti i oznaka, kao i kroz međuspremnik za popunjavanje, koji sadrži podatke koji još nije u L1 cache-u (cache-miss), za sada se učitava iz cache-a drugih razina.

Predstavljena je nova klasa ranjivosti u Intelovim procesorima

problem utječe Modeli procesora Intel proizvedeni od 2011. (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 pomoću bita ARCH_CAP_MDS_NO u IA32_ARCH_CAPABILITIES MSR). Ranjivosti također već postoje eliminiran na razini firmwarea, mikrokoda i operativnih sustava. Intel procjenjuje gubitak performansi nakon aktivacije zakrpe za većinu korisnika manje od 3%. Kada je tehnologija Hyper-Threading onemogućena, degradacija performansi može doseći do 9% u testu SPECint_rate_base, do 11% u aktivnim cjelobrojnim izračunima i do 19% pri pokretanju Java aplikacija na strani poslužitelja (uz omogućen HT, gotovo je nema degradacije performansi). Zakrpe imaju mali utjecaj na I/O performanse.

Linux kernel štiti od MDS-a dodao u današnjem nadopune 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 međuspremnika u trenutku povratka iz kernela u korisnički prostor ili prilikom prijenosa kontrole na gostujući sustav, za što se koristi VERW instrukcija. Da bi zaštita radila, potrebna je podrška za način rada MD_CLEAR, implementiran u najnovijem ažuriranju mikrokoda. Za potpunu zaštitu također se preporučuje isključiti Hyper Threading. Za provjeru izloženosti sustava ranjivostima u jezgri Linuxa dodano rukovatelj "/sys/devices/system/cpu/vulnerabilities/mds". Za kontrolu uključivanja različitih načina blokiranja ranjivosti, parametar “mds=” je dodan u kernel, koji može uzeti vrijednosti “full”, “full,nosmt” (onemogućavanje Hyper-Threads), “vmwerv” i "isključeno".

Ažuriranja paketa već su objavljena za RHEL и Ubuntu, ali za sada ostaju nedostupni Debian, Fedora и SUSE.
Popravak za blokiranje curenja podataka s virtualnih strojeva također formirana za Xen hipervizor. Za zaštitu virtualizacijskih sustava koji izdaju naredbu L1D_FLUSH prije prijenosa kontrole na drugo virtualno računalo i za zaštitu Intel SGX enklava, dovoljno je ažuriranje mikrokoda.

Izvor: opennet.ru

Dodajte komentar