Wie Angreifer die moderne Zwei-Faktor-Authentifizierung umgehen und wie Sie Ihre Benutzer schützen

Ben Balthazar, 4. Februar 2020
How Attackers Bypass Modern Two-factor Authentication and How to Protect Your Users

In diesem Artikel sehen wir uns ein Beispiel für Tools und Techniken an, mit denen Angreifer die meisten traditionellen Methoden umgehen können Zwei-Faktor-Authentifizierung (2FA) -Methoden, von SMS OTP bis zu verschlüsselten Push-Benachrichtigungen an eine mobile App. Die Angriffsmethode kann gegen die meisten heute bereitgestellten 2FA-Typen, einschließlich der Out-of-Band-Authentifizierung, sehr effektiv sein. Wir werden auch diskutieren, welche Gegenmaßnahmen Banken ergreifen können, um das Risiko solcher Angriffe zu verringern und ihre Kunden zu schützen.

Angriff einrichten

Um diesen Angriff auszuführen, verwenden wir eine Kombination aus zwei Tools, Muraena und Necrobrowser. Muraena ist eine Reverse Proxy Dadurch wird unsere Phishing-Seite ausgeführt. Die Phishing-Seite ersetzt die ursprüngliche Seite, mit der das Opfer interagiert. Sobald das Opfer die Sitzung authentifiziert hat, übergibt Muraena die Sitzung an Necrobrowser, wodurch der Angreifer die Kontrolle über die Sitzung übernehmen oder die nächsten Schritte des Angriffs automatisieren kann. Da Muraena als Reverse-Proxy fungiert, gibt es außer der URL keinen Unterschied zwischen unserer schädlichen Website und der ursprünglichen Website. Muraena kann so konfiguriert werden, dass SSL mit Zertifikaten verwendet wird, die beispielsweise über LetsEncrypt abgerufen wurden. Aus der Sicht des Opfers wird die gesamte Erfahrung legitim erscheinen, da es so aussieht, als würden sie mit der echten Seite interagieren. Sie durchlaufen den regulären Authentifizierungsprozess einschließlich des 2FA. Wenn der 2FA aus einem regulären Einmalpasswort besteht, das per SMS, Hardware- oder Software-Token übermittelt wird, gibt das Opfer es wie gewohnt ein. Selbst moderne Methoden wie eine Push-Benachrichtigung an ein mobiles Gerät oder das Scannen eines QR-Codes auf dem Bildschirm werden von diesem Angriff umgangen.

Illustration eines Reverse-Proxy-Phishing-Angriffs.

  1. Der Benutzer besucht die Phishing-Seite, auf der SSL aktiviert ist.
  2. Der Reverse Proxy (Muraena) holt die legitime Bankseite und stellt dem Opfer eine Kopie zur Verfügung.
  3. Das Opfer versucht, sich auf der Seite anzumelden, und wird zur Zwei-Faktor-Authentifizierung aufgefordert
  4. Nachdem das Opfer den Authentifizierungsprozess abgeschlossen hat, übergibt der Reverse Proxy (Muraena) die Sitzung an den Angreifer (Necrobrowser), um die Kontrolle zu übernehmen und das Opfer abzuschneiden.

Im Bild unten sehen Sie Muraena, die Google auf der Domain phish.anti hostet. Zu Demonstrationszwecken habe ich ein lokales DNS eingerichtet, um dies auf meinem Testcomputer zu beheben, und Zertifikate mit meiner eigenen Zertifizierungsstelle ausgestellt, der der Browser vertraut. Genau so würde es jedoch aus Sicht des Opfers aussehen, wenn dies mit gültigen Zertifikaten auf Ihrer eigenen Domain bereitgestellt würde.

Screenshot von Muraena, die google.com mit SSL auf phish.anti überträgt.

Schutz vor dem Angriff

Nachdem wir nun verstanden haben, wie der Angriff funktioniert, können wir ermitteln, mit welchen Schritten diese Art von Angriffen erfolgreich identifiziert oder geschützt werden kann.

Dynamische Verknüpfung bietet eine gute erste Verteidigungsschicht gegen eine Vielzahl von Angriffen. Die dynamische Verknüpfung besteht aus einer Zwei-Faktor-Authentifizierung zum Zeitpunkt der Transaktion, bei der die Details der Transaktion in den Signaturprozess einbezogen werden. Oft wird das, was Sie sehen, als das bezeichnet, was Sie unterschreiben, da dem Endbenutzer die Transaktionsdetails angezeigt werden sollten, bevor der Signaturvorgang abgeschlossen wird. Nach der Signierung sollte die Signatur nur für diese bestimmte Transaktion gültig sein, wodurch es für den Angreifer schwieriger wird, sie zu umgehen. Typischerweise wird die dynamische Verknüpfung über Hardware-Token, Software-Token oder als Teil einer Banking-App integriert. Im Folgenden finden Sie zwei Beispiele für dynamische Verknüpfungen: erstens für eine legitime Zahlung und zweitens für einen Angreifer, der versucht, die Zahlung zu ändern.

Illustration der dynamischen Verknüpfung in einer legitimen Zahlung.

  1. Der Benutzer erstellt eine Transaktion im Online-Banking.
  2. Der Benutzer sendet die Transaktion.
  3. Die Bank sendet die Transaktionsdetails an das Mobiltelefon des Benutzers.
  4. Der Benutzer überprüft die Details der Überweisung und autorisiert die Zahlung mit einem biometrischen (oder einem anderen zweiten Faktor).
  5. Die mobile App generiert ein Einmalkennwort unter Verwendung der Transaktionsdetails und des Token-Schlüssels in der mobilen App.

