Google hat in seinem Chrome-Webbrowser eine neue Funktion namens V8 Sandbox vorgestellt, um Speicherbeschädigungsprobleme zu beheben, zum Schutz vor Schwachstellen.
“Fast drei Jahre nach dem ersten Designdokument und Hunderten von CLs in der Zwischenzeit, der V8 Sandbox — ein Leichtgewicht, In-Process-Sandbox für V8 – ist mittlerweile so weit fortgeschritten, dass sie nicht mehr als experimentelles Sicherheitsfeature gilt. Ab heute, Die V8 Sandbox ist im Vulnerability Reward Program von Chrome enthalten (VRP),” die offizielle Ankündigung sagte.
Die V8-Sandbox erklärt
Die V8-Sandbox, entwickelt von V8 Security Technical Lead Samuel Groß, soll verhindern, dass sich Speicherbeschädigungen innerhalb des Hostprozesses ausbreiten. Dieses leichte, In-Process-Sandbox zielt auf die JavaScript- und WebAssembly-Engine ab, Milderung der gemeinsamen V8-Schwachstellen.
Das Konzept hinter der V8 Sandbox besteht darin, die Auswirkungen von V8-Schwachstellen einzuschränken, indem der von V8 ausgeführte Code auf eine bestimmte Teilmenge des Prozesses beschränkt wird.’ virtueller Adressraum, Isolierung vom Rest des Prozesses.
Beheben von V8-Schwachstellen
Google hat mit einer beträchtlichen Anzahl von Zero-Day-Schwachstellen zu kämpfen, die auf V8-Mängel zurückzuführen sind, mit bis zu 16 Sicherheitslücken zwischen 2021 und 2023. Das Chromium-Team betonte, dass die Sandbox davon ausgeht, dass ein Angreifer den Speicher innerhalb des Sandbox-Adressraums ändern kann, und darauf abzielt, den Rest des Prozesses vor solchen Angriffen zu schützen..
Samuel Groß betonte die Komplexität der Behebung von V8-Schwachstellen, unter Hinweis auf Herausforderungen bei der Umstellung auf speichersichere Sprachen wie Rust oder Hardware-Speichersicherheitsansätze aufgrund der differenzierten Natur von Speicherbeschädigungsproblemen.
Funktionsweise der V8 Sandbox
Die V8 Sandbox ist so konzipiert, dass sie den Heap-Speicher von V8 isoliert, um zu verhindern, dass Speicherbeschädigungen aus den Sicherheitsgrenzen ausbrechen und andere Teile des Prozesses beeinträchtigen.’ Erinnerung. Durch das Ersetzen von Datentypen, die auf den Speicher außerhalb der Sandbox zugreifen können, durch “Sandbox-kompatibel” Alternativen, Die Sandbox verhindert effektiv den unbefugten Speicherzugriff von Angreifern.
Das Aktivieren der Sandbox ist unkompliziert, Benutzer müssen festlegen “v8_enable_sandbox” auf true in den gn-Argumenten.
Auswirkungen auf die Leistung und Implementierung
Benchmark-Ergebnisse von Speedometer und JetStream zeigen, dass die V8 Sandbox einen minimalen Overhead von ca. 1% bei typischen Arbeitslasten. Diese Leistungsbewertung hat den Weg geebnet, die Funktion ab der Chrome-Version standardmäßig zu aktivieren. 123 auf verschiedenen Plattformen, einschließlich Android, ChromeOS, Linux, Mac OS, und Windows.
Samuel Groß merkte an, dass die Sandbox ein 64-Bit-System erfordert, da eine umfangreiche Reservierung des virtuellen Adressraums erforderlich ist., derzeit ein Terabyte.
Verbesserung der Speichersicherheit
Die Einführung der Sandbox durch Google unterstreicht die Grenzen bestehender Speichersicherheitstechnologien bei der Optimierung von JavaScript-Engines. Obwohl diese Technologien Speicherbeschädigungen in V8 nicht verhindern können,, Sie spielen eine entscheidende Rolle beim Schutz der Angriffsfläche der V8 Sandbox.
Die Entwicklung steht im Einklang mit Googles umfassenderen Bemühungen im Bereich Cybersicherheit, einschließlich der Nutzung von Kernel Address Sanitizer (KASan) um Speicherfehler im nativen Code zu erkennen und die Sicherheit der Android-Firmware zu verbessern. KASan-fähige Builds sind hilfreich bei der Identifizierung von Speicherbeschädigungsschwachstellen und Stabilitätsproblemen, bevor diese sich auf Benutzergeräte auswirken.
Abschließend, Die Einführung der V8 Sandbox stellt einen bedeutenden Fortschritt bei der Verbesserung der Sicherheitslage von Chrome und der Minderung von V8-bezogenen Schwachstellen dar..