Sicherheitsproblem in Mozilla-Browsern

Update Steffen Weber
66 Kommentare

Eine Sicherheitslücke, welche das Manipulieren der Benutzer-Oberfläche durch deren Deaktivierung und authentische Nachbildung ermöglicht, wurde in Mozilla-Browsern entdeckt. Damit ist es möglich, den Benutzer glauben zu lassen, er befinde sich auf der Seite seiner Bank, wohingegen er soeben seine Login-Daten an Betrüger sendet.

Die Sicherheitslücke bedient sich der XUL-Technologie, mit welcher man native Benutzer-Oberflächen im Browser anzeigen kann und welche auch als Basis für Mozillas eigene Benutzer-Oberfläche verwendet wird. Per Javascript ist es, wie in anderen Browsern auch, möglich, Browser-Leisten wie die Menüleiste und Statuszeile auszublenden, was ansich noch nicht den Bug ausmacht. Jedoch ist es mit XUL nun möglich, eine Ersatz-Oberfläche anzuzeigen, welche das exakte Aussehen der eigentlichen Mozilla-Leisten nachahmt, jedoch zum Beispiel in der Adresszeile eine falsch URL anzeigt sowie hinter beliebigen Navigations-Buttons bösartige Funktionen verstecken könnte.

Eine beeindruckende Demonstration der Sicherheitslücke, welche eigentlich ein grundlegend konzeptionelles Problem der XUL-Technologie ist und mit der sich in ähnlicher Form wohl auch Microsoft bei seinem XUL-Äquivalent XAML, welches mit Windows Longhorn eingeführt werden wird, wird beschäftigen müssen, hat Jeff Smith am Beispiel von Paypal erstellt. Zwar funktioniert diese nur mit aktuellen Firefox-Versionen, jedoch sei es, abgesehen vom Aufwand, kein Problem, auch für andere Mozilla-Browser (Mozilla Suite, Netscape, Epiphany, ...) eine entsprechende XUL-Anwendung zu erstellen. Dass diverse Buttons in der Demo nicht funktionieren, muss laut Jeff Smith nicht so bleiben, d.h. sie könnten für eine noch originalgetreuere Nachbildung durchaus mit Funktionen belegt werden. Dass sich auch der Sicherheits-Dialog mit Anzeige des verwendeten Zertifikats fälschen lässt, verrät ein Klick auf das kleine Schloss-Symbol in der unteren linken Ecke.

Nachgeahmte Browser-Oberfläche
Nachgeahmte Browser-Oberfläche
Gefälschtes SSL-Zertifikat
Gefälschtes SSL-Zertifikat

Jedoch lässt sich die Benutzer-Oberfläche nicht unter allen Umständen exakt nachbilden. Zwar stellt die Verwendung eines anderen „Themes“ kein Problem bei der Nachbildung dar, der Betrüger kann jedoch nicht die Browser-Einstellungen oder Favoriten auslesen, sodass zusätzliche Browser-Leisten sowie benutzerdefinierte Navigations-Symbole nicht angezeigt werden können, was eventuell dazu führen könnte, dass der Anwender den Betrug bemerkt. Da ein Großteil der Anwender jedoch die Standard-Konfiguration beibehält und es äußerst fraglich ist, dass dem Otto-Normal-Benutzer kleine Ungereimtheiten in der Benutzer-Oberfläche auffallen und dass dieser daraus den richtigen Schluss zieht, sind nun Lösungen für dieses konzeptionelle Problem gefragt. Momentan werden in Bug #252198 diverse Lösungsansätze diskutiert. Eine mögliche Lösung wäre zum Beispiel, in der Statuszeile stets die Domain der aktuellen Website anzuzeigen und das Deaktivieren der Statuszeile per Javascript zu verhindern.

Derweil wird auch Kritik an der Mozilla Organisation laut, denn der ursprüngliche Bug #22183 sei bereits seit fast fünf Jahren bekannt, jedoch als „vertraulich“ markiert worden. Das Markieren als „vertraulich“ ist eigentlich eine durchaus übliche Vorgehensweise, um das Ausnutzen von neuen Sicherheits-Bugs bis zur Veröffentlichung eines Patches zu erschweren. In diesem Fall, wo die Sicherheitslücke über Jahre hinweg quasi vertuscht wurde, könne man jedoch von Security by Obscurity sprechen.

Update

Man kann Mozilla Firefox mit Hilfe der mächtigen Konfigurationsmöglichkeiten, welche dem Anwender zur Verfügung stehen, bis zu einem gewissen Grad gegen diese Art von Benutzer-Täuschung schützen. Vielen Dank an „prodan“ für den Hinweis!

  • In der Adresszeile „about:config“ eingeben und „Enter“ drücken
  • Im „Filter“-Eingabefeld „dom.disable“ eingeben
  • Der Variablen „dom.disable_window_open_feature.location“ den Wert „true“ zuweisen
  • Der Variablen „dom.disable_window_open_feature.menubar“ den Wert „true“ zuweisen
  • Der Variablen „dom.disable_window_open_feature.status“ den Wert „true“ zuweisen
  • Der Variablen „dom.disable_window_open_feature.toolbar“ den Wert „true“ zuweisen

Durch diese Änderungen lassen sich Adresszeile, Menüleiste, Statusleiste und Toolbar nicht mehr per Javascript ausblenden, was dazu führt, dass auf manipulierten Websites das Browser-Interface doppelt angezeigt wird und man somit merkt, dass etwas nicht stimmt.