AMD konfirmis la eblan vundeblecon de CPU AMD Zen 3 al la atako Spectre-STL

AMD publikigis raporton analizantan la sekurecon de la optimumiga teknologio PSF (Predictive Store Forwarding) efektivigita en procesoroj de la serio Zen 3. La studo teorie konfirmis la aplikeblecon de la atako-metodo Spectre-STL (Spectre-v4), identigita en majo 2018, por PSF-teknologio, sed praktike, neniuj kodŝablonoj kapablaj konduki al atako ankoraŭ estis trovitaj kaj la ĝenerala danĝero estas taksita kiel sensignifa.

Ni rememoru, ke la atako Spectre-v4 (Speculative Store Bypass) baziĝas sur restarigo de datumoj, kiuj instaliĝis en la procesoro-kaŝmemoro post forĵeti la rezulton de spekula ekzekuto de operacioj dum prilaborado de alternaj skribaj kaj legaj operacioj per nerekta adresado. Kiam legado sekvas skriban operacion (ekz., mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), la ofseto de la legata adreso eble jam estas konata pro similaj operacioj estantaj faritaj (legaj operacioj estas farita multe pli ofte kaj legas povas esti faritaj de la kaŝmemoro) kaj la procesoro povas konjekte elfari legadojn antaŭ skriboj sen atendado ke la nerekta ofseto de la skribo estu kalkulita.

Ĉi tiu funkcio permesas al legi instrukcion aliri malnovan valoron ĉe iu adreso dum la butikoperacio ankoraŭ ne estas finita. Se estas prognoza eraro, la malsukcesa konjekta operacio estos forĵetita, sed spuroj de ĝia ekzekuto restos en la procesora kaŝmemoro kaj povas esti reakiritaj per unu el la metodoj por determini la enhavon de la kaŝmemoro surbaze de analizo de ŝanĝoj en aliro. tempo al kaŝmemoritaj kaj nekaŝigitaj datumoj.

Aldonita al AMD Zen 3-procesoroj, PSF optimumigas STLF (Store-To-Load-Forwarding), kiu elfaras legajn operaciojn spekulative antaŭdirante la rilaton inter legado kaj skriba operacioj. Kiam oni uzas klasikan STLF, la procesoro faras "ŝarĝon" operacion sur la datumoj rekte plusenditaj de la antaŭa "stoki" komando, sen atendi ke la rezulto efektive estos skribita al memoro, sed certigante ke la adresoj uzitaj en la "ŝarĝo" kaj "stoki" komandoj kongruas. La PSF-optimumigo igas adreskontroladon konjekta kaj elfaras "ŝarĝon" operacion antaŭ ol la adresinformoj estis komputitaj se butiko/ŝarĝa paro manipulanta ununuran adreson antaŭe estis efektivigita. Se la antaŭdiro malsukcesas, la stato estas retrovita, sed la datumoj restas en la kaŝmemoro.

Atako kontraŭ PSF nur eblas en la kadro de unu nivelo de privilegioj, kovras nur la nunan procezkuntekston kaj estas blokita per adresspacaj izolaj metodoj aŭ aparataj sablokestomekanismoj. En ĉi tiu kazo, programaj sandboxing-metodoj en procezoj eble povas esti tuŝitaj de la problemo. La atako prezentas minacon al sistemoj kiel ekzemple retumiloj, kodo-ekzekutaj virtualaj maŝinoj, kaj JIToj kiuj efektivigas triapartan kodon ene de ununura procezo (la atako povus permesi al nefidinda sablokestokodo akiri aliron al aliaj procezdatenoj).

AMD disponigis kelkajn metodojn por tute aŭ selekte malŝalti PSF, sed pro la nekonsiderinda risko por plej multaj aplikoj, rekomendis ke ĉi tiu optimumigo ne estu malŝaltita defaŭlte. Por selekteme protekti procezojn, kiuj izolas tiujn, kiuj efektivigas nefidindan kodon, estas proponite malŝalti PSF per fikso de la "SSBD" kaj "PSFD" MSR-bitoj, inkluzive por individuaj fadenoj. Flikiloj estis preparitaj por la Linukso-kerno kun la efektivigo de la "psfd" kaj "nopsfd" komandliniaj opcioj kiuj kontrolas kiel PSF estas ŝaltita kaj malŝaltita.

fonto: opennet.ru

Aldoni komenton