Dy sulme në mekanizmin e parashikimit të kanalit të cache në procesorët AMD

Një grup studiuesish nga Universiteti Teknik i Grazit (Austri), i njohur më parë për zhvillimin e metodave të sulmit MDS, NetSpectre, Çekiçi i hedhjes и ZombieLoad, kreu kërkime në optimizimet e harduerit specifik për procesorët AMD dhe ka zhvilluar dy metoda të reja të sulmeve të kanalit anësor që manipulojnë rrjedhjet e të dhënave gjatë funksionimit të mekanizmit të parashikimit të kanalit të cache L1 të procesorëve AMD. Teknikat mund të përdoren për të reduktuar efektivitetin e mbrojtjes ASLR, për të rikuperuar çelësat në implementimet e cenueshme të AES dhe për të rritur efektivitetin e sulmit Spectre.

U identifikuan probleme në zbatimin e mekanizmit të parashikimit të kanalit (parashikues i mënyrës) në memorien e të dhënave të nivelit të parë të CPU-së (L1D), e përdorur për të parashikuar se cili kanal memorie përmban një adresë të caktuar memorie. Optimizimi i përdorur në procesorët AMD bazohet në kontrollimin e etiketave μ (μTag). μTag llogaritet duke aplikuar një funksion specifik hash në adresën virtuale. Gjatë funksionimit, motori i parashikimit të kanalit përdor μTag për të përcaktuar kanalin e memories nga tabela. Kështu, μTag lejon procesorin të kufizohet në aksesin vetëm në një kanal specifik, pa kërkuar në të gjitha opsionet, gjë që redukton ndjeshëm konsumin e energjisë së CPU.

Dy sulme në mekanizmin e parashikimit të kanalit të cache në procesorët AMD

Gjatë inxhinierisë së kundërt të zbatimit të sistemit të parashikimit të kanalit në gjenerata të ndryshme të procesorëve AMD të lëshuar nga 2011 deri në 2019, u identifikuan dy teknika të reja sulmi në kanalin anësor:

  • Collide+Probe - lejon një sulmues të gjurmojë aksesin në kujtesë për proceset që ekzekutohen në të njëjtën bërthamë logjike të CPU-së. Thelbi i metodës është përdorimi i adresave virtuale që shkaktojnë përplasje në funksionin hash të përdorur për të llogaritur μTag për të gjurmuar aksesin në kujtesë. Ndryshe nga sulmet Flush+Reload dhe Prime+Probe të përdorura në procesorët Intel, Collide+Probe nuk përdor memorie të përbashkët dhe funksionon pa njohuri për adresat fizike.
  • Load+Reload - ju lejon të përcaktoni me shumë saktësi gjurmët e aksesit të kujtesës në të njëjtën bërthamë fizike të CPU-së. Metoda bazohet në faktin se një qelizë e memories fizike mund të jetë në cache L1D vetëm një herë. ato. qasja në të njëjtën qelizë memorie në një adresë të ndryshme virtuale do të bëjë që qeliza të largohet nga cache L1D, duke lejuar që aksesi i memories të gjurmohet. Megjithëse sulmi mbështetet në memorien e përbashkët, ai nuk i pastron linjat e cache-it, duke lejuar sulme të fshehta që nuk i nxjerrin të dhënat nga cache e nivelit të fundit.

Bazuar në teknikat Collide+Probe dhe Load+Reload, studiuesit kanë demonstruar disa skenarë sulmi në kanalin anësor:

  • Shfaqet mundësia e përdorimit të metodave për organizimin e një kanali të fshehtë komunikimi indirekt midis dy proceseve, duke lejuar transferimin e të dhënave me shpejtësi deri në 588 kB për sekondë.
  • Duke përdorur përplasjet në μTag, ishte e mundur të zvogëlohej entropia për variante të ndryshme të ASLR (Randomizimi i shtrirjes së hapësirës së adresave) dhe të anashkalohej mbrojtja ASLR në kernel në një sistem Linux plotësisht të përditësuar. Shfaqet mundësia e kryerjes së një sulmi për të reduktuar entropinë ASLR si nga aplikacionet e përdoruesit, ashtu edhe nga përdorimi i kodit JavaScript të ekzekutuar në një mjedis sandbox dhe kodi që ekzekutohet në një mjedis tjetër të ftuar.

    Dy sulme në mekanizmin e parashikimit të kanalit të cache në procesorët AMD

  • Bazuar në metodën Collide+Probe, u zbatua një sulm për të rikuperuar çelësin e enkriptimit nga një zbatim i cenueshëm (bazuar në T-tabela) Kriptimi AES.
  • Duke përdorur metodën Collide+Probe si një kanal për marrjen e të dhënave, sulmi Spectre ishte në gjendje të nxirrte të dhëna private nga kerneli pa përdorur memorie të përbashkët.

Dobësia shfaqet në procesorët AMD bazuar në mikroarkitekturat
Buldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ dhe Zen2.
AMD është njoftuar për këtë çështje në 23 gusht 2019, por deri më tani nuk e publikoi raportin me informacion rreth bllokimit të cenueshmërisë. Sipas studiuesve, problemi mund të bllokohet në nivelin e përditësimit të mikrokodit duke ofruar bit MSR për të çaktivizuar në mënyrë selektive sistemin e parashikimit të kanalit, ngjashëm me atë që bëri Intel për të kontrolluar çaktivizimin e mekanizmave të parashikimit të degëve.

Dy sulme në mekanizmin e parashikimit të kanalit të cache në procesorët AMD

Burimi: opennet.ru

Shto një koment