Vulnerabilities nyob rau hauv eBPF subsystem uas tso cai hla kev tiv thaiv tawm tsam Spectre

Qhov tsis zoo tau raug txheeb xyuas nyob rau hauv Linux ntsiav (CVE-2021-33624) uas tso cai rau eBPF subsystem siv los hla kev tiv thaiv Spectre class vulnerabilities, uas ua rau nws muaj peev xwm txiav txim siab cov ntsiab lus ntawm lub cim xeeb los ntawm kev tsim cov xwm txheej rau speculative ua tiav ntawm qee yam haujlwm. Kev tawm tsam Spectre yuav tsum muaj qhov muaj qee yam ntawm cov lus txib hauv cov cai muaj cai uas ua rau muaj kev ua tiav ntawm cov lus qhia. Los ntawm kev tswj hwm BPF cov kev pab cuam xa mus rau kev ua tiav, nws muaj peev xwm tsim cov lus qhia zoo sib xws hauv eBPF thiab xau cov ntsiab lus ntawm lub cim xeeb ntawm lub cim xeeb thiab qhov chaw tsis txaus ntseeg ntawm lub cev lub cim xeeb los ntawm sab raws.

Qhov tsis zoo yog tshwm sim los ntawm qhov tsis zoo ntawm tus neeg kuaj xyuas, uas yog siv los txheeb xyuas qhov tsis raug thiab kev ua haujlwm tsis txaus ntseeg hauv BPF cov haujlwm. Tus neeg txheeb xyuas suav sau cov cai ua tiav txoj hauv kev, tab sis hla cov kev xaiv uas tsis tuaj yeem lees txais los ntawm qhov pom ntawm cov ntsiab lus ntawm cov lus qhia teeb tsa. Thaum ua tiav qhov kev pab cuam BPF, xws li cov kev xaiv ceg uas tsis suav nrog los ntawm tus neeg txheeb xyuas tuaj yeem raug kwv yees los ntawm tus txheej txheem thiab ua tiav hauv hom kev xav. Piv txwv li, thaum txheeb xyuas qhov kev ua haujlwm "load", tus neeg pov thawj xav tias cov lus qhia siv cov ntawv sau npe nrog qhov chaw nyob uas nws tus nqi ib txwm nyob hauv thaj tsam uas tau teev tseg, tab sis tus neeg tawm tsam tuaj yeem tsim cov xwm txheej raws li tus txheej txheem yuav sim ua qhov kev ua haujlwm nrog. ib qhov chaw nyob uas tsis ua raws li qhov kev lees paub.

Qhov teeb meem tau tshwm sim txij li thaum tso tawm kernel 4.15 thiab tau kho nyob rau hauv daim ntawv ntawm thaj ua rau thaj (1, 2, 3, 4). Qhov teeb meem tseem tsis tau kho hauv kev faib khoom (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch).

Tsis tas li ntawd, koj tuaj yeem sau daim ntawv qhia txog kev ua haujlwm ntawm cov cuab yeej los tiv thaiv Spectre vulnerabilities. Daim ntawv sau qhia txog cov txiaj ntsig ntawm kev ua kom zoo ntawm rr (Record thiab Replay) debugger, uas tau tsim ib zaug hauv Mozilla los daws qhov nyuaj-rau-rov ua yuam kev hauv Firefox. Caching lub kaw lus hu siv los txheeb xyuas qhov muaj nyob ntawm cov npe tau txo qis "rr qhov chaw" ua haujlwm rau qhov kev sim ntsuas ntawm 3 feeb 19 vib nas this mus rau 36 vib nas this.

Tus sau optimization txiav txim siab los xyuas seb qhov kev ua tau zoo yuav hloov pauv li cas tom qab tsis siv Spectre tiv thaiv. Tom qab thauj cov kab ke nrog "mitigations = off" parameter, lub sijhawm ua haujlwm ntawm "rr qhov chaw" yam tsis muaj kev ua kom zoo dua yog 2 feeb 5 vib nas this (1.6 zaug sai dua), thiab nrog kev ua kom zoo nws yog 33 vib nas this (9% sai dua). Interestingly, disabling Spectre tiv thaiv tsis tsuas yog txo cov code execution lub sij hawm ntawm lub ntsiav qib los ntawm 1.4 zaug (los ntawm 2m9s rau 1m32s), tab sis kuj halved execution lub sij hawm nyob rau hauv cov neeg siv qhov chaw (los ntawm 1m9s mus rau 0m33s), tej zaum yog vim txo efficiency CPU cache ua hauj lwm thiab TLB. rov pib dua thaum Spectre tiv thaiv tau qhib.

Tau qhov twg los: opennet.ru

Ntxiv ib saib