Skip to main content

III.
Identitätssicherheit

Was wissen Websites über Sie?

Sie entscheiden, welche Informationen Sie den Websites geben, die Sie besuchen. Sie sollten ihnen nicht mehr Informationen geben, als sie benötigen, um Ihnen den Dienst anzubieten. Falls Sie sich nichts liefern lassen wollen, sollten Sie z. B. nicht einfach ihre Postanschrift angeben, nur weil die Website danach fragt. Dasselbe gilt für Telefonnummer, Vor- und Nachname und E-Mail-Adresse. Je weniger Informationen Sie den Websites geben, desto weniger schadet es Ihnen, wenn diese Informationen weiterverkaufen oder jemand Zugriff zu Ihrem Konto erlangt.

Passwörter sind für gewöhnlich das erste Hindernis, das ein Angreifer überwinden muss. Später im Kurs stellen wir weitere Elemente vor, die Ihre Konten vor Attacken schützen können. Ein gestaffeltes Sicherheitskonzept (Defence in Depth) gehört zu den bewährten Praktiken im Bereich Cybersicherheit. Das bedeutet, dass Ihre Assets durch mehrere Sicherheitsebenen geschützt werden. Selbst wenn der Angreifer eine Ebene überwindet, z. B. das Passwort, hat er keinen Zugang zu Ihren Informationen.

Enumerationsangriffe

Durch Enumerationsangriffe (Enumeration Attacks) ermitteln Angreifer als ersten Schritt einen gültigen Benutzernamen. Dabei werden Funktionen wie der Benutzer-Login und „Passwort vergessen“ genutzt. So machen Websites ungewollt Nutzerinformationen öffentlich, wenn sie bei einem Anmeldeversuch verschiedene Meldungen anzeigen, je nachdem, ob der Benutzername oder die E-Mail-Adresse im System existiert oder nicht.

In den meisten Fällen sind die Informationen selbst nicht schädlich. Wenn ein Angreifer aber z. B. die Existenz eines Kontos auf einer Dating- oder Escort-Website aufdeckt, kann er dies gegen die entsprechende Person verwenden.

Enumerationsangriffe werden auch eingesetzt, um Phishing-Angriffe zielgerichteter zu führen und Brute-Force-Angriffe zu erleichtern, indem die Anzahl potenzieller Ziele eingegrenzt wird. Die Begriffe Phishing und Brute Force definieren wir in Kürze.

Enumerationsangriffe beschränken sich nicht nur auf Login-Daten. Sie können bei Funktionen wie dem Zurücksetzen des Passworts und dem Einrichten eines Kontos genutzt werden. Üblicherweise kann eine bestimmte E-Mail-Adresse nur mit einem Konto verbunden werden, sodass der Nutzer informiert wird, wenn er eine bereits existierende E-Mail-Adresse oder Benutzerkennung wählt.

Der nächste Schritt auf dem Weg zum Kontozugriff ist, das Passwort herauszufinden. Darum geht es jetzt als nächstes.

Passwörter

Die meisten Websites erkennen den Benutzer anhand einer Kombination aus Benutzernamen und Passwort. Da man oft dutzende oder gar hunderte Dienste nutzt, wählt man meist Passwörter, an die man sich leicht erinnert. Das Problem ist, dass diese Passwörter meist auch für Angreifer leicht zu erraten sind. Führt man sich vor Augen, dass 2020 die häufigsten Kennwörter „123456“, „123456789“, „qwerty“ und „password“ lauteten, kann man sich vorstellen, dass es nicht schwer ist, eine riesige Anzahl an Konten mit diesen Passwörtern und zufälligen E-Mail-Adressen zu hacken.

Die häufigsten Passwörter im Jahr 2020

  • 123456

  • 123456789

  • qwerty

  • password

  • 1234567

  • 12345678

  • 12345

  • iloveyou

  • 111111

  • 123123

Seit Jahren sind die Anforderungen an Passwörter bei vielen Konten ungenügend, was dazu führte, dass die Nutzer schwache Passwörter wählten. Durch die schlechten Vorgaben wurden Passwörter erstellt, an die man sich zwar leicht erinnert, die aber auch leicht per Computer zu knacken sind.

Der Web-Comic XKCD bringt das Thema Passwortsicherheit gut auf den Punkt.

Zwei unterschiedlich lange Schlüssel
Zwei unterschiedlich lange Schlüssel

Ein gutes Passwort muss nicht unbedingt rätselhafte Symbole enthalten. Allgemein gilt: je länger das Passwort, desto sicherer. Anforderungen wie klein- und großgeschriebene Buchstaben, Symbole und Zahlen berücksichtigen meist nicht, wie schwer das Passwort tatsächlich zu knacken ist. Diese Anforderungen vergrößern den Schlüsselraum (Keyspace), d. h. die Anzahl möglicher Passwortkombinationen für eine bestimmte Anzahl Zeichen, was sich aber auch durch ein längeres Kennwort erreichen lässt.

Ein Beispiel zur Veranschaulichung:

Wenn der erlaubte Zeichensatz auf Kleinbuchstaben des englischen Alphabets, d. h. 26 Buchstaben, beschränkt ist und die Passwortlänge 6 zufällige Zeichen beträgt, wird der Schlüsselraum wie folgt berechnet:

266= 308.915.776 mögliche Passwörter

Bei einer Passwortlänge von 8 zufälligen Zeichen ergibt das folgenden Schlüsselraum:

268= 208.827.064.576 mögliche Passwörter

Wie Sie sehen, ist der Schlüsselraum deutlich größer, wenn das Passwort nur zwei Buchstaben länger ist. Nehmen wir ein weiteres Beispiel, in dem auch Großbuchstaben verwendet werden dürfen, was die doppelte Anzahl von Buchstaben bedeutet:

526= 19.770.609.664 mögliche Passwörter

Dies vergrößert den Schlüsselraum beträchtlich im Vergleich zu nur 26 Buchstaben. Und doch ist das kein Vergleich zum Schlüsselraum des längeren Passworts mit ausschließlich Kleinbuchstaben. Fügen wir als nächstes einige gängige Symbole hinzu: !, “, #, ¤, %, &, /, (, ) und =. Dadurch steigt die Zahl erlaubter Zeichen auf 62.

626= 56.800.235.584 mögliche Passwörter

Durch 10 zusätzliche Zeichen hat sich der Schlüsselraum nahezu vervierfacht, doch zugleich ist das Passwort sehr viel schwieriger zu merken und der Schlüsselraum ist immer noch deutlich kleiner als beim Passwort mit 8 Zeichen.

Ein rein zufälliges Passwort ist auch gegen Angriffe wie Wörterbuchangriffe gewappnet. Wörterbuchangriffe (Dictionary Attacks) nutzen die Tatsache aus, dass leicht merkbare Passwörter oft Wörter aus dem Wörterbuch, Namen und Varianten davon enthalten. Die zweite Ausgabe des zwanzigbändigen Oxford English Dictionary umfasst 171.476 Einträge. Nutzt man ein Passwort, das aus nur einem Wort besteht, ergibt das einen Schlüsselraum von 170.000. Oft werden nicht die Wörter an sich genutzt, sondern Abwandlungen, die man sich noch merken kann.

Ein übliches Mittel zur Verschleierung von Wörtern aus dem Wörterbuch ist, Teile zu ersetzen oder eine Zahl einzufügen, um daraus ein Passwort zu machen. Leider sind diese Änderungen oft leicht zu erraten und es ist für einen Computer kein Problem, alle gängigen Abwandlungen durchzugehen. Ersetzt man z. B. den Buchstaben „o“ durch die Zahl „0“, ist das Passwort nicht so leicht zu merken, während es einem Computer beim Knacken kaum mehr Arbeit macht. Solch einfache Änderungen vergrößern den Schlüsselraum nur unwesentlich. Genauso wenig hilfreich ist es, eine Zahl (z. B. das jetzige Jahr) am Anfang oder Ende des Passworts einzufügen. Programme zum Entschlüsseln von Passwörtern und deren Entwickler kennen all diese Tricks.

Entropie

Die Passwortstärke lässt sich nicht nur am Schlüsselraum messen. Der Begriff Entropie taucht auch in der Cybersicherheit auf und stellt eine Messhilfe zur Bestimmung der anzunehmenden Stärke von Passwörtern dar. Entropie wird mit der mathematischen Funktion „log2“ aus dem Schlüsselraum errechnet (Sie müssen die mathematischen Grundlagen nicht verstehen, sondern können die Formel einfach in eine Suchmaschine eingeben: Googeln Sie z. B. „log2(26^8)“.)

Was bedeutet Entropie in der Praxis? Die Passwortstärke auf Grundlage des Ergebnisses der Entropieberechnung kann anhand folgender Skala eingeordnet werden:

< 28 bit: sehr schwach, wirkt höchstens gegen Familienmitglieder

28-35 bit: schwach, sollte gegen die meisten Menschen schützen, meist ausreichend für den Desktop-Login

36-59 bit: ausreichend, relativ sicher für Netzwerk- und Unternehmenspasswörter

60-127 bit: stark, gut zum Schutz finanzieller Informationen

> 128 bit: sehr stark, meist zu viel des Guten

Die Entropie des Passworts mit 8 zufälligen Zeichen erreicht mit 37 bit geradeso die Kategorie „ausreichend“. Ein Passwort mit 15 Zeichen (70 bit) wäre stark, aber nicht sehr stark. Die exponentielle Natur dieser Berechnungen führt dazu, dass die zusätzliche Länge eines Passworts das Knacken enorm erschwert.

Die Entropie ist zwar hilfreich, sollte aber nicht der einzige Faktor sein. Trotz ausreichender Entropie kann ein Passwort mit 8 Zeichen unsicher sein – die Gründe dafür erläutern wir im folgenden Abschnitt.

Wie Passwörter geknackt werden

Um zu verstehen, wie Passwörter geknackt werden, muss man zuerst wissen, wie sie geschützt werden.

Passwörter werden üblicherweise in einer Datenbank gespeichert und dabei mit einem sog. Einweg-Hashalgorithmus (one-directional hash algorithm) verschlüsselt werden. Ein Hashalgorithmus ist ein Code, mit dem ein Passwort von Klartext in codierten Text umgewandelt wird. Man spricht auch von Hashfunktion oder Streuwertfunktion, da Daten „zerstückelt“ (gehasht) bzw. „gestreut“ werden. Der Algorithmus funktioniert nur in eine Richtung. Das Hashen eines Texts mit einem sicheren Hashalgorithmus kann nicht rückgängig gemacht werden, selbst wenn man den Algorithmus kennt. Das Ergebnis der Umwandlung durch den Algorithmus wird als Hashwert oder kurz Hash bezeichnet. Ein Hashwert ist eine Zeichenfolge aus Buchstaben und Zahlen, welche den ursprünglichen Eingabetext in verschlüsselter Form darstellt.

Sehen wir uns als Beispiel einen weitverbreiteten und mittlerweile als unsicher eingestuften Hashalgorithmus an: MD5. Wendet man MD5 auf den Text „password“ an, ergibt sich als Hashwert „5f4dcc3b5aa765d61d8327deb882cf99“.

Eine kleine Änderung im Originaltext führt zu einem vollkommen anderen Hashwert. Dies ist eine weitere nützliche Eigenschaft von Hashfunktionen: Auf Grundlage des Eingabewerts lässt sich nicht sagen, wie der Ausgabewert aussieht.

So lautet der MD5-Hash für „passwore“ (mit „e“ statt „d“) „a826176c6495c5116189db91770e20ce“, was dem Hash für „password“ nicht ähnelt.

Wenn sich ein Benutzer einloggt, wird das Klartext-Passwort gehasht und der ermittelte Hashwert mit dem in der Datenbank gespeicherten Hashwert (der verschlüsselten Version des Passworts) verglichen. Sind die beiden Werte identisch, darf sich der Benutzer einloggen.

Wie kann es sein, dass Passwörter, die mit einem unumkehrbaren Algorithmus von Klartext in unvorhersehbaren Code verwandelt wurden, dennoch geknackt werden können? Was macht ältere Hashalgorithmen wie MD5 anfällig?

Salzstreuer
Salzstreuer

Salting und Hashing

Heißt das, dass Hashen für die meisten Passwörter nutzlos ist? Nein! Die gute Nachricht ist, dass Programmierer mehrere kluge Techniken entwickelt haben, um das Ermitteln des Passwort-Hashs zu erschweren. Oft wird eine Hashfunktion (Streuwertfunktion) mehrfach angewendet, um die Zeit zu erhöhen, die es zur Überprüfung eines Passworts braucht, und dadurch Brute-Force-Attacken zu verlangsamen.

Eine weitere Methode, mit der Programmierer Passwörter schützen, ist das sogenannte Salting. Dabei wird ein spezieller Wert, der Salt (Salz) genannt wird, zum Klartext hinzugefügt, nachdem der Nutzer das Passwort eingegeben hat, aber bevor es gehasht wird, um so die Nutzung vorberechneter Hashes aus Rainbow Tables zu verhindern. Durch den Salt-Wert sind Rainbow Tables nutzlos, sodass er auf einfache Weise vor solchen Angriffen schützt.

Im Beispiel mit dem MD5-Hashalgorithmus: Fügt man den zufälligen Salt-Wert „xhsr2d“ zum Klartext „password“ hinzu, ergibt sich MD5(„xhsr2dpassword“) und daraus der wiederum der Hash „ebf20a6c99eccaefa0bf4d88a5bd3456“. Dieser Ausgabewert unterscheidet sich vollkommen vom oben erwähnten ursprünglichen MD5-Hash für „password“, den jeder Hacker in einer Rainbow Table im Internet finden könnte. Durch das Salting des Passworts lässt sich der entsprechende Klartext für den Hash selbst dann nicht herausfinden, wenn eine Rainbow Table mit vorberechneten Hashes für jedes mögliche Passwort aus höchstens 10 Kleinbuchstaben vorliegt.

Da vorberechnete Hashes nicht mehr funktionieren, müssen Angreifer auf Brute-Force-Attacken zurückgreifen, um codierte Hashs in einer Datenbank zu hacken.

Bei einem Brute-Force-Angriff, auch „Methode der rohen Gewalt“ oder „Exhaustionsmethode“ genannt, wird die Rechenleistung von Computern genutzt, um systematisch verschiedene Hashes durchzuprobieren, bis die passende Kombination aus Passwort und Hash gefunden wird. Hashfunktionen beruhen darauf, wie schwer es ist, zwei verschiedene Nachrichten zu erstellen, die denselben Hashwert ergeben. Dies wird als Kollision bezeichnet. Wenn die Hashfunktion mit roher Gewalt zur Generierung von gleichen Werten für verschiedene Eingabewerte gezwungen werden kann, gilt sie als geknackt.

Sie als Nutzer eines Online-Dienstes können üblicherweise nicht sicherstellen, dass die Entwickler entsprechende Schutzmaßnahmen getroffen haben. Sie sollten also davon ausgehen, dass möglicherweise Rainbow Tables zur Ermittlung Ihres Passworts verwendet werden. In der Praxis heißt das, dass Sie längere Passwörter bevorzugen sollten, da Rainbow Tables hierfür quasi nutzlos sind. Denken Sie an das obige Beispiel: Indem Sie Ihr Passwort 7 Zeichen länger machen, erschweren Sie das Knacken um ein Vielfaches!

Next section
IV. Tipps zum Erstellen sicherer Passwörter