Darstellung einer dynamischen Verknüpfung, bei der ein Angreifer versucht, die Zahlung zu ändern.

  1. Der Benutzer versucht, eine Zahlung im Online-Banking zu erstellen.
  2. Der Angreifer ändert die Zahlung, um ein neues Empfängerkonto und / oder einen neuen Betrag zu erhalten.
  3. Die Bank sendet die Transaktionsdetails an das Mobiltelefon des Benutzers.
  4. Dem Benutzer werden die geänderten Zahlungsinformationen angezeigt und er lehnt die Zahlung ab.

Die obigen Beispiele veranschaulichen auch die Bedeutung der Verwendung der End-to-End-Verschlüsselung bei der Implementierung dynamischer Verknüpfungen. Darüber hinaus wird angezeigt, dass die mobile App selbst geschützt werden sollte, da der Angreifer möglicherweise versucht, die App anzugreifen, um die geänderten Zahlungsdetails vor dem Benutzer zu verbergen.

Ein weiterer wirksamer Weg, um eine Vielzahl von Angriffen zu erkennen und sich dagegen zu verteidigen, ist die Implementierung kontinuierliche Überwachung auf Ihre digitalen Plattformen. Durch die Überwachung der Sitzung vom Zeitpunkt der Initiierung bis zum Ende der Sitzung können wir durch die Aktionen der Benutzer und der Geräte oder Konten, mit denen sie verknüpft sind, mehr Kontext schaffen. Die kontinuierliche Überwachung lässt sich perfekt mit anderen Ebenen wie 2FA oder dynamischer Verknüpfung kombinieren, da die Bank auch den Kontext dieser Authentifizierungsgeräte einbinden kann.

Beispiel für eine kontinuierliche Überwachung, um jeden Operationsversuch, jede Authentifizierung und jedes Ergebnis zu verstehen.

Die Bank kann dann nach typischen Indikatoren für bekannte Angriffe wie neue Geräte, Standorte, Anwesenheit von Proxys oder anderen suchen. Diese Informationen können über die gesamte Benutzerbasis hinweg korreliert werden, um das Risiko dieser Elemente besser zu verstehen. Wir können dann auch die Vorgänge berücksichtigen, die der Benutzer während der gesamten Sitzung selbst ausführt, und dies anhand seines üblichen Verhaltens profilieren. Dieser Ansatz erstellt ein kontinuierliches Risikoprofil für die Sitzung, das sich mit jeder vom Endbenutzer durchgeführten Aktion ändern kann. Auf diese Weise kann die Bank nicht nur automatisierte Echtzeitaktionen ausführen, wenn Anomalien festgestellt werden, sondern auch die Reibung für legitime Sitzungen verringern, indem die Anzahl der für echte Sitzungen erforderlichen Authentifizierungen verringert wird.

Fazit

Während der Angriff in diesem Artikel Technologien und Konzepte verwendet, die es schon seit Ewigkeiten gibt, sehen wir, dass eine korrekte Anwendung immer noch zu großem Erfolg führen und verschiedene heute eingesetzte Authentifizierungsmethoden zunichte machen kann. Für Banken ist es wichtig, einen mehrschichtigen Ansatz zu verwenden, da die meisten einzelnen Schichten weiterhin angegriffen oder ausgenutzt werden können. Bei der Implementierung dynamischer Verknüpfungen müssen Banken sicherstellen, dass sie eine sichere Kommunikationslinie mit dem Endbenutzer herstellen. Das Verlassen auf SMS hat sich beispielsweise bereits als unzuverlässig erwiesen, da die Nachrichten vom Angreifer gestohlen, gefälscht oder abgefangen werden können. Bei der Implementierung mobiler Anwendungen sollten Banken jedoch auch berücksichtigen, dass diese Apps zum Ziel werden, und sie sollten ihre mobilen Anwendungen vor externen Angriffen schützen. Das Ziel dieses Artikels ist hauptsächlich zu demonstrieren, dass Phishing-Angriffe modernisiert werden können, um die Zwei-Faktor-Authentifizierung beim Anmelden zu verhindern, und die Implementierung von 2FA allein bietet keinen vollständigen Schutz vor Phishing. Schließlich haben wir einige Ebenen erwähnt, die Banken implementieren können, um ihren Endbenutzern weiteren Schutz zu bieten, sowie welche Fallstricke dabei zu vermeiden sind. Zusammenfassen:

  • Implementieren dynamische Verknüpfung mit End-to-End-Verschlüsselung.
  • Stellen Sie serverseitige Analysen für bereit Monitor Endbenutzersitzungen, Geräte und Verhalten für potenzielle Angriffe.
  • Schützen dein Handy Apps vor Malware und anderen externen Bedrohungen.
ebook cover
E-Buch

Betrug durch Account-Übernahme: Wie Sie Ihre Kunden und Ihr Unternehmen schützen

Tragen Sie dazu bei, Betrug durch Account-Übernahmen zu verhindern und Kunden in jeder Phase ihrer digitalen Aktivitäten zu schützen.

Jetzt herunterladen

 

 

 

 

 

Ben Balthazar ist Betrugsberater bei OneSpan und hilft Finanzinstituten in Europa, dem Nahen Osten und Asien bei der Abwehr von Finanzkriminalität. Ben begann seine Karriere bei OneSpan im Jahr 2014 und zog 2016 von Belgien nach Dubai.