Zum Hauptinhalt Zur Navigation

Browser: Mozilla härtet Firefox gegen Code-Injection

Das Security-Team von Mozilla will den Firefox -Browser besser gegen Code-Injection-Lücken härten, verzichtet dafür auf Inline-Aufrufe in den eigenen About-Seiten und hat die Nutzung der eval()-Funktion überarbeitet.
/ Sebastian Grüner
8 Kommentare News folgen (öffnet im neuen Fenster)
Code-Injection-Angriffe sollen in Firefox erschwert werden. (Bild: Eric Kilby/Flickr.com)
Code-Injection-Angriffe sollen in Firefox erschwert werden. Bild: Eric Kilby/Flickr.com / CC-BY-SA 2.0

Mit Hilfe sogenannter Code-Injection-Lücken können Angreifer ihren eigenen Code im Kontext der angegriffenen Anwendung ausführen. Das Security-Team von Mozilla will dies in seinem Firefox-Browser so weit es geht verhindern und hat dafür einige Änderungen am Browser-Code umgesetzt, die die zuständigen Entwickler nun im Security-Blog des Unternehmens beschreiben(öffnet im neuen Fenster) .

Dabei handele es sich zum einen um Anpassungen an die About-Webseiten(öffnet im neuen Fenster) von Firefox, die Nutzern und Entwicklern einige Informationen über den Browser selbst liefern. Diese sind mit Webtechniken erstellt und damit möglicherweise eben wie Webseiten auch für Code-Injection-Angriffe anfällig.

Um dies zu verhindern, hat das Team sämtliche Inline-Event-Handler sowie sämtlichen Inline-Javascript-Code in gepackte Dateien verschoben. Über eine Content Security Policy (CSP) führt der Browser in den About-Seiten dann nur diesen gepackten Code aus, aber eben nicht mehr eventuell von Angreifern injizierten Code. Laut dem Blog reduziere dies die Angriffsfläche und sei eine "starke erste Verteidigungslinie gegen Code-Injection-Angriffe" .

Eval-Funktion wird eingeschränkt

Zum anderen habe das Team die Verwendung der Funktion eval() in Browser grundsätzlich überarbeitet. Javascript bietet die Möglichkeit, mit dieser Funktion innerhalb von Javascript-Code einen String wiederum als Code auszuführen. Das kann in manchen Fällen nützlich sein, jedoch birgt es auch ein Sicherheitsrisiko.

Laut dem Blog hat das Team nun sämtliche Aufrufe von eval() aus dem Kontext von Systemrechten sowie aus Elternprozessen heraus neu geschrieben. Darüber hinaus soll der Aufruf durch Assertions(öffnet im neuen Fenster) dauerhaft unterbunden werden. Weitere Details liefert der Blogeintrag.


Relevante Themen