Lwm qhov tsis zoo tau raug txheeb xyuas hauv AMD processors uas tso cai rau Meltdown tawm tsam

Ib pab neeg tshawb fawb los ntawm Technical University of Graz (Austria) thiab Helmholtz Center for Information Security (CISPA) tau tshaj tawm cov ntaub ntawv hais txog qhov tsis zoo (CVE-2021-26318) hauv txhua AMD processors uas ua rau nws muaj peev xwm ua tau Meltdown-class. sab-channel tawm tsam (thawj zaug nws tau xav tias AMD processors tsis cuam tshuam los ntawm Meltdown qhov tsis zoo). Hauv cov ntsiab lus siv tau, qhov kev tawm tsam tuaj yeem siv los tsim cov kev sib txuas lus zais cia, saib xyuas cov haujlwm hauv lub ntsiav, lossis tau txais cov ntaub ntawv hais txog chaw nyob hauv lub cim xeeb ntawm lub cim xeeb kom hla KASLR kev tiv thaiv thaum siv qhov tsis zoo hauv cov ntsiav.

AMD suav tias nws tsis tsim nyog los ntsuas qhov tshwj xeeb los thaiv qhov teeb meem, txij li qhov muaj qhov tsis zoo, zoo li kev tawm tsam zoo sib xws hauv lub Yim Hli, yog siv me me hauv cov xwm txheej tiag tiag, raug txwv los ntawm thaj tsam tam sim no ntawm cov txheej txheem chaw nyob thiab xav kom muaj qee yam. npaj txhij ua ntu ntawm cov lus qhia (gadgets) nyob rau hauv lub kernel. Txhawm rau ua kom pom qhov kev tawm tsam, cov kws tshawb fawb tau thauj lawv tus kheej cov ntsiav tshuaj nrog cov khoom siv dag zog ntxiv. Hauv cov xwm txheej tiag tiag, cov neeg tawm tsam tuaj yeem siv, piv txwv li, tsis tu ncua ua rau muaj qhov tsis zoo hauv eBPF subsystem los hloov qhov tsim nyog ua ntu zus.

Txhawm rau tiv thaiv hom kev tawm tsam tshiab no, AMD pom zoo kom siv cov txheej txheem coding ruaj ntseg uas pab thaiv Meltdown tawm tsam, xws li siv LFENCE cov lus qhia. Cov kws tshawb nrhiav uas tau txheeb xyuas qhov teeb meem pom zoo kom ua kom nruj me ntsis ntawm nplooj ntawv cais tawm (KPTI), uas yav tas los tsuas yog siv rau Intel processors.

Thaum lub sij hawm sim, cov kws tshawb fawb tau tswj kom xau cov ntaub ntawv los ntawm cov ntsiav mus rau cov txheej txheem hauv cov neeg siv qhov chaw ntawm qhov ceev ntawm 52 bytes ib ob, muab lub xub ntiag ntawm cov khoom siv hauv cov ntsiav uas ua haujlwm "yog tias (offset < data_len) tmp = LUT[data[offset] * 4096];” . Muaj ntau txoj hauv kev tau thov kom rov muab cov ntaub ntawv los ntawm sab channel uas xaus rau hauv lub cache thaum xav txog kev ua tiav. Thawj txoj kev yog ua raws li kev txheeb xyuas qhov sib txawv hauv lub sijhawm ua tiav ntawm cov lus qhia processor "PREFETCH" (Prefetch + Lub Sijhawm), thiab qhov thib ob ntawm kev hloov pauv ntawm kev siv hluav taws xob thaum ua tiav "PREFETCH" (Prefetch + Fais Fab).

Nco qab tias qhov tsis zoo ntawm Meltdown classic yog raws li qhov tseeb tias thaum lub sijhawm kwv yees ua tiav cov lus qhia, tus txheej txheem tuaj yeem nkag mus rau thaj chaw cov ntaub ntawv ntiag tug thiab tom qab ntawd muab pov tseg qhov tshwm sim, txij li cov txheej txheem tsim cai txwv tsis pub nkag mus los ntawm tus neeg siv cov txheej txheem. Nyob rau hauv qhov kev pab cuam, lub speculatively executed block yog cais los ntawm lub ntsiab code los ntawm ib tug conditional ceg, uas nyob rau hauv tiag tiag tej yam kev mob yeej ib txwm hluav taws, tab sis vim lub fact tias cov conditional nqe lus siv ib tug xam tus nqi uas tus processor tsis paub thaum lub sij hawm preemptive execution. txoj cai, tag nrho cov kev xaiv ceg yog nqa tawm speculatively.

Txij li thaum speculatively executed kev khiav hauj lwm siv tib lub cache raws li ib txwm ua raws li cov lus qhia, nws yog ua tau thaum lub sij hawm speculative execution los teem cov cim nyob rau hauv lub cache uas muaj kev cuam tshuam cov ntsiab lus ntawm ib tug neeg cov khoom nyob rau hauv ib tug private nco cheeb tsam, thiab ces nyob rau hauv ib txwm executed code los txiav txim lawv tus nqi los ntawm lub sij hawm. tsom xam nkag mus rau cached thiab uncached cov ntaub ntawv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib