Pažeidžiamumas atsirado dėl „Intel“ procesorių atminties optimizavimo funkcijų.
Vėlgi, Intel procesorių spekuliacinių instrukcijų vykdymo sistemoje buvo aptiktas pažeidžiamumas, o šį kartą „Google“ tyrėjas paskelbė, kad nustatė naują pažeidžiamumą (jau kataloguota CVE-2022-40982), vadinamas „Nugriūtimi“
Downfall yra pažeidžiamumas, leidžiantis nustatyti XMM, YMM turinį ir ZMM vektoriniai registrai, anksčiau naudojami kitų procesų vykdydami AVX komandas tame pačiame procesoriaus branduolyje.
Apie nuosmukį
Kalbant apie pažeidžiamumą, minima, kad neprivilegijuotas užpuolikas su galimybe paleisti savo kodą sistemoje, gali panaudoti pažeidžiamumą duomenims nutekėti iš kitų naudotojo procesų, sistemos branduolys, izoliuoti Intel SGX anklavai ir virtualios mašinos.
Filtruojami vektoriniai registrai plačiai naudojami šifravimui, atminties kopijavimo funkcijoms ir eilučių apdorojimui, pavyzdžiui, šie registrai, be kita ko, naudojami Glibc bibliotekoje, atliekant memcpy, strcmp ir strlen funkcijas. Praktiniu požiūriu pažeidžiamumas gali būti išnaudotas siekiant nustatyti duomenis, kurie apdorojami AES-NI arba REP-MOVS instrukcijose (naudojamose memcpy funkcijoje) kituose procesuose, dėl kurių gali nutekėti šifravimo raktai, jautrūs duomenys ir vartotojo slaptažodžiai.
Pažeidžiamumas pasireiškia „Intel“ procesoriuose kurie palaiko išplėstinius AVX2 ir AVX-512 instrukcijų rinkinius (tai reiškia, kad tai veikia 6–11 kartos procesorius), o „Intel“ procesoriai, pagrįsti Alder Lake, Raptor Lake ir Sapphire Rapids mikroarchitektūromis, neatrodo paveikti.
Kaip ir neseniai aptiktas Zenbleed pažeidžiamumas, turintis įtakos AMD Zen2 procesoriams, „Downfall“ pažeidžiamumo priežastis yra duomenų nutekėjimas iš žurnalo failų, kurie naudojami bendrinti žurnalo turinį visose programose.
Nutekėjimas atsirado dėl spekuliacinio duomenų perdavimo vykdant GATHER pareiškimą, galimas su AVX2 ir AVX-512 plėtiniais ir skirtas greitai pasiekti skirtingus atmintyje esančius duomenis. Vykdant GATHER sakinį, senieji registro failo duomenys naudojami spekuliatyviam priklausomų komandų vykdymui. Šie duomenys tiesiogiai neatsispindi programinės įrangos žurnaluose, tačiau juos galima nustatyti naudojant šoninio kanalo atakų metodus, skirtus Meltdown atakoms, pvz., analizuojant likusius duomenis procesoriaus talpykloje.
Norėdami išnaudoti nuosmukį, buvo sukurta atakos technika, vadinama Gather Data Sampling (GDS) ir kurioms buvo paskelbti išnaudojimo prototipai, skirti išgauti kriptografinius raktus iš kito vartotojo proceso, nutekėti duomenis po to, kai juos nukopijavo į Linux branduolį naudojant memcpy funkciją, ir perimti spausdintus simbolius, likusius vektorių registruose po kitų procesų veikimo. Pavyzdžiui, jis parodo galimybę apibrėžti AES raktus, kurie naudojami duomenims užšifruoti kito vartotojo procese naudojant OpenSSL biblioteką.
Metodas parodė didelį efektyvumą: atliekant eksperimentą su 100 skirtingų raktų, 100% AES-128 raktų ir 86% AES-256 raktų buvo nustatyta kiekvieno bandymo trukmei nustatyti ne daugiau kaip 10 sekundžių. Debesų sistemose ataka gali būti naudojama norint nustatyti, kokie duomenys apdorojami kitose virtualiose mašinose. Gali būti, kad pažeidžiamumu galima pasinaudoti žiniatinklio naršyklėje vykdant JavaScript kodą.
Reikia paminėti, kad I„ntel“ apie problemą sužinojo praėjusiais metais (tiksliai rugpjūčio mėn.) ir kad pažeidžiamumas buvo paviešintas tik šiais metais „BlackHat USA“ konferencijoje. ir pataisymai, skirti apsisaugoti nuo pažeidžiamumo, jau įtraukti į įvairius „Linux“ branduolio naujinimus, pradedant nuo 6.4.9 versijos 6.1.44 iki 4.14.321.
Be to, tarp galimų priemonių, padedančių išvengti neigiamo apsaugos nuo Downfall pažeidžiamumo poveikio našumui, minimas kompiliatorių keitimas, kad būtų išjungtas GATHER sakinio naudojimas arba teiginio pridėjimas iš karto po GATHER LFENCE, kuri išjungia prevencinį paskesnių teiginių vykdymą dar nepasibaigus visiems ankstesniems įsipareigojimams.
Sistemose, kuriose programinės aparatinės įrangos pataisymai nepasiekiami, visų AVX plėtinių palaikymas buvo išjungtas, o Intel mikrokodo atnaujinimo daliai taip pat suteikiama galimybė naudoti MSR sąsają, kad būtų galima pasirinktinai išjungti programinės aparatinės įrangos.apsaugą atskirų procesų kontekste.
Galiausiai, jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.