it-swarm.com.de

Wie schwer ist es, SMS (Zwei-Faktor-Authentifizierung) abzufangen?

Viele Zwei-Faktor-Authentifizierungsmechanismen verwenden SMS, um dem Benutzer eine Einweg-Passphrase zu liefern. Wie sicher ist sie? Ist es schwierig, die SMS) abzufangen = Nachricht mit der Passphrase? Verwenden Mobilfunknetze irgendeine Art von Verschlüsselung für SMS?

Ich fand einen interessanten Artikel über die Zwei-Faktor-Authentifizierung und die Art und Weise, wie sie angegriffen werden könnte:

http://www.schneier.com/blog/archives/2012/02/the_failure_of_2.html

121

GSM enthält einen gewissen Schutz durch Kryptographie. Das Mobiltelefon und der Anbieter (d. H. Die Basisstation, die Teil des Netzwerks des Anbieters ist) authentifizieren sich gegenseitig relativ zu einem gemeinsamen Geheimnis, das dem Anbieter bekannt ist und auf der SIM-Karte des Benutzers gespeichert ist. Einige unter den Codenamen "A3" und "A8" bekannte Algorithmen sind an der Authentifizierung beteiligt. Dann werden die Daten (wie sie über die Funkverbindung gesendet werden) mit einem Algorithmus namens "A5" und einem von A3/A8 und dem gemeinsamen Geheimnis abgeleiteten Schlüssel verschlüsselt.

Es gibt mehrere aktuelle Algorithmen, die sich unter dem Namen "A5" verstecken. Welcher Algorithmus verwendet wird, hängt vom Anbieter ab, der seinerseits durch lokale Vorschriften eingeschränkt ist und welche Lizenzen er vom GSM-Konsortium erhalten könnte. Außerdem kann ein aktiver Angreifer (mit einer gefälschten Basisstation) ein Mobiltelefon möglicherweise dazu zwingen, eine andere Variante zu verwenden, die sich von der sonst verwendeten Variante unterscheidet, und es gibt nicht viele Telefone, die den Benutzer darauf aufmerksam machen (und noch weniger Benutzer) wer würde sich darum kümmern).

  • A5/0 bedeutet "keine Verschlüsselung". Daten werden unverschlüsselt gesendet. In einigen Ländern ist dies der einzig zulässige Modus (ich denke, Indien ist ein solches Land).
  • A5/1 ist der alte "starke" Algorithmus, der in Europa und Nordamerika verwendet wird.
  • A5/2 ist der alte "schwache" Algorithmus, der nominell für "jene Länder gedacht ist, die gute Freunde sind, denen wir aber trotzdem nicht ganz vertrauen" (es wird in den GSM-Spezifikationen nicht so formuliert, aber das ist die Idee).
  • A5/3 ist der neuere Algorithmus für GPRS/UMTS.

A5/3 ist eine Blockverschlüsselung, die auch als KASUMI bekannt ist. Es bietet anständige Sicherheit. Es hat ein paar Mängel, die es "akademisch kaputt" machen würden, aber keine wirklich anwendbar in der Praxis.

A5/2 ist in der Tat schwach, wie in dieser Bericht beschrieben. Der Angriff erfordert einen Bruchteil einer Sekunde, vorbehaltlich einer Vorberechnung, die auf einem PC weniger als eine Stunde dauert und einige Gigabyte Speicherplatz (nicht viel) erfordert. Es gibt technische Details, hauptsächlich weil das GSM-Protokoll selbst komplex ist, aber man kann davon ausgehen, dass die A5/2-Schicht zerbrechlich ist.

