Cov txheej txheem tshiab rau kev siv Spectre vulnerabilities hauv Chrome

Ib pawg ntawm cov kws tshawb fawb los ntawm Asmeskas, Australian thiab Israeli cov tsev kawm qib siab tau tshaj tawm cov txheej txheem kev tawm tsam sab nraud tshiab los siv Spectre-class vulnerabilities hauv browsers raws li Chromium engine. Qhov kev tawm tsam, codenamed Spook.js, tso cai rau koj hla lub vev xaib cais tawm los ntawm kev khiav JavaScript code thiab nyeem cov ntsiab lus ntawm tag nrho qhov chaw nyob ntawm cov txheej txheem tam sim no, i.e. nkag mus rau cov ntaub ntawv los ntawm cov nplooj ntawv khiav hauv lwm cov tab, tab sis ua tiav hauv tib txoj kev.

Txij li thaum Chrome khiav cov chaw sib txawv hauv cov txheej txheem sib txawv, lub peev xwm los ua kom muaj kev tawm tsam yog txwv rau cov kev pabcuam uas tso cai rau cov neeg siv sib txawv los tuav lawv cov nplooj ntawv. Cov txheej txheem tso cai, los ntawm nplooj ntawv uas tus neeg tawm tsam muaj lub sijhawm los teeb tsa nws JavaScript code, los txiav txim siab muaj lwm nplooj ntawv qhib los ntawm tus neeg siv los ntawm tib lub xaib thiab rho tawm cov ntaub ntawv tsis pub lwm tus paub los ntawm lawv, piv txwv li, daim ntawv pov thawj lossis cov ntaub ntawv hauv tuam txhab hloov pauv. los ntawm qhov system ntawm nws pib sau teb nyob rau hauv daim ntawv web. Raws li kev ua qauv qhia, nws tau qhia tias koj tuaj yeem tawm tsam lwm tus blog ntawm Tumblr kev pabcuam yog tias nws tus tswv qhib cov neeg tawm tsam 'blog tuav ntawm tib qhov kev pabcuam hauv lwm lub tab.

Lwm qhov kev xaiv rau kev siv txoj kev yog kev tawm tsam ntawm browser add-ons, uas tso cai, thaum txhim kho add-on tswj los ntawm tus neeg tawm tsam, tshem tawm cov ntaub ntawv los ntawm lwm cov add-ons. Ua piv txwv, peb qhia yuav ua li cas los ntawm kev txhim kho qhov tsis zoo add-on koj tuaj yeem rho tawm cov ntaub ntawv tsis pub lwm tus paub los ntawm LastPass password manager.

Cov kws tshawb fawb tau luam tawm tus qauv ntawm kev siv nyiaj txiag ua haujlwm hauv Chrome 89 ntawm cov tshuab nrog CPUIntel i7-6700K thiab i7-7600U. Thaum tsim cov exploit, prototypes ntawm JavaScript code yav dhau los luam tawm los ntawm Google tau siv los ua Spectre-chav tawm tsam. Nws tau raug sau tseg tias cov kws tshawb fawb muaj peev xwm npaj ua haujlwm rau kev siv tshuab raws li Intel thiab Apple M1 processors, uas ua rau nws muaj peev xwm los npaj lub cim xeeb nyeem ntawv ntawm qhov ceev ntawm 500 bytes ib ob thiab qhov tseeb ntawm 96%. Nws tau xav tias txoj kev kuj tseem siv tau rau AMD processors, tab sis nws tsis muaj peev xwm los npaj kev ua haujlwm tag nrho.

Qhov kev tawm tsam no muaj feem xyuam rau txhua qhov browsers raws li lub cav Chromium, suav nrog Google Chrome, Microsoft Edge thiab Brave. Cov kws tshawb fawb kuj ntseeg tias txoj kev tuaj yeem hloov kho rau kev ua haujlwm nrog Firefox, tab sis txij li lub cav Firefox txawv ntawm Chrome, kev ua haujlwm ntawm kev tsim cov kev siv zoo li no tseem tshuav rau yav tom ntej.

Txhawm rau tiv thaiv qhov browser-raws li kev tawm tsam cuam tshuam txog kev ua tiav ntawm cov lus qhia, Chrome siv qhov chaw nyob segmentation - sandbox cais tawm tso cai rau JavaScript ua haujlwm tsuas yog nrog 32-ntsis pointers thiab faib lub cim xeeb ntawm cov neeg tuav hauv disjoint 4GB heaps. Txhawm rau muab kev nkag mus rau tag nrho cov txheej txheem chaw nyob thiab hla dhau qhov txwv 32-ntsis, cov kws tshawb fawb tau siv cov txheej txheem hu ua Type Confusion, uas yuam lub cav JavaScript los ua cov khoom siv nrog hom tsis raug, uas ua rau nws tuaj yeem tsim 64-ntsis. pointer raws li kev sib xyaw ua ke ntawm ob qhov txiaj ntsig 32-ntsis.

Lub ntsiab lus ntawm qhov kev tawm tsam yog tias thaum ua cov khoom tsim tshwj xeeb tsis zoo hauv lub cav JavaScript, cov xwm txheej raug tsim uas ua rau kev ua tiav ntawm cov lus qhia uas nkag mus rau array. Cov khoom raug xaiv raws li txoj hauv kev uas cov chaw tawm tsam tswj tau muab tso rau hauv thaj chaw uas siv 64-ntsis pointer. Txij li cov hom khoom phem tsis phim hom array tau ua tiav, nyob rau hauv cov xwm txheej ib txwm muaj xws li kev ua haujlwm raug thaiv hauv Chrome los ntawm cov txheej txheem rau deoptimizing cov cai siv los nkag arrays. Yuav kom daws tau qhov teeb meem no, cov cai rau hom kev tsis sib haum xeeb yog muab tso rau hauv ib qho xwm txheej "yog" thaiv, uas tsis tau qhib rau hauv ib qho xwm txheej, tab sis raug tua nyob rau hauv kev kwv yees, yog tias tus txheej txheem tsis raug kwv yees txuas ntxiv.

Raws li qhov tshwm sim, tus processor speculatively nkag mus rau lub generated 64-ntsis pointer thiab yob rov qab lub xeev tom qab txiav txim ib tug ua tsis tau tejyam, tab sis cov cim ntawm kev tua nyob rau hauv lub sib koom cache thiab yuav rov qab tau siv ib sab-channel cache nrhiav kom tau txoj kev uas tsom xam cov kev hloov nyob rau hauv. nkag mus rau lub sijhawm rau cached thiab uncached cov ntaub ntawv. Txhawm rau txheeb xyuas cov ntsiab lus ntawm lub cache nyob rau hauv cov xwm txheej tsis txaus ntawm qhov tseeb ntawm lub sijhawm muaj nyob hauv JavaScript, ib txoj hauv kev tau thov los ntawm Google yog siv, uas dag ntxias tsob ntoo-PLRU cache tshem tawm cov tswv yim siv hauv cov txheej txheem thiab tso cai, los ntawm kev nce cov voj voog, mus rau nce qhov sib txawv ntawm lub sij hawm thaum tus nqi tam sim no thiab tsis nyob hauv lub cache. .

Tau qhov twg los: opennet.ru

Ntxiv ib saib