zurück zum Artikel

JavaScript-Engine: V8 9.3 erhöht Sicherheit und Performance auf Android

Maika Möbus

(Bild: fuyu liu/Shutterstock.com)

Google reduziert in V8 9.3 die Compile-Zeit durch Batch-Kompilierung und widmet sich dem Spectre-Schutz auf Android.

Die Open-Source-Engine V8 steht in Version 9.3 bereit. Die von Google entwickelte Engine für JavaScript und WebAssembly bringt sowohl eine neue Kompilierungsmethode für den JavaScript-Compiler Sparkplug als auch Android-Neuerungen mit. Wie gewohnt befindet sich V8 9.3 bis zum stabilen Release von Chrome 93 im Beta-Status.

Nachdem V8 9.2 das Speichermanagement überarbeitete [1], widmet sich Version 9.3 einer schnelleren Kompilierung: Sie bringt Batch-Kompilierung für Sparkplug mit, denn der sicherheitsrelevante Aufruf mprotect für jede einzelne kompilierte Funktion stellte bislang einen Engpass beim Kompilieren dar. Die Batch-Kompilierung soll laut Analysen des V8-Entwicklerteams die Kompilierungszeit unter Nutzung von Ignition und Sparkplug um bis zu 44 Prozent verringern.

Bereits seit Version 9.1 hat V8 den JIT-Compiler Sparkplug [2] mit an Bord, der sich zwischen dem Low-Level Register-basierten Ignition-Interpreter und dem seit 2015 genutzten optimierenden Compiler TurboFan positioniert. Sparkplug soll der schnelleren Kompilierung dienen, indem es von Bytecode – nicht von JavaScript-Sourcecode – und zudem ohne Intermediate Representation (IR) direkt zu Maschinencode kompiliert.

Als Reaktion auf die Prozessor-Sicherheitslücke Spectre führte Chrome 2018 die Option Website-Isolierung ein [3], und seit Chrome 92 ist sie auch für Android auf vielen Seiten verfügbar, die sensible Daten enthalten [4]. V8 9.3 deaktiviert in diesem Zuge die bisherige und nicht auf dauerhafte Nutzung ausgelegte Code Generation Mitigation und setzt ebenfalls auf Website-Isolierung auf Android. Das soll sowohl effektiver gegen Angriffe sein als auch die Benchmark-Performance auf Android verbessern.

Weitere Details zu V8 9.3 sind in einem Blogeintrag zu finden [5].

(mai [6])


URL dieses Artikels:
https://www.heise.de/-6161330

Links in diesem Artikel:
[1] https://www.heise.de/news/JavaScript-Engine-V8-9-2-bereitet-auf-erweiterte-Shared-Memory-Funktionen-vor-6142456.html
[2] https://v8.dev/blog/sparkplug
[3] https://www.heise.de/news/Prozessor-Bug-Browser-Hersteller-reagieren-auf-Meltdown-und-Spectre-3933043.html
[4] https://security.googleblog.com/2021/07/protecting-more-with-site-isolation.html
[5] https://v8.dev/blog/v8-release-93
[6] mailto:mai@heise.de