A5/1 ist stärker, aber nicht sehr stark. Es wird ein 64-Bit-Schlüssel verwendet, aber die Algorithmusstruktur ist schwächer und ermöglicht einen Angriff mit einer Komplexität von 242.7 elementare Operationen (siehe dieser Artikel die ich vor 12 Jahren geschrieben habe). Es gab mehrere Veröffentlichungen, die diese Komplexität umkehren, hauptsächlich durch Vorberechnungen und Warten, bis der interne Zustand des Algorithmus eine bestimmte Struktur erreicht. obwohl solche Veröffentlichungen etwas weniger komplexe Zahlen ankündigen (um 240) haben sie Nachteile, die ihre Anwendung erschweren, z. B. das Erfordernis von Tausenden bekannter Klartextbits. Mit nur 64 bekannten Klartextbits beträgt die Rohkomplexität 242.7. Ich habe seit einem Jahrzehnt nicht mehr versucht, es zu implementieren, daher ist es denkbar, dass ein moderner PC es schneller ausführt als die Workstation, die ich zu diesem Zeitpunkt verwendet habe. Als grobe Schätzung sollte ein Quad-Core-PC mit gründlich optimiertem Code in der Lage sein, ihn in einer Stunde zu knacken.

Die Größe des internen Status von A5/1 und die Art und Weise, wie A5/1 zum Verschlüsseln von Daten angewendet wird, machen es auch anfällig für Zeit-Speicher-Kompromisse wie Rainbow-Tabellen . Siehe auch den Artikel von Barkan-Biham-Keller. Dies setzt voraus, dass der Angreifer einmal eine wirklich massive Berechnung ausgeführt und Terabyte an Daten gespeichert hat; Danach kann die Online-Phase des Angriffs sehr schnell sein. Details sehr viel, abhängig davon, wie viel Speicherplatz Sie haben, wie viel CPU-Leistung für die Online-Phase verfügbar ist und wie lange Sie bereit sind, auf das Ergebnis zu warten. Die anfängliche Berechnungsphase ist riesig, aber technologisch machbar (tausend PCs sollten ausreichen). es gab ein offenes verteiltes Projekt dafür aber ich weiß nicht, wie weit sie gegangen sind.

Das Abfangen von SMS ist immer noch ein spezifisches Szenario. Es ist kein Gespräch mit voller Stimme. Die tatsächliche Menge der ausgetauschten Daten ist gering und die Verbindung ist nach relativ kurzer Zeit beendet. Dies kann die Anwendbarkeit der oben exponierten Angriffe einschränken. Darüber hinaus muss der Angriff schnell sein: Der Angriffspunkt besteht darin, das als SMS gesendete geheime Passwort abzurufen, damit der Angreifer es verwenden kann vorher den normalen Benutzer. Der Angreifer muss schnell sein:

  • Der Server wendet normalerweise eine kurze Zeitüberschreitung auf dieses Kennwort an, z. B. einige Minuten. SMS Übertragung soll eine Frage von wenigen Sekunden sein.
  • Der Benutzer ist nicht geduldig (Benutzer sind es nie). Wenn er sein SMS nicht innerhalb von fünf Minuten erhält), wird er wahrscheinlich ein neues anfordern, und ein durchdachtes Zwei-Faktor-Authentifizierungssystem auf dem Server würde dann das vorherige Einmalkennwort ungültig machen .

Für den Angreifer ist es einfacher, wenn er bereits den ersten Authentifizierungsfaktor gebrochen hat (deshalb verwenden wir die Zwei-Faktor-Authentifizierung: weil einer nicht ausreicht). In diesem Fall kann der Angreifer die Authentifizierungsanforderung initiieren, während der Zielbenutzer dies glücklicherweise nicht bemerkt, und es ist daher unwahrscheinlich, dass ein Alarm ausgelöst wird, wenn er keine SMS empfängt, oder doppelt, wenn er eine unerwünschte SMS (der Angreifer kann den Angriff spät in der Nacht ausführen; der angegriffene Benutzer findet das ungerechtfertigte SMS nur am Morgen, wenn er aufwacht, und gibt dem Angreifer einige Stunden Zeit seine Unfug zu verüben).

