Wie eine unsichere Auto-Fill-Funktion in Bitwarden zu Passwortdiebstahl führen kann

Inhaltsverzeichnis

In der digitalen Welt ist die sichere Aufbewahrung von Zugangsdaten unerlässlich. Passwort-Manager-Lösungen sind dabei eine gängige Empfehlung. Sie speichern sicher die Anmeldedaten vieler Konten und erfordern, dass der Benutzer nur ein Passwort merken muss (oder per biometrischer Authentifizierung entsperrt).

Passwort-Manager haben viele Funktionen, wie z.B. komplexe Passwortgenerierung, Synchronisation über mehrere Geräte und Integration in Browser als Erweiterung. Letzteres ermöglicht es Ihnen, sich bequem mit nur wenigen Klicks in Ihre Web-Konten einzuloggen. Eine Browsererweiterung, die diese Funktionalität bereitstellt, muss jedoch klar wissen, wo sie die gespeicherten Benutzeranmeldeinformationen eingibt. Sie sollten nur in das validierte Anmeldeformular eingegeben werden und nirgendwo anders.

Nun, Dinge sind nicht immer einfach, und manchmal erfordern seltsame Webdesigns eine besondere Behandlung. Bei der Überprüfung des Verhaltens von Bitwarden, einer beliebten Passwort-Manager-Browsererweiterung, bemerkte das Vulnerability Research-Team von Flashpoint, dass eingebettete iFrames in einer Webseite auf untypische Weise behandelt wurden. Um zu verstehen, warum dies ein Problem darstellt, ist es wichtig, ein grundlegendes Verständnis dafür zu haben, was iFrames sind.

Tipp!
9.7/10

Bitwarden

Bitwarden ist ein Open-Source-Passwort-Manager, der von 8bit Solutions LLC entwickelt wurde und derzeit von der Bitwarden Inc. betrieben wird.
Mehr Details +
Bitwarden ist ein leistungsstarker Passwort-Manager, der Nutzern dabei hilft, sichere und einzigartige Passwörter zu generieren und zu verwalten. Die Software bietet auch die Möglichkeit, sensitive Daten wie Kreditkarteninformationen und Bankkontodetails zu speichern. Insgesamt bietet Bitwarden jedoch eine gute Möglichkeit, die Online-Sicherheit zu verbessern.
PRO:
  • Automatische Generierung von sicheren, einzigartigen Passwörtern
  • Speicherung von Passwörtern in einem verschlüsselten Tresor
  • Möglichkeit, sensiblen Daten wie Kreditkarteninformationen, Sicherheitscodes und Bankkontodetails zu speichern
  • Verfügbar für verschiedene Plattformen und als Browser-Erweiterung
  • Hilft, die Online-Sicherheit zu verbessern
CONTRA:
  • Es gibt keine kostenlose Version für den Einsatz im Team oder für fortgeschrittene Funktionen
  • Für manche Nutzer könnte der Preis für ein Abonnement zu hoch sein
  • Die Verwendung von Bitwarden erfordert ein gewisses Maß an Einarbeitungszeit und Organisation
  • Es gibt keine native Linux-Unterstützung
  • Die Benutzeroberfläche könnte für einige Nutzer etwas unübersichtlich sein

Das Inline Frame-Element

Gemäß der Mozilla HTML-Dokumentation repräsentiert das <iframe> HTML-Element einen verschachtelten Browsing-Kontext, der eine andere HTML-Seite in die aktuelle einbettet.

Ein beliebter Anwendungsfall ist z.B. die Einbettung von Kartenmaterial in eine Webanwendung. Der Browsing-Kontext eines iframe-Elements ist jedoch vom Kontext der übergeordneten Seite oder anderen Seiten aus einer anderen Herkunft getrennt. Dies wird durch die Same-Origin Policy definiert, die beliebige Cross-Domain-Zugriffe verhindert. Es wird als ein bedeutendes Sicherheitskonzept angesehen und ist in allen gängigen Browsern implementiert.

Diese Isolierung ist kritisch, da sie verhindert, dass Webseiten z.B. eine sensible Web-Ressource aus einer anderen Herkunft in einem iFrame einbetten und dann auf deren Inhalt zugreifen können.

Bitwarden Auto-Fill-Verhalten

Wie bereits erwähnt, hat das Verhalten der Bitwarden-Browsererweiterung beim Umgang mit iFrames Interesse geweckt und erforderte einen genaueren Blick. Wenn die Bitwarden-Erweiterung feststellt, dass sich ein Benutzer auf einer Seite befindet, für die er Anmeldeinformationen gespeichert hat, kann sie anbieten, die entsprechenden Anmeldefelder auszufüllen. Wenn die Option “Auto-Fill on page load” aktiviert ist, geschieht dies ohne Benutzerinteraktion.

