Fehler in der JavaScript-Engine von Chrome können zu mächtigen Exploits führen. Dieses Projekt soll sie aufhalten

0
86

Liam Tung

Von Liam Tung | 3. August 2021 – 14:53 GMT (15:53 ​​BST) | Thema: Sicherheit

Ein neues Projekt soll die Sicherheit von V8 verbessern, einem Teil des Chrome-Browsers, den die meisten Benutzer nicht kennen, den Hacker jedoch zunehmend als lohnendes Ziel betrachten.

JavaScript macht das Web rund und Google musste in diesem Jahr mehrere Zero-Day- oder bisher unbekannte Fehler in Chromes V8-JavaScript-Engine beheben. Im April gab Google einen Fehler mit hohem Schweregrad in V8 zu, der verfolgt wurde, als CVE-2021-21224 in freier Wildbahn ausgenutzt wurde.

Chrome hat über zwei Milliarden Nutzer. Wenn also Zero-Day-Exploits Chrome treffen, ist das eine große Sache. V8, ein Open-Source-Projekt von Google, ist eine leistungsstarke JavaScript-Engine für Chrome, die das Web und Webanwendungen vorangebracht hat. V8 unterstützt auch die serverseitige Laufzeitumgebung Node.js.

Jetzt hat Samuel Groß, ein Mitglied des Sicherheitsforscherteams von Google Project Zero, einen V8-Sandbox-Vorschlag detailliert beschrieben, um seinen Speicher mithilfe von Virtual Machine- und Sandboxing-Technologien vor schlimmeren Fehlern in der Engine zu schützen.

„V8-Bugs ermöglichen typischerweise die Konstruktion ungewöhnlich mächtiger Exploits. Darüber hinaus ist es unwahrscheinlich, dass diese Fehler durch speichersichere Sprachen oder kommende hardwaregestützte Sicherheitsfunktionen wie MTE oder CFI abgemildert werden“, erklärt Groß und verweist auf Sicherheitstechnologien wie Microsofts Control -Flow-Integrität (CFI) und Intels Control-Flow-Enforcement-Technologien (CET).

“Daher ist V8 besonders attraktiv für Angreifer aus der realen Welt.”

Großs Kommentare legen nahe, dass sogar die Verwendung einer speichersicheren Sprache wie Rust – die Google für neue verwendet hat Android-Code – würde die Sicherheitsprobleme von V8, das in C++ geschrieben ist, nicht sofort lösen.

Er skizziert auch die allgemeinen Designziele, betont jedoch, dass dieses Sandbox-Projekt noch in den Kinderschuhen steckt und einige große Hürden zu überwinden sind. Aber V8 ist ein von Google geführtes Open-Source-Projekt und da V8 die Quelle von Sicherheitslücken in Chrome war, besteht die Möglichkeit, dass ein Mitglied des GPZ-Vorschlags es über die gesamte Linie schafft.

Die Probleme wirken sich auf die Interaktion von Browsersoftware mit Hardware außerhalb des Betriebssystems aus und sollen verhindern, dass zukünftige Fehler in V8 den Speicher eines Computers außerhalb des V8-Heaps beschädigen. Dies würde es einem Angreifer ermöglichen, bösartigen Code auszuführen.

Eine Überlegung für die zusätzlichen Sicherheitsvorkehrungen für V8 ist die Auswirkung auf die Hardwareleistung. Groß schätzt, dass sein Vorschlag einen Overhead von etwa “1% insgesamt bei realen Workloads” verursachen würde.

Groß erklärt das Problem mit V8, das von JIT-Compilern herrührt, die verwendet werden können, um eine Maschine dazu zu bringen, Maschinencode auszugeben, der zur Laufzeit den Speicher beschädigt.

“Viele von realen Angreifern ausgenutzte V8-Schwachstellen sind effektiv Schwachstellen zweiter Ordnung: Die Hauptursache ist oft ein logisches Problem in einem der JIT-Compiler, das dann ausgenutzt werden kann, um anfälligen Maschinencode zu generieren (z. B. Code, dem eine Laufzeit fehlt) Sicherheitsüberprüfung). Der generierte Code kann dann wiederum ausgenutzt werden, um zur Laufzeit Speicherbeschädigungen zu verursachen.”

Er hebt auch die Mängel der neuesten Sicherheitstechnologien hervor, einschließlich hardwarebasierter Abschwächungen, die V8 für die kommenden Jahre zu einem attraktiven Ziel machen werden und weshalb V8 möglicherweise einen Sandbox-Ansatz benötigt. Dazu gehören:

Der Angreifer hat eine große Kontrolle über das Primitiv der Speicherbeschädigung und kann diese Fehler oft in äußerst zuverlässige und schnelle Exploits umwandeln.
Speichersichere Sprachen schützen nicht vor diesen Problemen, da es sich im Wesentlichen um logische Fehler handelt
Aufgrund von CPU-Seitenkanälen und der Potenz von V8-Schwachstellen werden kommende Hardware-Sicherheitsfunktionen wie Speicher-Tagging wahrscheinlich die meiste Zeit umgangen werden können

Obwohl die Wahrscheinlichkeit, dass die neue V8-Sandbox tatsächlich eingeführt wird, heruntergespielt wird, scheint der Forscher seine Aussichten für die Erfüllung seiner beabsichtigten Aufgabe optimistisch zu sein, da ein Angreifer zwei separate Schwachstellen zusammenführen muss, um Code seiner Wahl auszuführen.

“Bei dieser Sandbox wird davon ausgegangen, dass Angreifer den Speicher innerhalb des virtuellen Speicherkäfigs willkürlich und von mehreren Threads aus beschädigen können und benötigen nun eine zusätzliche Schwachstelle, um den Speicher außerhalb des Käfigs zu beschädigen und somit auszuführen willkürlichen Code”, schrieb er.

Verwandte Themen:

Sicherheit TV-Datenverwaltung CXO-Rechenzentren Liam Tung

Von Liam Tung | 3. August 2021 – 14:53 GMT (15:53 ​​BST) | Thema: Sicherheit