Kinumpirma ng AMD ang potensyal na kahinaan ng AMD Zen 3 na mga CPU sa pag-atake ng Spectre-STL

Ang AMD ay nag-publish ng isang ulat na nagsusuri sa seguridad ng PSF (Prdictive Store Forwarding) na teknolohiya sa pag-optimize na ipinatupad sa mga processor ng serye ng Zen 3 Ang pag-aaral ay ayon sa teoryang kinumpirma ang pagiging angkop ng paraan ng pag-atake ng Spectre-STL (Spectre-v4), na natukoy noong Mayo 2018, sa. Ang teknolohiya ng PSF, ngunit sa pagsasagawa, walang mga template ng code na may kakayahang humantong sa isang pag-atake ang natagpuan pa at ang pangkalahatang panganib ay tinasa bilang hindi gaanong mahalaga.

Alalahanin natin na ang pag-atake ng Spectre-v4 (Speculative Store Bypass) ay batay sa pagpapanumbalik ng data na naayos sa cache ng processor pagkatapos itapon ang resulta ng speculative execution ng mga operasyon kapag nagpoproseso ng mga alternating write at read na operasyon gamit ang hindi direktang pagtugon. Kapag ang isang read operation ay sumunod sa isang write operation (hal., mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), ang offset ng read address ay maaaring alam na dahil sa mga katulad na operasyon na ginagawa (read operations ay gumanap nang mas madalas at ang mga pagbabasa ay maaaring gawin mula sa cache) at ang processor ay maaaring magsagawa ng haka-haka na pagbabasa bago magsulat nang hindi naghihintay na kalkulahin ang indirection offset ng write.

Nagbibigay-daan ang feature na ito sa isang read instruction na ma-access ang isang lumang value sa ilang address habang hindi pa natatapos ang operasyon ng tindahan. Kung mayroong error sa paghula, ang hindi matagumpay na operasyon ng haka-haka ay itatapon, ngunit ang mga bakas ng pagpapatupad nito ay mananatili sa cache ng processor at maaaring makuha ng isa sa mga pamamaraan para sa pagtukoy ng mga nilalaman ng cache batay sa pagsusuri ng mga pagbabago sa pag-access oras sa naka-cache at hindi naka-cache na data.

Idinagdag sa mga processor ng AMD Zen 3, ino-optimize ng PSF ang STLF (Store-To-Load-Forwarding), na nagsasagawa ng mga read operations sa pamamagitan ng paghula sa ugnayan sa pagitan ng read at write operations. Kapag gumagamit ng klasikong STLF, ang processor ay nagsasagawa ng "load" na operasyon sa data na direktang ipinasa mula sa nakaraang "store" na utos, nang hindi naghihintay na ang resulta ay aktwal na maisulat sa memorya, ngunit tinitiyak na ang mga address na ginamit sa "load" at ang mga command na "store" ay tumutugma. Ang PSF optimization ay ginagawang haka-haka ang pagsusuri sa address at nagsasagawa ng "load" na operasyon bago makalkula ang impormasyon ng address kung ang isang pares ng tindahan/load na nagmamanipula sa isang address ay dati nang naisakatuparan. Kung nabigo ang hula, ibabalik ang estado, ngunit mananatili ang data sa cache.

Ang pag-atake sa PSF ay posible lamang sa loob ng balangkas ng isang antas ng mga pribilehiyo, sumasaklaw lamang sa kasalukuyang konteksto ng proseso at hinaharangan ng mga paraan ng paghihiwalay ng espasyo ng address o mga mekanismo ng sandbox ng hardware. Sa kasong ito, ang mga pamamaraan ng software sandboxing sa mga proseso ay maaaring maapektuhan ng problema. Ang pag-atake ay nagdudulot ng banta sa mga system gaya ng mga browser, code execution virtual machine, at JIT na nagpapatupad ng third-party na code sa loob ng isang proseso (maaaring payagan ng pag-atake ang hindi pinagkakatiwalaang sandboxed code na makakuha ng access sa iba pang data ng proseso).

Nagbigay ang AMD ng ilang pamamaraan para sa ganap o piling hindi pagpapagana ng PSF, ngunit dahil sa kaunting panganib para sa karamihan ng mga application, ay nagrekomenda na ang pag-optimize na ito ay hindi i-disable bilang default. Upang piliing protektahan ang mga prosesong naghihiwalay sa mga nagpapatupad ng hindi mapagkakatiwalaang code, iminumungkahi na huwag paganahin ang PSF sa pamamagitan ng pagtatakda ng "SSBD" at "PSFD" na MSR bits, kabilang ang para sa mga indibidwal na thread. Inihanda ang mga patch para sa Linux kernel sa pagpapatupad ng mga opsyon sa command line na "psfd" at "nopsfd" na kumokontrol kung paano i-on at i-off ang PSF.

Pinagmulan: opennet.ru

Magdagdag ng komento