Die Erweiterung füllt jedoch auch Formulare aus, die in einem eingebetteten iFrame definiert sind, auch wenn sie von verschiedenen Domains stammen.

Obwohl das eingebettete iFrame keinen Zugriff auf den Inhalt der übergeordneten Seite hat, kann es auf die Eingabe im Anmeldeformular warten und die eingegebenen Anmeldeinformationen ohne weitere Benutzerinteraktion an einen Remote-Server weiterleiten.

Die Bitwarden-Dokumentation enthält eine Warnung, die besagt, dass “kompromittierte oder nicht vertrauenswürdige Websites” dies ausnutzen könnten, um Anmeldeinformationen zu stehlen.

Es gibt kaum etwas, was eine Erweiterung tun kann, um das Stehlen von Anmeldeinformationen zu verhindern, wenn die Website selbst kompromittiert ist. Wir wissen jedoch, dass reguläre (nicht kompromittierte) Websites externe iFrames aus verschiedenen Gründen wie Werbung einbetten. Dies bedeutet, dass ein Angreifer nicht unbedingt die Website selbst kompromittieren muss – er muss lediglich die Kontrolle über den iFrame-Inhalt haben.

Wir haben einige prominente Websites überprüft, um festzustellen, wo ein iFrame auf der Anmeldeseite eingebettet ist, aber die Anzahl der Fälle, die diesem bestimmten Setup entsprechen, war recht gering, was das potenzielle Risiko reduziert. Beim Erstellen eines Proof-of-Concepts, um die Schwachstelle zu demonstrieren, bemerkten wir jedoch eine weitere Schwäche in der Art und Weise, wie die Bitwarden-Erweiterung bestimmt, auf welchen Seiten Anmeldeinformationen eingegeben werden sollen.

Bitwarden Standard-URI-Abgleich

Der Standard-URI-Abgleich ist die Einstellung, die bestimmt, wie die Browsererweiterung das Auto-Fill-Angebot für Anmeldungen anbietet. Dies geschieht durch den Vergleich von Teilen der URI der aktuellen Seite mit Website-Einträgen in gespeicherten Elementen im Vault der Erweiterung. Standardmäßig ist es auf “Basisdomain” eingestellt, was bedeutet, dass die Erweiterung die Auto-Fill-Funktionalität auf jeder Seite anbietet, auf der die Basisdomain, d.h. die Top-Level- und die Second-Level-Domain, übereinstimmt.

Wenn Sie Ihre fairen Anteile an Web-Lösungen und Content-Providern kennen, wird deutlich, dass dies ein Problem darstellt. Einige Content-Hosting-Anbieter erlauben das Hosting von beliebigem Inhalt unter einer Subdomain ihrer offiziellen Domain, die auch ihre Anmeldeseite bereitstellt. Wenn ein Unternehmen z.B. eine Anmeldeseite unter https://logins.company.tld hat und Benutzern das Bereitstellen von Inhalten unter https://<clientname>.company.tld erlaubt, können diese Benutzer Anmeldeinformationen aus der Bitwarden-Erweiterung stehlen.

Mögliche Angriffsvektoren

Bitwarden Autofill Demo<br>Quelle: <a href="https://flashpoint.io/blog/bitwarden-password-pilfering/">flashpoint.io</a>

Bitwarden Autofill Demo
Quelle: flashpoint.io

Die Kombination aus dem unsicheren Auto-Fill-Verhalten und dem Standard-URI-Abgleich ermöglicht verschiedene mögliche Angriffe, um Anmeldeinformationen zu stehlen:

    • Eine nicht kompromittierte Website bettet ein externes iFrame (nicht gesichert) ein, das unter der Kontrolle eines Angreifers steht, und die Option “Auto-Fill on page load” ist aktiviert.
    • Ein Angreifer hostet eine speziell gestaltete Webseite unter einer Subdomain eines Hosting-Anbieters, der seine Anmeldeseite unter derselben Basisdomain hat.

In unserer Forschung haben wir bestätigt, dass einige große Websites genau diese Umgebung bieten. Wenn ein Benutzer mit einer Bitwarden-Browsererweiterung eine speziell gestaltete Seite besucht, die auf diesen Webdiensten gehostet wird, kann ein Angreifer die für die jeweilige Domain gespeicherten Anmeldeinformationen stehlen.

