CROSSTalk - ranjivost u Intel CPU-ima koja dovodi do curenja podataka između jezgri

Tim istraživača s Vrije Universiteit Amsterdam identificirao je novu ranjivost (CVE-2020-0543) u mikroarhitektonskim strukturama Intelovih procesora, značajan po tome što vam omogućuje vraćanje rezultata izvršenja nekih instrukcija koje su izvršene na drugoj CPU jezgri. Ovo je prva ranjivost u spekulativnom mehanizmu izvršavanja instrukcija koja dopušta curenje podataka između pojedinačnih CPU jezgri (prethodno su curenja bila ograničena na različite niti iste jezgre). Istraživači su problem nazvali CROSSTalk, ali Intelovi dokumenti Ranjivost se naziva SRBDS (Special Register Buffer Data Sampling).

Ranjivost se odnosi na predstavili prije godinu dana u klasu MDS (Microarchitectural Data Sampling) problema i temelji se na primjeni metoda analize bočnih kanala na podatke u mikroarhitektonskim strukturama. Načelo rada CROSSTalk je blizu ranjivosti RIDL, ali se razlikuje u izvoru curenja.
Nova ranjivost manipulira curenjem prethodno nedokumentiranog međuspremnika koji dijele sve CPU jezgre.

CROSSTalk - ranjivost u Intel CPU-ima koja dovodi do curenja podataka između jezgri

Bit problema je da su neke instrukcije mikroprocesora, uključujući RDRAND, RDSEED i SGX EGETKEY, implementirane pomoću interne mikroarhitektonske SRR (Special Register Reads) operacije. Na pogođenim procesorima, podaci vraćeni za SRR pohranjuju se u međuspremnik koji je zajednički svim CPU jezgrama, nakon čega se prenose u međuspremnik za punjenje povezan s određenom fizičkom CPU jezgrom na kojoj je pokrenuta operacija čitanja. Zatim se vrijednost iz međuspremnika za punjenje kopira u registre vidljive aplikacijama.

Veličina srednjeg dijeljenog međuspremnika odgovara liniji predmemorije, koja je obično veća od veličine podataka koji se čitaju, a različita čitanja utječu na različite pomake u međuspremniku. Budući da se zajednički međuspremnik u cijelosti kopira u međuspremnik za punjenje, premješta se ne samo dio potreban za trenutnu operaciju, već i podaci preostali iz drugih operacija, uključujući one koje se izvode na drugim CPU jezgrama.

CROSSTalk - ranjivost u Intel CPU-ima koja dovodi do curenja podataka između jezgri

CROSSTalk - ranjivost u Intel CPU-ima koja dovodi do curenja podataka između jezgri

Ako je napad uspješan, lokalni korisnik autentificiran u sustavu može odrediti rezultat izvršavanja instrukcija RDRAND, RDSEED i EGETKEY u stranom procesu ili unutar Intel SGX enklave, bez obzira na CPU jezgru na kojoj se kod izvršava.
Istraživači koji su identificirali problem objavljen Eksploatacija prototipa koja pokazuje mogućnost curenja informacija o nasumičnim vrijednostima dobivenim putem RDRAND i RDSEED uputa za oporavak ECDSA privatnog ključa obrađenog u Intel SGX enklavi nakon izvođenja samo jedne operacije digitalnog potpisa na sustavu.


problem osjetljiv širok raspon desktop, mobilnih i serverskih Intel procesora, uključujući Core i3, i5, i7, i9, m3, Celeron (serije J, G i N), Atom (serije C, E i X), Xeon (E3, E5, E7 obitelji, W i D), Xeon Scalable, itd. Važno je napomenuti da je Intel obaviješten o ranjivosti u rujnu 2018., au srpnju 2019. dostavljen je prototip exploita koji pokazuje curenje podataka između CPU jezgri, ali je razvoj popravka odgođen zbog složenosti njegove implementacije. Današnje predloženo ažuriranje mikrokoda rješava problem mijenjanjem ponašanja RDRAND, RDSEED i EGETKEY instrukcija za prepisivanje podataka u zajedničkom međuspremniku kako bi se spriječilo da se zaostale informacije tamo smjeste. Osim toga, pristup međuspremniku je pauziran dok se sadržaj ne pročita i ponovno upiše.

Nuspojava ove vrste zaštite je povećana latencija prilikom izvršavanja RDRAND, RDSEED i EGETKEY i smanjena propusnost prilikom pokušaja istovremenog izvršavanja ovih instrukcija na različitim logičkim procesorima. Izvršavanje RDRAND, RDSEED i EGETKEY također obustavlja pristup memoriji od drugih logičkih procesora. Ove značajke mogu negativno utjecati na performanse nekih poslužiteljskih aplikacija, tako da firmver pruža mehanizam (RNGDS_MITG_DIS) za onemogućavanje zaštite za RDRAND i RDSEED instrukcije koje se izvode izvan Intel SGX enklave.

Izvor: opennet.ru

Dodajte komentar