Analisis Risiko Keamanan dan Pemanfaatan Kebocoran Nilai Sentinel pada Mesin Chrome V8

robot
Pembuatan abstrak sedang berlangsung

Meneliti Risiko Keamanan yang Dihasilkan oleh Kebocoran Sentinel Value dalam Mesin Chrome V8

Nilai Sentinel adalah nilai yang digunakan sebagai tanda khusus dalam algoritma, biasanya sebagai kondisi penghentian dalam loop atau rekursi. Dalam kode sumber mesin Chrome V8 terdapat beberapa nilai Sentinel, di mana beberapa di antaranya tidak boleh bocor ke lingkungan JavaScript. Artikel ini akan membahas metode untuk mengatasi mekanisme HardenProtect Chrome V8 dengan membocorkan objek Uninitialized Oddball.

Nilai Sentinel di V8

File roots.h dari sumber V8 mendefinisikan banyak objek bawaan yang disusun bersebelahan di memori. Begitu objek-objek ini bocor ke dalam JavaScript, bisa menyebabkan pelarian sandbox.

Kita dapat memverifikasi hal ini dengan memodifikasi fungsi native V8. Misalnya, mengubah offset fungsi %TheHole() untuk mengembalikan objek Uninitialized Oddball alih-alih objek TheHole.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Menghindari perlindungan HardenType

Menggunakan objek Uninitialized Oddball dapat mencapai pembacaan memori yang relatif sembarangan. Kuncinya terletak pada fungsi baca JavaScript yang dioptimalkan, yang hanya memeriksa apakah atribut prop objek sudah benar, tetapi tidak memeriksa nilai dengan kunci obj.prop. Ini menyebabkan kebingungan tipe selama proses perhitungan, sehingga memungkinkan pembacaan sembarangan.

Analisis kode rakitan yang dioptimalkan menunjukkan bahwa, ketika uninitialized_oddball diberikan, program akan langsung menghitung offset dan membaca data, tanpa melakukan pemeriksaan tipe. Metode ini lebih mudah untuk dibangun dan dimanfaatkan dibandingkan dengan objek TheHole.

Eksklusif Mengungkap Cara Melewati Chrome v8 HardenProtect melalui Kebocoran Sentinel Value

Eksklusif mengungkap cara melewati Chrome v8 HardenProtect melalui kebocoran Sentinel Value

Eksklusif Mengungkap Cara Menghindari Perlindungan Chrome v8 HardenProtect dengan Membocorkan Nilai Sentinel

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect melalui Pembocoran Sentinel Value

Eksklusif mengungkap cara melewati Chrome v8 HardenProtect melalui kebocoran Sentinel Value

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

Eksklusif Mengungkap Cara Membocorkan Nilai Sentinel untuk Menghindari Chrome v8 HardenProtect

Peringatan Keamanan PatchGap

Selain memperhatikan celah sejarah yang sudah diketahui, kita juga perlu memperhatikan masalah yang diam-diam diperbaiki oleh vendor dalam komponen dasar. Setelah dianalisis, ditemukan bahwa perangkat lunak Skype hingga kini belum memperbaiki celah tersebut. Di platform x86, karena kurangnya kompresi alamat, rentang baca/tulis sembarangan lebih besar, hampir dapat membaca dan menulis seluruh ruang proses.

PatchGap kali ini tidak hanya melibatkan Issue1352549, tetapi juga mencakup Issue1314616 dan Issue1216437 serta kerentanan serupa lainnya. Setelah metode bypass baru dipublikasikan, kesulitan dalam mengeksploitasi kerentanan ini menurun secara signifikan, sehingga penyerang hampir tidak perlu melakukan penelitian tambahan untuk menyelesaikan rantai eksploitasi secara penuh.

Eksklusif mengungkap cara melewati HardenProtect Chrome v8 melalui kebocoran Sentinel Value

Ringkasan

Artikel ini secara singkat membahas metode untuk melakukan pembacaan sembarang melalui kebocoran Uninitialized Oddball. Di V8 juga terdapat beberapa nilai Sentinel lainnya, yang juga dapat menyebabkan masalah serupa. Ini mengingatkan kita:

  1. Kebocoran uninitialized_Oddball lainnya mungkin juga menyebabkan pelarian sandbox V8.

  2. Apakah masalah seperti ini harus dianggap sebagai kerentanan keamanan resmi masih menjadi perdebatan.

  3. Pertimbangkan untuk menambahkan nilai Sentinel sebagai variabel dalam pengujian fuzzing, untuk menemukan metode eksploitasi baru.

Bagaimanapun, jenis masalah ini akan sangat memperpendek siklus bagi penyerang untuk mencapai pemanfaatan penuh, dan harus mendapat perhatian yang tinggi.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

SENC0.03%
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
MoonBoi42vip
· 15jam yang lalu
Sedikit panik, terlalu banyak celah.
Lihat AsliBalas0
SleepyArbCatvip
· 08-02 05:40
Kucing yang terlalu mengantuk hanya bisa mengetik kode...zZz
Lihat AsliBalas0
ChainDetectivevip
· 08-02 05:38
Wah, celah di mesin v8 sudah aman.
Lihat AsliBalas0
LadderToolGuyvip
· 08-02 05:36
Terkejut, sudah diperbaiki dan dimainkan.
Lihat AsliBalas0
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)