Blog Post

2-Faktor-Authentifizierung (2FA): Perfekte Sicherheit – oder Alles voller Sicherheitslücken?

In den letzten Jahren machen Unternehmen vermehrt ihre internen digitalen Dienste, also Dienste für Mitarbeiter wie z.B. E-Mail-Zugang, Intranet, Netzwerkdateifreigaben, virtuelle Desktop-Arbeitsplätze (RDP und VDI) nicht nur von innerhalb des Unternehmens, sondern auch von außerhalb zugreifbar. Dies soll es den Mitarbeitern ermöglichen, auch von unterwegs (Roadwarrior) oder von zu Hause (Home Office) auf diese Dienste zuzugreifen. Die Home-Office-Welle, die dem Ausbruch von Corona/CoViD-19 folgte, hat diesen Trend noch weiter bestärkt und beschleunigt.

Um Zugriff auf diese internen Dienste zu gewähren, schützen Unternehmen diese mit verschiedenen Methoden:

  • Zugriff aus dem Internet, nur mit Nutzername und Passwort – oft handelt es sich hierbei um das interne Nutzerpasswort, zum Beispiel aus dem Windows Active Directory
  • Zugriff per VPN – entweder per Nutzername und Passwort oder per Zertifikat (d.h. die Dienste werden nicht direkt ins Internet exponiert – stattdessen verbinden sich die Mitarbeiter mit dem internen Netz des Unternehmens und können dann auf die Dienste zugreifen)

Diese beiden „einfachen“ Zugriffsschutzverfahren haben jedoch ein großes Problem: Die Zugangsdaten sind für Diebstahl anfällig. Wenn Nutzernamen und Passwörter eingesetzt werden, können Angreifer diese per Phishing ergaunern. Bei Belegschaften, die noch kein Awareness-Training mit simulierter Phishing-Kampagne hatten, fallen hier oft ca. 30% oder sogar mehr auf eine gut gemachte Phishing-Mail rein und geben somit dem Angreifer eine große Menge an gültigen Zugangsdaten. Selbst wenn ihre Belegschaft bereits gute Security-Awareness hat und „nur“ 10% auf die Mail hereinfallen: Wenn der Angreifer nur 50 Zielpersonen angreift, hat er im Schnitt dennoch mindestens 5 gültige Nutzernamen und Passwörter.
Bei Zertifikaten ist es nicht ganz so leicht, aber ähnlich: Hier reicht Phishing nicht aus. Wird ein Mitarbeiter jedoch von einem Angreifer mit Schadsoftware infiziert, kann der Angreifer oft das VPN-Zertifikat stehlen. Mit diesem gestohlenen VPN-Zertifikat kann er sich dann mit dem Unternehmensnetzwerk verbinden.

Da es somit für Angreifer ein Leichtes ist, an gültige Zugangsdaten zu gelangen, wurde ein zusätzliches Sicherheitsverfahren entwickelt: Die sogenannte 2-Faktor-Authentifizierung (2FA), welche den Sonderfall der Multi-Faktor-Authentifizierung (MFA) mit zwei Faktoren darstellt. Bei diesem Anmelde- und Zugriffskontrollverfahren wird nicht nur ein Typus von Faktor (zum Beispiel Nutzername-Passwort-Kombination) für eine Anmeldung verlangt, sondern noch zusätzliche Anmeldedaten – sogenannte zusätzliche Faktoren.

Was es mit diesen Faktoren auf sich hat und wie Angreifer sich trotz 2-Faktor-Authentifizierung (2FA) bzw. Multi-Faktor-Authentifizierung (MFA) Zugriff auf Unternehmensressourcen verschaffen können, erläutern wir in diesem Artikel. Um das Ergebnis vorwegzunehmen: Es gibt viele verschiede Wege, wie Hacker 2FA/MFA angreifen oder umgehen können.

Die Grundlagen

Grundlegend werden Anmelde-Faktoren in folgende Klassen unterteilt:

  • Something you know: Dinge, die ein Nutzer „weiß“ oder „kennt“ und nur in seinem Kopf aufbewahrt. Hierzu gehören Nutzernamen und Passwörter, PIN-Codes, aber auch Antworten auf geheime Sicherheitsfragen.
  • Something you have: Dinge, die ein Nutzer besitzt
    • digital: Digitaler Besitz, zum Beispiel digitale Zertifikate oder digitale/virtuelle/Software Token wie Google Authenticator oder RSA SecurID Software Token
    • physisch: Physischer Besitz, zum Beispiel physische Token, Smartcards, oder, bei Online Banking, EC-Karten mit ChipTAN
  • Something you are: Dinge, die einen Nutzer eindeutig auszeichnen und nicht änderbar sind. Dies sind vor allem biometrische Merkmale wie Fingerabdrücke, Stimmmuster, Iris-Scans, Gangart, und andere.

Alle Faktoren müssen/können auf verschiedenem Wege von Angreifern gestohlen werden:

  • Something you know: Kann/muss rein digital und/oder durch Nutzerinteraktion bzw. Nutzertäuschung gestohlen werden. Beispiele: Phishing, Preisgabe von Passwörtern am Telefon, Stehlen von Passwörtern durch Keylogger
  • Something you have:
    • digital: Der Angreifer muss Zugriff auf das Gerät oder den Speicher haben, wo der sich der digitale Besitz befindet
    • physisch: Der Angreifer muss physisch in den Besitz des Faktors gelangen, d.h. den Faktor stehlen
  • Something you are: Der Angreifer muss das Merkmal kopieren (teils einfach, teils schwierig) und dann zusätzlich noch den Scanner täuschen (teils einfach, teils schwierig)

Die Stärke von Multi-Faktor-Authentifizierung liegt nun darin, dass der Angreifer mehrere verschiedene Angriffe durchführen muss – die für ihn zumindest in Kombination entweder schwierig oder unmöglich sind. Beispielsweise kann es für bezahlte Hacker aus Fernost, die Wirtschaftsspionage betreiben, sehr einfach sein, Passwörter per Phishing oder Keylogger zu stehlen – aber fast unmöglich, ein physisches Token zu stehlen, weil der Angreifer dafür um den halben Erdball reisen muss. Gleichzeitig würde ein physischer Diebstahl auch die Gefahr, ertappt und identifiziert zu werden, massiv erhöhen.

Im Folgenden stellen wir einige Fehler im Einsatz von 2FA und Bedrohungen vor, die durch Hacker-Angriffe entstehen können – sogar dann, wenn man starke Faktoren im Einsatz hat und diese sicher konfiguriert sind.

Gleicher Faktor-Typ

Ein häufig gemachter Fehler ist, dass zwar zwei Faktoren, aber vom gleichen Typ verwendet werden. Dies trifft meistens auf „Something you know“-Faktoren zu, d.h. es wird vor einen User-Login noch ein zusätzliches Login-Formular mit einem Gruppenpasswort oder einer von mehreren (z.B. drei) persönlichen Sicherheitsfragen geschaltet. Das Problem hierbei ist: Bei einem Phishing-Angriff wird ein Angreifer beides abfragen und generell kann ein Angreifer beide Zugangsdaten auf selbem Wege erlangen. Es ist somit, genaugenommen, keine 2-Faktor-Authentifizierung, da keine verschiedenen Faktoren zum Einsatz kommen.

Dasselbe gilt natürlich auch für andere Faktoren: Wenn ein Serverraum statt mit einem PIN-Pad und einem Schloss gesichert wird und stattdessen nur zwei Schlösser zum Einsatz kommen, muss ein Angreifer nur den Schlüsselbund eines Administrators stehlen – und hat beide Schlüssel. Das heißt: Auch bei der physischen Zugangskontrolle sollte man verschiedene Faktoren einsetzen.

2FA/MFA-Phishing und 2FA/MFA-Proxies

Aber selbst dann, wenn Firmen einen echten (d.h. unterschiedlichen) zusätzlichen Faktor einsetzen, haben Angreifer noch die Möglichkeit, diesen zu umgehen. Die häufigste Methode hierbei ist MFA-Phishing mit sogenannten MFA-Proxies. Hierbei präsentiert sich der Angreifer als Mittelsmann zwischen dem Nutzer und dem per 2FA/MFA geschützten System. Die Vorgehensweise des Angreifers ist dabei im folgenden Beispielhaft an einem physischen RSA SecurID Token erläutert:

  1. Der Angreifer erstellt eine Phishing-Seite mit 2FA/MFA-Abfrage, d.h. zum Beispiel mit Abfrage eines RSA Tokens und einer Nutzernamen- und Passwort-Eingabe
  2. Ein Nutzer fällt auf die Phishing-Mail ein. Er gibt seinen Nutzernamen und sein Passwort ein. Bei der Abfrage des zweiten Faktors, in diesem Beispiel die aktuelle sechsstellige Ziffernfolge auf dem Display des RSA Token, gibt er auch hier den aktuellen Wert ein.
  3. Der Angreifer (bzw. dessen Phishing-Server) loggt sich sofort und ohne Verzögerung beim Zielsystem ein. Dies muss sofort erfolgen, da die aktuelle Ziffernfolge auf dem Display des RSA Token jeweils nur für weniger als eine Minute gültig ist.

Der Unterschied zum normalen Phishing ist somit, dass die aktuelle Abfrage an den gephishten Nutzer sofort weitergereicht wird und auch dessen Antwort sofort an das System, an dem sich der Angreifer anmelden möchte, durchgereicht wird. Deswegen, da Anfrage und Antwort einfach und sofort durchgereicht werden, spricht man bei solchen Angriffen von MFA-Proxy-Angriffen.

Diebstahl von Seeds und Master Secrets

Die Sicherheit von physischen und digitalen Token, deren Wert (zum Beispiel eine sechsstellige Ziffernfolge) sich alle paar Sekunden oder Minuten ändert, hängt auch von einem geheimen Wert ab: dem sogenannten Seed oder Master Secret. Dieser Basis-Wert ist notwendig, damit der Authentifizierungstoken wie auch ein dadurch geschütztes System stets denselben Wert haben, ohne miteinander kommunizieren zu müssen. Wenn ein Angreifer in Besitz dieses Seeds oder Master Secrets kommt, kann er alle zukünftigen validen Werte des Tokens berechnen.

Im Jahre 2011 wurde bekannt, dass ein professionelles Hacker-Team es geschafft hatte, die Seeds von RSA SecurID, dem physischen Token von RSA, zu stehlen. Dies erlaubte es der Hackergruppe daraufhin, alle gültigen Werte aller zu diesem Zeitpunkt im Umlauf befindlichen 40 Millionen RSA SecurID Tokens zu berechnen. Hierdurch wurden die RSA Tokens damals de facto wertlos und mussten global ausgetauscht werden.

Solche Angriffe, die global die Seeds von allen Faktoren einer Sorte betreffen, sind jedoch selten und sehr schwierig durchzuführen. Viel häufiger sind Angriffe gegen die Seed-Werte eines einzelnen Nutzers bei virtuellen/digitalen/Software Token wie z.B. Google Authenticator oder dem RSA SecurID Software Token. Hierfür muss der Angreifer das Gerät (Smartphone oder Laptop), auf dem der virtuelle bzw. Software Token läuft, so kompromittieren, dass er Administor-, Root- oder System-Rechte hat. Dann ist es ihm oft möglich, den Seed des Nutzers, dessen Gerät er gerade kompromittiert hat, zu extrahieren. Auch ohne Administratorrechte hat er aber immer noch die Möglichkeit, zumindest den jeweils aktuellen Wert auszulesen.

Kompromittierung des zweiten Faktors

Bei Firmen, die keinen physischen Besitz (Smartcard, Token mit wechselnder Ziffernfolge) als zweiten Faktor einsetzen, kommt oft digitaler Besitz als zweiter Faktor zum Einsatz. Hierzu gehören zum Beispiel:

  • digitale Zertifikate
  • Besitz eines bestimmten Mobilgeräts (Google Authenticator)
  • Besitz einer bestimmten Telefonnummer (mTAN, SMS-Codes)

Das Problem bei diesen ist, dass digitaler Besitz an digitale Geräte gebunden ist – und digitale Geräte können kompromittiert werden. Dies ist besonders schlimm, wenn das Gerät, welches zum Zugriff auf einen Dienst oder eine Ressource genutzt wird, auch das Gerät ist, auf welchem sich der digitale Besitz als zweiter Faktor befindet. Einige Beispiele:

  • Nutzer verwenden für ihr Online-Banking eine App ihrer Bank auf ihrem Smartphone. Der zweite Faktor ist ein Code, den der User per SMS auf demselben Smartphone empfängt. Wenn das Smartphone von Schadsoftware infiziert wird, hat der Angreifer sowohl Zugriff auf das Online-Banking (entweder durch Stehlen von gespeicherten Zugangsdaten/Zugangstoken aus der App oder durch Mitlesen der Zugangsdaten bei der Eingabe) und, da die Bestätigungs-SMS auf dem selben Gerät empfangen werden, kann er diese ebenfalls lesen und somit Überweisungen eigenmächtig bestätigen. Dadurch, dass Zugang und zweiter Faktor auf demselben Gerät sind, ist die Sicherheit der 2FA verletzt.
  • Nutzer verwenden ihren Laptop aus dem Home Office, um per RDP auf Systeme im Unternehmensnetz zuzugreifen. Auf demselben Laptop läuft ein Software Token. Außerdem ist das Gerät mit Schadsoftware infiziert. Diese Schadsoftware ist nun in der Lage, durch Keylogging den Nutzernamen und das Passwort des Nutzers zu stehlen. Ferner kann sie, durch Screenshots, durch Auslesen des Arbeitsspeichers oder durch Stehlen des Seeds, außerdem an den aktuellen Wert des Software Tokens gelangen. Wieder ist durch Kompromittierung des Geräts, welches sowohl für Zugang wie auch als zweiter Faktor genutzt wird, die Sicherheit von 2FA ausgehebelt.
  • Der Nutzer verwendet seinen Laptop, um per VPN auf Systeme im Unternehmensnetz zuzugreifen. Es kommen zwei Faktoren zum Einsatz: Something you know (Nutzername und Passwort) sowie digitaler Besitz (ein Zertifikat). Das Gerät ist jedoch durch Schadsoftware infiziert. Der Angreifer kann durch Keylogging Nutzernamen und Passwort mitlesen und mit seiner Schadsoftware das VPN-Zertifikat stehlen. Somit kann er sich auch in das VPN einloggen, egal von welchem System aus.

