Die V8-Sandbox: Google stärkt die Sicherheit von Chrome und Co.

Die V8-Entwickler von Google haben kürzlich bekannt gegeben, dass die Sandbox-Implementierung in ihrer JavaScript-Engine V8 nun ausgereift genug ist, um nicht mehr als experimentelles Feature zu gelten. Das ist eine gute Nachricht für die Sicherheit von Chrome und Co. Und als ob das noch nicht genug wäre, hat Google die Sandbox auch noch in das Chromes Vulnerability Reward Programm aufgenommen. Das bedeutet, dass Sicherheitsforscher, die Schwachstellen in der Sandbox finden, finanziell von Google belohnt werden können.

Die V8-Sandbox ist bereits seit fast zwei Jahren in den 64-Bit-Versionen von Chrome auf den gängigen Betriebssystemen im Einsatz. Bisher wurde sie jedoch als experimenteller Schutzmechanismus betrachtet, bei dem noch Schwachstellen zu erwarten waren. Aber nicht mehr lange, denn durch die Integration in das Vulnerability Reward Programm wird die Sandbox nun als bedeutend angesehen. Die aktuelle Chrome-Version 123 wird von den Entwicklern sogar als praktisch Beta-Version für die V8-Sandbox bezeichnet. Das klingt vielversprechend!

Aber was genau ist eigentlich diese Sandbox? Nun, sie bezieht sich auf den Speicherbereich namens Heap in der V8-Engine. Sie arbeitet grundlegend, indem sie die Verwendung herkömmlicher Zeiger nicht zulässt. In der Sandbox ist es also nicht möglich, dass Objekte direkt auf andere Objekte verweisen. Stattdessen müssen sie entweder einen komprimierten Zeiger verwenden, der lediglich einen Offset darstellt und nicht auf Speicher außerhalb der Sandbox verweisen kann, oder einen indirekten Verweis über eine Zeigertabelle nutzen. Diese Tabelle enthält auch Typinformationen, die überprüfen können, ob der Verweis legitim ist. Die Performance wird durch die Offset-Berechnungen und Indirektionen nur minimal beeinträchtigt. Die Entwickler geben an, dass der typische Leistungsverlust der Sandbox etwa ein Prozent beträgt, was die erwarteten Sicherheitsvorteile rechtfertigt.

Und diese Sicherheitsvorteile sind wirklich wertvoll. Sie sind schwer mit anderen Maßnahmen zu erreichen. Denn bekannte Sicherheitslücken in der V8-Engine basieren oft nicht direkt auf herkömmlichen Speicherzugriffsfehlern, sondern auf Logikfehlern im Just-in-Time-Compiler, die dann zu Zugriffsfehlern führen. Die Sandbox kann auch solche Zugriffsfehler abfangen, die indirekt verursacht werden, während andere herkömmliche Maßnahmen in solchen Fällen nicht wirksam sind. Ein Beispiel dafür ist, dass die Gewährleistungen einer speichersicheren Sprache wie Rust bei Logikfehlern im Compiler nichts nützen.

Die V8-Entwickler erklären in ihrem Blogbeitrag ausführlich, wie die V8-Sandbox funktioniert und warum andere Gegenmaßnahmen wie beispielsweise Memory Tagging nicht effektiv in einer JavaScript-Engine eingesetzt werden können. Das ist zwar schade, aber dafür haben sie bereits einige der Schwachstellen in der Sandbox behoben. Die bisher entdeckten Schwachstellen sind Zugriffsfehler, die auch durch konventionellere Schutzmaßnahmen aufgedeckt werden können. Die Entwickler hoffen jedoch, dass Ausbrüche aus der Sandbox letztendlich leichter zu verhindern sein werden als Ausbrüche direkt aus der V8-Engine. Allein die Tatsache, dass die Sandbox jetzt als ausgereift genug angesehen wird, um aus dem experimentellen Stadium herauszutreten, lässt auf eine vielversprechende Zukunft für die Sicherheit von Chrome und anderen Anwendungen hoffen.

Es bleibt abzuwarten, wie sich die Sandbox weiterentwickelt und welche Herausforderungen noch auf die Entwickler warten. Aber eins ist sicher: Die V8-Entwickler arbeiten hart daran, die Sicherheit ihrer Engine zu verbessern und sind bereit, Sicherheitsforschern finanzielle Belohnungen anzubieten. Also, liebe Sicherheitsforscher da draußen, nur zu! Findet diese Schwachstellen und kassiert ab. Und wir alle können uns darauf freuen, dass unsere Browser noch sicherer werden. In diesem Sinne: Happy Hacking!

Schlagwörter: Googles + Chromes + Vulnerability

Wie bewerten Sie den Schreibstil des Artikels?
1 Star2 Stars3 Stars4 Stars5 Stars
  • 6. April 2024