Është prezantuar një klasë e re dobësish në procesorët Intel

Intel botuar informacione për të reja klasa e cenueshmërisë në procesorët e tyre - MDS (Sampling të të dhënave mikroarkitekturore). Ashtu si sulmet e mëparshme Spectre, problemet e reja mund të çojnë në rrjedhje të të dhënave private nga sistemi operativ, makinat virtuale dhe proceset e tjera. Pretendohet se problemet fillimisht u identifikuan nga punonjësit dhe partnerët e Intel-it gjatë një auditimi të brendshëm, pas të cilit studiues të pavarur i dhanë informacione Intel-it për probleme të ngjashme. Procesorët AMD dhe ARM nuk preken nga problemi.

Bazuar në problemet e identifikuara nga studiues nga Universiteti Teknik i Grazit (Austri) zhvilluar Disa sulme praktike të kanaleve anësore:

  • ZombieLoad (PDF) - ju lejon të nxirrni informacione konfidenciale nga proceset e tjera, sistemi operativ, makinat virtuale dhe enklavat e mbrojtura (TEE, Mjedisi i Ekzekutimit të Besuar). Për shembull, u demonstrua aftësia për të përcaktuar historinë e hapjes së faqeve në shfletuesin Tor që funksionon në një makinë tjetër virtuale, si dhe përcaktimi i çelësave të hyrjes dhe fjalëkalimeve të përdorura në aplikacione;


  • RIDL (PDF) - lejon rrjedhjen e informacionit midis zonave të ndryshme të izoluara në procesorët Intel, të tilla si buferët e mbushjes, buferët e ruajtjes dhe portat e ngarkesës. Tregohen shembuj të sulmeve për organizimin e rrjedhjeve nga proceset e tjera, sistemi operativ, makinat virtuale dhe enklavat e mbrojtura. Për shembull, tregon se si të zbuloni përmbajtjen e hash-it të fjalëkalimit rrënjë nga /etc/shadow gjatë përpjekjeve periodike të vërtetimit (sulmi zgjati 24 orë);

    Për më tepër, një shembull i një sulmi duke përdorur JavaScript dhe WebAssembly shfaqet kur hapni një faqe me qëllim të keq në motorin SpiderMonkey (në shfletuesit modernë të plotë, një sulm i tillë nuk ka gjasa për shkak të saktësisë së kufizuar të kohëmatësit dhe masave për të mbrojtur kundër Specter);

  • Grindja (PDF) - bën të mundur leximin e të dhënave të shkruara së fundmi nga sistemi operativ dhe përcaktimin e paraqitjes së memories OS për të thjeshtuar sulmet e tjera;
  • Përcjellja nga dyqani në rrjedhje — shfrytëzon optimizimet e CPU-së për të punuar me buferin e ruajtjes dhe mund të përdoret për të anashkaluar mekanizmin e rastësishëm të hapësirës së adresave të kernelit (KASLR), për të monitoruar gjendjen e sistemit operativ ose për организации rrjedhje në kombinim me pajisje të bazuara në metodat Spectre.

Identifikuar dobësitë:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), rikuperimi i përmbajtjes së buferave të ruajtjes. Përdoret në sulmin Fallout. Shkalla e rrezikut është përcaktuar të jetë 6.5 pikë (CVSS);
  • CVE-2018-12127 - MLPDS (Sampling mikroarkitektonik i të dhënave të portit të ngarkesës), rikuperimi i përmbajtjes së portit të ngarkesës. Përdoret në sulmin RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Sampling mikroarkitektonik i bufferit të të dhënave), rikuperimi i përmbajtjes së tamponit mbushës. Përdoret në sulmet ZombieLoad dhe RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Memorie e pakapshme e kampionimit të të dhënave mikroarkitekturore), rikuperimi i përmbajtjeve të memories së pacaktuar. Përdoret në sulmin RIDL. CVSS 3.8.

zemër identifikuan probleme në aftësinë për të aplikuar metodat e analizës së kanaleve anësore për të dhënat në strukturat mikroarkitekturore në të cilat aplikacionet nuk kanë qasje direkte. Po flasim për struktura të tilla të nivelit të ulët si buferët mbushës (Line Fill Buffer), buferët e ruajtjes (Store Buffer) dhe portat e ngarkesës (Load Port), të cilat janë blloqe ndërtimi më të vogla se cache e nivelit të parë (L1D), cache e ngarkesës së të dhënave ( RDCL ) ose L1TF (L1 Terminal Fault), dhe në përputhje me rrethanat përfshijnë më pak informacion dhe përditësohen më intensivisht.

Është prezantuar një klasë e re dobësish në procesorët Intel

Sulmet e kanaleve anësore në strukturat mikroarkitekturore janë shumë më të vështira për t'u kryer në krahasim me metodat për rivendosjen e përmbajtjes së cache-it dhe kërkojnë gjurmimin dhe analizimin e sasive të konsiderueshme të të dhënave për të përcaktuar lidhjen e tyre me adresa të caktuara në memorie (në thelb, një sulmues nuk mund të përgjojë me qëllim të dhëna të caktuara , por mund të jetë koha për të grumbulluar rrjedhje dhe për të aplikuar metoda statistikore për të rindërtuar disa lloje të dhënash). Për më tepër, sulmi prek vetëm të dhënat në të njëjtën bërthamë fizike të CPU-së si kodi i sulmuesit.

Metodat e propozuara për përcaktimin e përmbajtjes së strukturave mikroarkitekturore bazohen në faktin se këto struktura përdoren gjatë trajtimit spekulativ të përjashtimeve (defekteve) ose operacioneve të ngarkimit dhe ruajtjes.
Gjatë ekzekutimit spekulativ, përmbajtja e strukturave të brendshme ridrejtohet në regjistra ose memorie për përpunim. Operacionet spekulative nuk përfundojnë dhe rezultati hidhet poshtë, por përmbajtja e ridrejtuar mund të përcaktohet duke përdorur teknikat e analizës së cache-it të kanalit anësor.

Portat e ngarkesës përdoren nga procesori për të marrë të dhëna nga memoria ose nënsistemi I/O dhe për të ofruar informacionin e marrë në regjistrat e CPU. Për shkak të veçorisë së zbatimit, të dhënat nga operacionet e vjetra të shkarkimit mbeten në porte derisa ato të mbishkruhen nga të dhëna të reja, gjë që bën të mundur përcaktimin indirekt të gjendjes së të dhënave në portin e shkarkimit duke manipuluar përjashtimet (defektet) dhe SSE/AVX/ Udhëzime AVX-512 që ngarkojnë të dhëna më shumë se 64 bit. Në kushte të tilla, operacionet e ngarkesës ekspozojnë në mënyrë spekulative vlerat e të dhënave të ndenjura nga strukturat e brendshme në operacionet e varura. Në mënyrë të ngjashme, një rrjedhje organizohet përmes buferit të ruajtjes, i cili përdoret për të përshpejtuar shkrimin në cache të CPU-së dhe përfshin një tabelë adresash, vlerash dhe flamujsh, si dhe përmes buferit të mbushjes, i cili përmban të dhëna që nuk është ende në cache L1 (cache-miss), për momentin po ngarkohet nga cache të niveleve të tjera.

Është prezantuar një klasë e re dobësish në procesorët Intel

problem ndikon Modelet e procesorëve Intel të prodhuara që nga viti 2011 (duke filluar nga gjenerata e 6-të). Në këtë rast, dobësitë e harduerit bllokohen duke filluar nga disa modele të gjeneratës së 8-të dhe të 9-të të Intel Core dhe gjeneratës së dytë të Intel Xeon Scalable (mund të kontrolloni duke përdorur bitin ARCH_CAP_MDS_NO në IA2_ARCH_CAPABILITIES MSR). Dobësitë janë gjithashtu tashmë eliminohet në nivelin e firmuerit, mikrokodit dhe sistemeve operative. Intel vlerëson humbjen e performancës pas aktivizimit të patch-it për shumicën e përdoruesve më pak se 3%. Kur teknologjia Hyper-Threading është e çaktivizuar, degradimi i performancës mund të arrijë deri në 9% në testin SPECint_rate_base, deri në 11% në llogaritjet aktive të numrave të plotë dhe deri në 19% kur ekzekutohen aplikacionet Java në anën e serverit (me HT të aktivizuar, pothuajse ka pa degradim të performancës). Arna kanë pak ndikim në performancën I/O.

Kerneli Linux mbron nga MDS shtuar në të sotmen përditësimet 5.1.2, 5.0.16,
4.19.43, 4.14.119 dhe 4.9.176. Metoda e mbrojtjes ne ndertim e siper mbi pastrimin e përmbajtjes së buferëve mikroarkitekturorë në momentin e kthimit nga kerneli në hapësirën e përdoruesit ose kur transferohet kontrolli në sistemin e mysafirëve, për të cilin përdoret instruksioni VERW. Që mbrojtja të funksionojë, ajo kërkon mbështetje për modalitetin MD_CLEAR, të zbatuar në përditësimin më të fundit të mikrokodit. Për mbrojtje të plotë, rekomandohet gjithashtu të çaktivizoni Hyper Threading. Për të kontrolluar ekspozimin e sistemit ndaj dobësive në kernelin Linux shtuar mbajtësi "/sys/devices/system/cpu/vulnerabilities/mds". Për të kontrolluar përfshirjen e mënyrave të ndryshme të bllokimit të cenueshmërisë, në kernel është shtuar parametri "mds=", i cili mund të marrë vlerat "full", "full,nosmt" (çaktivizimi i Hyper-Threads), "vmwerv" dhe "off".

Përditësimet e paketës tashmë janë lëshuar për RHEL и Ubuntu, por mbeten të padisponueshme për momentin Debian, Fedora и SUSE.
Një rregullim për të bllokuar rrjedhjet e të dhënave nga makinat virtuale gjithashtu formuar për hipervizorin Xen. Një përditësim i mikrokodit është i mjaftueshëm për të mbrojtur sistemet e virtualizimit që lëshojnë komandën L1D_FLUSH përpara se të transferojnë kontrollin në një makinë tjetër virtuale dhe për të mbrojtur enklavat Intel SGX.

Burimi: opennet.ru

Shto një koment