Die GSM-Verschlüsselung gilt nur für die Funkverbindung. In allen oben genannten Fällen haben wir uns auf einen Angreifer konzentriert, der Daten abhört, die zwischen dem Mobiltelefon und dem Mobiltelefon gesendet werden Basisstation. Die benötigte Funkausrüstung scheint verfügbar zu sein von der Stange , und es ist leicht vorstellbar, dass dieses Szenario in der Praxis anwendbar ist. Das SMS) wird jedoch nicht nur von der Basisstation zum Mobiltelefon übertragen. Die vollständige Fahrt beginnt bei den Servereinrichtungen, geht dann über das Internet und dann über das Netzwerk des Anbieters, bis es erreicht die Basisstation - und erst zu diesem Zeitpunkt wird sie mit der verwendeten A5-Variante verschlüsselt.

Wie Daten innerhalb des Netzwerks des Anbieters und zwischen dem Anbieter und dem Server, der die SMS gesendet werden möchte), gesichert werden, fällt nicht in den Geltungsbereich der GSM-Spezifikation. Also geht alles Angreifer ist der Anbieter, den Sie verlieren. Strafverfolgungsbehörden tun dies normalerweise, indem sie die Anbieter, die sich stets daran halten, freundlich fragen, wenn sie Menschen belauschen möchten. Aus diesem Grund neigen Drogenkartelle, insbesondere in Mexiko und Kolumbien, dazu, ihre eigenen Zellnetzwerke aufzubauen.

104
Thomas Pornin

GSM-Netzwerk ist verschlüsselt . Aber das macht es natürlich nicht kugelsicher. Es kann kompromittiert werden. Die beschriebenen Angriffe von Rook (und später ausführlicher von Thomas Pornin) sind jedoch sehr lokalisiert und erfordern erhebliche Anstrengungen, um sie auszuführen. Sie sind nicht unmöglich, aber sehr schwierig. Es erfordert die Unterbrechung des GSM-Netzes in der Nähe des Mobiltelefons, während gleichzeitig SMS gesendet wird. Es besteht auch die Möglichkeit, dass jemand beim Netzbetreiber SMS abfängt. Wenn es sich um nationale Sicherheits-/Spionageszenarien handelt, in denen eine bestimmte Person angegriffen wird und die Angreifer über hoch entwickelte Mittel und viel Geld verfügen, ist dies definitiv möglich. Ähnliches gilt jedoch für das Abrufen der Startwerte von Ihrem Hardware-Token-Anbieter.

Selbst wenn dieser SMS Angriff erfolgreich ist, müssen möglicherweise auch der Benutzername und das Kennwort abgerufen werden (vorausgesetzt, SMS ist nicht die einzige Authentifizierungsmethode, sondern eine zweite Komponente). Es gibt andere Alternativen, bei denen der Benutzer die Nachricht SMS an den Server initiiert und der Server überprüfen kann, ob sie mit der angeforderten Herausforderung/dem angeforderten Token übereinstimmt. Der Server kann auch die Anrufer-ID des Absenders überprüfen. Natürlich hat auch dies seine Grenzen, aber wenn es richtig gemacht wird, kann es theoretisch etwas mehr Schutz bieten.

Wenn, wie in den meisten Fällen, die Sicherheit durch die Bereitstellung einer 2-Faktor-Authentifizierung verbessert werden soll, wird diese durch Hinzufügen von SMS zum Mix gegenüber dem Standardbenutzernamen/-kennwort erheblich verbessert. Die Tatsache, dass Sie zwei separate Kommunikationskanäle (TCP/IP und GSM) verwenden, macht es bereits sicherer. Als sehr grobe persönliche Schätzung würde ich sagen, dass SMS Token in Bezug auf die Sicherheit mehr oder weniger mit hardwarebasierten Token vergleichbar sind. Natürlich steckt Gott (oder der Teufel) im Detail.

14
Yoav Aner

