Systembeschreibung
Transcription
Systembeschreibung
Datenschutzbeauftragter des Kantons Zürich Postfach, CH-8090 Zürich Tel.: 043 259 39 99 Fax: 043 259 51 38 [email protected] www.datenschutz.ch Beratungsstelle für Informatiksicherheit Systembeschreibung Passwort-Check II Inhaltsverzeichnis 1. Einführung..............................................................................................3 1.1. Passwort-Qualität ..............................................................................3 1.2 Wie gelangen Unberechtigte zu einem Passwort?. .............................5 1.3 Wie funktionieren Passwortknackprogramme?. ..................................6 1.4. Was macht der Passwort-Check, was macht er nicht?.......................7 1.5. Neue Methodenansätze ....................................................................8 2. Systemaufbau ........................................................................................8 2.1. Webserver.........................................................................................8 2.2. Passwort-Check ................................................................................9 2.3. Dictionary-Service .............................................................................9 2.4. Datenbank ...................................................................................... 10 3. Prüfungsablauf..................................................................................... 10 3.1. Eingabeüberprüfung gemäss Vorgaben........................................... 11 3.2. Suchen der längsten "Treffer" in der Wortliste ................................. 11 3.3. Bestimmen des Zeichensatzes der restlichen Zeichen .................... 11 3.4. Berechnen der Anzahl notwendiger Versuche ................................. 12 3.5. Präsentation der Resultate .............................................................. 13 Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 2 von 13 1. Einführung Der Passwort-Check ist ein Hilfsmittel zur Verbesserung der Komplexität bzw. Qualität von Passwörtern. Durch die Simulation der Arbeitsweise üblicher Passwortcracker können Internet-Nutzerinnen und -Nutzer abschätzen, wie lange es dauern würde, ein von ihnen gewähltes Passwort zu knacken. Passwörter werden verwendet, um dem Besitzer oder der Besitzerin eines bestimmten Passwortes den Zugang zu Rechnern oder anderen Computersystemen frei zu schalten. Es sollte sichergestellt sein, dass das Passwort geheim bleibt und nicht einfach erraten oder rekonstruiert werden kann. Wer gewährleisten will, dass niemand in den Besitz seines Passworts kommt, muss gewisse Grundregeln befolgen. Dazu gehört, dass das Passwort genügend komplex ist, so dass es nicht mit einfachsten Mitteln gecrackt ("erraten") werden kann. 1.1. Passwort-Qualität Optimal gewählte Passwörter sind rein zufällig gewählte Zeichenfolgen, da sie nicht in Wortlisten gefunden werden können. Die Qualität von Passwörtern bzw. die Anzahl möglicher Kombinationen N steigt exponentiell mit der Länge L der Zeichenfolge, und polynomial mit der Menge Z des verwendeten Zeichensatzes. Sie errechnet sich als die Potenz aus der Menge des Zeichensatzes Z und der Länge der Zeichenfolge L: N=ZL Beispiel: Der gängige Computer-Zeichensatz besteht aus 128 Zeichen (ASCIIZeichensatz). Passwortknackprogramme versuchen in verschiedenen Phasen zunächst ein Passwort mit verminderten Zeichensätzen (d.h. gängigen wie z.B. a-z, AZ, 0-9) zu knacken. Verwendet eine Anwenderin oder Anwender ein Passwort mit einem einfachen Zeichensatz, so wird der Aufwand des Knackens markant verringert. Die nachfolgende Tabelle und Grafik illustrieren, wie sich die Anzahl möglicher Kombinationen N in Abhängigkeit der Menge des verwendeten Zeichensatzes Z und der Länge der Zeichenfolge L verändert. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 3 von 13 Zeichensatz im Verhältnis zur Passwortlänge Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 4 von 13 1.2. Wie gelangen Unberechtigte zu einem Passwort? Unberechtigte können auf verschiedene Weise an ein für sie nicht bestimmtes Kennwort gelangen. Eine Methode ist das Erraten des Passworts: Viele Anwendende verwenden Wörter, die sie sich leicht merken können (z.B. aus ihrem persönlichen Umfeld). Somit ist die einfachste und meist auch schnellste Methode, um Zugang auf ein Computer-System zu erhalten, das Erraten eines Passwortes (Password Guessing). Einfache oder kurze Passwörter können systematisch durchprobiert werden (Brute Force Attack). Die Erfolgschance bei dieser Methode ist sehr stark von den systemseitig eingestellten Passwortvorgaben abhängig (z.B. Kontosperrung nach drei Fehlversuchen). Passwörter können auch aus dem System ausgelesen oder bei der Übertragung mitverfolgt werden. In Skript- oder Konfigurationsdateien bzw. in Passwortlisten hinterlegte Kennwörter können ausgelesen werden. Keylogger werden dazu verwendet, um die Eingaben der Benutzenden an einem Computer mitzuprotokollieren und dadurch zu überwachen oder zu rekonstruieren. Diese Keylogger werden auch von Unberechtigten verwendet, um an eingegebene Passwörter zu gelangen. Via E-Mail werden Kunden auf gefälschte Websites gelockt, welche der echten sehr ähnlich sehen. Mit der Aufforderung, die Benutzer-ID und das Passwort einzugeben, gelangen Unberechtigte so an Zugangsdaten. Die meisten Provider bieten ihren Kunden, zusätzlich zum herkömmlichen Internetzugang, einen Zugang über einen so genannten Proxy-Server an. Dadurch wird die Netzlast des Providers verringert und so der Web-Zugriff beschleunigt. In Firmen hingegen wird über solche Proxys meist das Internetnutzungsverhalten der Mitarbeiter eingeschränkt bzw. kontrolliert. Anonymisierdienste, die den Benutzenden helfen, ihre Anonymität im Internet zu wahren, arbeiten ebenfalls mit dieser Proxy-Technologie. Alle Eingaben können so in den Log-Dateien eines ProxyServers aufgezeichnet werden. Durch eine gezielte Auswertung dieser LogDateien können Unberechtigte so an Passwörter gelangen, sogar wenn der Webzugriff über SSL (https) erfolgt. Ein Sniffer ist eine Software, die den Datenverkehr eines Netzwerks empfangen, aufzeichnen, darstellen und gegebenenfalls auswerten kann. Mit solchen Netzwerkschnüfflern können ebenfalls übertragene Kennwörter mitgelesen werden. Erfolgt die Übertragung von Passwörtern, wie beispielsweise beim E-Mail unverschlüsselt, ist es für Unberechtigte auf diese Weise einfach an Kennwörter zu gelangen. Passwortknackprogramme können eingesetzt werden, um ausgelesene verschlüsselte Passwörter wieder in eine lesbare Form umzuwandeln. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 5 von 13 1.3. Wie funktionieren Passwortknackprogramme? Beim Anmeldevorgang an ein Betriebssystem werden Passwörter im Normalfall nur in "verschlüsselter" Form abgelegt und übertragen. Dazu wird das eingegebene Passwort mittels einer bekannten Einweg-Funktion (Hash) umgewandelt. Für Einweg-Funktionen gibt es keine Umkehrfunktion, mit welcher aus der verschlüsselten Zeichenfolge das ursprüngliche Passwort rekonstruiert werden kann. Beim Generieren eines neuen Passwortes wird die zugehörige verschlüsselte Zeichenfolge auf dem System abgelegt. Für die künftige Anmeldung an ein System müssen Anwendende ihre Passwörter als Eingangsgrösse in die Einweg-Funktion eingeben. Stimmt die resultierende Ausgangsgrösse der Einwegfunktion mit dem auf dem System abgelegten Wert überein, wird der Zugang erlaubt, sonst nicht. Bemerkung: Die Animationen/Beispiele funktionieren nur mit aktiviertem Javascript. Animation/Beispiel: Wählen Sie ein Passwort und beobachten Sie die resultierende Ausgangsgrösse: Wer das zu einem verschlüsselten Passwort zugehörige Originalpasswort herausfinden will, muss solange Passworte raten bzw. die Eingabewerte der EinwegFunktion variieren, bis als Ausgangsgrössse das verschlüsselte Passwort resultiert. Animation/Beispiel: Versuchen Sie Ihr Glück, um das Passwort zur folgenden Ausgangsgrösse herauszufinden. Nach drei Fehlversuchen wird man bei vielen Systemen ausgeschlossen, hier werden Sie einen Tipp erhalten. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 6 von 13 Passwort-Cracking-Programme können die Eingangsgrössen bedeutend schneller verändern als Sie. Diese Programme gehen mit unterschiedlichen Rat-Strategien vor: Bei Wörterbuchattacken (Dictionary Attack) werden riesige Wortlisten durchprobiert. Die vom Passwort-Check verwendete Wortliste beinhaltet rund 3.8 Millionen Einträge. Sie besteht aus Wörtern, Sätzen, bekannten Ausdrücken oder oft für Passwörter verwendeten Begriffen aus unterschiedlichen Sprachen. Dies führt häufig schnell zum vorgegebenen Ausgangswert, weil sehr viele Leute den Begriff "Passwort" zu wörtlich nehmen und eben bekannte Wörter oder Namen wählen. Wörterbuchattacken sind sehr einfach zu programmieren und laufen extrem schnell. Sie finden jedes Passwort, welches in der Wortliste enthalten ist. Bei sogenannten Brute-Force-Attacken (auch "exhaustive search" genannt) werden alle möglichen Kombinationen von Zeichen (aus einem gewählten Zeichensatz) durchprobiert. Brute-Force-Cracker sind theoretisch in der Lage, jedes beliebige Passwort zu finden. Je nach verwendetem Zeichensatz und Länge des gewählten Passwortes kann die Suche extrem lange dauern. Es gibt auch Knackprogramme, welche eine kombinierte Wörterbuch- und BruteForce-Attacke durchführen (daher auch Hybrid-Cracker genannt). Hybrid-Cracker durchsuchen Wortlisten und fügen den Wörtern zusätzlich alle Kombinationen aus einem gewählten Zeichensatz an (voran- und nachgestellt). Es ist auch denkbar, dass Hybrid-Cracker dem häufig verwendeten Ansatz, bestimmte Buchstaben durch Zeichen zu ersetzen (z.B. Buchstabe "O" durch Ziffer "0" oder Buchstabe "S" durch "$"-Zeichen), Rechnung tragen. Hybrid-Cracker finden das gesuchte Passwort häufig schneller als reine Brute-Force-Cracker, weil viele Computeranwendende allgemein bekannte persönliche Begriffe, wie Namen, Ortschaften, Geburtsdaten, Auto- und Telefonnummern sowie Begriffe, die im Lexikon vorkommen, als Passwörter verwenden. Dadurch bieten auch Passwortgenerationen wie stephan1, stephan2, usw. nicht den nötigen Schutz. 1.4. Was macht der Passwort-Check, was macht er nicht? Im ersten Schritt werden die eingegebenen Passwörter nach einer von uns vorgegebenen Richtlinie geprüft (u.a. Minimallänge, Klein-/Grossbuchstaben, Ziffern, etc.) Im zweiten Schritt wird mit dem Passwort-Check das Vorgehen eines Hybrid-PasswortCrackers simuliert. So wird abgeschätzt, wie gross die Erfolgschancen eines HybridPasswort-Crackers wären. Da der Passwort-Check das Passwort und damit die Länge des Passwortes und den verwendeten Zeichensatz kennt, kann man mit der Simulation im Vergleich zu echten Passwort-Crackern folgende Vereinfachungen machen: Es kann direkt überprüft werden, ob Teile des Passwortes in einer umfangreichen Wortliste zu finden sind. Wurde ein Wort gefunden, welches im Passwort enthalten ist, so kann die HybridAttacke auf die minimal notwendige Anzahl Zeichen und den minimal notwendigen Zeichensatz beschränkt werden. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 7 von 13 Wurde kein Wort gefunden, welches im Passwort enthalten ist, so kann anhand des verwendeten Zeichensatzes berechnet werden, wie aufwändig eine BruteForce-Attacke wäre. Auf diese Weise lässt sich mit dem Passwort-Check eine untere Grenze für den Aufwand angeben, welche ein Hybrid-Passwort-Cracker haben dürfte. Man beachte aber: Der Passwort-Check führt keine "echten" Crack-Versuche durch. Er operiert nur mit dem Klartext des eingegebenen Passworts. Es werden keine Zeichen durch ähnlich aussehende Buchstaben oder Sonderzeichen ersetzt. Die verwendete Wörterliste ist nicht abschliessend. 1.5. Neue Methodenansätze Es existieren neben den reinen Brute-Force und den Hybrid-Attacken weitere Methoden, um Passwörter zu finden. Am Labor für Sicherheit und Kryptographie der ETH Lausanne wurde die Methode "Rainbow Table" entwickelt, bei welcher durch Vorausrechnen einer grossen Anzahl von Passworten ein erheblich schnelleres Finden des Kennworts möglich wird. 2. Systemaufbau Der Passwort-Check besteht aus mehreren Komponenten: Internet Datenbank Benutzer-PC 2.1. Web-Server mit Dictionary-Service Webserver Der Webserver stellt die Schnittstelle zum Benutzer dar. Er verarbeitet die Benutzereingaben, kommuniziert mit dem Dictionary-Service (2.3) und der Datenbank (2.4), wertet Resultate der darunter liegenden Dienste aus und stellt sie als Webseiten dar. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 8 von 13 2.2. Passwort-Check Der Passwort-Check stellt das Herzstück der Anwendung dar und dient dazu, die Stärke eines eingegebenen Passworts abzuschätzen. Dabei werden die eingegebenen Passwörter nach den Massstäben einer von uns vorgegebenen Richtlinie geprüft. Die Richtlinie weist folgende Merkmale auf: Minimallänge von 6 Zeichen Optimallänge ist 10 Zeichen Minimal ein Kleinbuchstabe Minimal ein Grossbuchstabe Minimal ein Interpunktions- oder Sonderzeichen Minimal eine Ziffer Leerzeichen, Umlaute und nicht druckbare Zeichen vermindern die Passwortqualität Maximal 2 Zeichen in Folge (z.B. "sss" ergibt einen Abzug) Maximal 2 Zeichen der Tastatur in Folge (z.B. "qwertz" ergibt einen Abzug) Maximal 2 Zeichen von ABC- und Zahlenreihen in Folge Passwort ist nicht einfach aus dem definierten englisch-deutschen Wörterbuch ableitbar 2.3. Dictionary-Service Über den Service können verschiedene Anwendungen auf die gemeinsame Wortliste zugreifen. Der Dictionary-Service stellt zusätzlich folgende Funktionen zur Verfügung: Das Finden von Wortfragmenten, welche in der Wortliste vorkommen und komplett in einer vorgegebenen Zeichenfolge enthalten sind. Gleichzeitig wird abgeschätzt, wie aufwändig es wäre, eine erfolgreiche Brute-Force-Attacke gegen die angegebene Zeichenfolge durchzuführen (Annahme: minimaler Zeichensatz). Das Durchsuchen der Wortliste nach beliebigen Zeichenfolgen. Das Erstellen von statistischen Daten zur Wortliste. Detaillierte Angaben über den Ablauf einer Überprüfung sind unter Prüfungsablauf (3.) zu finden. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 9 von 13 2.4. Datenbank In der Datenbank werden Informationen über die Qualität der geprüften Passwörter für statistische Zwecke gesammelt. Dabei werden nur die Resultate der Überprüfung, jedoch nicht die eingegebenen Passwörter gespeichert. 3. Prüfungsablauf Die Auswertung eines Passworts läuft in fünf Schritten ab. Die Schritte 1 (Aufteilung des Passwortes) und 5 (Präsentation der Resultate) werden auf dem Web-Server durchgeführt, alle anderen Schritte laufen aus Performance-Gründen in der Dictionary-Service-Anwendung ab. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 10 von 13 3.1. Eingabeüberprüfung gemäss Vorgaben Die eingegebenen Passwörter werden nach den Massstäben einer von uns vordefinierten Richtlinie geprüft. Entspricht die Eingabe nicht den definierten Vorgaben, so wird das Passwort als qualitativ schwach bewertet. Ein Passwort starker Qualität hat eine Punktzahl von mindestens 80. 3.2. Suchen der längsten "Treffer" in der Wortliste Es wird der längste Eintrag in der Wortliste gesucht, welcher komplett im eingegebenen Passwort enthalten ist. Passt keiner der Einträge der Wortliste, so resultiert als "längster Treffer" ein Leerstring. 3.3. Bestimmen des Zeichensatzes der restlichen Zeichen Nachdem der längste passende Eintrag aus der Wortliste gefunden wurde, wird bestimmt, aus welchen Klassen von Zeichen sich die restlichen (nicht im "Treffer" vorhandenen Zeichen) zusammensetzen. Dabei werden folgende Klassen unterschieden: Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 11 von 13 3.4. Berechnen der Anzahl notwendiger Versuche Die Anzahl notwendiger Versuche, um ein gegebenes Passwort mit einer BruteForce-Attacke zu finden, hängt von unterschiedlichen Parametern ab. Es wird von einer "Hybrid-Attacke" ausgegangen, d.h. ein Teil der Attacke basiert auf einem Wörterbuch, der andere (fehlende) Teil wird mittels einer Brute-Force-Attacke gesucht. Beim Berechnen der Anzahl notwendiger Versuche wird von folgenden Voraussetzungen ausgegangen: Der Angreifer startet bei kurzen Zeichenfolgen und erhöht die Länge sukzessive. Der Angreifer wählt den optimalen Zeichensatz für die Brute-Force-Attacke, d.h. er versucht nur diejenigen Klassen von Zeichen (siehe Bestimmen des Zeichensatzes der restlichen Zeichen, 3.3), in welchen auch wirklich Restzeichen vorhanden sind. Der Angreifer variiert nur die minimale Anzahl Zeichen für die Brute-ForceAttacke. Die Anzahl notwendiger Versuche wird nach folgender Formel berechnet: Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 12 von 13 wobei die Variablen folgende Bedeutung haben: 3.5. Präsentation der Resultate Die vom Dictionary-Service gelieferten Daten werden analysiert und in einer dynamisch generierten Webseite dargestellt. Die Anzahl notwendiger Versuche wird in die Zeitdauer umgerechnet, welche potentielle Angreifende benötigen würden, um ein Passwort zu erraten. Es wird dabei davon ausgegangen, dass Angreifende mit der handelsüblichen Technologie (Stand Jahr 2006) ungefähr 1 Million Zeichenfolgen pro Sekunde überprüfen können. Ein Passwort wird nur als stark eingestuft, wenn der Policy-Check erfüllt ist und die Zeitdauer für die Suche mindestens 10 Tage beträgt. Schlägt eine der beiden Prüfungen fehl, so wird das Passwort als schwach eingestuft. Systembeschreibung Passwort-Check II 13. Oktober 2006 Seite 13 von 13