Wegen Twitters #2FA SMS Abschalt Stunt eine Erklärung aus InfoSec-Sicht, warum ihr euch etwas mit der Thematik beschäftigen solltet, wenn euch eure Accounts lieb sind.
Möglichkeiten, Angriffsvektoren, Kosten für Euch und worauf ihr achten solltet bei Mehr Faktor Authentifizierung
Warum überhaupt #MFA / #2FA? Naja, weil ein Passwort ein oftmals alleinig schlechter Zugriffsschutz ist.
- Username tragt ihr in sozialen Medien offen rum
- Passwörter werden aus Bequemlichkeit oft kurz oder einfach gehalten
- Passwörter sind meist statische Faktoren
Vorgaben zu komplexen Passwörtern, häufigen Passwortänderungen etc. führen oft zum Gegenteil, da leider nicht alle User*innen Passwortmanager nutzen (die aber dann wiederum auch ein gewisser lukrativer Angriffsvektor sein können, was aber im Allgemeinen aufwändig und selten ist).
Führt uns zu der sinnigen Empfehlung: Nutzt halt mehr Faktoren.
Selbst, wenn $evilHacker dein Passwort kompromittiert hätte, muss noch eine zweite Hürde überschritten werden. Das ist eher aufwändig in der Masse (kommt aber dennoch vor bei gezielten Angriffen, leider).
Die zwei Faktoren kommen am besten aus mindestens 2 verschiedenen Kategorien und sind unabhängig voneinander:
- etwas, was ich weiß (z.B. ein Passwort)
- etwas, was ich habe (z.B. einen physikalischen Sicherheitsschlüssel)
- etwas, was ich bin (z.B. biometrische Merkmale)
Bevor ihr jetzt sagt: "Hey biometrisch wäre ja voll praktisch überall", möchte ich darauf hinweisen, dass Biometrie eine Art unänderbares Passwort ist. Hat irgendwer biometrische Merkmale von euch reproduziert, versuch das mal nach einem Angriff überall zu ändern. Geht nicht. 🙃
Deswegen im Folgenden ein paar Empfehlungen zu Besitzfaktoren.
Twitter hat SMS bei Free Accounts wohl nur aus Kostengründen gekillt. SMS kosten in DE immer einen Mindestbetrag von ein paar Cent und wenn das Elno aus eigener Tasche zahlt, kostet das halt (einsparbares) Geld.
Nun gibt es bei Twitter gerade die folgenden Zweitfaktoren, auf deren Vor- und Nachteile ich im Folgenden eingehe, genauso auf die Funktion.
Beginnen wir mit SMS aus 2. Faktor:
Eigentlich bequem:
- du hinterlegst eine Telefonnummer
- Ab sofort bekommst du einen Zahlencode per SMS an eine Telefonnummer, den du dann zur Anmeldung eingeben musst
Ist SMS als 2. Faktor besonders sicher? Eher nein, es ist "nur" etwas mehr Aufwand.
- SMS 2FA als Dienstleistung wird meist bei einem externen Anbieter gebündelt, und damit gibt es einen weiteren möglichen zentralen Angriffspunkt
…
- individ. Mobilfunkkommunikation als solche ist u. U. abzugreifen (SIM-Card-Hacks, SS7, Störung Masten in Umgebung)
- Kein Empfang kein 2. Faktor (hallo deutsches Mobilfunknetz)
- Der SMS-Code ist nicht scoped / an die Webseite gebunden (später mehr dazu)
Aber: SMS 2FA ist besser als nichts, denn ist immerhin eine zweite Hürde und immerhin ändert sich der Code immer mal wieder und läuft an. Aber halt langsamer als bei anderen Verfahren (meist so 10 Minuten).
Kostet euch meistens aber nichts.
Kommen wir zu Authentifizierungs-App.
Diese basieren zumeist alle auf einem Standardverfahren, meist ist dies Time-based one-time password.
Das funktioniert so:
Du scannst einen QR-Code oder gibst einen Hash ein (ein Codewort) in eine Handy-App.
Dann wird in Ableitung dieses Hashes meist alle 30 Sekunden ein Zahlencode generiert - lokal.
Ohne Kenntnis des Codeworts, was nur bei Einrichtung des TOTP-Verfahren bekanntgegeben wird, ist das Generierungs-Verfahren einigermaßen sicher und schlecht anzugreifen.
Ist das TOTP-Verfahren jetzt besser als 2FA per SMS? Ja.
- es gibt keine dritte Partei im Netzwerkverkehr
- es funktioniert auch ohne Mobilfunkempfang
Probleme aber im Sinne eines Angriffsvektors:
- Der Code ist nicht direkt an die Webseite gebunden, in die er eingegeben wird
Praktisch hat 2FA per TOTP aber noch eine ab und zu mal vorkommende Besonderheit: Stimmt die lokale Uhrzeit auf dem Device, dass den Code generiert, stimmen der generierte Code und der Code, den die Anmeldung erwartet nicht überein. Also Uhrenvergleich.
Und: Es kommt bei Authenticator-Apps nicht selten vor, dass die User*in gerade zu langsam ist mit der Eingabe, weil der Code halt nur 30 Sekunden gilt und erneuert wird.
Die Kosten für das Verfahren sind gratis für euch, ihr braucht eine vertrauenswürdige (!) Authenticator-App.
Zu Authenticator Apps: Empfehlung eher in Richtung freeotp.github.io, Google hat auch eine, die ist eigentlich okay, aber halt Google. Microsoft will inzwischen Trackingberechtigungen zur Nutzung :/
So, jetzt hatten wir 2 Verfahren mit SMS und Authenticator-Apps, die schrittweise besser wurden.
Gehts noch besser? Ja. Und zwar aus dem Grund: SMS 2FA oder Authenticator Apps sind by Design nicht scoped.
Scoped heißt, dass die Codes / Schlüssel an eine bestimmte Webseite / Domain gebunden sind. Das sind sie aber bei SMS oder Authenticator Apps nicht.
Wo genau du da deinen Code eingibst, merkst du bei der Eingabe des Codes nicht.
Das heißt: Wenn wer eine Webseite mit dem gleichen Login-Flow nachbaut, weißt du nicht genau, wo du die Daten eingibst, außer du guckst ganz genau auf die URL. Bei Authenticator-Apps ist das leider by Design so.
Leider kannst du das Abschnorcheln von Passwort und 2FA-Code mit dem 30 Sekunden-Zeitfenster oder evtl. sogar SMS auch so automatisieren, dass du eine Fake Seite vorschaltest, die dann $evilHacker im Hintergrund Zugang gibt.
Kommen wir daher zu Hardware-Tokens, die ich bei sensibleren Accounts aktuell ausschließlich aus den genannten Gründen empfehlen würde.
Hier haben wir 3 Kandidaten von FIDO-Tokens:
2 Yubikeys. 1 Nitrokey.
Kosten alle so etwa je 60 Euro.
Wie ihr seht, gibt es FIDO-Tokens (Sicherheitsschlüssel in Twittersprech) in allen Varianten: mit NFC, mit allen Arten von USB-Anschlüssen und sogar Lightning für iPhone.
In der Praxis wird bei jedem Druck / Scan über NFC ein neuer Code generiert.
… continued
Hardwaretokens haben den Vorteil, dass das kryptografische Material zur Generierung der Codes auf dem Stick liegt und die Hardware-technisch sehr sicher sind.
Weiter hat das Verfahren dahinter (FIDO / Webauthn) den Vorteil, an Domains gebunden werden zu können.
Die Eigenschaft des scoping von den Schlüsseln auf dem Stick zur Webseite ist insofern zu den vorherigen Verfahren begrüßenswert, weil bei Phishing-Attacken auffallen würde, dass ein Stick noch gar auf ner Fakeseite registriert wurde.
Und da entsteht dann der Bruch im Flow.
In der Praxis sind Tokens aber auch u. U. auch etwas fummelig in der Benutzung.
Sie bieten aber wegen:
- Hardwaresecurity
- Scoping
Den besten praktikablen Schutz von Besitzfaktoren.
Kosten aber auch Geld (etwa 60 Euro)
Ihr könnt einen Sicherheitschlüssel aber für mehrere Webseiten benutzen.
Zu beachten ist aber, dass ihr idealerweise zwei Sticks besitzt. Einen, den ihr dabei habt, einen den ihr dann habt, wenn ihr euren verliert, den ihr sonst dabei habt, nutzt.
Empfehlungen zu bestimmten FIDO-Tokens kann ich etwa so einordnen:
Wahrscheinlich ist der klassische YubiKey 5 NFC die beste Wahl für die meisten Use Cases.
Für die Leute, die gerne basteln und viele Features haben wollen, gibts bei Nitrokey total viel
Soviel dazu. Eigentlich gar nicht so kompliziert, von SMS zu Hardwarekryptografieelementen 🙃
Ergänzung zu der Problematik zentraler 2FA SMS Anbieter: Ihr gebt einem Drittanbieter eure Telefonnummer …
Gut, schauen wir uns das Problem mal aus Privacy-Sicht an. Minimalste Version:
Welche Parteien gibt es und was ist bereits bekannt?
Betroffene: Haben IBAN
Hochschulen: Haben Informationen über Immatrikulation der Betroffenen
Portal zur Einmalzahlung: nichts, braucht valide IBANs
Jetzt live auf bundestag.de – die Debatte zum Antrag der Union "Sichere digitale Identitäten schnellstmöglich in Deutschland einführen" #digitaleIdentitäten
Kann gerade nur halb der #AnhörungCybersicherheit folgen, aber @HonkHase 's Verantwortungsdiffusion und Wimmelbild habe ich brandrodend zur Kenntnis genommen. 🐰🔥
Ah ja, der unionskompatible Take von Frau Frey ist mehr Geld und Befugnisse für Strafverfolgung und so.
Aber IT-Sicherheits-Architektur ist auch kaputt. Naja, immerhin. Aber Resilienz! #AnhörungCybersicherheit
Der @z_edian will auch gleich mal das Wimmelbild entrümpeln und evaluieren.
Üblicherweise fallen in solchen Runden dann Narrative wie "Daten nützen", "100% Sicherheit gibt es nicht", "Datenschutz müsse handhabbar sein" etc.
Biste dann mal IT-Sec auf Digitalisierung Gesundheitswesen Veranstaltungen, biste entweder sehr geduldig oder wirst angeblökt.
Zugegeben, ich bin biased, weil ich IT-Sec vertrete, weil mir Datenschutz wichtig ist und sowas, aber im Agenda Setting ist das leider immer sehr sehr viel Bubble, die die Agenda bestimmen will.
Einerseits finde ich ja gut, dass sich diverse Organisationen mit der Verbesserung der Situation in Gesundheitsämtern beschäftigen, andererseits fühlt es sich halt irgendwie wie ein Paralleluniversum an.
Aber ein paar Sachen sind doch irgendwie spannend…
"75,23 Prozent der Expertinnen und Experten aus den Gesundheitsäm-
tern sprachen sich für zentralere IT-Lösungen aus. … Genau so deutlich wie das „Ja“ für zentralere IT-Lösungen,
ist aber die Einschränkung, dass viele Kommunen sich kein zweites SORMAS wünschen. …" 🤷♀️
"Standardisierungsbemühungen wie XÖGD sind weiter zu verfolgen und sollten aktiv
eingefordert werden"
XÖGD ist 10 Jahre alt und nie über nen Identifikationsstatus hinausgekommen. Das vielleicht als Background.