Zum Hauptinhalt springen

7 Posts getaggt mit "sicherheit"

Alle Tags anzeigen

Die V8 Sandbox

· 13 Minuten Lesezeit
Samuel Groß

Nach fast drei Jahren seit dem ersten Entwurfsdokument und hunderten von CLs in der Zwischenzeit hat die V8 Sandbox — eine leichtgewichtige, prozessinterne Sandbox für V8 — nun einen Punkt erreicht, an dem sie nicht mehr als experimentelles Sicherheitsfeature betrachtet wird. Ab heute ist die V8 Sandbox im Chrome Vulnerability Reward Program (VRP) enthalten. Während es noch einige Probleme gibt, die gelöst werden müssen, bevor sie zu einer starken Sicherheitsgrenze wird, ist die Aufnahme in das VRP ein wichtiger Schritt in diese Richtung. Chrome 123 könnte daher als eine Art "Beta"-Release für die Sandbox angesehen werden. Dieser Blog-Beitrag nutzt die Gelegenheit, um die Motivation hinter der Sandbox zu erläutern, zeigt, wie sie verhindert, dass Speicherbeschädigungen in V8 sich innerhalb des Host-Prozesses ausbreiten, und erklärt letztlich, warum sie ein notwendiger Schritt zur Speichersicherheit ist.

V8 ist schneller und sicherer als je zuvor!

· 7 Minuten Lesezeit
[Victor Gomes](https://twitter.com/VictorBFG), der Glühwein-Experte

Willkommen in der spannenden Welt von V8, wo Geschwindigkeit nicht nur ein Feature, sondern eine Lebensweise ist. Während wir uns von 2023 verabschieden, ist es Zeit, die beeindruckenden Errungenschaften zu feiern, die V8 in diesem Jahr erreicht hat.

Durch innovative Leistungsoptimierungen erweitert V8 weiterhin die Grenzen des Möglichen in der sich ständig weiterentwickelnden Weblandschaft. Wir haben einen neuen Mitteltier-Compiler eingeführt und mehrere Verbesserungen an der Top-Tier-Compiler-Infrastruktur, der Laufzeitumgebung und dem Garbage Collector implementiert, was zu signifikanten Geschwindigkeitsgewinnen auf allen Ebenen geführt hat.

Control-flow-Integrität in V8

· 9 Minuten Lesezeit
Stephen Röttger

Control-flow-Integrität (CFI) ist eine Sicherheitsfunktion, die darauf abzielt, Exploits daran zu hindern, den Kontrollfluss zu kapern. Die Idee ist, dass selbst wenn ein Angreifer es schafft, den Speicher eines Prozesses zu manipulieren, zusätzliche Integritätsprüfungen verhindern können, dass er beliebigen Code ausführt. In diesem Blogbeitrag möchten wir unsere Arbeit zur Aktivierung von CFI in V8 vorstellen.

Nachrüstung zeitlicher Speichersicherheit in C++

· 11 Minuten Lesezeit
Anton Bikineev, Michael Lippautz ([@mlippautz](https://twitter.com/mlippautz)), Hannes Payer ([@PayerHannes](https://twitter.com/PayerHannes))
hinweis

Hinweis: Dieser Beitrag wurde ursprünglich im Google Security Blog veröffentlicht.

Speichersicherheit in Chrome ist eine ständige Bemühung zum Schutz unserer Nutzer. Wir experimentieren ständig mit verschiedenen Technologien, um böswilligen Akteuren einen Schritt voraus zu sein. In diesem Geist handelt dieser Beitrag von unserer Reise der Nutzung von Heap-Scanning-Technologien zur Verbesserung der Speichersicherheit von C++.

Ein Jahr mit Spectre: Eine V8-Perspektive

· 9 Minuten Lesezeit
Ben L. Titzer und Jaroslav Sevcik

Am 3. Januar 2018 veröffentlichten Google Project Zero und andere die ersten drei Schwachstellen einer neuen Klasse von Sicherheitslücken, die CPUs betreffen, die spekulative Ausführung verwenden. Genannt wurden sie Spectre und Meltdown. Mit den Mechanismen der spekulativen Ausführung von CPUs kann ein Angreifer sowohl implizite als auch explizite Sicherheitsüberprüfungen im Code vorübergehend umgehen, die verhindern, dass Programme unautorisierte Daten aus dem Speicher lesen. Obwohl die Prozessor-Spekulation als mikroarchitektonisches Detail entworfen wurde, unsichtbar auf architektonischer Ebene, können sorgfältig gestaltete Programme unautorisierte Informationen während der Spekulation lesen und sie durch Seiteneffekte wie die Ausführungszeit eines Programmfragments preisgeben.

Vorübergehende Deaktivierung der Escape-Analyse

· 2 Minuten Lesezeit
Mathias Bynens ([@mathias](https://twitter.com/mathias)), Sandbox-Escape-Analytiker

In JavaScript entweicht ein zugewiesenes Objekt, wenn es von außerhalb der aktuellen Funktion zugänglich ist. Normalerweise weist V8 neue Objekte auf dem JavaScript-Heap zu, aber mithilfe der Escape-Analyse kann ein optimierender Compiler feststellen, wann ein Objekt speziell behandelt werden kann, da seine Lebensdauer nachweislich an die Aktivierung der Funktion gebunden ist. Wenn die Referenz zu einem neu zugewiesenen Objekt die Funktion, die es erstellt, nicht verlässt, müssen JavaScript-Engines das Objekt nicht explizit auf dem Heap zuweisen. Sie können stattdessen die Werte des Objekts effektiv als lokale Variablen der Funktion behandeln. Dies ermöglicht wiederum verschiedene Optimierungen, wie das Speichern dieser Werte auf dem Stack oder in Registern oder in einigen Fällen das vollständige Weglassen der Werte. Objekte, die entweichen (genauer gesagt, Objekte, bei denen nicht bewiesen werden kann, dass sie nicht entweichen), müssen auf dem Heap zugewiesen werden.

Über die Hash-Flooding-Sicherheitslücke in Node.js…

· 6 Minuten Lesezeit
Yang Guo ([@hashseed](https://twitter.com/hashseed))

Anfang Juli dieses Jahres hat Node.js ein Sicherheitsupdate für alle derzeit gepflegten Zweige veröffentlicht, um eine Hash-Flooding-Sicherheitslücke zu beheben. Dieser Zwischenfix geht jedoch auf Kosten einer signifikanten Verschlechterung der Startleistung. In der Zwischenzeit hat V8 eine Lösung implementiert, die die Leistungseinbußen vermeidet.