Teknik anyar kanggo ngeksploitasi kerentanan Spectre ing Chrome

Klompok peneliti saka universitas Amerika, Australia lan Israel ngusulake teknik serangan saluran sisih anyar kanggo ngeksploitasi kerentanan kelas Spectre ing browser adhedhasar mesin Chromium. Serangan kasebut, kanthi jeneng Spook.js, ngidini sampeyan ngliwati mekanisme isolasi situs kanthi mbukak kode JavaScript lan maca isi kabeh ruang alamat proses saiki, yaiku. ngakses data saka kaca sing mlaku ing tab liyane, nanging diproses ing proses sing padha.

Wiwit Chrome mbukak situs sing beda-beda ing proses sing beda-beda, kemampuan kanggo nindakake serangan praktis diwatesi kanggo layanan sing ngidini pangguna beda-beda dadi tuan rumah kaca. Cara kasebut ngidini, saka kaca ing ngendi panyerang duwe kesempatan kanggo nampilake kode JavaScript, kanggo nemtokake ananΓ© kaca liya sing dibukak pangguna saka situs sing padha lan ngekstrak informasi rahasia saka wong-wong mau, contone, kredensial utawa rincian bank sing diganti. dening sistem kolom ngisi otomatis ing formulir web. Minangka demonstrasi, ditampilake carane sampeyan bisa nyerang blog wong liya ing layanan Tumblr yen pemilike mbukak blog penyerang sing di-host ing layanan sing padha ing tab liyane.

Pilihan liyane kanggo nggunakake metode kasebut yaiku serangan ing add-on browser, sing ngidini, nalika nginstal add-on sing dikontrol dening panyerang, kanggo ngekstrak data saka add-on liyane. Minangka conto, kita nuduhake carane nginstal add-on angkoro sampeyan bisa ngekstrak informasi rahasia saka manajer sandi LastPass.

Peneliti nerbitake prototipe eksploitasi sing bisa digunakake ing Chrome 89 ing sistem kanthi CPUIntel i7-6700K lan i7-7600U. Nalika nggawe eksploitasi, prototipe kode JavaScript sing sadurunge diterbitake dening Google digunakake kanggo nindakake serangan kelas Spectre. Kacathet yen peneliti bisa nyiapake eksploitasi sing digunakake kanggo sistem adhedhasar prosesor Intel lan Apple M1, sing bisa ngatur maca memori kanthi kacepetan 500 bita per detik lan akurasi 96%. Dianggep cara kasebut uga ditrapake kanggo prosesor AMD, nanging ora bisa nyiyapake eksploitasi kanthi fungsi.

Serangan kasebut ditrapake kanggo browser apa wae sing adhedhasar mesin Chromium, kalebu Google Chrome, Microsoft Edge lan Brave. Peneliti uga percaya yen cara kasebut bisa diadaptasi kanggo nggarap Firefox, nanging amarga mesin Firefox beda banget karo Chrome, karya kanggo nggawe eksploitasi kasebut ditinggalake kanggo masa depan.

Kanggo nglindhungi saka serangan basis browser sing ana hubungane karo eksekusi instruksi spekulatif, Chrome ngleksanakake segmentasi ruang alamat - isolasi kothak wedhi ngidini JavaScript mung bisa digunakake karo penunjuk 32-bit lan nuduhake memori para pawang ing tumpukan 4GB sing dipisahake. Kanggo nyedhiyakake akses menyang kabeh ruang alamat proses lan ngliwati watesan 32-bit, para peneliti nggunakake teknik sing diarani Type Confusion, sing meksa mesin JavaScript kanggo ngolah obyek kanthi jinis sing salah, sing ndadekake bisa mbentuk 64-bit. pointer adhedhasar kombinasi saka rong nilai 32-bit.

Inti saka serangan kasebut yaiku nalika ngolah obyek jahat sing dirancang khusus ing mesin JavaScript, kahanan digawe sing nyebabake eksekusi spekulatif instruksi sing ngakses array. Obyek dipilih kanthi cara supaya kolom sing dikontrol penyerang diselehake ing area sing digunakake penunjuk 64-bit. Amarga jinis obyek angkoro ora cocog karo jinis array sing diproses, ing kahanan normal, tumindak kasebut diblokir ing Chrome kanthi mekanisme kanggo ngoptimalake kode sing digunakake kanggo ngakses array. Kanggo ngatasi masalah iki, kode kanggo serangan Kebingungan Tipe diselehake ing blok "yen" kondisional, sing ora diaktifake ing kondisi normal, nanging dieksekusi ing mode spekulatif, yen prosesor salah prΓ©dhiksi cabang luwih lanjut.

Akibaté, prosesor spekulatif ngakses pointer 64-dicokot kui lan muter maneh negara sawise nemtokake prediksi gagal, nanging ngambah saka eksekusi tetep ing cache sambungan lan bisa dibalèkaké nggunakake cara deteksi cache saluran sisih sing nganalisa owah-owahan ing. wektu akses menyang data cache lan uncached. Kanggo nganalisa isi cache ing kahanan ora cukup akurasi wektu sing kasedhiya ing JavaScript, cara sing diusulake Google digunakake, sing ngapusi strategi pengusiran cache Tree-PLRU sing digunakake ing prosesor lan ngidini, kanthi nambah jumlah siklus, Ngartekno nambah prabédan ing wektu nalika ana nilai lan ora ana ing cache. .

Source: opennet.ru

Add a comment