5/6/2021

PASSWORTSICHERHEIT

Anlässlich des "Welt Passwort Tags" bringt euch unser Auszubildender Martin das Thema Passwortsicherheit näher. Dabei geht es um den Begriff „Passwortstärke“ und darum, wie Passwörter sicher gespeichert werden. Außerdem erhaltet ihr einen Einblick darin, was Brute-Force-Attacken sind und was Rainbowtables damit zu tun haben. Und natürlich Tipps und Empfehlungen für die Sicherheit eurer Passwörter.

Zurück zur Übersicht
Allgemein

DIE PASSWORTERSTELLUNG: WARUM DER AUFWAND?

PASSWORTSCHUTZ

Ein wirklich sicheres Passwort gibt es nicht. Mit genügend Rechenaufwand oder Zeit, kann jedes Passwort geknackt werden. Da dies aber eine eher theoretische Möglichkeit ist, sollte man es Angreifer:innen so schwer wie möglich machen.

Jeder kennt aus dem Anmeldeprozess auf E-Commerce Plattformen Vorgaben wie diese:

  • Das Passwort sollte mindestens 10 Zeichen lang sein
  • Bitte verwende mindestens einen Großbuchstaben, Zahlen und Sonderzeichen
  • Verwende keine Wörter, keine Namen und keine persönlichen Daten

Diese werden mittlerweile innerhalb der DSGVO auch vorgeschrieben, um ein Mindestmaß an Datensicherheit zu erreichen.

Denn zunächst einmal ist das Passwort an sich eine relativ unsichere Authentifizierungsmethode: Sobald jemand an dein Passwort gelangt ist, hat er oder sie in der Regel die volle Kontrolle über den betreffenden Account. Sollte ein:e Angreifer:in zum Beispiel das Passwort für deinen E-Mail-Account in die Finger bekommen, kann er oder sie sich über die „Passwort vergessen“ Funktion, die nahezu jede Plattform bietet, Zugang zu einigen weiteren Accounts verschaffen. Vor allem, wenn es sich um einen Google Account handelt, könnten Angreifer:innen zusätzlich auf deine Standortdaten, Suchverläufe oder deinen Youtube Account zugreifen. Dein E-Mail-Konto sollte also mit einem besonders starken Passwort ausgestattet werden, denn es bildet einen Knotenpunkt zu vielen weiteren Accounts und Möglichkeiten.

Passwortspeicherung und Brute-Force-Attacken

Kommen wir nun zu etwas Unschönem: Man liest immer wieder von Datenleaks, davon dass Angreifer:innen Millionen von Datensätzen erbeuten konnten. Das trifft zum Teil sogar große Plattformen, wie zum Beispiel Twitter. Doch was passiert eigentlich mit den so gesammelten Daten?

In der Regel handelt es sich bei den Daten um sogenannte Passworthashes. Erstellt man einen Account im Internet, wird zum Beispiel die E-Mail-Adresse leserlich in der Datenbank gespeichert. Dein Passwort wird vorher aber (in der Regel), mit einem Hashalgorithmus verschlüsselt. Diese Verschlüsselung ist asynchron und damit nicht umkehrbar. Man kann also das Passwort nicht mehr anhand der entstehenden Zeichenkette zurück errechnen, sondern man muss es erraten.

Früher war der MD5 Algorithmus ein beliebte Art Passwörter zu hashen. Er wandelt das von dem oder der Nutzer:in eingegebene Passwort immer in eine 32stellige Hexadezimal Zeichenfolge um. Egal ob dein Passwort 6 Zeichen oder 36 hat, am Ende wird ein Hash mit 32 Zeichen daraus.

Und hier kommt die Brute-Force-Attacke ins Spiel. Angreifende können auf ihrem System nun systematisch Zeichenketten hashen, um sie mit den gefundenen Werten aus der Datenbank zu vergleichen. Je nach verwendetem Algorithmus können sie mehrere Milliarden Hashes pro Sekunde bilden! Finden sie dabei Übereinstimmungen, können sie sich mit der E-Mail-Adresse und der Zeichenkette, die den gleichen Hash gebildet hat wie dein Passwort, in deinen Account einloggen. Dabei muss es sich nicht zwingend um das von dir gewählte Passwort handeln, denn bei der Umwandlung von Zeichenketten können sogenannte Kollisionen auftreten. Verschiedene Zeichenketten können den gleichen Hashwert ergeben. Bei MD5 ist das häufiger der Fall als bei aktuellen Verfahren, daher wurde er abgelöst und sollte nicht mehr verwendet werden.

In Rainbowtables sind bereits Milliarden dieser Hashwerte generiert worden, so dass ein einfacher Abgleich genügt. Viel zu oft hat man bereits damit Erfolg, denn viele User benutzen Worte oder Zusammensetzungen, die in Wörterbüchern vorkommen oder die einen persönlichen Bezug haben. Flasche12! erfüllt eigentlich die Vorgaben, ist aber trotzdem kein starkes Passwort.

Passwortstärken lassen sich sogar berechnen – Und zwar so:

Bei „Flasche12!“ haben wir aus einem Pool von 95 Zeichen gewählt und es hat eine Länge von 10 Zeichen. Die Berechnungsdauer hängt von der Rechenleistung ab, kann heutzutage für MD5 aber schnell mehrere Milliarden pro Sekunde betragen. In dem Beispiel möchte ich mit 10 Milliarden pro Sekunde rechnen, aktuelle Grafikkarten schaffen das.

Damit ist 9510 die Anzahl aller möglichen Kombinationen. Bei 10 Milliarden Hashs pro Sekunde würde es also maximal ca. 189 Jahre dauern, dieses Passwort zu knacken. Je schlechter die Entropie, desto wahrscheinlicher ist es, dass bereits die Hälfte der Versuche zum Erfolg führt. Aufgrund erwähnter Rainbowtables wird es aber innerhalb kürzester Zeit gelingen, dieses Passwort zu knacken.

Es zeigt sich, dass die Länge entscheidend ist. Nehmen wir als Passwort „MamaTubaParkuhr“, ergibt sich folgendes:

Der Zeichenpool wird kleiner und beträgt jetzt 52, aber die Anzahl der Zeichen ist gestiegen. Man erhält 5215 verschiedene Kombinationen und daraus ergibt sich analog zu eben eine Berechnungszeit von 174 Millionen Jahren.

Passwortstärke und Entropie

Die Entropie (Maß für den Informationsgehalt eines Zeichensystems) sollte bei Passwörtern möglichst groß sein und wird in Bit angegeben. Um das zu erreichen, sollten die Zeichen so zufällig wie möglich sein und keinerlei Zusammenhang haben. Daher fallen Worte und kurze Phrasen raus. Genauso die Leet-Speak (hier werden Buchstaben mit Zahlen oder Sonderzeichen ersetzt). Denn auch diese wird in Rainbowtables bereits oftmals berücksichtigt und entsprechende Hashwerte erzeugt. Aus Passwort kann man P@$$W0R7 machen. Das sieht sicher aus, ist es aber nicht. Ein Passwortgenerator erzeugt zum Beispiel folgendes Passwort: „dCU*xNXBHjc0j2%Z“.

Das ist nicht leicht zu merken, aber wenn man einen Passwortmanager nutzt, muss man sich nur noch dieses eine, starke Passwort merken.

Die Entropie berechnet sich mit folgender Formel: b*log2(a)=E, dabei ist:

a die Anzahl der Zeichen die zur Verfügung stehen
b die Länge des Passwortes
E = Entropie
Für Passwörter werden in der Regel Zahlen (0-9), Buchstaben (a-z und A-Z) und 32 verschiedene Sonderzeichen verwendet. Damit kommt man auf a = 94. Wählen wir ein 10 Zeichen langes Passwort ergibt das den folgenden Wert für die Entropie:

10*log2(94) = 65,55

Wenn wir nun den Zeichenpool verringern indem wir die Sonderzeichen weglassen, aber das Passwort verlängern, erreichen wir damit trotzdem eine höhere Entropie, siehe:

12*log2(62) = 71,45

Auch hier zeigt sich, dass die Länge mehr Einfluss auf die Sicherheit des Passwortes hat als die zur Verfügung stehenden Zeichen.

Empfehlungen für ein starkes Passwort

  • Man sollte überall, wo es möglich ist die Zwei-Faktor-Authentifizierung wählen. Dadurch muss man nicht nur das Passwort (Wissen) knacken, sondern auch noch eine zweite Sicherheitsmaßnahme umgehen, was die Sache deutlich schwerer macht. Zum Beispiel euer Fingerabdruck (Biometrisch), oder euer Smartphone (Besitz).
  • Niemals das gleiche Passwort für mehrere Accounts benutzen, dass macht es Angreifer:innen besonders leicht.
  • Je länger das Passwort, desto sicherer. Auch wenn das Passwort dann weniger komplex ist, steigt der Rechenaufwand mit der Länge. Ab 16 Zeichen und aufwärts steigt die benötigte Zeit enorm, solange man starke Zeichenketten verwendet.
  • Passwortmanager nutzen. Diese generieren immer wieder möglichst zufällige (Stichwort Entropie) und relativ lange Zeichenketten, bei denen es mit heutiger Rechenleistung quasi unendlich lange dauern würde, bis die richtige Zeichenfolge gefunden wird.
  • Plattformen können mit Blacklists verhindern, dass Benutzer:innen neue Accounts mit bereits früher kompromittierten Passwörtern anlegen. Damit wird Passwort-Spraying verhindert. Bei dieser Methode werden wenige, aber dafür oft verwendete Passwörter mit vielen verschiedenen Accounts online getestet.
  • Sicherheitsfragen zur Account-Wiederherstellung sollten niemals wahrheitsgemäß, sondern kryptisch beantwortet werden. Viele Antworten auf solche Fragen könnten Angreifer:innen ansonsten deinen Social Media Accounts entnehmen.
  • Bedenken muss man allerdings auch, dass die Sicherheit vor allem auch vom Anbieter abhängig ist. Ich kann mir ein noch so starkes Passwort generieren, wenn es dann im Klartext in die Datenbank wandert und diese geklaut wird, hilft das beste Passwort nicht.
folge uns auf:
FRISCHE BRISE FÜR DEIN POSTFACH
Wir informieren dich monatlich über digitale Trendthemen, neue Technologien, spannende Projekte und aktuelle Jobs bei der brandung. Lass dich erfrischen!