Bbabo NET

Wetenschap & Technologie Nieuws

Google voegt een sandbox voor V8 toe aan Chrome

Google voegt Sandbox V8 toe aan Chrome om de browser beter bestand te maken tegen geheugenproblemen. De meeste van deze problemen hielden verband met de JavaScript-engine.

“Bijna alle kwetsbaarheden die tegenwoordig in V8 worden gevonden en uitgebuit, hebben één ding gemeen: geheugenbeschadiging vindt noodzakelijkerwijs plaats binnen de V8-heap, aangezien de compiler en runtime bijna altijd uitsluitend op V8 HeapObject-instanties werken”, merkte Google op. Conventionele beschermingsmaatregelen, waaronder hardwarebeveiligingsmechanismen of het overschakelen naar een geheugenveiligere taal, helpen echter niet.

Sandboxing voor V8 isoleert heap-geheugen om corruptie van andere delen van het procesgeheugen te voorkomen. Vanwege het gebrek aan hardware voor deze doeleinden koos Google voor een softwarematige aanpak.

“Het basisidee van een software-sandbox is om alle gegevenstypen die toegang hebben tot geheugen daarbuiten te vervangen door compatibele alternatieven. In het bijzonder moeten alle verwijzingen (zowel naar objecten in de V8-heap als elders) en 64-bit-groottes worden verwijderd, omdat een aanvaller deze kan beschadigen om vervolgens toegang te krijgen tot ander geheugen”, leggen de ontwikkelaars uit.

Tijdens aanvallen kunnen aanvallers niet uit de sandbox ontsnappen en andere delen van het procesgeheugen bereiken.

Google heeft sandboxing in Chrome 123 geïmplementeerd om te testen. Het is ook toegevoegd aan de bugbounty van het Chrome Vulnerability Rewards-programma.

Zoals opgemerkt is V8-sandboxing verantwoordelijk voor slechts 1% van het resourceverbruik bij typische workloads, wat betekent dat het standaard ingeschakeld kan zijn op compatibele platforms. De afgelopen twee weken is de V8-sandbox standaard actief geweest op 64-bits versies van Chrome voor Android, ChromeOS, Linux, macOS en Windows om de stabiliteit te testen en prestatiestatistieken te verzamelen.

Google voegt een sandbox voor V8 toe aan Chrome