Spook.js, teknik baru untuk mengeksploitasi kerentanan Spectre di Chrome

Sekelompok peneliti dari universitas Amerika, Australia dan Israel melaporkan bahwa menggambarkan teknik serangan baru yang memungkinkan untuk mengeksploitasi kerentanan Kelas momok di browser yang didukung Chromium.

Serangan itu, dengan nama kode Spook.js, memungkinkan saat mengeksekusi kode JavaScript melewati mekanisme isolasi situs dan membaca konten seluruh ruang alamat dari proses saat ini, yaitu mengakses data halaman yang dijalankan di tab lain, tetapi diproses dalam proses yang sama.

Karena Chrome meluncurkan situs yang berbeda dalam proses yang berbeda, serangan praktis terbatas pada layanan yang memungkinkan pengguna yang berbeda untuk meng-host halaman mereka. Metode serangan Spook.js memungkinkan dari halaman di mana penyerang dapat menyematkan kode JavaScript-nya, menentukan keberadaan halaman lain yang dibuka oleh pengguna situs yang sama dan mengekstrak informasi rahasia di antaranya, misalnya, kredensial atau detail bank yang digantikan oleh sistem pelengkapan otomatis dalam formulir web.

Aplikasi lain dari metode ini adalah serangan terhadap plugin browser, yang memungkinkan, ketika plug-in yang dikendalikan penyerang diinstal, untuk mengekstrak data dari plug-in lain.

Spook.js berlaku untuk browser apa pun berdasarkan mesin Chromium, termasuk Google Chrome, Microsoft Edge, dan Brave. Para peneliti juga percaya bahwa metode ini dapat disesuaikan untuk bekerja dengan Firefox, tetapi karena mesin Firefox sangat berbeda dari Chrome, pekerjaan membuat eksploitasi semacam itu diserahkan ke masa depan.

Untuk melindungi dari serangan yang terkait dengan eksekusi instruksi spekulatif melalui browser, segmentasi ruang alamat diterapkan di Chrome: isolasi kotak pasir memungkinkan JavaScript untuk bekerja hanya dengan pointer 32-bit dan berbagi memori pengontrol dalam tumpukan 4 GB yang tidak tumpang tindih.

Untuk mengatur akses ke seluruh ruang alamat proses dan menghindari batasan 32-bit, para peneliti menggunakan teknik kebingungan tipe, yang memungkinkan mesin JavaScript untuk memproses objek dengan tipe yang salah, sehingga memungkinkan untuk membentuk 64-bit. kode berdasarkan kombinasi dua nilai 32-bit.

Inti dari serangan itu adalah dengan memproses objek jahat yang dibuat khusus di mesin JavaScript, kondisi dibuat yang mengarah pada eksekusi spekulatif dari instruksi yang mengakses array. Objek dipilih sedemikian rupa sehingga bidang yang dikendalikan oleh penyerang ditempatkan di area di mana penunjuk 64-bit digunakan.

Karena jenis objek berbahaya tidak sesuai dengan jenis larik yang sedang diproses, dalam kondisi normal tindakan tersebut diblokir di Chrome oleh mekanisme deoptimasi kode yang digunakan untuk mengakses larik. Untuk mengatasi masalah ini, kode serangan Type Confusion ditempatkan di blok kondisional "jika", yang tidak menyala dalam kondisi normal, tetapi berjalan dalam mode spekulatif, jika prosesor salah memprediksi lebih banyak cabang.

Akibatnya, prosesor secara spekulatif mengakses pointer 64-bit yang dihasilkan dan mengembalikan status setelah menentukan prediksi yang gagal, tetapi jejak eksekusi diatur dalam cache bersama dan dapat dipulihkan menggunakan metode untuk menentukan konten cache melalui ketiga- saluran pihak, menganalisis perubahan waktu akses ke data cache dan non-cache.

Untuk menganalisis konten cache dalam kondisi presisi yang tidak memadai dari timer yang tersedia di JavaScript, metode yang diusulkan oleh Google digunakan yang mengelabui strategi penghapusan data cache Tree-PLRU yang digunakan dalam prosesor dan memungkinkan, dengan meningkatkan jumlah siklus, untuk secara signifikan meningkatkan perbedaan waktu di hadapan dan tidak adanya nilai dalam cache.

Para peneliti telah merilis eksploit prototipe yang berfungsi di Chrome 89 en sistem dengan Intel i7-6700K dan i7-7600U. Eksploitasi dibuat menggunakan prototipe kode JavaScript yang sebelumnya diterbitkan oleh Google untuk melakukan serangan Spectre.

Akhirnya peneliti menyebutkan bahwa berhasil menyiapkan eksploitasi kerja untuk sistem berbasis prosesor Intel dan Apple M1, yang diberi kesempatan untuk mengatur pembacaan memori dengan kecepatan 500 byte per detik dan akurasi 96%. Metode ini seharusnya berlaku untuk prosesor AMD, tetapi tidak mungkin untuk menyiapkan exploit yang berfungsi penuh.

sumber: https://www.spookjs.com


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.