Analisis dan Pemanfaatan Kerentanan Nilai Sentinel pada Mesin Chrome V8

Analisis Nilai Sentinel dalam Mesin Google Chrome V8 dan Potensi Risiko Keamanannya

Nilai Sentinel adalah nilai khusus dalam algoritma, sering digunakan sebagai kondisi penghentian untuk loop atau rekursi. Sumber kode Chrome mengandung beberapa nilai Sentinel, di mana beberapa di antaranya jika bocor ke lingkungan JavaScript dapat menyebabkan masalah keamanan. Artikel ini akan membahas metode untuk memanfaatkan objek Uninitialized Oddball yang bocor untuk melewati mekanisme HardenProtect Chrome V8.

Nilai Sentinel di V8

File roots.h dari sumber kode V8 mendefinisikan banyak objek asli, yang diatur secara berurutan di dalam memori. Jika objek asli yang tidak seharusnya diekspos ke JavaScript bocor, ini dapat menyebabkan pelarian dari sandbox. Kebocoran objek TheHole di masa lalu adalah contoh yang khas.

Untuk memverifikasi masalah di versi terbaru V8, Anda dapat mengubah fungsi %TheHole() untuk mengembalikan objek Uninitialized Oddball:

javascript print(%DebugPrint(%TheHole())); // Keluaran: Nilai yang tidak diinisialisasi

Eksklusif Mengungkap Cara Memintas Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Menghindari perlindungan HardenType

Menggunakan Uninitialized Oddball dapat membangun kode PoC berikut untuk mencapai pembacaan sembarangan:

javascript fungsi read(obj, idx) { return obj[idx]; }

let uninitialized = %TheHole(); let arr = [1.1]; %SiapkanFungsiUntukOptimasi(baca); baca(arr, 0); read(arr, 0); %OptimizeFunctionOnNextCall(baca); read(arr, 0);

print(baca(tidak terinisialisasi, 0x1234n));

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Fungsi read yang telah dioptimalkan melalui disassembly menunjukkan bahwa ia tidak memeriksa secara ketat tipe Value dari obj.prop, langsung menghitung offset sesuai dengan semantik JavaScript dan mengembalikan elemen array, sehingga menyebabkan kebingungan tipe yang memungkinkan pembacaan sembarang.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Saran perbaikan adalah dengan menambahkan pemeriksaan terhadap array map saat fungsi yang dioptimalkan mengembalikan elemen array, untuk menghindari penghitungan langsung terhadap nilai pengembalian offset.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Peringatan Risiko PatchGap

Analisis menunjukkan bahwa beberapa perangkat lunak seperti Skype mungkin memiliki masalah PatchGap, yang belum diperbaiki. Hacker dapat memanfaatkan kerentanan ini untuk menyelesaikan rantai eksploitasi secara lengkap dalam waktu singkat.

Eksklusif Mengungkap Cara Melewati Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

Selain itu, setelah metode bypass baru diumumkan, beberapa kerentanan historis ( seperti Issue1314616 dan Issue1216437) menjadi jauh lebih mudah dieksploitasi. Disarankan agar vendor mengevaluasi ulang risiko keamanan terkait kerentanan tersebut.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Mengelak Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Ringkasan

Di V8 masih banyak nilai Sentinel lainnya yang layak untuk diteliti lebih lanjut. Disarankan untuk mempertimbangkan menambahkan %TheHole/Uninitialized_Oddball sebagai variabel dalam Fuzzer, untuk menggali primitif eksploitasi baru. Terlepas dari apakah masalah tersebut secara resmi dianggap sebagai masalah keamanan, hal itu dapat sangat memperpendek siklus eksploitasi penuh para hacker.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect melalui Kebocoran Nilai Sentinel

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

SENC10.65%
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
  • 5
  • Posting ulang
  • Bagikan
Komentar
0/400
ParanoiaKingvip
· 12jam yang lalu
Sekali lagi, ini adalah risiko yang tersembunyi.
Lihat AsliBalas0
WenMoon42vip
· 12jam yang lalu
Ini lagi penelitian kedalaman ya
Lihat AsliBalas0
CryptoSourGrapevip
· 12jam yang lalu
Ternyata di sini juga ada lubang.
Lihat AsliBalas0
ForkItAllDayvip
· 12jam yang lalu
Pendekatan baru untuk tumpukan overflow
Lihat AsliBalas0
Fren_Not_Foodvip
· 12jam yang lalu
Menghindari celah itu terlalu keren!
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)