BHI yog qhov tsis zoo hauv chav kawm Spectre tshiab hauv Intel thiab ARM processors

Ib pawg ntawm cov kws tshawb fawb los ntawm Vrije Universiteit Amsterdam tau txheeb xyuas qhov muaj qhov tsis zoo tshiab hauv cov qauv microarchitectural ntawm Intel thiab ARM processors, uas yog qhov txuas ntxiv ntawm Spectre-v2 qhov tsis zoo, uas tso cai rau ib tus los hla eIBRS thiab CSV2 cov txheej txheem tiv thaiv ntxiv rau cov txheej txheem. . Qhov tsis zoo no tau muab ntau lub npe: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) thiab Spectre-BHB (CVE-2022-23960), uas piav qhia txog qhov sib txawv ntawm tib qhov teeb meem (BHI - kev tawm tsam cuam tshuam rau ntau theem ntawm cov cai, piv txwv li, cov txheej txheem neeg siv thiab cov ntsiav, BHB - kev tawm tsam ntawm tib theem kev cai, piv txwv li, eBPF JIT thiab kernel).

Cov kws tshawb fawb tau ua pov thawj pom kev ua haujlwm ua haujlwm uas tso cai rau cov ntaub ntawv tsis raug rho tawm los ntawm lub cim xeeb ntawm cov neeg siv qhov chaw. Piv txwv li, nws tau qhia tias yuav ua li cas, siv qhov kev npaj siv, nws muaj peev xwm rho tawm los ntawm cov ntsiav buffers ib txoj hlua nrog hash ntawm tus neeg siv hauv paus lo lus zais loaded los ntawm /etc/shadow file. Qhov kev siv dag zog ua kom pom qhov muaj peev xwm ntawm kev siv qhov tsis zoo nyob rau hauv ib theem tsim nyog (kernel-to-kernel attack) siv cov neeg siv-loaded eBPF program. Nws kuj tseem tuaj yeem siv los hloov eBPF Spectre gadgets uas twb muaj lawm nyob rau hauv cov kab lis kev cai, cov kab ke ntawm cov lus txib uas ua rau kev ua tiav ntawm cov lus qhia.

Qhov tsis zoo tshwm sim nyob rau hauv feem ntau cov txheej txheem Intel tam sim no, tshwj tsis yog cov txheej txheem los ntawm Atom tsev neeg. Ntawm ARM processors, Cortex-A15, Cortex-A57, Cortex-A7 *, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 thiab tejzaum nws qee qhov Cortex-R chips raug cuam tshuam los ntawm qhov teeb meem. Raws li kev tshawb fawb, qhov tsis zoo tsis tshwm sim hauv AMD processors. Txhawm rau tshem tawm qhov teeb meem, ntau txoj hauv kev software tau thov los thaiv qhov tsis muaj zog, uas tuaj yeem siv ua ntej cov tsos ntawm kev tiv thaiv kho vajtse hauv CPU qauv yav tom ntej.

Txhawm rau thaiv kev tawm tsam los ntawm eBPF subsystem, nws raug nquahu kom lov tes taw los ntawm lub neej ntawd lub peev xwm rau cov neeg siv tsis muaj peev xwm rub tawm eBPF cov kev pabcuam los ntawm kev sau 1 rau cov ntaub ntawv “/proc/sys/kernel/unprivileged_bpf_disabled” lossis khiav cov lus txib “sysctl -w kernel. unprivileged_bpf_disabled=1”. Txhawm rau tiv thaiv kev tawm tsam gadget, nws raug nquahu kom siv LFENCE cov lus qhia hauv cov lej lej uas tuaj yeem ua rau kev ua tiav kev kwv yees. Nws yog ib qho tseem ceeb uas lub neej ntawd teeb tsa ntawm feem ntau Linux kev faib tawm twb muaj cov kev tiv thaiv tsim nyog txaus los thaiv cov eBPF tawm tsam pom los ntawm cov kws tshawb fawb. Intel cov lus pom zoo rau kev txwv tsis pub nkag mus rau eBPF kuj yog lub neej ntawd txij li Linux ntsiav 5.16 thiab yuav rov qab mus rau cov ceg ntoo ua ntej.

Conceptually, BHI yog ib qho txuas ntxiv ntawm Spectre-v2 nres, nyob rau hauv uas, los hla kev tiv thaiv ntxiv (Intel eIBRS thiab Arm CSV2) thiab teeb tsa cov ntaub ntawv xau, kev hloov pauv tus nqi yog siv nyob rau hauv Branch History Buffer, siv hauv CPU kom nce kev kwv yees. raug branching los ntawm kev coj mus rau hauv tus account keeb kwm ntawm kev hloov yav dhau los. Thaum lub sij hawm tawm tsam, los ntawm kev tswj hwm nrog keeb kwm ntawm kev hloov pauv, cov xwm txheej raug tsim rau kev twv tsis raug ntawm kev hloov pauv thiab kev ua tiav ntawm cov lus qhia tsim nyog, qhov tshwm sim ntawm qhov xaus hauv lub cache.

Nrog rau kev zam ntawm kev siv Branch History Buffer es tsis txhob ntawm Branch Target Buffer, qhov kev tawm tsam tshiab yog zoo ib yam rau Spectre-v2. Tus neeg tua neeg lub luag haujlwm yog los tsim cov xwm txheej xws li qhov chaw nyob, thaum ua haujlwm ntawm kev xav, raug coj los ntawm thaj chaw ntawm cov ntaub ntawv teev tseg. Tom qab ua qhov kev txiav txim siab tsis ncaj ncees lawm, qhov chaw dhia dhia nyeem los ntawm lub cim xeeb tseem nyob hauv lub cache, tom qab uas ib qho ntawm txoj hauv kev los txiav txim siab cov ntsiab lus ntawm lub cache tuaj yeem siv los khaws nws raws li kev txheeb xyuas ntawm kev hloov pauv hauv lub sijhawm nkag mus rau cached thiab uncached. cov ntaub ntawv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib