Dies ist der zweite Artikel zu Passwörtern. Über Jahre hinweg haben sich die Empfehlungen für starke Passwörter kaum verändert. Erst in letzter Zeit wurde deutlich, dass durch die bisherigen Empfehlungen gewisse Muster entstehen, die von Angreifern ausgenutzt werden können – dies führte zu einem Paradigmenwechsel bei Passwortrichtlinien.
Im ersten Artikel wurde auf die Bedeutung und Verbreitung von Passwörtern für die Authentifizierung eingegangen. Des Weiteren wurden Risiken aufgezeigt, die entstehen, wenn Passwörter in die falschen Hände gelangen. Vorgestellt wurde der Password Quality Audit als Möglichkeit zur Abschätzung der Risiken aufgrund von schwachen Passwörtern.
In diesem Artikel werden die Ergebnisse eines Password Quality Audits präsentiert, den Oneconsult bei einem internationalen Industrieunternehmen durchgeführt hat; selbstverständlich wurden alle hier aufgeführten Passwörter anonymisiert.
Vorgehen
Wie im vorherigen Artikel bereits angesprochen, werden Passwörter in der Regel nicht im Klartext gespeichert; stattdessen werden sie gehasht und lediglich der Hash wird abgelegt. Anstatt «oneconsult» würde beispielsweise «F401AA632C8D617AE2E5D2CE71B7B6EC» gespeichert.
Als erstes müssen die Passworthashes aus dem Active Directory extrahiert werden. Dafür kann das Tool ntdsutil [1] verwendet werden. ntdsutil ist ein Verwaltungstool für Active Directory, das auf Windows schon vorinstalliert ist. Die Hashes liegen dann im NTLM-Format vor; das steht kurz für «NT LAN Manager» und ist das Format, in dem Windows Passworthashes speichert.
Das Cracken der Passworthashes wurde auf einer dedizierten Maschine mit zwei GeForce-GTX-1080-Grafikkarten [2] betrieben. Dies entspricht gängiger Hardware, die inzwischen über 2 Jahre alt ist und auch problemlos von einem Angreifer angeschafft werden kann. Als Software wurde hashcat [3] eingesetzt, ein frei verfügbares Open-Source-Tool zur Passwort-Wiederherstellung, das auch die Prozessoren von Grafikkarten verwendet, die Hashes schneller als normale Computerprozessoren berechnen.
Auf diesem System konnten bis zu 40 Milliarden NTLM-Hashes pro Sekunde berechnet werden. Wenn nur ein einzelner Hash gecrackt werden soll, ist die Geschwindigkeit sogar doppelt so hoch. Dadurch gelang es beim Password Quality Audit, alle möglichen Passwörter, die 8 Zeichen lang oder kürzer waren, in 3 Tagen durchzuprobieren. Dies entspricht einem Brute-Force-Angriff. Dabei wurden lediglich druckbare ASCII-Zeichen ausprobiert; das heisst, alle Gross- und Kleinbuchstaben, Ziffern und Sonderzeichen. Ausserdem wurden die Umlaute «ä», «ö» und «ü» eingeschlossen, da es sich um eine Firma handelte, die auch in der Schweiz vertreten ist. Mit Grafikkarten der neusten Generation kann die Performance mehr als verdoppelt werden.
Mit jedem zusätzlichen Zeichen nimmt die benötigte Rechenzeit jedoch exponentiell zu und die Brute-Force-Methode wird schnell ineffizient. Alle 9 Zeichen langen Passwörter zu knacken hätte auf demselben Rechner über 300 Tage gedauert. Für 10-stellige Passwörter wären schon 82 Jahre nötig gewesen. Dies zeigt deutlich die Grenze von Brute-Force-Angriffen auf: Es ist nicht sonderlich effizient, alle möglichen Passwortkandidaten durchzugehen.
Mit Cloud Computing eröffnen sich auch für Hashcracking neue Möglichkeiten: Man kann Hashes verteilt auf mehreren Systemen knacken lassen. Das Tool NPK [4] unterstützt dabei, solche Attacken mit Amazon Web Services (AWS) durchzuführen. Auf AWS wäre es möglich, alle 9 Zeichen langen Passwörter in weniger als einer Woche durchzuprobieren. Die Kosten für einen solchen Brute-Force-Angriff würden sich auf ein paar Tausend Franken belaufen, was sich je nach erwartetem finanziellen Gewinn rentieren könnte.
Es ergibt allerdings schlichtweg keinen Sinn, alle möglichen Passwörter durchzugehen. Das Ziel stattdessen ist es, möglichst nur diejenigen Passwörter zu probieren, die Benutzer am wahrscheinlichsten wählen. Eine Wörterbuch-Attacke tut genau dies: Es werden bestimmte Wörter durchprobiert und jedes Wort kann noch mit Regeln verändert werden. Mögliche Regeln wären zum Beispiel «schreibe den ersten Buchstaben gross» oder «ersetze den Buchstaben e durch die Ziffer 3».
Als Basis für solche Attacken können geleakte Passwortlisten, Listen von Personennamen sowie deutsche oder englische Wörter verwendet werden. Falls wie in diesem Audit versucht wird, Passwörter einer Firma zu knacken, ergibt es Sinn, eine spezielle Wörterliste zusammenzustellen. Dafür wird etwa die Website der Firma durchsucht und alle Wörter auf der Website werden in die Liste aufgenommen. Weitere Informationen, zum Beispiel die Standorte aller Niederlassungen, können zusammengetragen und ebenfalls in die Liste eingetragen werden.
Nachdem die ersten Passwörter gecrackt wurden, können diese mit PACK (Password Analysis and Cracking Toolkit) [5] analysiert werden. PACK erstellt eine Liste von Passwortmasken und deren Häufigkeit. Daraus können Maskenangriffe gestartet werden. Maskenangriffe sind ähnlich wie Brute-Force-Attacken, jedoch spezifischer und daher schneller: Statt an jeder Position alle möglichen Zeichen durchzuprobieren, werden nur gewisse Zeichen probiert; dadurch ergeben sich weniger Kombinationen, die berechnet werden.
Zusätzlich zu den aufgelisteten Methoden gibt es noch zahlreiche weitere Vorgehen und Tools. Grenzen werden nur durch die verfügbare Rechenleistung und Zeit gesetzt.
Resultate des Password Quality Audits
Zum Zeitpunkt des Audits waren über 9’600 aktive Benutzer registriert; darunter rund 30 privilegierte Benutzer, das heisst Domänenadministratoren oder Benutzer mit lokalen administrativen Rechten. Da die Passwortrichtlinie vorschrieb, dass die Passwörter regelmässig geändert werden und dabei die letzten 10 Passwörter nicht wiederverwendet werden dürfen, wurde auch der Passwortverlauf gespeichert. Insgesamt konnten so fast 60’000 Passworthashes extrahiert werden.
Noch bevor mit dem Cracken der Passwort-Hashes begonnen wurde, konnten erste Aussagen über die verwendeten Passwörter getroffen werden. Bei NTLMv2-Hashes handelt es sich um sogenannte «ungesalzene» Hashes. In der Kryptographie versteht man unter «Salz» (Englisch: «salt») eine zufällige Zeichenfolge, die zusätzlich zum Passwort der Hashfunktion übergeben wird. Dadurch wird für zwei gleiche Passwörter ein unterschiedlicher Hash berechnet.
Da NTLM-Hashes eben «ungesalzen» sind, haben gleiche Passwörter einen identischen Hash. Das heisst, man kann die Hashes auf ihre Einzigartigkeit hin untersuchen. Daraus ergab sich, dass nur etwa 80% der Passwörter einzigartig waren; die restlichen 20% kamen mehr als einmal vor.
Nach dieser ersten Analyse wurde der «Hashcracker» gestartet. Rund einen Monat lang wurden diverse Angriffe gegen die extrahierten Passworthashes durchgeführt. In dieser Zeit konnten 85% der Passwörter gecrackt werden. Der Verlauf dabei war aber alles andere als linear; die meisten der Passwörter wurden recht früh geknackt: Schon innerhalb der ersten 5 Minuten waren 30% der Passwort-Hashes berechnet. Nach Ablauf der ersten Stunde waren schon über die Hälfte der Hashes gecrackt. Danach wurde es immer schwieriger und aufwändiger, weitere Passwörter zu bestimmen. Auch von den privilegierten Accounts konnte rund die Hälfte gecrackt werden.
Im Folgenden werden die gecrackten Passwörter auf verschiedene Eigenschaften wie Länge und Komplexität analysiert.
Länge
Anhand der Längenverteilung lässt sich auf die geforderte Mindestlänge schliessen: 28% der Passwörter sind nur 8 Zeichen lang. Die meisten Passwörter haben zwischen 8 und 10 Zeichen. Lediglich 5% der Passwörter sind länger als 12 Zeichen. Die durchschnittliche Länge eines Passwortes beträgt 9.6 Zeichen. Die längsten Passwörter, die noch geknackt werden konnten, sind 24 Zeichen lang.
Damit zeigt sich deutlich, dass Benutzer Passwörter nicht länger als nötig wählen. Das bedeutet, dass die Längenanforderung einer Passwortrichtlinie enorm wichtig ist. Besonders für privilegierte Accounts ergibt es somit Sinn, längere Passwörter zu fordern – gerade deshalb, weil für NTLM-Hashes eine Brute-Force-Attacke bis und mit 8 Zeichen realistisch ist.
Komplexität
Die Passwortrichtlinie im Unternehmen, das den Passwort Quality Audit beauftragt hatte, setzte voraus, dass Zeichen aus mindestens 3 der 4 Zeichentypen verwendet werden.
Die 4 möglichen Zeichentypen sind:
- Grossbuchstaben: ABC…
- Kleinbuchstaben: abc…
- Ziffern: 0123456789
- Sonderzeichen: +»*ç%&/()?… (inkl. Leerzeichen)
Die deutschen Umlaute und andere sprachlich-spezifischen Zeichen wurden für diese Analyse nicht beachtet, da nur ein unerheblich kleiner Teil der Passwörter solche Zeichen enthielt.
61% der Passwörter enthalten Zeichen aus 3 Zeichentypen und 37% der Passwörter Zeichen aus allen vier Zeichentypen. Die übrigen Passwörter entsprechen nicht der Passwortrichtlinie. Auch hier hat sich wieder gezeigt, dass Benutzer mehrheitlich lediglich die Mindestanforderungen erfüllen – aber nicht mehr.
Vorkommen in bekannten Leaks
Im Dezember 2009 wurde die Webseite von RockYou gehackt, einer Firma, die Anwendungen für verschiedene soziale Netzwerke entwickelte. Daraufhin wurde eine Liste mit rund 32 Millionen Klartextpasswörtern veröffentlicht, darunter waren über 14 Millionen «einzigartige» Passwörter. Die RockYou-Liste ist nur eine von vielen geleakten Passwortlisten.
Der australische Sicherheitsexperte Troy Hunt betreibt den Dienst «Pwned Passwords» [6], mit dem man überprüfen kann, ob ein Passwort in einer Sammlung von bekannten kompromittierten Passwörtern vorkommt.
Für die Überprüfung im Rahmen des Password Quality Audits wurde die «Pwned Passwords»-Liste heruntergeladen und lokal auf einem Computer wurde überprüft, ob ein Passwort in der Liste vorkommt. Dies geschah nicht nur aus sicherheitstechnischen Gründen lokal, sondern auch wegen der besseren Performance, da nicht für jedes Passwort eine Anfrage an die «Pwned Passwords»-API gesendet werden musste.
Bei einem Vergleich der gecrackten Passwörter mit der RockYou-Passwortliste konnte festgestellt werden, dass 1.3% der Passwörter auch in der RockYou-Liste vorkamen. Die RockYou-Passwortliste ist bei Kali Linux standardmässig dabei und deshalb immer noch eine der ersten Anlaufstellen beim Cracken von Passwörtern. Kali ist eine Linux-Distribution, bei der viele Programme für Penetration Tests und digitale Forensik vorinstalliert sind.
Beim Vergleich der gecrackten Passwörter mit der PwnedPasswords-Liste konnten noch mehr «bekannte» Passwörter identifiziert werden. Dies war nicht überraschend, da PwnedPasswords eine Sammlung von mehreren Passwortlecks ist und RockYou darin enthalten ist. 9.4% der gecrackten Passwörter waren in PwnedPasswords, kamen somit bereits in vergangenen Lecks vor.
Das Problem mit geleakten Passwörtern ist vor allem gravierend, wenn das gleiche Passwort für mehrere Accounts verwendet wird. Wird einer dieser Accounts kompromittiert, sind auch alle anderen Accounts gefährdet. Deshalb sollte bei jedem Account ein anderes Passwort verwendet werden, damit im Falle einer Kompromittierung der Schaden in Grenzen gehalten wird.
Wiederverwendung von Passwörtern
Wie schon vor dem Cracken festgestellt werden konnte, waren innerhalb des auditierten Unternehmens 20% der Passwörter nicht einmalig. 65 Passwörter kamen dabei mehr als 25-mal vor. Nach dem Cracken konnte nun analysiert werden, welche Passwörter denn genau wie oft wiederverwendet wurden.
Die Top 10 der am häufigsten verwendeten Passwörter waren (wobei der Firmenname durch «Oneconsult» ersetzt wurde):
- Oneconsult2017
- Oneconsult2016
- Oneconsult123
- Oneconsult2018
- Oneconsult123$
- Oneconsult@2017
- Oneconsult@2016
- Oneconsult.2017
- Oneconsult=1
- Oneconsult.2017! / Oneconsult.123
Das «Top-Passwort» kam fast 600 Mal vor – damit ist jedes hundertste Passwort «Oneconsult2017».
Es ist leicht zu erkennen, dass der Firmenname ein beliebter Baustein für Passwörter ist. Fast in jedem 10. Passwort kam der Name des Unternehmens oder der eines Tochterunternehmens vor. Berücksichtig man zusätzlich noch beliebte Zeichensubstitutionen wie zum Beispiel das Ersetzen des Buchstabens «e» durch die Ziffer «3» oder das Ersetzten von «a» durch «@», dann ist es sogar jedes 8. Passwort, das den Namen des Unternehmens oder den eines Tochterunternehmens enthält, oder eine Abwandlung davon.
Beispiel: On3consult statt Oneconsult
Gängige Substitutionen, bei denen Buchstaben durch ähnlich aussehende Ziffern oder Sonderzeichen ersetzt werden, erhöhen die Stärke des Passwortes nicht so sehr, wie man das erwarten könnte. Eben gerade deshalb, weil diese Substitutionen bekannt sind und daher bei Passwortcracking-Regeln dabei sind.
Masken
Wenn eine Passwortrichtlinie Komplexitätsanforderungen stellt, erhöht das die Sicherheit von Passwörtern leider oftmals nicht so sehr, wie es zu erwarten wäre. Wenn das Passwort, das ein Benutzer setzen will, nicht akzeptiert wird, modifiziert er es so lange, bis es akzeptiert wird. Diese Modifikationen sind meist vorhersehbar.
Beispiel:
Initiales Passwort: passwort
Es muss ein Grossbuchstabe verwendet werden: Passwort
Es muss auch eine Ziffer verwendet werden: Passwort1
Es muss auch noch ein Sonderzeichen verwendet werden: Passwort1!
Die Idee von Komplexitätsanforderungen bei Passwortrichtlinien ist, dass Benutzer keine Passwörter nur aus Gross- oder nur aus Kleinbuchstaben wählen und damit den Zeichenraum verkleinern. Anforderungen wie zum Bespiel, dass Passwörter nebst Buchstaben auch Ziffern oder Sonderzeichen enthalten müssen, führen aber zu bestimmten Mustern, die beim Knacken von Passwort-Hashes ausgenutzt werden können.
So war zu beobachten, dass Benutzer, die einen Grossbuchstaben im Passwort haben, diesen meist an erster Stelle setzen. Das deutet darauf hin, dass, wenn das gewünschte Passwort aufgrund der Komplexitätsanforderungen nicht zugelassen wird, Benutzer ihr gewünschtes Passwort derart ändern, dass es zu gelassen wird. Das heisst, dass falls ein Kleinbuchstabe am Anfang steht, dieser grossgeschrieben wird. Oder falls das Passwort noch kein Sonderzeichen enthält, wird eines am Ende angehängt. Aus «oneconsult» wird so dann «Oneconsult!».
Unter anderem wurde festgestellt:
- 67% der Passwörter haben einen Grossbuchstaben an erster Stelle.
- 65% der Passwörter enthalten nur einen Grossbuchstaben.
- 54% der Passwörter enthalten ein Sonderzeichen.
- 83% der Passwörter mit Sonderzeichen enthalten nur ein Sonderzeichen.
Solche Muster können mit sogenannten Masken ausgedrückt werden.
Um Masken zu beschreiben, verwenden wir die folgende Notation:
G = Grossbuchstabe
K = Kleinbuchstabe
Z = Ziffer
S = Sonderzeichen
Ein sechsstelliges Passwort, das aus fünf Kleinbuchstaben besteht und eine Ziffer am Ende hat, entspricht der Maske «K K K K K Z».
Die häufigsten Passwortmasken waren:
Maske | Anteil der Passwörter, die der Maske entsprachen |
---|---|
G K K K K K Z Z | 2.95% |
G K K K K K K Z Z | 2.62% |
G K K K K K Z Z Z Z | 2.33% |
G K K K Z Z Z Z | 1.69% |
G K K K K K K K Z Z | 1.65% |
G K K K K Z Z Z Z | 1.62% |
G K K K K K S Z Z Z Z | 1.37% |
G K K K K K Z Z S | 1.36% |
G K K K K K S Z Z | 1.36% |
Fast jedes 6. Passwort entsprach einer dieser Masken.
Wenn man bei den Masken aufeinanderfolgende Zeichen des gleichen Typs zusammenfasst, so kann man weitere Aussagen über den Aufbau von Passwörtern machen: 26.3% der Passwörter haben die Form «G K Z», 13.7% haben die Form «G K Z S» und 11.3% haben die Form «G K S Z». Somit fängt mehr als die Hälfte der Passwörter mit einem oder mehreren Grossbuchstaben an, gefolgt von einem oder mehreren Kleinbuchstaben, mit Ziffern und/oder Sonderzeichen am Schluss.
Gebräuchliche Muster
Benutzer setzen ihre Passwörter oft aus verschiedenen Bausteinen zusammen. So kommen unter anderem Wörter, Jahreszahlen, Buchstabensequenzen wie «abc», wiederholende Zeichen und Tastaturmuster zum Einsatz. In einer von Google im Jahr 2013 durchgeführten Studie [7] wurde untersucht, wie Benutzer Passwörter wählen. Die Ergebnisse der Studie zeigten, dass die meisten Benutzer persönliche Informationen für die Erstellung von Passwörtern gebrauchen: Sie verwenden oft Namen von Haustieren, spezielle Daten wie Geburtstage, Namen von Familienmitgliedern etc.
Während die meisten Personen «qwertz» sofort als ein Muster auf der Tastatur erkennen, ist beispielsweise «nji90okm» nicht unmittelbar als Tastaturmuster zu erkennen. «nji90okm» scheint zufällig zu sein; jedoch entspricht es dem folgenden Muster: Man startet bei «n», geht diagonal hoch zu «9», dann hinüber zu «0» und diagonal wieder nach unten zu «m». Es gibt mehrere Tools, die Tastaturmuster generieren, und Passwordcracker werden diese auch einsetzen. Problematisch ist bei Passwörtern aus Tastaturmustern auch, dass das Muster von jemandem, der einem über die Schulter schaut, erkannt werden könnte.
Alle Passwörter wurden auf die folgenden Muster hin untersucht:
Muster | Anteil der Passwörter, die das Muster enthielten |
---|---|
Wörter | 68.6% |
Jahreszahlen und Daten | 18.7% |
Sequenzen (z.B. «abc») | 6.7% |
Sich wiederholende Zeichen (z.B. «!!!») | 5.9% |
Tastaturmuster | 2.2% |
Insgesamt schien es, dass nur 20% der Passwörter zufällig waren. Dies kann aber nicht mit Sicherheit gesagt werden, da unter Umständen trotzdem ein Muster benutzt wurde, das aber nicht als solches erkennbar war. Beispielsweise sieht «ji32k7au4a83» ziemlich zufällig aus; jedoch entsteht diese Zeichenfolge, wenn man 我的密碼 (Mandarin: «mein Passwort») auf einer taiwanischen Tastatur mit dem «Zhuyin Fuhao»-Layout eintippt [8].
Passwortverläufe
Passwortrichtlinien verlangen oft, dass das Passwort periodisch gewechselt wird. Damit nicht einfach wieder das gleiche Passwort gewählt wird, werden meist die vorigen Passwörter nicht zugelassen. Das führt dazu, dass nicht nur der Hash des aktuellen Passworts gespeichert wird, sondern auch die Hashes der letzten Passwörter.
Um zu untersuchen, ob Benutzer beim periodischen Passwortwechsel jeweils ein komplett neues Passwort wählen oder ob sie ihr aktuelles Passwort lediglich abändern, wurde für alle aufeinander folgenden Passwörter ihre Levenshtein-Distanz [9] berechnet. Für jeden Benutzer wurde dann die durchschnittliche Levensthein-Distanz gebildet.
Die Levenshtein-Distanz (oder auch Editierdistanz) ist eine Metrik für die Distanz zweier Zeichenfolgen. Sie entspricht der minimalen Anzahl an Einfüge-, Lösch- und Ersetz-Operationen, die auf die erste Zeichenfolge angewendet werden müssen, um die zweite zu erhalten.
Beispiel:
Die Levenshtein-Distanz zwischen «haus» und «auto» beträgt 3.
haus => aus => aut => auto
Die Analyse hat ergeben, dass die durchschnittliche Levenshtein-Distanz 5.03 ist.
Bei fast 9% der Benutzer war die durchschnittliche Levenshtein-Distanz kleiner oder gleich 1.2. Das bedeutet, dass diese Benutzer jeweils lediglich ein Zeichen ihres alten Passwortes geändert haben.
Würden stattdessen immer zufällige Passwörter gewählt, dann wäre die durchschnittliche Levenshtein-Distanz ungefähr gleich der Länge der Passwörter.
Eine genauere Untersuchung von Passwortverläufen mit einer niedrigen durchschnittlichen Levenshtein-Distanz ergab, dass meistens entweder eine Zahl hochgezählt wurde, oder dass jeweils ein weiteres Zeichen an das alte Passwort angehängt wurde:
- Oneconsult1 => Oneconsult2 => Oneconsult3 => …
- Oneconsult1 => Oneconsult12 => Oneconsult123 => …
Erkenntnisse
Die Resultate dieses Password Quality Audits zeigen deutlich, dass die meisten Benutzer ihre Passwörter nicht zufällig wählen, sondern auf die eine oder andere Art «konstruieren». Daraus entstehen gewisse Muster, die von Angreifern ausgenutzt werden können. Angreifer arbeiten stets daran, ihre Methoden zu verfeinern und neue Methoden zu erforschen, um das Passwort-Cracken effizienter zu machen.
Auch Passwortrichtlinien führen oftmals zu Mustern bei Passwörtern, die ebenfalls beim Knacken von Passwörtern ausgenutzt werden können. Deshalb ist es wichtig, dass Passwortrichtlinien ständig neu evaluiert und allenfalls angepasst werden. Noch wichtiger ist es jedoch, dass Benutzer verstehen, warum ihre abgelehnten Passwörter nicht akzeptiert werden.
NIST hat ihre Empfehlungen zu Passwortrichtlinien im Jahr 2017 überarbeitet. Diese finden sich in ihren Digital Identity Guidelines [10]. Die Empfehlungen von Oneconsult stützen sich darauf und decken sich mehrheitlich mit den Hinweisen von Microsoft [11] und ISO/IEC 27002:2013 [12].
Die Empfehlungen von Oneconsult wurden im ersten Artikel zu Passwörtern ausführlich beschrieben.
Fazit
Dieser Artikel beruht auf den Ergebnissen eines Password Quality Audits, den Oneconsult durchgeführt hat. Bei diesen Resultaten handelt es sich jedoch um keinen Einzelfall – auch bei anderen Unternehmen sieht die Situation ähnlich aus. Diese Feststellung basiert sowohl auf Passwörtern, welche die Tester von Oneconsult bei Ihren Tests antreffen, als auch auf geleakten Passwörtern.
Die Ergebnisse des Password Quality Audits zeigen, dass Passwortrichtlinien zu Mustern bei Passwörtern führen, und helfen zu verstehen, warum NIST ihre Empfehlungen angepasst hat.
Passwortrichtlinien führen aber nicht automatisch dazu, dass keine einfach zu erratenden Passwörter mehr verwendet werden. Es wird wohl immer Benutzer geben, die versuchen, die Passwortrichtlinien zu «umgehen», indem sie ein einfach zu merkendes Passwort wählen, das aber gerade noch von der Richtlinie zugelassen wird.
[1]: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc753343(v=ws.11)
[2]: https://www.nvidia.com/de-de/geforce/products/10series/geforce-gtx-1080/
[3]: https://hashcat.net/hashcat/
[4]: https://github.com/Coalfire-Research/npk
[5]: https://thesprawl.org/projects/pack/
[6]: https://haveibeenpwned.com/Passwords/
[7]: https://techland.time.com/2013/08/08/google-reveals-the-10-worst-password-ideas/
[8]: https://twitter.com/rqou_/status/1101331385632022528
[9]: https://de.wikipedia.org/wiki/Levenshtein-Distanz
[10]: https://pages.nist.gov/800-63-3/
[11]: https://www.microsoft.com/en-us/research/publication/password-guidance/
[12]: https://www.iso.org/standard/54533.html