Ang kahinaan sa Linux 6.2 kernel na maaaring makalampas sa proteksyon ng pag-atake ng Spectre v2

Natukoy ang isang kahinaan sa Linux 6.2 kernel (CVE-2023-1998) na hindi pinapagana ang proteksyon laban sa mga pag-atake ng Spectre v2 na nagbibigay-daan sa pag-access sa memorya ng iba pang mga proseso na tumatakbo sa iba't ibang mga thread ng SMT o Hyper Threading, ngunit sa parehong pisikal na core ng processor. Ang kahinaan, bukod sa iba pang mga bagay, ay maaaring magamit upang ayusin ang pagtagas ng data sa pagitan ng mga virtual machine sa mga cloud system. Ang isyu ay nakakaapekto lamang sa Linux 6.2 kernel at sanhi ng hindi tamang pagpapatupad ng mga pag-optimize na idinisenyo upang bawasan ang makabuluhang overhead kapag nag-aaplay ng proteksyon laban sa Spectre v2. Ang kahinaan ay naayos sa eksperimentong sangay ng Linux 6.3 kernel.

Sa espasyo ng gumagamit, upang maprotektahan laban sa mga pag-atake ng Spectre, maaaring piliing hindi paganahin ng mga proseso ang pagsasagawa ng speculative instruction sa prctl PR_SET_SPECULATION_CTRL o gumamit ng seccomp-based system call filtering. Ayon sa mga mananaliksik na natukoy ang problema, ang hindi tamang pag-optimize sa 6.2 kernel ay nag-iwan sa mga virtual machine ng hindi bababa sa isang malaking cloud provider na walang tamang proteksyon, sa kabila ng pagsasama ng spectre-BTI attack blocking mode sa pamamagitan ng prctl. Ang kahinaan ay nagpapakita rin ng sarili nito sa mga regular na server na may 6.2 kernel, na na-boot gamit ang setting na "spectre_v2=ibrs".

Ang kakanyahan ng kahinaan ay kapag pumipili ng mga mode ng proteksyon ng IBRS o eIBRS, hindi pinagana ng mga pag-optimize na ginawa ang paggamit ng mekanismo ng STIBP (Single Thread Indirect Branch Predictors), na kinakailangan upang harangan ang mga pagtagas kapag gumagamit ng sabay-sabay na teknolohiyang multithreading (SMT o Hyper-Threading). ). Kasabay nito, tanging ang eIBRS mode lamang ang nagbibigay ng proteksyon laban sa pagtagas sa pagitan ng mga thread, ngunit hindi ang IBRS mode, dahil kasama nito ang IBRS bit, na nagbibigay ng proteksyon laban sa mga pagtagas sa pagitan ng mga lohikal na core, ay na-clear para sa mga kadahilanan ng pagganap kapag ang kontrol ay bumalik sa espasyo ng gumagamit, na ginagawang hindi protektado ang mga thread ng user space mula sa mga pag-atake ng klase ng Spectre v2.

Pinagmulan: opennet.ru

Magdagdag ng komento