Tshiab Foreshadow nres variant cuam tshuam rau Intel, AMD, ARM thiab IBM processors

Ib pawg kws tshawb fawb los ntawm Technical University of Graz (Austria) thiab Helmholtz Center for Information Security (CISPA), qhia tawm (PDF) tus vector tshiab rau kev siv sab-channel tawm tsam Foreshadow (L1TF), uas tso cai rau koj rho tawm cov ntaub ntawv los ntawm lub cim xeeb ntawm Intel SGX enclaves, SMM (System Management Mode), nco thaj chaw ntawm OS kernel thiab cov tshuab virtual hauv virtualization systems. Tsis zoo li thawj qhov kev tawm tsam tau npaj tseg hauv 2018 Foreshadow Cov kev hloov tshiab tsis yog tshwj xeeb rau Intel processors thiab cuam tshuam rau CPUs los ntawm lwm cov tuam txhab xws li ARM, IBM thiab AMD. Tsis tas li ntawd, qhov hloov pauv tshiab tsis xav tau kev ua haujlwm siab thiab kev tawm tsam tuaj yeem ua tiav txawm tias los ntawm kev khiav JavaScript thiab WebAssembly hauv lub web browser.

Lub Foreshadow nres siv qhov zoo ntawm qhov tseeb tias thaum lub cim xeeb nkag mus ntawm qhov chaw nyob virtual uas ua rau muaj qhov tshwj xeeb (qhov chaw nres tsheb tsis raug), tus processor speculatively xam qhov chaw nyob ntawm lub cev thiab thauj cov ntaub ntawv yog tias nws muaj nyob rau hauv L1 cache. Speculative access yog ua ua ntej lub cim xeeb nplooj ntawv nrhiav tiav thiab tsis hais lub xeev ntawm lub cim xeeb nplooj ntawv nkag (PTE), i.e. ua ntej kuaj xyuas muaj cov ntaub ntawv nyob rau hauv lub cev nco thiab nws readability. Tom qab kuaj xyuas qhov muaj nyob hauv lub cim xeeb tiav, thaum tsis muaj tus chij tam sim no hauv PTE, kev ua haujlwm raug muab pov tseg, tab sis cov ntaub ntawv tseem nyob hauv lub cache thiab tuaj yeem rov qab tau siv txoj hauv kev los txiav txim siab cache cov ntsiab lus los ntawm kev txheeb xyuas cov kev hloov pauv hauv lub sijhawm nkag. rau cached thiab uncached cov ntaub ntawv).

Cov kws tshawb fawb tau pom tias cov kev tiv thaiv uas twb muaj lawm ntawm Foreshadow tsis muaj txiaj ntsig thiab raug siv nrog kev txhais tsis raug ntawm qhov teeb meem. Qhov tsis zoo
Foreshadow tuaj yeem raug siv tsis hais txog cov txheej txheem kev ruaj ntseg ntawm cov ntsiav uas yav tas los suav tias txaus. Raws li qhov tshwm sim, cov kws tshawb fawb tau pom tias muaj peev xwm ua rau Foreshadow nres ntawm cov tshuab nrog cov qub qub, uas txhua yam muaj Foreshadow tiv thaiv hom tau qhib, nrog rau cov kernels tshiab, uas tsuas yog Spectre-v2 kev tiv thaiv yog neeg xiam (siv lub Linux kernel xaiv nospectre_v2).

Nws pom tau tias preload nyhuv tsis cuam tshuam rau software prefetch cov lus qhia lossis hardware effect
prefetch thaum lub sij hawm nco nkag, tab sis tshwm sim thaum speculative dereferences ntawm cov neeg siv chaw sau npe nyob rau hauv lub kernel. Qhov kev txhais lus tsis raug ntawm qhov ua rau muaj qhov tsis zoo pib ua rau qhov kev xav tias cov ntaub ntawv xau hauv Foreshadow tsuas yog tshwm sim los ntawm L1 cache, thaum muaj qee qhov code snippets (prefetch gadgets) hauv cov ntsiav tuaj yeem ua rau cov ntaub ntawv tawm sab nraum L1 cache, Piv txwv li, hauv L3 cache.

Cov yam ntxwv uas tau txheeb xyuas kuj tseem qhib qhov muaj peev xwm tsim kev tawm tsam tshiab tsom rau cov txheej txheem ntawm kev txhais cov chaw nyob virtual rau hauv lub cev nyob rau hauv ib puag ncig cais thiab txiav txim siab qhov chaw nyob thiab cov ntaub ntawv khaws cia hauv CPU sau npe. Raws li kev ua qauv qhia, cov kws tshawb fawb tau pom tias muaj peev xwm siv cov txiaj ntsig tau txheeb xyuas los rho tawm cov ntaub ntawv los ntawm ib tus txheej txheem mus rau lwm qhov nrog kev ua tau zoo ntawm 10 khoom ib ob ntawm ib qho system nrog Intel Core i7-6500U CPU. Qhov muaj peev xwm ntawm cov ntaub ntawv sau npe los ntawm Intel SGX enclave kuj tau qhia (nws siv sijhawm 32 feeb los txiav txim siab tus nqi 64-ntsis sau rau 15-ntsis sau npe). Qee hom kev tawm tsam tau ua rau muaj peev xwm siv tau hauv JavaScript thiab WebAssembly, piv txwv li, nws tuaj yeem txiav txim siab qhov chaw nyob ntawm lub cev ntawm JavaScript thiab sau 64-ntsis sau npe nrog tus nqi tswj los ntawm tus neeg tawm tsam.

Txhawm rau thaiv qhov kev tawm tsam Foreshadow los ntawm L3 cache, Spectre-BTB (Branch Target Buffer) txoj kev tiv thaiv kev siv hauv retpoline thaj teeb tau zoo. Yog li, cov kws tshawb fawb ntseeg tias nws yog qhov tsim nyog los tawm retpoline txawm tias nyob rau hauv cov tshuab nrog CPUs tshiab uas twb muaj kev tiv thaiv kev paub tsis zoo hauv CPU speculative execution mechanism. Tib lub sijhawm, Intel cov neeg sawv cev tau hais tias lawv tsis npaj yuav ntxiv kev tiv thaiv ntxiv rau Foreshadow rau cov txheej txheem thiab xav tias nws txaus los suav nrog kev tiv thaiv Spectre V2 thiab L1TF (Foreshadow) tawm tsam.

Tau qhov twg los: opennet.ru

Ntxiv ib saib