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