Firefox: Schlecht geschütztes Master-Passwort

Mozilla hat eine neue Schnittstelle in Firefox Nightly ausgeliefert, die es ermöglicht, die Firefox KI Runtime zu nutzen, um Maschinelles Lernen Offline in Web-Erweiterung auszuführen.

Der Entwickler Wladimir Palant arbeitet eigentlich hauptsächlich an Adblock Plus. Nun ist er auf Sicherheitsschwächen bei Firefox gestoßen, die den Master-Passwort-Mechanismus, aber auch Firefox Sync betreffen.

Die erste Lücke, über die Palant in seinem Blog schrieb, betraf den Master-Passwort-Mechanismus, mit dem Firefox seit Jahren Passwörter speichert, die den Zugriff auf Webseiten erlauben. Hieß es früher stets, Nutzer sollen am besten keine Passwörter im Browser speichern, versucht der Passwort-Manager nun, diese gespeicherten Passwörter zu verschlüsseln. Das macht er aber offenbar nur begrenzt gut.

Die Funktion “sftkdb_passwordToKey()” nimmt laut Palant das zu verschlüsselnde Passwort des Nutzers, einen String, der aus einem Zufallswert besteht und wendet eine SHA-1-Hashfunktion auf beide an. Über die NSS-Bibliothek wird dann der PBKDF2-Algorithmus wiederholt auf das entstandene Passwort angewendet, um das Entschlüsseln über Brute-Force-Methoden zu erschweren. Das ist nötig, weil zum Beispiel Grafikkarten wie die Nvidia GTX 1080 3,2 Millionen Passwörter pro Sekunde testen. Firefox wendet die Routine allerdings nur ein Mal an, was es selbst bei theoretischen 40-Bit-Passwörtern recht einfach macht, das Master-Passwort zu finden und die anderen Passwörter zu entschlüsseln.

Neu ist die Situation dabei nicht. Wie Palant berichtet, wurde der Bug bereits vor 9 Jahren gemeldet. Die Situation ließe sich wohl abmildern, wenn das Projekt den widerstandsfähigeren Argon-2-Algorithmus verwendet, um das Passwort zu schützen. Dass Mozilla nichts getan hat, liegt wohl auch daran, dass Angreifer den Bug lokal ausnutzen müssten, was ihm bei Mozilla eine weniger hohe Priorität einbringt.

Mozilla-Security-Mitarbeiter Christian Holler argumentiert unter Palants Blogpost, man arbeite ohnehin an der Lockbox-Erweiterung, die Passwörter in Zukunft schützen soll. Das lässt Palant allerdings nicht gelten. Einerseits benötigen Nutzer für Lockbox einen Firefox-Account, werden die Passwörter also extern gespeichert, andererseits habe Mozilla immer wieder vielversprechende Projekte eingestampft. Auch ein Leser dieser Diskussion stellte sich an diesem Punkt unwillkürlich die Frage, wie gut Mozilla die Passwörter wohl in der Cloud schützt, wenn es seit Jahren schon lokal nicht gelingt.

Passwörter in der Cloud

Diese Frage stellte sich wohl auch Palant selbst und warf daher einen Blick auf Firefox Sync — und auf Chrome Sync. Für Chrome Sync sollte es dank des verwendeten Algorithmus (PBKDF2-HMAC-SHA1 mit einem konstanten Salt und 1003 Iterationen) nicht lange dauern, das Passwort zu entschlüsseln. Palant hat dazu bereits einen Bugreport verfasst.

Firefox macht die Sache zwar besser und verwendet das Firefox Accounts Protocol, um Client und Server zu verbinden und die Schlüssel auszutauschen. Das schwieriger zu knackende Scrypt schützt die Passwörter jedoch nur serverseitig. Die Clients verwenden dazu PBKDF2-HMAC-SHA256 mit rund 1000 Iterationen. Während Mozilla einen Angriff beim Übertragen des Passworts als unwahrscheinlich betrachtet – und das wohl zurecht – sieht Palant potenzielle Sicherheitslücken eher beim API-Server. Zudem könnten Menschen mit Zugriffsrechten auf der Serverseite das Master-Passwort abfangen. Einen zugehörigen Bugreport gibt es hier.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Jörg Linuxfreund
8 Jahre her

>Wie Palant berichtet, wurde der Bug bereits vor 9 Jahren gemeldet.Man kann ja vieles drehen und wenden,, aber ich empfinde einen Bug in so einer kritischen Angelegenheit darf nicht so lange bestehen bleiben.

Nach oben