Während Diskussionen über Verschlüsselung interessant sind, denke ich, ist die Schlüsselfrage: Werden die Netzbetreiber dazu angeregt, sich um die Sicherheit zu kümmern? Ich fürchte, die Antwort ist "nein". Was ist ihr Anreiz, Geld für die Sicherung ihrer SMS -Systeme) auszugeben? Verwalten sie diese überhaupt oder sind sie ausgelagert? Welche Sicherheitsgarantien bieten sie? Wie sehr vertrauen Sie den Personen, die die Systeme verwalten? Server?

Darüber hinaus: Wenn Sie 100 Millionen Kunden haben und es etwas schwieriger machen, Ihr Passwort zurückzusetzen, werden Ihre Helpdesk-Anrufe über das Dach gehen. Deshalb kann es so einfach sein, jemandes Konto zu übernehmen.

Wie Sie beim Certificate Authority-Framework sehen, ist außerdem die SMS -Infrastruktur) ein Angriffsziel.

Ich habe kürzlich einen Blog-Beitrag über die Zusammenfassung dieser Punkte mit Links geschrieben: http://www.wikidsystems.com/WiKIDBlog/fraudsters-defeat-poor-risk-management-not-two-factor-authentication . Unter dem Gesichtspunkt des Risikomanagements ist SMS auth besser als Passwörter, aber rechnen Sie nicht lange damit. Die aktuellen Angriffe zielen auf Finanzinstitute ab, aber wenn die Kosten für Angriffe sinken, wird es solche geben Mehr.

9
nowen

Ein Multi-Faktor-Sicherheitssystem ist wertlos, wenn der Dienst allgemeine Sicherheitslücken wie XSS, SQL Injection oder nzureichender Transportschichtschutz aufweist. Diese Fehler können unabhängig vom verwendeten Authentifizierungssystem zu einer Beeinträchtigung des Kontos oder der Informationen führen.

Davon abgesehen können Sie sehr böse Angriffe ausführen, wenn Sie dem Opfer physisch nahe stehen. Wenn Ihr Opfer beispielsweise einen GSM-Träger verwendet, kann ein Angreifer GSM mit einem Regenbogentisch brechen und die Nachricht SMS abfangen. Wenn Sie das Netzwerk Ihres Opfers kontrollieren, können Sie dies Verwenden Sie ein Tool wie SSLStrip oder SSLSniff , um das HTTP-Anmeldeportal anzugreifen.

"Remember Me" ist böse . Bei einigen Implementierungen der SMS Mutulti-Faktor-Authentifizierung (wie bei Google)) können Sie ein Gerät 30 Tage lang segnen. Dies ist nur ein dauerhaftes Cookie, das 30 Tage lang als Authentifizierungstoken fungiert Wenn Sie den Computer Ihres Opfers verwenden, können Sie dieses Cookie abrufen und zur Authentifizierung verwenden. Es gibt keine Möglichkeit, eine "Remember Me" -Funktion sicher zu implementieren.

Hardwarebasierte kryptografische Token sind viel schwieriger zu kompromittieren. Dies ist wirklich der Fortschritt gegenüber SMS, da dies ein Token ist, das Sie haben, und es schwierig sein sollte, Kompromisse einzugehen. Dies gilt größtenteils, es sei denn, Sie verwenden natürlich RSA-Hardware-Token .

6
rook

Die anderen Antworten erläutern bereits die Sicherheit von GSM und die damit verbundenen Technologien gegen technische Angriffe.

Es gibt jedoch eine Reihe anderer Angriffe, die den technischen Schutz umgehen.

Der deutsche Wikipedia-Artikel über Transaktionsauthentifizierungsnummern (die häufig per SMS gesendet werden) listet einige Angriffe auf:

  • das Mobiltelefon des Opfers stehlen oder heimlich darauf zugreifen
  • installieren von Malware auf dem Mobiltelefon, insbesondere wenn es sich um ein Smartphone handelt
  • insider-Angriffe beim Mobilfunkanbieter
  • verwenden von Social Engineering zur Umgehung des Systems, zum Beispiel durch:
    • zugriff auf Nachrichten erhalten
    • erhalten einer neuen SIM-Karte vom Dienstanbieter
    • portierung der Telefonnummer auf ein anderes Konto

