Chrome V8 motoru Sentinel Value güvenlik açığı analizi ve kullanımı

Google Chrome V8 Motorunda Sentinel Value'nın Analizi ve Güvenlik Tehditleri

Sentinel değeri, algoritmalarda döngü veya özyineleme için bir sonlandırma koşulu olarak kullanılan özel bir değerdir. Chrome kaynak kodunda birden fazla Sentinel değeri bulunmaktadır ve bunlardan bazıları JavaScript ortamına sızarsa güvenlik sorunlarına yol açabilir. Bu yazıda, sızan Uninitialized Oddball nesnelerini kullanarak Chrome V8 HardenProtect mekanizmasını aşmanın yolları ele alınacaktır.

V8'de Sentinel Değeri

V8 kaynak kodunun roots.h dosyası, bellek içinde sıralı bir şekilde tanımlanan birçok yerel nesneyi tanımlar. Eğer bu JavaScript'e ifşa edilmemesi gereken yerel nesneler sızdırılırsa, kum havuzundan kaçışa neden olabilir. Önceki TheHole nesnesinin sızdırılması tipik bir örnektir.

En son V8'deki sorunu doğrulamak için %TheHole() fonksiyonunu değiştirerek Uninitialized Oddball nesnesini döndürebilirsiniz:

javascript print(%DebugPrint(%TheHole())); // Çıktı: Başlatılmamış değer

Özel Açıklama, Sentinel Value ile Chrome v8 HardenProtect'i Aşmanın Yolu

HardenType korumasını atlatma

Uninitialized Oddball kullanarak aşağıdaki PoC kodunu kullanarak herhangi bir okuma gerçekleştirebilirsiniz:

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

let uninitialized = %TheHole(); let arr = [1.1]; %OptimizeİçinFonksiyonuHazırla(oku); read(arr, 0); read(arr, 0); %OptimizeFunctionOnNextCall(read); read(arr, 0);

print(read(başlatılmamış, 0x1234n));

Özel Açıklama: Sentinel Value ile Chrome v8 HardenProtect'i Aşma

Yeniden derlenmiş optimize edilmiş read fonksiyonuna bakıldığında, obj.prop'un Value türünü sıkı bir şekilde kontrol etmediği, doğrudan JavaScript semantiğine göre kaydırma hesapladığı ve dizi elemanını döndürdüğü görülmektedir. Bu da tür karmaşasına neden olarak rastgele okuma gerçekleştirmektedir.

Özel Açıklama: Sentinel Value'yi Sızdırarak Chrome v8 HardenProtect'i Aşma

Önerilen düzeltme, optimize edilmiş fonksiyonun dizi elemanlarını döndürürken, dizinin haritasını kontrol etmeyi eklemektir; bu, doğrudan ofset döndürme değerinin hesaplanmasını önleyecektir.

Özel İfşaat: Sentinel Value ile Chrome v8 HardenProtect'i Aşma

PatchGap Risk Uyarısı

Analizler, Skype gibi bazı yazılımların PatchGap sorununa sahip olabileceğini ve bu açığın henüz kapatılmadığını ortaya koydu. Hackerlar, bu açığı kullanarak kısa sürede tam bir istismar zinciri oluşturabilir.

Özel Açıklama: Sentinel Value sızıntısı ile Chrome v8 HardenProtect'i aşmak

Ayrıca, yeni bir bypass yöntemi açıklandıktan sonra, bazı tarihsel açıkların ( gibi Issue1314616, Issue1216437) istismar zorluğu büyük ölçüde azaldı. Üreticilere ilgili açıkların güvenlik risklerini yeniden değerlendirmeleri önerilir.

Özel ifşa: Sentinel Value ile Chrome v8 HardenProtect'i aşmak

Özel Açıklama: Sentinel Value sızdırarak Chrome v8 HardenProtect'i aşmak

Özet

V8'de daha fazla Sentinel value üzerinde araştırma yapılması önerilmektedir. %TheHole/Uninitialized_Oddball gibi değişkenlerin Fuzzer'a eklenmesi, yeni sömürü ilkelere ulaşmak için önerilmektedir. Bu tür sorunlar resmi olarak güvenlik sorunu olarak listelenip listelenmemesi önemli değil, bu durum hacker'ların tam sömürü sürecini önemli ölçüde kısaltabilir.

Özel İfşa: Sentinel Value ile Chrome v8 HardenProtect'i Aşma

Özel Açıklama, Sentinel Value ile Chrome v8 HardenProtect'i Aşmanın Yolu

SENC-4.5%
View Original
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.
  • Reward
  • 5
  • Repost
  • Share
Comment
0/400
ParanoiaKingvip
· 08-11 08:12
Yine bir tehlike noktası.
View OriginalReply0
WenMoon42vip
· 08-11 08:11
Yine derinlik araştırması.
View OriginalReply0
CryptoSourGrapevip
· 08-11 08:09
Meğerse burada da çukurlar var.
View OriginalReply0
ForkItAllDayvip
· 08-11 07:59
Yığın taşmasının yeni yolları
View OriginalReply0
Fren_Not_Foodvip
· 08-11 07:58
Açıkları atlamak çok havalı.
View OriginalReply0
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)