Risiko keamanan kebocoran nilai Sentinel V8 Engine yang melewati HardenProtect

Risiko Keamanan yang Disebabkan oleh Kebocoran Nilai Sentinel di Mesin Chrome V8

Nilai Sentinel adalah nilai khusus dalam algoritma, sering digunakan sebagai kondisi penghentian dalam algoritma loop atau rekursif. Di dalam sumber kode Chrome terdapat beberapa nilai Sentinel, beberapa objek tidak boleh bocor ke dalam lingkungan JavaScript. Artikel ini akan membahas penggunaan kebocoran objek Uninitialized Oddball untuk menghindari mekanisme HardenProtect di mesin Chrome V8.

Nilai Sentinel di V8

Sebagian besar objek native V8 didefinisikan dalam file v8/src/roots/roots.h, dan objek-objek ini tersusun bersebelahan dalam memori. Setelah objek native yang tidak seharusnya diekspos ke JavaScript bocor, itu dapat menyebabkan eksekusi kode sembarangan di dalam sandbox.

Kita dapat mengekspos Uninitialized Oddball ke dalam JavaScript dengan memodifikasi fungsi native V8. Misalnya, dengan mengubah offset dari fungsi %TheHole() sehingga mengembalikan objek Uninitialized Oddball.

Pengungkapan Eksklusif tentang cara melewati HardenProtect Chrome v8 dengan membocorkan Sentinel Value

Menghindari Perlindungan HardenType

Dengan memanfaatkan objek Uninitialized Oddball yang bocor, kode berikut dapat dibangun untuk mencapai pembacaan yang relatif sewenang-wenang:

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

let arr = [1.1, 2.2, 3.3]; let uninitialized_oddball = %TheHole();

untuk (let i = 0; i < 100000; i++) { read(arr, 0);
}

%OptimizeFunctionOnNextCall(baca);

let result = read(uninitialized_oddball, 0x12345); %DebugPrint(result);

Kode perakitan fungsi read yang dioptimalkan menunjukkan bahwa saat menghitung offset array, tidak ada pemeriksaan terhadap tipe nilai obj.prop, dan langsung menghitung sesuai dengan semantik JavaScript, yang mengakibatkan kebingungan tipe dan memungkinkan pembacaan sembarangan.

Eksklusif Mengungkap Cara Melalui Kebocoran Nilai Sentinel untuk Menghindari Chrome v8 HardenProtect

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

Eksklusif Mengungkap Cara Melalui Kebocoran Nilai Sentinel untuk Menghindari Chrome v8 HardenProtect

Peringatan Risiko PatchGap

Kerentanan ini saat ini masih belum diperbaiki di beberapa perangkat lunak yang menggunakan versi lama dari mesin V8 ( seperti Skype ). Di platform x86, karena tidak ada kompresi alamat, pembacaan dan penulisan sembarang dapat dilakukan langsung relatif terhadap seluruh proses.

Publikasi metode bypass baru ini mengurangi kesulitan dalam memanfaatkan kerentanan terkait. Hacker hampir tidak perlu penelitian tambahan untuk menyelesaikan eksploitasi penuh terhadap kerentanan Uninitialized Oddball yang bocor.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

Ringkasan

Di V8 juga terdapat nilai Sentinel lain, yang mungkin menyebabkan masalah keamanan serupa. Disarankan untuk melakukan penelitian lebih lanjut:

  1. Apakah kebocoran Uninitialized Oddball lainnya juga dapat mewujudkan RCE V8
  2. Apakah masalah semacam ini harus secara resmi dikategorikan sebagai kerentanan keamanan
  3. Apakah dalam pengujian Fuzzer perlu memasukkan nilai Sentinel sebagai variabel?

Bagaimanapun, masalah seperti ini akan sangat memperpendek siklus bagi peretas untuk mencapai pemanfaatan penuh, dan itu sangat penting untuk diperhatikan.

Eksklusif Mengungkap Cara Menghindari Perlindungan HardenProtect Chrome v8 melalui Kebocoran Sentinel Value

Pengungkapan Eksklusif Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Nilai Sentinel

SENC-0.28%
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
  • 6
  • Bagikan
Komentar
0/400
GateUser-bd883c58vip
· 08-04 04:05
Kerentanan ini, sangat ekstrem hingga membuat sedikit panik
Lihat AsliBalas0
SerumDegenvip
· 08-02 17:19
gm fren... ada kebocoran alpha lain yang terdeteksi di v8, kita semua rekt
Lihat AsliBalas0
ThatsNotARugPullvip
· 08-02 17:19
Kuali ini, Chrome, bawa saja. Mereka sudah menunjukkan lubangnya kepadamu.
Lihat AsliBalas0
RektButStillHerevip
· 08-02 17:09
Mengapa perlindungan sandbox begitu buruk?
Lihat AsliBalas0
CryptoNomicsvip
· 08-02 17:01
*sigh* eksploitasi lain yang membuktikan analisis regresi saya tentang model keamanan chrome secara statistik signifikan... namun tidak ada yang mendengarkan
Lihat AsliBalas0
MetaverseHobovip
· 08-02 16:58
Kekurangan ini terlalu mengganggu, langsung To da moon.
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)