Kerentanan kebocoran nilai Sentinel pada mesin V8: Analisis metode baru untuk melarikan diri dari sandbox Chrome

Membahas Kerentanan Keamanan Nilai Sentinel di Mesin Chrome V8

Nilai Sentinel adalah nilai khusus dalam algoritma, biasanya ada sebagai kondisi penghentian dalam algoritma loop atau rekursi. Dalam kode sumber Chrome terdapat banyak nilai Sentinel. Penelitian terbaru menunjukkan bahwa dengan membocorkan objek nilai Sentinel tertentu dapat menyebabkan eksekusi kode sembarang dalam sandbox Chrome.

Artikel ini akan membahas objek nilai Sentinel baru: Uninitialized Oddball. Metode bypass ini pertama kali muncul dalam laporan kerentanan tertentu, dengan kode lengkap yang diberikan oleh peneliti keamanan. Perlu dicatat bahwa metode ini masih dapat digunakan di versi terbaru V8, dan belum diperbaiki.

Metode ini memiliki generalitas yang kuat:

  1. Dalam suatu kerentanan CVE, poc awal adalah kebocoran oddball internal yang tidak diinisialisasi.

  2. Dalam laporan kerentanan CVE lainnya, peneliti secara langsung membocorkan UninitializedOddball, meskipun saat itu rantai eksploitasi tidak lengkap, namun telah menunjukkan adanya risiko keamanan.

  3. Dalam laporan kerentanan terbaru, metode pemanfaatan lengkap telah diberikan.

Kasus-kasus ini menunjukkan universalitas dan keseriusan masalah tersebut. Sampai saat ini, perangkat lunak komunikasi tertentu belum memperbaiki celah tersebut.

Aplikasi nilai sentinel di V8

Dalam sumber kode V8, sejumlah besar objek asli didefinisikan, yang disusun bersebelahan di dalam memori. Begitu objek asli yang seharusnya tidak bocor diekspos ke JavaScript, dapat memungkinkan eksekusi kode sembarang di dalam sandbox.

Untuk memverifikasi efektivitas metode ini di V8 terbaru, kita dapat memodifikasi fungsi native V8 untuk membocorkan Oddball yang belum diinisialisasi ke dalam JavaScript.

Pengungkapan Eksklusif tentang cara melewati Chrome v8 HardenProtect melalui kebocoran Sentinel Value

Menghindari Perlindungan HardenType

Kita dapat menyusun kode, ketika suatu fungsi mengembalikan UninitializedOddball, untuk mewujudkan pembacaan yang relatif sembarangan. Analisis kode rakitan yang dioptimalkan dapat menunjukkan bahwa fungsi hanya memeriksa apakah atribut objek benar, tetapi tidak memeriksa nilai yang sesuai dengan atribut, langsung menghitung offset berdasarkan semantik JavaScript untuk mendapatkan elemen array, sehingga menyebabkan kebingungan tipe dan mewujudkan pembacaan sembarangan.

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

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect melalui Kebocoran Sentinel Value

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect melalui Kebocoran Nilai Sentinel

Exclusive Reveal: Bypassing Chrome v8 HardenProtect Through Leaked Sentinel Value

Demikian pula, penulisan sembarang juga dapat dibangun melalui metode serupa. Disarankan untuk menambahkan pemeriksaan peta array saat mengembalikan elemen array dari fungsi optimasi, untuk menghindari perhitungan nilai pengembalian offset secara langsung.

Pemberitahuan Risiko Keamanan

Analisis menunjukkan bahwa perangkat lunak komunikasi tertentu hingga saat ini belum memperbaiki kerentanan tersebut. Di sistem x86, karena kurangnya kompresi alamat, pembacaan dan penulisan sembarang langsung berkaitan dengan seluruh proses. Meskipun ASLR telah diaktifkan, karena ukuran file yang besar, tetap ada kemungkinan besar untuk membaca dan menulis konten penting. Dengan menggabungkan metode seperti analisis PE, mungkin bisa menyelesaikan rantai eksploitasi lengkap dalam waktu singkat.

Risiko keamanan kali ini tidak hanya melibatkan satu kerentanan, tetapi juga mengakibatkan penurunan signifikan dalam kesulitan eksploitasi kerentanan serupa yang dilaporkan sebelumnya. Hacker hampir tidak memerlukan penelitian tambahan untuk mencapai eksploitasi yang lengkap, termasuk semua kerentanan serupa yang dilaporkan sebelumnya.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect dengan Membocorkan Sentinel Value

Ringkasan

Artikel ini secara singkat membahas metode untuk membaca secara sembarangan melalui kebocoran Uninitialized Oddball. Di V8 terdapat banyak nilai Sentinel lainnya, yang mungkin memiliki kerentanan keamanan serupa. Ini memberi kita beberapa wawasan:

  1. Apakah kebocoran nilai Sentinel lainnya juga dapat menyebabkan pelarian sandbox V8?

  2. Apakah masalah seperti ini harus secara resmi dianggap sebagai kerentanan keamanan?

  3. Apakah perlu untuk menambahkan variabel terkait nilai Sentinel dalam pengujian fuzz untuk menemukan lebih banyak masalah potensial?

Bagaimanapun, masalah semacam ini dapat secara signifikan memperpendek periode di mana peretas dapat sepenuhnya memanfaatkan, dan sangat penting untuk diperhatikan.

Eksklusif Mengungkap Cara Menghindari Chrome v8 HardenProtect Melalui Kebocoran Sentinel Value

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 4
  • Bagikan
Komentar
0/400
ArbitrageBotvip
· 07-11 10:52
Bagaimana Google bisa melakukan ini, sampai bisa ada celah?
Lihat AsliBalas0
SelfSovereignStevevip
· 07-10 20:07
Di mana perlindungan browser?
Lihat AsliBalas0
StablecoinArbitrageurvip
· 07-10 19:58
hmm eksploitasi lain dengan 99.8% kemungkinan diperbaiki sebelum ada peluang arb yang berarti...
Lihat AsliBalas0
DefiPlaybookvip
· 07-10 19:45
Apakah browser juga mendapatkan airdrop? Apakah ini bisa dimanfaatkan?
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)