Passwörter sind, entgegen ihrer eigentlichen Aufgabe, ein Sicherheitsrisiko. Die Multi-Faktor-Authentifikation (MFA) kann ein Ausweg aus der Misere sein.
Seit Jahrhunderten werden gewisse "geheime“ Schlüsselwörter genutzt, um zu bestimmten Bereichen Einlass zu bekommen. Jene Wörter sind nur einer kleinen Gruppe von Personen bekannt. Es liegt in der Natur des Menschen, dass diese Gruppe an Wissenden im Laufe der Zeit größer wird – damals wie heute. Ein Geheimnis wie ein Zugangscode ist bereits in dem Moment keines mehr, in dem man es einem anderen Menschen weitererzählt. Auch der Beisatz "Aber bitte erzähle es nicht weiter!“ ändert daran nichts.
In der IT geht der Trend sogenannter Shared Secrets seit vielen Jahren zurück. Statt geteilter Passwörter, die die Unsicherheit stark erhöhen, gibt es nun persönliche Passwörter. Dennoch existieren vermutlich zahllose Beispiele, bei denen sich Personen, ob in Unternehmen oder privat, Zugangspasswörter zu Computersystemen teilen.
Auch da, wo Passwörter tatsächlich nur von ein und derselben Person benutzt werden, kommt es regelmäßig zu Sicherheitsproblemen. Genauer gesagt sind die sogenannten "schlechten Passwörter“ tatsächlich ein riesiges Einfallstor für Angreifer. Das zeigen die Erkenntnisse aus den regelmäßig stattfindenden Hacks großer Unternehmen; auch unsere Pentesting-Praxis spiegelt exakt dasselbe Bild wider.
Etwas leichter zu beantworten ist die Frage, was ein gutes Passwort ist. Ein gutes Passwort sollte zumindest diese drei simplen Anforderungen erfüllen:
Die Praxis zeigt, dass häufig eine oder sogar mehrere dieser Regeln gebrochen werden. Selbst erdachte Passwörter sind in der Regel nicht zufällig, auch wenn sie so aussehen. Außerdem werden sie gerne an verschiedenen Stellen benutzt, weil man sich dann weniger merken muss. Auch, wenn es auf den ersten Blick vielleicht nicht offensichtlich ist: Ein Passwort wird zu einem Shared Secret, sobald man es auf einem zweiten Portal benutzt.
Die Lösung, um alle diese drei Anforderungen zu erfüllen, ist der Einsatz von Passwort-Managern, sowohl für Unternehmen, als auch im Privatbereich.
Dabei kann man nur die erwähnte Mindestlänge diskutieren, wenngleich klar sein sollte, dass längere Passwörter schwieriger zu knacken und deswegen natürlich besser sind. Auf unserem Advisory-Blog finden Sie eine Serie von Fachartikeln zu genau diesem Thema:
Man kann die Passwortqualität durch verschiedene Maßnahmen erhöhen. Für Firmen sind diese Maßnahmen verbesserte Passwort-Policies, Awareness-Trainings und Passwort-Audits durch eigene oder externe Consultants. Trotzdem ist anzunehmen, dass ab einer gewissen Unternehmensgröße selbst bei gesteigerter Passwortqualität die Menge der schlechten Passwörter zunimmt. Manchmal genügt nur ein einziges schlechtes Passwort, damit Angreifer einen Fuß in die Tür bekommen, wie unsere Pentests zeigen.
Passwörter gehen aus Datenbanken "verloren“, werden gephisht, gebrute-forced oder gelangen sonst irgendwie in die Hände von Angreifern. Wegen dieser immanenten Unsicherheit geht der Trend seit Jahren in Richtung Multi-Faktor-Authentifizierung (MFA). Banken setzen seit Jahrzehnten TAN-Codes ein, die Big Player wie Google, Microsoft, Amazon, Paypal usw. setzen auf TOTP (Time-based One-time Password Algorithmus) und mittlerweile auch auf andere Authentifizierungsmethoden, die je nach Verfahren entweder ein Add-On oder sogar eine Ablöse des Passwortes darstellen. Verschiedene branchenübliche oder sogar gesetzliche Vorgaben verlangen heute häufig ebenfalls bereits eine Form der MFA, um dem offenbar nicht zu lösenden Problem der Passwortunsicherheit zu begegnen.
MFA ist ein Konzept, zu dem verschiedene Verfahren gezählt werden. Das Ziel all dieser Verfahren ist es, die durch reine Passwort-Authentifikation bestehende Unsicherheit zu entschärfen. Auf unserem Advisory-Blog können Sie sich mit den Hintergründen von MFA-Architekturen befassen:
|
Im Wesentlichen gibt es zwei Gruppen von Verfahren. Die eine basiert auf dem Konzept der One-Time-Passwörter (OTP). Für die Authentifikation ist das reguläre Passwort eines Benutzers und ein weiteres Passwort notwendig, das mithilfe eines bestimmten, in der Regel kryptografischen, Algorithmus generiert wird. Ursprünglich gab es dafür kleine, Schlüsselbund-taugliche Hardware-Geräte mit LCD-Display, die per Knopfdruck einen Code anzeigten. Mittlerweile existieren verschiedene, sowohl proprietäre als auch standardisierte Methoden, wie z. B. der weit verbreitete Time-Based One-Time Password Algorithm (TOTP) nach RFC6238.
Die zweite Verfahrensgruppe wird üblicherweise als Smartcard-Authentifikation bezeichnet. Auch hierfür gibt es verschiedene, sowohl proprietäre als auch standardisierte Verfahren. Alle davon setzen auf Public-Key-Kryptografie. Der geheime Teil des Schlüsselpaares ist dabei meist auf einer nicht auslesbaren Smartcard gespeichert, was den Begriff Smartcard-Authentifikation erklärt. Die Authentifizierung wird zwischen dem Server und dem Krypto-Prozessor auf der Smartcard, der zusätzlich vom Benutzer durch Eingabe eines PIN-Codes freigegeben werden muss, durchgeführt.
Bei dieser Smartcard-Authentifikation fällt der Einsatz eines regulären Passwortes und damit auch dessen Austausch zwischen Nutzer und Server komplett weg. Ein reiner Remote-Angriff ist nicht mehr möglich, da ein Angreifer physisch im Besitz der Smartcard sein und natürlich den PIN-Code kennen muss. Dadurch eliminiert man die ursprünglichen Sicherheitsrisiken, die sich aus einer reinen Passwort-Authentifikation ergeben.
Wie bereits erwähnt ist Smartcard-Authentifikation alleine aber kein Standard, sondern fasst eine Gruppe konzeptionell ähnlicher Implementierungen zusammen. Deswegen ist es wichtig, sich für das Produkt zu entscheiden, das am besten dem eigenen Einsatzzweck entspricht.
Die Schwierigkeit besteht dabei oft in der Interoperabilität. Ein Punkt, der in der heutigen Zeit der Systemvielfalt großer IT-Landschaften bei der Implementierung schnell für Kopfschmerzen sorgen kann. Mitarbeiter sind oft mit einem Schlüsselbund voll verschiedener Chips und Token unterwegs, weil jeder einzelne davon jeweils nur an manchen Stellen funktioniert. Die Ursache dafür ist sehr oft, neben historisch gewachsenen Strukturen, die nicht gegebene Interoperabilität im Sinne von Software-Treibern u. ä.
Der Yubikey ist eine Smartcard, hat aber im Unterschied zu verschiedenen anderen Produkten mehrere Authentifikationsmodule integriert und setzt zusätzlich auf offene Standards. So lassen sich mit nur einer Hardware z. B. die zertifikatsbasierte Windows-Anmeldung, TOTP, SSH Public-Key Authentifikation, zertifikatsbasierte Office365-Anmeldung und eine Anmeldung auf sämtlichen FIDO2-basierten Portalen durchführen. Das sollte bereits mehr abdecken, als durchschnittlich benötigt wird.
Aus der Erfahrung des Pentestings können wir bestätigen, dass derartige Authentifizierungsmethoden kaum zu umgehen sind. Geschieht es doch, ist der Grund dafür oft ein übersehener, reiner Passwortzugang.
Begleitend zu diesem Artikel wird im heurigen Sommer 2022 eine dreiteilige Podcast-Serie veröffentlicht, die u. a. ein Interview mit Patrick Schnell, dem Channel-Manager von Yubico, enthält. Im Podcast und im Interview werden wir die Themen Passwort-Authentifikation, MFA und den Yubikey diskutieren. Die ANLX Podcasts sind auf https://podcast.netlogix.at/ und in jedem gängigen Podcast-Portal zu finden.
Bernhard R. Fischer begann seine Karriere als Netzwerktechniker, verantwortlich für den Aufbau eines österreichweiten IP-Backbones und später für die Entwicklung und den Betrieb der wichtigsten Internetservices für dieses Netzwerk, wie z.B. DNS und Email. Nach dem Wirtschaftsinformatikstudium auf der Universität Wien wurde er Forschungsmitarbeiter und Dozent an der Fachhochschule St. Pölten, in den Bereichen Computernetzwerke, Betriebssysteme und IT-Security. Seit 2017 ist er Security-Consultant bei der Firma Antares-NetlogiX GmbH.
Während seiner gesamten Karriere hat Bernhard an öffentlichen Projekten und Diskussionen teilgenommen, hat auf vielen Konferenzen Vorträge gehalten und an zahlreichen Open-Source-Projekten mitgewirkt, nicht nur als Fürsprecher, sondern auch als Software-Engineer und Entwickler. Sein Hauptaugenmerk liegt immer auf Robustheit und Qualität von Software und Lösungen. Akribisch recherchiert er viele Details und gibt dieses Wissen auch bereitwillig an alle Interessierten weiter.
Einige seiner eigenen Open-Source-Projekte befinden sich auf Github und manche Artikel auf seinem persönlichen Tech- & Society-Blog und auf Twitter. Bernhard ist außerdem sehr aktiv in der Yachtsegelbranche als Ausbildner und Schiffsführer, betreibt seine eigene Webseite und produziert den Fachpodcast Schiff – Captain – Mannschaft für Seglerinnen und Segler.