2. Mai 2024

Was ist ein sicheres Passwort? – Teil 1: Angriffe

Passwörter sind ein alltägliches Werkzeug, um sich selbst und die eigene „digitale Identität“ auszuweisen. Beispiele für ihre Anwendung gibt es viele, angefangen vom Login des Betriebssystems bis hin zu diversen Online-Dienstleistungen wie Online-Banking, E-Mail, Online-Shops oder soziale Medien.

All diese Beispiele haben eins gemeinsam: Das eigene Passwort muss „sicher“ sein, denn wenn es erraten werden kann, können auch Unbefugte Zugriff auf das Benutzerkonto erhalten (außer es wird eine Mehrfaktor-Authentifizierung genutzt – dazu später mehr).

Aber was ist überhaupt ein „sicheres Passwort“? Empfehlungen dazu gibt es viele, doch häufig sind diese veraltet oder gar falsch. Anstatt hier aber einzelne Empfehlungen zu diskutieren, möchten wir Sie mit dieser Blogserie viel mehr in die Lage versetzen selbst zu verstehen, welche Eigenschaften ein Passwort erfüllen sollte und vor allem warum.

Dazu müssen wir zuerst verstehen, wie Passwörter überhaupt angegriffen werden. Denn ein Passwort kann nur dann als „sicher“ eingestuft werden, wenn es nicht effizient durch gängige Angriffe erraten werden kann.

Von Brute Force bis Social Engineering

Das typische Szenario ist wie folgt: Zuerst wird ein Benutzerkonto angelegt, zusammen mit einem zugehörigen Passwort. Entweder, indem man das Konto selbst registriert oder es von jemand anderem erstellt wird. Die Benutzerdaten (zu denen das Passwort gehört) werden dann in einer Datenbank gespeichert. Diese liegt natürlich nicht bei den Benutzer:innen, sondern wird von dem:der Anbieter:in des Diensts verwaltet.

Um sich einzuloggen, muss man seinen Kontonamen mit dem vorher festgelegten Passwort in eine Loginmaske eingeben. Danach wird das eingegebene Passwort mit dem gespeicherten Passwort verglichen. Stimmen sie überein, wird der Zugriff auf das Konto gestattet, ansonsten nicht.

Das Ziel von Angreifer:innen ist es, irgendwie ein Passwort zu erraten, um unerlaubt auf ein Benutzerkonto zuzugreifen. Entweder indem gezielt ein spezifisches Konto angegriffen wird oder vermeidlich „wahllos“ eine große Anzahl an Konten.

Die legitime Loginmöglichkeit ermöglicht es dabei auch Dritten zu testen, ob sie das richtige Passwort erraten können: Man gibt einfach einen Kontonamen mit irgendeinem Passwort ein. Liegt man richtig, wird man eingeloggt, ansonsten nicht.

Genau diesen Umstand machen sich die folgenden, eher technischen, Angriffsarten zunutze:

  • Brute Force: Bei dieser Angriffsart geht man ohne viel Überlegung vor. Es werden einfach alle möglichen und denkbaren Zeichenfolgen durchprobiert, in der Hoffnung, dass man irgendwann das richtige Passwort findet.
  • Wörterbuchangriffe: Anstatt alle möglichen Zeichenfolgen auszuprobieren, bedient man sich einer Liste (dem „Wörterbuch“) von Passwörtern und probiert nur diese aus, die auf der Liste stehen. Hierzu können beispielsweise Listen der am häufigsten verwendeten Passwörter verwendet werden. Solche Listen sind im Internet frei verfügbar.
  • Credential Stuffing: Es kommt immer wieder vor, dass komplette Datenbanken mit gespeicherten Passwörtern entwendet werden. Angreifer:innen können dann versuchen, die darin gespeicherten Kombinationen aus Benutzernamen und Passwörtern für andere Dienste zu verwenden.

Angenommen, die Datenbank einer Bank wird entwendet. Dann ist es lohnenswert zu probieren, ob man sich mit den darin enthaltenen Daten auch in gängigen Online-Shops anmelden kann. Da viele Benutzer:innen ein und dasselbe Passwort für verschiedene Dienste verwenden, sind diese „Credential Stuffing“ Angriffe häufig erfolgreich.

  • Password Stuffing: Anstatt nur einen Benutzernamen anzugreifen, wird hier ein und dasselbe (geratene) Passwort für viele verschiedene Konten probiert, in der Hoffnung, dass es für ein Konto passen wird.

Bei all diesen Angriffstypen kann auch Hintergrundwissen mit einfließen: Erlaubt der Login nur Passwörter mit bis zu 12 Zeichen, so wäre es eine Zeitverschwendung Passwörter auszuprobieren, die diese Grenze überschreiten. Kennt man Informationen über die angegriffene Person, wie das Geburtsdatum, Vor- oder Nachname, Adresse, persönliche Interessen usw., so ist es sinnvoll, diese in die Angriffe mit einzubeziehen, da viele Benutzer diese Daten häufig in ihrem Passwort verwenden (typisches Beispiel: „maxMustermann1983!“).

Die bisher genannten Angriffe zielen alle direkt auf die technische Umsetzung des Logins ab. Gerade beim Thema Passwortsicherheit darf aber der „Faktor Mensch“ nicht unbeachtet bleiben. Denn Angreifer versuchen gezielt durch Betrug und Manipulation Benutzer:innen dazu zu verleiten, ihr geheimes Passwort zu verraten. Diese Angriffsarten, bei der der Mensch das Ziel ist, werden als Social Engineering bezeichnet.

