Google a dévoilé une nouvelle fonctionnalité appelée V8 Sandbox dans son navigateur Web Chrome pour résoudre les problèmes de corruption de mémoire., visant à se protéger contre les vulnérabilités.
“Près de trois ans après le document de conception initial et des centaines de CL entre-temps, le V8 Sandbox - un poids léger, sandbox en cours pour V8 — a maintenant progressé au point où il n'est plus considéré comme une fonctionnalité de sécurité expérimentale. A partir d'aujourd'hui, le V8 Sandbox est inclus dans le programme de récompense de vulnérabilité de Chrome (VRP),” l'annonce officielle dit.
Le bac à sable V8 expliqué
Le bac à sable V8, développé par Samuel Groß, responsable technique de la sécurité V8, est conçu pour empêcher la corruption de la mémoire de se propager au sein du processus hôte. Ce poids léger, le bac à sable en cours cible le moteur JavaScript et WebAssembly, atténuation commune Vulnérabilités V8.
Le concept derrière le V8 Sandbox est de limiter l'impact des vulnérabilités de la V8 en limitant le code exécuté par la V8 à un sous-ensemble spécifique du processus.’ espace d'adressage virtuel, l'isoler du reste du processus.
Correction des vulnérabilités de la V8
Google est aux prises avec un nombre important de vulnérabilités zero-day résultant de lacunes de la V8., avec jusqu'à 16 failles de sécurité détectées entre 2021 et 2023. L'équipe Chromium a souligné que le bac à sable suppose la capacité d'un attaquant à modifier la mémoire dans l'espace d'adressage du bac à sable et vise à protéger le reste du processus contre de telles attaques..
Samuel Groß a souligné la complexité de la lutte contre les vulnérabilités du V8, citant les difficultés liées au passage à des langages sécurisés comme Rust ou aux approches de sécurité de la mémoire matérielle en raison de la nature nuancée des problèmes de corruption de la mémoire.
Fonctionnalité du bac à sable V8
Le V8 Sandbox est conçu pour isoler la mémoire tas du V8 afin d'empêcher toute corruption de la mémoire d'échapper aux limites de sécurité et d'affecter d'autres parties du processus.’ Mémoire. En remplaçant les types de données pouvant accéder à la mémoire hors sandbox par “compatible sandbox” alternatives, le bac à sable restreint efficacement les attaquants contre tout accès non autorisé à la mémoire.
L'activation du bac à sable est simple, obligeant les utilisateurs à définir “v8_enable_sandbox” à vrai dans les arguments gn.
Impact sur les performances et mise en œuvre
Les résultats de référence de Speedometer et JetStream indiquent que le V8 Sandbox entraîne une surcharge minimale d'environ 1% sur des charges de travail typiques. Cette évaluation des performances a ouvert la voie à l'activation de la fonctionnalité par défaut à partir de la version Chrome. 123 sur diverses plateformes, dont Android, ChromeOS, Linux, macOS, et Windows.
Samuel Groß a noté que le bac à sable nécessite un système 64 bits en raison de la nécessité d'une réservation substantielle d'espace d'adressage virtuel., s'élevant actuellement à un téraoctet.
Améliorer la sécurité de la mémoire
L'adoption du bac à sable par Google souligne les limites des technologies existantes de sécurité de la mémoire dans l'optimisation des moteurs JavaScript.. Bien que ces technologies ne parviennent pas à empêcher la corruption de la mémoire dans la V8, ils jouent un rôle essentiel dans la protection de la surface d'attaque du V8 Sandbox.
Le développement s'aligne sur les efforts plus larges de Google en matière de cybersécurité, y compris l'utilisation de Kernel Address Sanitizer (KASan) pour détecter les bugs de mémoire dans le code natif et améliorer la sécurité du firmware Android. Les versions compatibles KASan jouent un rôle déterminant dans l'identification des vulnérabilités de corruption de mémoire et des problèmes de stabilité avant qu'ils n'impactent les appareils des utilisateurs..
En conclusion, l'introduction du V8 Sandbox représente une avancée significative dans l'amélioration de la sécurité de Chrome et l'atténuation des vulnérabilités liées à la V8..