Beispielsweise gab es 2015 in Deutschland eine Reihe betrügerischer Geldtransfers, bei denen die Betrüger eine neue SIM-Karte unter dem Namen des Kunden erhielten. Ähnliche Angriffe waren bereits zuvor aufgetreten, daher hatten Mobilfunkanbieter die Authentifizierung von Kunden, die neue SIM-Karten bestellten, verbessert. Um dies zu umgehen, gaben sich die Betrüger beim Anruf beim Telefonanbieter als Mitarbeiter eines Mobilfunkgeschäfts aus und gaben an, im Auftrag von Kunden SIM-Karten zu aktivieren (Quelle: Deutsch: Online-Banking: Neue Versuche auf die mTAN ).

Offensichtlich sind alle technischen Schutzmaßnahmen nutzlos, wenn es dem Angreifer gelingt, sie zu umgehen.

6
sleske

In letzter Zeit fordern viele Handy-Apps Zugriff auf SMS Nachrichten an, und die Benutzer erlauben dies, weil sie an der App interessiert sind. Dies macht den Angriff weniger schwierig als das Abfangen des SMS in Mobilfunknetzen.

3
AdnanG

Ich weiß, dass dies Ihre Frage nicht direkt beantwortet, aber ich hoffe, dass dadurch einige Bedenken ausgeräumt werden:

Wenn die Implementierung ordnungsgemäß durchgeführt wird, wäre ich nicht sehr besorgt über das Abfangen von SMS. Dies liegt daran, dass einmalige SMS Authentifikatoren eine großartige Gelegenheit für echte bieten) -zeitwarnung vor möglichen Angriffen. Wenn der Authentifikator abgefangen wird , ist es sehr wahrscheinlich, dass Sie sofort darauf aufmerksam werden und schnell reagieren können.

Wenn das SMS während einer Authentifizierungssitzung abgefangen wird, die Sie zu initiieren versucht haben, sollte eines von zwei Dingen passieren:

  • Wenn Sie sich zuerst erfolgreich authentifizieren, sollte der Versuch des Angreifers fehlschlagen. Dies liegt daran, dass das System Versuche zur Wiederverwendung von Authentifikatoren ablehnen sollte. In dieser Situation wird der Angriff vollständig vereitelt.

  • Wenn es dem Angreifer gelingt, sich zuerst zu authentifizieren, sollte Ihr Authentifizierungsversuch aufgrund der Wiederverwendung des Authentifikators fehlschlagen. Das System sollte Sie auch darüber informieren, dass dies der Grund für den Fehler ist. Zu diesem Zeitpunkt sollten Sie alle erforderlichen Maßnahmen ergreifen, um Ihr Konto erneut zu sichern. Wenn Sie dies schnell tun können, werden die möglichen Auswirkungen des Angriffs begrenzt.

Wenn der Angreifer versucht, die Authentifizierung zu initiieren, während Sie dies nicht tun, sollten Sie darüber informiert werden, dass Sie eine SMS erhalten, die Sie nicht angefordert haben. Es gibt nur wenige praktische Mittel, mit denen jemand möglicherweise heimlich arbeitet Abfangen einer SMS, die an Ihr Telefon gesendet wurde , ohne dass Sie diese auch erhalten oder bald etwas anderes bemerken, das nicht stimmt.

Dies alles wird sowieso strittig, wenn Sie einem Man-in-the-Browser Angriff ausgesetzt sind.

