Google, “a” adı verilen şeyi desteklediğini duyurdu. V8 Korumalı Alanı Bellek bozulması sorunlarını gidermek amacıyla Chrome web tarayıcısında.
V8 Güvenlik teknik lideri Samuel Groß’a göre korumalı alan, Amaçları “V8’deki bellek bozulmasının ana bilgisayar işlemine yayılmasını” önlemek için.
Arama devi var tarif edildi Yaygın V8 güvenlik açıklarını azaltmak üzere tasarlanmış, JavaScript ve WebAssembly motoru için hafif, işlem içi bir sanal alan olarak V8 Sandbox.
Buradaki fikir, V8 tarafından yürütülen kodu sürecin sanal adres alanının bir alt kümesiyle (“korumalı alan”) sınırlandırarak ve onu sürecin geri kalanından yalıtarak V8 güvenlik açıklarının etkisini sınırlamaktır.
V8’i etkileyen eksiklikler, Google’ın 2021 ile 2023 yılları arasında ele aldığı sıfır gün güvenlik açıklarının önemli bir kısmını oluşturdu ve bu süre içinde keşfedilen 16’ya kadar güvenlik açığı var.
Chromium ekibi “Korumalı alan, bir saldırganın korumalı alan adres alanı içindeki herhangi bir belleği keyfi ve eşzamanlı olarak değiştirebileceğini varsayar; çünkü bu ilkel, tipik V8 güvenlik açıklarından oluşturulabilir.” söz konusu.
“Ayrıca, bir saldırganın, örneğin donanım yan kanalları aracılığıyla, sandbox dışındaki belleği okuyabileceği varsayılmaktadır. Sandbox daha sonra sürecin geri kalanını böyle bir saldırgandan korumayı amaçlamaktadır. Bu nedenle, Korumalı alan adres alanı dışındaki bellek, korumalı alan ihlali olarak kabul edilir.”
Groß, hafızayı bozmak için kullanılabilecek “ince mantık sorunları” göz önüne alındığında, Rust gibi hafıza açısından güvenli bir dile veya hafıza etiketleme gibi donanım hafıza güvenliği yaklaşımlarına geçiş yaparak V8 güvenlik açıklarıyla mücadele etmenin zorluklarını vurguladı. serbest bırakıldıktan sonra kullanım, sınır dışı erişimler ve diğerleri.
Groß, “Bugün V8’de bulunan ve yararlanılan neredeyse tüm güvenlik açıklarının ortak bir yanı var: nihai bellek bozulması zorunlu olarak V8 yığınının içinde gerçekleşir çünkü derleyici ve çalışma zamanı (neredeyse) yalnızca V8 HeapObject örnekleri üzerinde çalışır.” dedi.
Bu sorunların, tipik bellek bozulması güvenlik açıkları için kullanılan tekniklerle aynı tekniklerle korunamayacağı göz önüne alındığında, V8 Sandbox, V8’in yığın belleğini izole edecek şekilde tasarlanmıştır; böylece herhangi bir bellek bozulması meydana gelirse, sürecin diğer bölümlerine yönelik güvenlik sınırlamalarından kaçamaz. hafıza.
Bu, korumalı alan dışı belleğe erişebilen tüm veri türlerinin “korumalı alanla uyumlu” alternatiflerle değiştirilmesi ve böylece bir saldırganın diğer belleğe erişmesinin etkili bir şekilde engellenmesiyle gerçekleştirilir. Korumalı alan, “v8_enable_sandbox” değerini true olarak ayarlayarak etkinleştirilebilir. gn args.
Speedometer ve JetStream’den elde edilen kıyaslama sonuçları, güvenlik özelliğinin tipik iş yüklerinde yaklaşık %1’lik bir ek yük eklediğini ve Chrome sürüm 123’ten başlayarak Android, ChromeOS, Linux, macOS ve Windows’u kapsayan varsayılan olarak etkinleştirilmesine olanak sağladığını gösteriyor.
Groß, “V8 Sandbox, şu anda bir terabayt gibi büyük miktarda sanal adres alanı ayırması gerektiğinden 64 bitlik bir sistem gerektiriyor” dedi.
“Sandbox, mevcut bellek güvenliği teknolojilerinin JavaScript motorlarını optimize etmek için büyük ölçüde uygulanamaz olması gerçeğinden hareket ediyor. Bu teknolojiler V8’in kendisinde bellek bozulmasını önlemede başarısız olsa da aslında V8 Sandbox saldırı yüzeyini koruyabilirler. Bu nedenle sandbox gerekli bir şeydir. Bellek güvenliğine doğru bir adım atın.”
Bu gelişme, Google’ın Çekirdek Adres Temizleyici’nin rolünü vurgulamasıyla ortaya çıktı (KASAn) yerel koddaki bellek hatalarını tespit etmede ve Android ürün yazılımı güvenliğinin güçlendirilmesine yardımcı olmada, 40’tan fazla hatayı keşfetmek için derleyici tabanlı aracı kullandığını ekledi.
Android ekibinden Eugene Rodionov ve Ivan Lozano, “Test ve/veya bulanıklaştırma sırasında KASan özellikli yapıların kullanılması, bellek bozulması güvenlik açıklarının ve kararlılık sorunlarının kullanıcı cihazlarına ulaşmadan önce yakalanmasına yardımcı olabilir.” söz konusu.