Wie bereits erwähnt, ist bei aktivierter Option “Auto-Fill on page load” keine weitere Benutzerinteraktion erforderlich. Wir haben jedoch bestätigt, dass wenn der Benutzer ein Anmeldeformular über das Kontextmenü ausfüllt, auch Formulare, die in iFrames eingebettet sind, ausgefüllt werden.

Eine merkwürdige Reaktion des Herstellers

Wir haben Bitwarden kontaktiert, um eine koordinierte Offenlegung zu versuchen. Zu unserer Überraschung schien der Hersteller sich des Problems sehr wohl bewusst zu sein. Wir erhielten eine Antwort mit einem Link zu einem Security Assessment Report, der vom 8. November 2018 datiert war und die Schwachstelle bezüglich iFrame-Handling beschreibt (BWN-01-001). Da “Benutzer in der Lage sein sollten, sich bei Diensten anzumelden, bei denen eingebettete iFrames von einer anderen Domain vorhanden sind”, blieb das Problem ungelöst. Dies bedeutet, dass diese Schwachstelle seit mehr als vier Jahren dokumentiert und öffentlich zugänglich ist! Angesichts der Bedeutung von kompromittierten Anmeldeinformationen als Ausgangspunkt für Angreifer, um Zugang zu erhalten, halten wir die Beurteilung des Herstellers von 2018 für ungültig. In der Hoffnung, Bitwarden dazu zu ermutigen, ihre Schlussfolgerung zu überprüfen, haben wir zwei Beispiele erstellt und zur Verfügung gestellt, die zeigen, wie dies ausgenutzt werden kann. Wir haben auch klargestellt, warum der beschriebene Anwendungsfall angesichts der gezeigten Angriffe, die nicht Teil des ursprünglichen Berichts waren, neu bewertet werden sollte. Ein Beispiel war ein generischer Proof-of-Concept, das andere ein funktionierender Exploit in einer prominenten Hosting-Umgebung, der Angreifern die Offenlegung der Account-Anmeldeinformationen ermöglicht und ihnen somit Zugang zu allen Diensten auf dieser Plattform gewährt. Bitwarden hat daraufhin einen Anwendungsfall genannt, warum iFrames auf diese Weise behandelt werden müssen. Sie planen jedoch, die gemeldete Hosting-Umgebung von der Auto-Fill-Funktionalität auszuschließen, aber nicht die allgemeine iFrame-Funktionalität zu ändern. Dies bedeutet, dass die eigentliche Ursache nicht behoben, sondern nur ein Angriffsvektor eliminiert wurde. Eine kurze Bewertung anderer Passwort-Manager-Erweiterungen zeigt, dass keine davon iFrames aus unterschiedlichen Ursprüngen automatisch ausfüllt oder Warnungen für iFrames aus unterschiedlichen Ursprüngen anzeigt. Dies scheint derzeit einzigartig für Bitwardens Produkt zu sein.

Beheben von Schwachstellen

Um die Schwachstelle zu beheben, empfehlen wir allen, die betroffene Erweiterung verwenden, die Funktion “Auto-Fill on page load” zu deaktivieren und die Einstellung “Default URI match detection” auf “Host” oder “Exact” zu konfigurieren. Dadurch wird die Ausnutzung über Subdomains auf Hosting-Providern verhindert. Es sollte jedoch beachtet werden, dass dies die Offenlegung von Anmeldeinformationen nicht verhindert, falls eine Webanwendung möglicherweise von Angreifern kontrollierte iFrames in einer Anmeldeseite einbettet. Organisationen sollten sich der Sicherheitsbedenken in diesem Produkt bewusst sein. Es sollte auch beachtet werden, dass Bitwarden nicht die einzige Passwort-Manager-Erweiterung ist, die von Schwachstellen betroffen ist. Wir empfehlen allen Benutzern von Passwort-Managern, regelmäßig auf Updates zu prüfen und sich über Sicherheitsbedenken im Zusammenhang mit ihrer verwendeten Erweiterung oder Anwendung auf dem Laufenden zu halten. Mit Flashpoint können Sie Schwachstellen und Bedrohungen in Ihrer Organisation erkennen und beheben. Melden Sie sich noch heute für eine kostenlose Testversion an, um diese und die anderen 97.000 Schwachstellen zu entdecken, die nicht in CVE und NVD gefunden wurden. VulnDB-Kunden können weitere Informationen zu dieser Schwachstelle in der VulnDB-ID 313593 finden.

Alternativen zu Bitwarden

Wir freuen uns auf Ihre Meinung

Hinterlasse einen Kommentar

Alternativen-zu.net
Logo