Google demontre eksplwatasyon vilnerabilite Spectre atravè ekzekisyon JavaScript nan navigatè a

Google te pibliye plizyè pwototip esplwate ki montre posiblite pou eksplwate vilnerabilite klas Spectre lè w ap egzekite kòd JavaScript nan navigatè a, kontoune metòd pwoteksyon ki te ajoute deja. Eksplwatasyon yo ka itilize pou jwenn aksè nan memwa nan pwosesis la pwosesis pwosesis kontni entènèt nan tab aktyèl la. Pou teste operasyon an nan eksplwatasyon an, sit entènèt leaky.page la te lanse, epi kòd ki dekri lojik travay la te afiche sou GitHub.

Pwototip yo pwopoze a fèt pou atake sistèm ak processeur Intel Core i7-6500U nan yon anviwònman ak Linux ak Chrome 88. Pou itilize eksplwatasyon an pou lòt anviwònman, modifikasyon yo nesesè. Metòd eksplwatasyon an pa espesifik nan processeurs Intel - apre adaptasyon apwopriye, eksplwatasyon an te konfime pou travay sou sistèm ak CPU soti nan lòt manifaktirè, ki gen ladan Apple M1 ki baze sou achitekti ARM. Apre ajisteman minè, eksplwatasyon an se posib tou nan lòt sistèm opere ak nan lòt navigatè ki baze sou motè Chromium la.

Nan yon anviwònman ki baze sou processeurs estanda Chrome 88 ak Intel Skylake, li te posib pou koule done ki soti nan pwosesis ki responsab pou trete kontni entènèt nan tab aktyèl Chrome (pwosesis rann) a yon vitès 1 kilobyte pou chak segonn. Anplis de sa, pwototip altènatif yo te devlope, pou egzanp, yon esplwate ki pèmèt, nan pri a nan diminye estabilite, ogmante pousantaj la koule a 8kB / s lè w ap itilize revèy la performance.now() ak yon presizyon nan 5 mikrosgond (0.005 milisgond). ). Yon vèsyon tou te prepare ki te travay ak yon presizyon revèy nan yon milisgond, ki ta ka itilize yo òganize aksè nan memwa a nan yon lòt pwosesis nan yon vitès nan apeprè 60 bytes pou chak segonn.

Kòd Demo pibliye a konsiste de twa pati. Premye pati a kalibre revèy la pou estime tan ekzekisyon operasyon ki nesesè pou retabli done ki rete nan kachèt processeur a kòm yon rezilta spéculatif ekzekisyon CPU enstriksyon yo. Dezyèm pati a detèmine Layout memwa yo itilize lè yo asiyen etalaj JavaScript.

Twazyèm pati a dirèkteman eksplwate vilnerabilite Spectre a pou detèmine kontni memwa nan pwosesis aktyèl la kòm yon rezilta nan kreye kondisyon pou ekzekisyon spéculatif nan operasyon sèten, rezilta a nan ki se jete pa processeur a apre yo fin detèmine yon prediksyon san siksè, men tras nan la. egzekisyon yo depoze nan kachèt jeneral la epi yo ka restore lè l sèvi avèk metòd pou detèmine sa ki nan kachèt la pa chanèl twazyèm pati ki analize chanjman nan tan aksè nan done kachèt ak uncached.

Teknik eksplwatasyon yo pwopoze a fè li posib pou fè san revèy segondè-presizyon ki disponib atravè API performance.now() la, epi san sipò pou kalite SharedArrayBuffer, ki pèmèt kreye etalaj nan memwa pataje. Eksplwatasyon an gen ladan Gadgets Spectre a, ki lakòz egzekisyon spéculatif kontwole nan kòd, ak yon analizeur koule bò-chanèl, ki detekte done kachèt yo jwenn pandan ekzekisyon spéculatif.

Gadget a aplike lè l sèvi avèk yon etalaj JavaScript kote yo fè tantativ pou jwenn aksè nan yon zòn andeyò fwontyè tanpon yo, ki afekte eta blòk prediksyon branch la akòz prezans yon chèk gwosè tanpon ki te ajoute pa konpilatè a (prosesè a fè espekilasyon an). aksè davans, men woule eta a tounen apre w fin tcheke). Pou analize sa ki nan kachèt la nan kondisyon ensifizan presizyon revèy, yo pwopoze yon metòd ki twonpe estrateji Tree-PLRU nan degèpisman done yo itilize nan processeurs ak pèmèt, lè yo ogmante kantite sik, ogmante siyifikativman diferans lan nan tan lè retounen. yon valè nan kachèt la ak lè pa gen okenn valè nan kachèt la.

Li te note ke Google pibliye yon pwototip nan eksplwatasyon an nan lòd yo montre posibilite nan atak lè l sèvi avèk vilnerabilite klas Spectre ak ankouraje devlopè entènèt yo sèvi ak teknik ki minimize risk ki genyen nan atak sa yo. An menm tan an, Google kwè ke san retravay enpòtan nan pwototip yo pwopoze a, li enposib kreye exploit inivèsèl ki pare pa sèlman pou demonstrasyon, men tou pou itilize toupatou.

Pou diminye risk la, yo ankouraje pwopriyetè sit yo pou yo sèvi ak en-tête ki fèk aplike Cross-Origin Opener Policy (COOP), Cross-Origin Embedder Policy (COEP), Cross-Origin Resource Policy (CORP), Fetch Metadata Request, X-Frame- Opsyon, X -Content-Type-Options ak SameSite Cookie. Mekanis sa yo pa pwoteje dirèkteman kont atak, men yo pèmèt ou izole done sit ki soti nan flit nan pwosesis kote yo ka egzekite kòd JavaScript atakè a (kout la rive nan memwa pwosesis aktyèl la, ki, anplis kòd atakè a. , kapab tou trete done ki soti nan yon lòt sit louvri nan menm tab sa a). Lide prensipal la se separe ekzekisyon kòd sit la nan diferan pwosesis soti nan kòd twazyèm-pati resevwa nan sous enfidèl, pou egzanp, enkli nan yon iframe.



Sous: opennet.ru

Add nouvo kòmantè