Da die meisten SMS Authentifizierungsimplementierungen den SMS Authentifikator als Sekunde verwenden Faktor, ich wäre wirklich mehr besorgt darüber, wie der erste Authentifizierungsfaktor kompromittiert wurde. Wenn dies nicht über nacktes Social Engineering erfolgt, geschieht dies wahrscheinlich über einen Browser oder Betriebssystem-Exploit, der zu einem Keylogger auf Ihrem System geführt hat. Dann sind wir nicht viele Schritte von der Man-in-the-Browser-Situation entfernt, die unabhängig von Ihrer Authentifizierungsmethode effektiv zu einem vollständigen Kompromiss führt.

2
Iszi

Allen (auch Schneier?) Scheint ein entscheidendes Stück zu fehlen:

Wenn Ihr Telefon verloren geht/gestohlen wird , stoßen Sie bereits an , da sich Ihre SIM-Karte darin befindet!

Es ist für mich erstaunlich, dass niemand dies bemerkt hat, soweit ich das beurteilen kann, aber SMS leidet unter der Tatsache, dass Sie nicht einmal auf die Daten zugreifen müssen dein Telefon.

Auch wenn Telekommunikation wurde verschlüsselt, und auch wenn Ihr Telefon ist gesperrt und verschlüsselt, wenn Sie SMS oder anrufbasierte Authentifizierung aktiviert haben und Wenn Ihr Telefon gestohlen wird, sind Sie vollständig getoastet bis zu dem Zeitpunkt, an dem Sie einen Weg finden, Ihren Provider dazu zu bringen, Ihre SIM-Karte zu deaktivieren (und sich bei den Strafverfolgungsbehörden usw. zu melden). Ein Angreifer benötigt buchstäblich weniger als 1 Minute, um Ihre SIM-Karte zu entfernen und in ein anderes Telefon zu legen, um die Textnachricht zu erhalten. Wenn Sie also das Problem melden, hat er mit ziemlicher Sicherheit die Möglichkeit, dies ein Dutzend Mal zu versuchen und dann Ihre auszuschalten Telefon oder legen Sie es einfach zurück, damit er nicht verfolgt werden kann.

Ihr nur Glück hier bei der Verwendung von SMS 2FA ist, wenn der Angreifer Ihren Benutzernamen nicht kennt oder Ihre SIM-Karte sicher gegen gesperrt ist Verwendung in einem anderen Telefon:

  1. Wenn Ihr Telefon eingeschaltet war, als es verloren ging oder gestohlen wurde, ist es wahrscheinlich irgendwo auf Ihrem Anmeldebildschirm geschrieben oder wird irgendwann als Benachrichtigung angezeigt.

  2. Wenn Sie gerade überfallen wurden und es geschafft haben, Ihr Telefon auszuschalten, ist Ihre ID oder Kreditkarte wahrscheinlich mit Ihrem Telefon verbunden. In diesem Fall ist Ihr Benutzername oder Ihre E-Mail-Adresse bei Google wahrscheinlich nicht so schwer zu erraten oder zu finden. Wenn Ihr Telefon eingeschaltet war, ist (1) ebenfalls ein Risiko.

  3. Wenn der Angreifer Sie irgendwie kannte , dann stoßen Sie fast definitiv an.
    Zum Beispiel lassen Sie Ihr Telefon auf Ihrem Schreibtisch, während Sie zum Mittagessen ausgehen, und jemand kommt vorbei, um die SIM-Karte auszutauschen, die SMS zu erhalten und sie zurückzutauschen. Es würde nur ein paar Minuten dauern, wenn niemand zuschaut.

Während Sie sich also Sorgen machen können, dass jemand versucht, Ihre Kommunikation mit einem Stingray-ähnlichen Gerät abzufangen oder die Einrichtungen Ihres Telefonanbieters zu infiltrieren, ist die Realität, dass ein Mann in der Mitte ist nicht das eigentliche Risiko für die meisten Leute. Das reale Risiko liegt am Endpunkt - d. H. Sie. Verlieren Sie Ihr Telefon, und die telefon- und SMS-basierte Überprüfung wird sich vollständig gegen Sie wenden, unabhängig davon, wie stark Ihre Passwörter oder Verschlüsselung sind.

1
user541686