Es sollte also, bei digitalem Besitz, generell der zweite Faktor auf einem anderen Gerät gespeichert sein als auf dem Gerät, von dem der Zugriff stattfindet. Dennoch muss man sich auch darüber im Klaren sein, dass Angreifer prinzipiell in der Lage sind, beide Geräte zu kompromittieren. Je nach konkretem 2FA-Verfahren reicht es auch aus, den Account zu kompromittieren anstatt des Nutzergeräts. Generell ist somit physischer Besitz ein stärkerer Faktor als digitaler Besitz.

Nutzung bestehender Verbindungen

Als letzten Angriff behandeln wir die Nutzung bestehender Verbindungen durch Angreifer. Hierzu ist wichtig zu verstehen, dass Authentifizierung – egal ob mit einem Faktor (Nutzername und Passwort) oder mit mehreren Faktoren (2FA/MFA) – immer zu Beginn einer Verbindung stattfindet und danach (meist) bis zum Logout nicht mehr. Je nach dem, was für eine Verbindung per 2FA/MFA absichert werden soll, hat der Angreifer nun verschiedene Möglichkeiten:

  • Bei Zugriff auf eine per 2FA oder MFA geschützte Webseite stellt die Webseite nach erfolgter Authentifizierung normalerweise ein Cookie aus, um die Verbindung wiederzuerkennen. Dieses Cookie kann auf verschiedenem Wege (MATE – Man at the End z.B. mit Malware oder bösartigen Browser Add-ons und Extensions, MitM – Man in the Middle, XSS – Cross-Site Scripting, und viele mehr) gestohlen werden. Wenn der Angreifer nun das Cookie in seinem Browser installiert, kann er den Zugang des angegriffenen Nutzers verwenden – ganz ohne Nutzernamen und Passwort oder zweiten Faktor.
  • Bei Zugriff auf ein VPN kann der Angreifer, der das Zielgerät kompromittiert hat, dieses nach erfolgter Anmeldung mit 2FA als Sprungpunkt nutzen. Hierzu infiziert der Angreifer das Zielsystem (PC, Laptop oder Smartphone) mit Schadsoftware. Danach wartet er darauf, dass der Nutzer sich mit dem VPN verbindet (wo er sich mit zweitem Faktor anmelden muss, z.B. per Token). Sobald die Verbindung steht, hat der Angreifer über die Schadsoftware auf dem Laptop des Opfers VPN-Zugriff auf das interne Netz des Unternehmens – ganz ohne Nutzernamen und Passwort oder zweiten Faktor.
  • Ähnliche Angriffe gibt es auch gegen RDP und Citrix.

Fazit

Zusammenfassend ist zu sagen: Auch Zwei-Faktor-Authentifizierung (2FA) bzw. Multi-Faktor-Authentifizierung (MFA) bietet – wie alle anderen Sicherheitsmaßnahmen der Welt – keine perfekte Sicherheit. 2FA bzw. MFA ist eine signifikante Verbesserung der Sicherheit gegenüber normaler passwortgestützter Anmeldung und sollte unbedingt bei allen Systemen, an denen man sich aus dem Internet anmelden kann, zum Einsatz kommen. Dennoch sollten sich Unternehmen der Risiken, die auch bei Einsatz von 2FA und MFA bestehen, bewusst sein und sich entsprechend absichern. Hierbei hilft Ihnen NSIDE gerne weiter – kontaktieren Sie uns!

Related Posts