Google dia naneho ny fitrandrahana ny vulnerabilities Spectre tamin'ny alΓ lan'ny famonoana JavaScript tao amin'ny navigateur

Google dia namoaka prototypes exploit maromaro mampiseho ny mety hisian'ny fitrandrahana ny vulnerability class Spectre rehefa manatanteraka ny code JavaScript ao amin'ny navigateur, mandingana ny fomba fiarovana efa nampiana teo aloha. Ny fitrandrahana dia azo ampiasaina hahazoana fidirana amin'ny fitadidiana ny fizotran'ny fanodinana atiny amin'ny tranonkala amin'ny tabilao misy ankehitriny. Mba hitsapana ny fiasan'ny fitrandrahana dia natomboka ny tranokala leaky.page, ary navoaka tao amin'ny GitHub ny kaody mamaritra ny lojikan'ny asa.

Ny prototype natolotra dia natao hanafika ireo rafitra miaraka amin'ny processeur Intel Core i7-6500U amin'ny tontolo misy Linux sy Chrome 88. Mba hampiasana ny fitrandrahana ho an'ny tontolo hafa dia ilaina ny fanovana. Ny fomba fitrandrahana dia tsy voafaritra manokana amin'ny processeur Intel - taorian'ny fampifanarahana mety, ny fitrandrahana dia voamarina fa miasa amin'ny rafitra miaraka amin'ny CPU avy amin'ny mpanamboatra hafa, anisan'izany ny Apple M1 mifototra amin'ny maritrano ARM. Aorian'ny fanitsiana kely dia azo atao amin'ny rafitra fiasana hafa sy amin'ny navigateur hafa mifototra amin'ny motera Chromium ihany koa ny fitrandrahana.

Ao amin'ny tontolo mifototra amin'ny Chrome 88 mahazatra sy ny Intel Skylake processeur, dia azo atao ny mandroaka angon-drakitra avy amin'ny dingana tompon'andraikitra amin'ny fanodinana votoaty amin'ny Internet ao amin'ny tabilao Chrome ankehitriny (processer renderer) amin'ny hafainganam-pandeha 1 kilobyte isan-tsegondra. Fanampin'izany, nisy prototype hafa novolavolaina, ohatra, fanararaotana izay mamela, amin'ny vidin'ny fampihenana ny fahamarinan-toerana, hampitombo ny tahan'ny leak ho 8kB/s rehefa mampiasa ny fameram-potoana performance.now() miaraka amin'ny fahamarinan'ny 5 microseconds (0.005 milliseconds). ). Nomanina ihany koa ny dikan-teny iray izay niasa tamin'ny fameram-potoana iray milisegondra, izay azo ampiasaina handaminana ny fidirana amin'ny fitadidiana dingana iray hafa amin'ny hafainganam-pandeha eo amin'ny 60 bytes isan-tsegondra.

Ny code demo navoaka dia misy ampahany telo. Ny ampahany voalohany dia manombatombana ny fameram-potoana hanombanana ny fotoana hanatanterahana ny asa ilaina amin'ny famerenana ny angona tavela ao amin'ny cache processeur vokatry ny fanombantombanana ny fanatanterahana ny toromarika CPU. Ny tapany faharoa dia mamaritra ny fisehon'ny fitadidiana ampiasaina amin'ny fanomezana ny laharan'ny JavaScript.

Ny ampahany fahatelo dia manararaotra mivantana ny vulnerability Spectre mba hamaritana ny votoatin'ny fitadidiana ny fizotran'izao fotoana izao vokatry ny famoronana fepetra ho an'ny fanatanterahana tombantombana ny asa sasany, ny vokatr'izany dia narian'ny processeur rehefa avy namaritra faminaniana tsy nahomby, fa ny soritr'aretina. Ny famonoana dia apetraka ao amin'ny cache ankapobe ary azo averina amin'ny alΓ lan'ny fomba hamaritana ny votoatin'ny cache amin'ny alΓ lan'ny fantsona antoko fahatelo izay mamakafaka ny fiovan'ny fotoana fidirana amin'ny angona voatahiry sy tsy voatahiry.

Ny teknika fanararaotana natolotra dia ahafahana manao izany tsy misy fameram-potoana avo lenta azo alaina amin'ny alΓ lan'ny performance.now() API, ary tsy misy fanohanana ny karazana SharedArrayBuffer, izay ahafahana mamorona array amin'ny fitadidiana iombonana. Ny fanararaotana dia misy ny gadget Spectre, izay miteraka famonoana kaody voafehy voafehy, ary mpanadihady leaka amin'ny sisiny, izay mahita ny angon-drakitra voatahiry azo mandritra ny famonoana tombantombana.

Ny gadget dia ampiharina amin'ny alΓ lan'ny laharan'ny JavaScript izay anandramana hidirana amin'ny faritra ivelan'ny sisin-tanin'ny buffer, izay misy fiantraikany amin'ny toetry ny sampana vinavinan'ny sampana noho ny fisian'ny fanamarinana ny haben'ny buffer nampian'ny mpanangom-bokatra (ny processeur, mitodika any aloha, manao tombantombana ny fidirana, fa mamerina ny fanjakana rehefa avy nanamarina). Mba hamakafaka ny votoatin'ny cache ao anatin'ny fepetra tsy ampy ny fameram-potoana, dia natolotra ny fomba famitahana ny paikady fandroahana cache Tree-PLRU ampiasaina amin'ny processeurs ary mamela, amin'ny fampitomboana ny isan'ny tsingerina, hampitombo be ny fahasamihafan'ny fotoana rehefa miverina. sanda avy amin'ny cache ary rehefa tsy misy sanda ao amin'ny cache.

Marihina fa namoaka prototype amin'ny fanararaotana i Google mba hanehoana ny fahafahan'ny fanafihana amin'ny fampiasana ny vulnerabilities amin'ny kilasy Spectre ary hamporisika ny mpamorona tranonkala hampiasa teknika manamaivana ny loza ateraky ny fanafihana toy izany. Mandritra izany fotoana izany, i Google dia mino fa raha tsy misy fanavaozana manan-danja amin'ny prototype natolotra, dia tsy azo atao ny mamorona fanararaotana manerantany izay vonona tsy ho an'ny fihetsiketsehana ihany, fa ho an'ny fampiasana miely patrana.

Mba hampihenana ny risika dia ampirisihina ny tompon'ny tranokala hampiasa ny lohatenin'ny Cross-Origin Opener Policy (COOP), Cross-Origin Embedder Policy (COEP), Cross-Origin Resource Policy (CORP), Fetch Metadata Request, X-Frame- Safidy, X -Content-Type-Options ary Cookie SameSite. Ireo mekanika ireo dia tsy miaro mivantana amin'ny fanafihana, fa mamela anao hanasaraka ny angon-drakitra amin'ny tranokala amin'ny fivoahana amin'ny dingana izay ahafahan'ny JavaScript code an'ny mpanafika (ny leak dia mitranga amin'ny fitadidiana ny dingana ankehitriny, izay, ankoatra ny kaody mpanafika. , dia afaka manodina angona avy amin'ny tranokala hafa misokatra amin'io tabilao io ihany). Ny hevi-dehibe dia ny manasaraka ny famonoana ny kaody tranonkala amin'ny dingana samihafa amin'ny kaody antoko fahatelo azo avy amin'ny loharano tsy azo itokisana, ohatra, tafiditra amin'ny iframe.



Source: opennet.ru

Add a comment