Löchriger Firefox Passwort Manager [Update]

Die Mozilla-Entwickler haben ein bekanntes Loch im Passwort Manager von Firefox & Co gestopft - und doch die Tür für Missbrauch offen gelassen. Mit JavaScript kann ein Angreifer nach wie vor Passwörter klauen. Doch das Problem liegt womöglich woanders.

In Pocket speichern vorlesen Druckansicht 288 Kommentare lesen
Lesezeit: 4 Min.

Die Mozilla-Entwickler haben ein bekanntes Loch im Passwort Manager von Firefox & Co gestopft – und doch ein Tor für Missbrauch offen gelassen. Der eingebaute Passwort Manager des Open Source Browsers speichert auf Wunsch des Benutzers Passwörter und füllt die entsprechenden Formularfelder beim nächsten Besuch dann automatisch aus. Dies geschieht nicht nur auf der Seite, auf der man das Passwort gespeichert hat, sondern auch auf jeder anderen Seite auf diesem Server, die ein ähnliches Formular enthält.

Dürfen Anwender auf einem Server eigene Webseiten erstellen, wie das beispielsweise bei vielen Community-Sites der Fall ist, kann ein Angreifer das Login-Formular nachbauen und sich die automatisch eingesetzten Zugangsdaten auf seinen eigenen Server schicken lassen. Dazu konnte er früher ein Login-Formular sogar so gestalten, dass es die Daten beim Klick auf "Anmelden" direkt auf seinen eigenen Server überträgt. Trotzdem setzte Firefox die Daten automatisch ein. Das haben die Entwickler mittlerweile geändert. Sie überprüfen jetzt das Ziel der Übertragung, mit dem Resultat, dass die Demo von heise Security nicht mehr funktionierte. Markus Bucher fiel jedoch auf, dass man das Ziel der Formularübertragung gar nicht ändern muss, sondern man die automatisch eingesetzten Daten via JavaScript auslesen und dann verschicken kann. Dazu muss die Seite lediglich via DOM (document.<form>.<field>.value) darauf zugreifen. Die aktualisierte Browsercheck-Seite von heise Security/UK demonstriert dies.

Von heise Security befragt, bestätigte Mozilla-Entwickler Gavin Sharp, dass man sich des Problems bewusst sei. In der Tat hat man es bereits in der Fehlerdatenbank kontrovers diskutiert und weitergehende Maßnahmen verworfen. Das automatische Einsetzen von Passwörtern auf anderen Seiten erhöhe den Komfort auf Sites, die mehrere Login-Seiten enthalten. Und selbst wenn man diese Funktion entferne, sei die Gefahr des Passwortdiebstahls nicht gebannt. Denn sobald ein Angreifer Script-Code auf einem Server platzieren kann, sei er ohnehin in der Lage, die Seiten nach seinem Gusto zu manipulieren und dem Anwender Zugangsdaten abzuluchsen.

Die Argumentation der Mozilla-Entwickler ist durchaus nachvollziehbar, verlässt sich das Sicherheitsmodell von JavaScript doch nahezu vollständig auf die Herkunft des Codes (Same Origin Policy). Wenn es einem Angreifer gelingt, seinen "bösen" Code auf einem Server zu platzieren, kann er im Browser des Anwenders alle Seiten dieses Servers nahezu beliebig manipulieren. Es bleibt dennoch ein flaues Gefühl, wenn ein Passwort Manager ganz ohne User-Interaktion Passwörter in gefälschte Formulare einträgt. Das erinnert doch sehr an eine Geldbörse mit einem Loch.

Aus Anwendersicht heißt das auf alle Fälle, dass man dem Passwort Manager sein Passwort nicht anvertrauen darf, wenn eine Web-Site es anderen Usern erlaubt, eigene Seiten mit Script-Code zu erstellen. Sonst könnte jemand ganz einfach eine Seite basteln, die schon beim Öffnen heimlich das Passwort klaut. Zu dieser Kategorie von Sites gehören beispielsweise viele Content Management Systeme. Daran ändern auch spezielle Filterfunktionen wenig, die versuchen, zwischen gutem und bösem Code zu unterscheiden. Denn sie lassen sich erfahrungsgemäß meist irgendwie umgehen. Alternativ kann man JavaScript abschalten oder mit Erweiterungen wie NoScript reglementieren, was jedoch gerade im Zeitalter von Web 2.0 dazu führt, dass viele Seiten gar nicht mehr funktionieren. Ob hingegen der völlige Verzicht auf einen Passwort-Manager die Sicherheit letztlich erhöht, darf ebenfalls bezweifelt werden. Denn dies führt häufig dazu, dass Passwörter aus Bequemlichkeit zu einfach gewählt und oft wiederverwendet werden.

Update:
Mit Apples Safari stellt sich die Situation ähnlich dar. Auch hier kann die "böse Seite" der Browsercheck-Demo via JavaScript und ohne Benutzerinteraktion das gespeicherte Passwort stehlen.

Siehe dazu auch:

(ju)