Besonders relevant für die Sicherheit von Passwörtern ist dabei das Phishing. Hier wird über betrügerische E-Mails, Websites oder Kurznachrichten versucht, Benutzer:innen dazu zu bringen, ihre Passwörter zu offenbaren. Ganz typisch ist der folgende Ablauf:

  • Man erhält eine E-Mail, die vorgibt von einem Online-Shop zu sein. Häufig mit einem dringlichen Aufruf wie „Sehr geehrter Kunde, aus technischen Gründen müssen wir Ihre Identität bestätigen, bitte folgen Sie dazu diesem Link“. Die E-Mail ist dabei so gestaltet, wie eine echte Mail vom echten Online-Shop und auch die Absenderadresse wird so gefälscht, dass sie nur schwer von der echten Adresse unterschieden werden kann.
  • Klickt man auf den Link, so gelangt man auf eine Website, die vortäuscht die echte Online-Shop Seite zu sein. Tatsächlich handelt es sich aber um eine betrügerische Seite.
  • Gibt man nun auf dieser Seite sein Passwort ein, so wird dies direkt an die Angreifer:innen geschickt. Diese verwenden es dann im Nachgang.

Online oder Offline – welcher Angriffsweg darf es sein?

Nachdem wir die gängigen Angriffstechniken besprochen haben, ist es noch wichtig zu verstehen, dass es für die technischen Angriffe prinzipiell zwei verschiedene Angriffswege gibt.

Bei „Online“-Angriffen versucht man durch die direkte Interaktion mit dem Login-Portal das Passwort anzugreifen. Man verwendet also dieselbe Anmeldefunktion, die auch legitime Benutzer:innen verwenden würden. Für Online-Angriffe eigenen sich alle oben genannten Angriffswege.

Der Vorteil aus Angreifersicht ist, dass dieser Angriffsweg technisch sehr einfach umsetzbar ist. Man benötigt nur Zugriff auf das Login-Portal. Der entscheidende Nachteil ist aber, dass hierzu mit einem System interagiert werden muss, welches man nicht unter seiner eigenen Kontrolle hat. Denn typischerweise sind diese Systeme (hoffentlich!) mit Schutzmechanismen ausgestattet, die den Angriff erheblich erschweren. Beispielsweise könnte das Login-Portal nach fünf falschen Loginversuchen das Konto für einige Minuten sperren, was Angriffe stark ausgebremst. Insofern diese Schutzmechanismen gut implementiert sind und nicht umgangen werden können, können so also die technischen Angriffe erheblich erschwert werden.

Der zweite Angriffsweg sind die sogenannten „Offline“-Angriffe. Anstatt die Loginmaske zu verwenden, versuchen die Angreifer:innen zuerst (etwa über andere Schwachstellen) die Datenbank zu kopieren, in denen die Passwörter gespeichert sind.

Nachdem dies gelungen ist,  kann man nun versuchen, aus der Datenbank die Passwörter zu extrahieren. Im schlimmsten Fall sind die Passwörter völlig unverarbeitet im Klartext gespeichert und können einfach ausgelesen werden. Dies ist heutzutage aber nur noch selten der Fall, stattdessen werden Passwörter so gespeichert, dass sie nicht einfach gelesen werden können (wie das geht, besprechen wir in einem späteren Teil dieser Blogserie).

Die Angreifer können nun aber versuchen, diese Schutzmechanismen zu umgehen, um dennoch die Passwörter aus der Datenbank zu extrahieren. Hierfür können die gleichen Angriffstechniken wie für „Online“-Angriffe verwendet werden. Jedoch findet diesmal der komplette Angriff auf dem eigenen System statt und kann völlig ungestört durchgeführt werden. Betreiber:innen haben nur vorab Möglichkeiten, den Angriff zu erschweren. Sobald Angreifende aber im Besitz aller notwendigen Daten sind, die für einen Angriff benötigt werden, ist keine Interaktion mit dem echten Loginportal mehr notwendig, entsprechend greifen dessen Schutzmechanismen nicht mehr. Der Angriff kann also „offline“ durchgeführt werden.

Damit dies möglich ist, müssen aber natürlich erst andere Angriffswege identifiziert werden, um überhaupt Zugriff auf die Datenbank zu erhalten. „Offline“-Angriffe sind also nicht immer möglich, aber leider durchaus sehr realistisch, wie viele Datenlecks zeigen. Es gibt verschiedene Portale, die solche Leaks sammeln und Abfragen ermögliche, so z. B. beim Hasso-Plattner-Institut. Dort sind – Stand 02.05.2024 – 13.437.662.331 hinterlegt.

Gerade diese Unterscheidung zwischen „Online“ und „Offline“ wird bei vielen Passwortratgebern häufig vergessen. Viele Passwort-Ratgeber geben Ratschläge, die gut gegen Online-, aber nicht effizient gegen Offline-Angriffen schützen. Um sich selbst effektiv zu schützen sollten wir jedoch auch vom Worst-Case ausgehen und auch damit rechnen, dass die Datenbank „geleakt“ werden kann. Denn auch in diesem Fall möchten wir nicht, dass Angreifer:innen leicht an unser Passwort kommen.

Wie geht’s weiter?

Im nächsten Eintrag dieser Blogserie werden wir untersuchen, welche Erfolgschancen die besprochenen Angriffstypen haben. Da diese Erfolgschancen dabei maßgeblich davon abhängen, welche Art von Passwörtern verwendet werden, wird uns dieses Wissen dann dabei helfen zu verstehen, wie ein „sicheres“ Passwort aussehen sollte.