Analisis dan Pertahanan terhadap Kerentanan Kebocoran Nilai Sentinel di Mesin Chrome V8

robot
Pembuatan abstrak sedang berlangsung

Analisis Teknis cara melewati Chrome V8 HardenProtect dengan Sentinel Value

Nilai Sentinel adalah nilai khusus dalam algoritma, biasanya ada sebagai kondisi terminasi dalam algoritma loop atau rekursi. Dalam kode sumber Chrome terdapat banyak nilai Sentinel. Penelitian terbaru menunjukkan bahwa dengan membocorkan objek TheHole, dapat dilakukan eksekusi kode arbitrer dalam sandbox untuk CVE-2021-38003 dan CVE-2022-1364. Tim Google kemudian memperbarui kedua kerentanan tersebut.

Selain objek TheHole, ada objek bawaan lain di V8 yang seharusnya tidak diekspos ke JavaScript. Artikel ini membahas objek Uninitialized Oddball, yang metode penghindarannya masih dapat digunakan di versi terbaru V8.

Sebagian besar objek asli V8 didefinisikan dalam file v8/src/roots/roots.h, dan objek-objek ini disusun bersebelahan di dalam memori. Setelah objek asli yang seharusnya tidak bocor bocor ke JavaScript, mungkin dapat merealisasikan eksekusi kode arbitrer di dalam sandbox.

Unggulan Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

Untuk memverifikasi metode ini, Anda dapat memodifikasi fungsi native V8 untuk membocorkan Uninitialized Oddball ke dalam JavaScript. Secara spesifik, Anda dapat mengubah offset relatif dari fungsi %TheHole() terhadap isolate, sehingga mengembalikan Uninitialized Oddball.

Pengungkapan Eksklusif Melalui Kebocoran Nilai Sentinel untuk Menghindari Chrome v8 HardenProtect

Dengan memanfaatkan Uninitialized Oddball, pembacaan dan penulisan yang relatif sembarangan dapat dicapai. Fungsi read JavaScript yang dioptimalkan akan langsung menghitung offset sesuai dengan semantik JavaScript, mengambil nilai dari array, yang mengarah pada kebingungan tipe, sehingga memungkinkan pembacaan sembarangan.

Eksklusif: Mengungkap cara melewati Chrome v8 HardenProtect melalui kebocoran Sentinel Value

Eksklusif Mengungkap Cara Melalui Kebocoran Sentinel Value untuk Melewati Chrome v8 HardenProtect

Eksklusif Mengungkap Cara Menghindari HardenProtect Chrome v8 Melalui Kebocoran Sentinel Value

Saran perbaikan adalah, saat fungsi yang dioptimalkan mengembalikan elemen array, tambahkan pemeriksaan pada map array untuk menghindari perhitungan offset langsung yang mengembalikan nilai array.

Perlu dicatat bahwa metode ini tidak hanya berlaku untuk Chrome, perangkat lunak lain yang menggunakan mesin V8 juga mungkin terpengaruh. Misalnya, Skype saat ini masih belum memperbaiki kerentanan tersebut. Pada x86, karena tidak ada kompresi alamat, pembacaan dan penulisan sembarangan adalah langsung relatif terhadap seluruh proses.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Mengelak Chrome v8 HardenProtect melalui Kebocoran Nilai Sentinel

Secara keseluruhan, dengan membocorkan uninitialized_Oddball dalam nilai Sentinel dapat memungkinkan pembacaan primitif secara sembarang. Di V8 ada nilai Sentinel lainnya yang mungkin menyebabkan masalah serupa. Disarankan untuk memasukkan nilai Sentinel ini sebagai variabel ke dalam fuzzer, untuk menggali lebih banyak potensi primitif yang dapat dimanfaatkan. Baik dianggap sebagai masalah keamanan resmi atau tidak, masalah semacam ini akan sangat memperpendek siklus bagi peretas untuk mencapai exploitasi penuh.

SENC-5.32%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 4
  • Bagikan
Komentar
0/400
TommyTeachervip
· 07-20 16:35
Memang agak berbahaya ya.
Lihat AsliBalas0
BrokeBeansvip
· 07-20 16:22
Sepanjang hari memikirkan menggali lubang, bukankah lebih baik mengerjakan soal dengan tangan?
Lihat AsliBalas0
GateUser-ccc36bc5vip
· 07-20 16:13
Apakah perlindungan v8 sejelek ini?
Lihat AsliBalas0
StablecoinGuardianvip
· 07-20 16:09
Oh oh V8 aman tapi ada masalah lagi ya
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)