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:
Dalam suatu kerentanan CVE, poc awal adalah kebocoran oddball internal yang tidak diinisialisasi.
Dalam laporan kerentanan CVE lainnya, peneliti secara langsung membocorkan UninitializedOddball, meskipun saat itu rantai eksploitasi tidak lengkap, namun telah menunjukkan adanya risiko keamanan.
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.
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.
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.
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:
Apakah kebocoran nilai Sentinel lainnya juga dapat menyebabkan pelarian sandbox V8?
Apakah masalah seperti ini harus secara resmi dianggap sebagai kerentanan keamanan?
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.
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.
8 Suka
Hadiah
8
4
Bagikan
Komentar
0/400
ArbitrageBot
· 07-11 10:52
Bagaimana Google bisa melakukan ini, sampai bisa ada celah?
Lihat AsliBalas0
SelfSovereignSteve
· 07-10 20:07
Di mana perlindungan browser?
Lihat AsliBalas0
StablecoinArbitrageur
· 07-10 19:58
hmm eksploitasi lain dengan 99.8% kemungkinan diperbaiki sebelum ada peluang arb yang berarti...
Lihat AsliBalas0
DefiPlaybook
· 07-10 19:45
Apakah browser juga mendapatkan airdrop? Apakah ini bisa dimanfaatkan?
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:
Dalam suatu kerentanan CVE, poc awal adalah kebocoran oddball internal yang tidak diinisialisasi.
Dalam laporan kerentanan CVE lainnya, peneliti secara langsung membocorkan UninitializedOddball, meskipun saat itu rantai eksploitasi tidak lengkap, namun telah menunjukkan adanya risiko keamanan.
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.
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.
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.
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:
Apakah kebocoran nilai Sentinel lainnya juga dapat menyebabkan pelarian sandbox V8?
Apakah masalah seperti ini harus secara resmi dianggap sebagai kerentanan keamanan?
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.