Zum Inhalt springen Zur Navigation springen
Credential Stuffing: Einordnung und Maßnahmen zur Prävention

Credential Stuffing: Einordnung und Maßnahmen zur Prävention

Beim Credential Stuffing probiert ein Angreifer sich unerlaubt Zugang zu Systemen zu verschaffen. Wenn wir etwas gegen Credential Stuffing tun wollen, dann müssen wir uns in die Rolle des Angreifers versetzen. Was braucht er für seinen Cyberangriff, was hilft ihm, und was wird der Angreifer bei seinem Vorhaben möglicherweise als störend empfinden?

Was ist Credential Stuffing?

Beim Credential Stuffing benutzt der Angreifer Anmeldedaten (Benutzername, Mailadresse oder Kennung mit dem zugehörigen Passwort), die an anderer Stelle, in einem anderen gehackten System, abgeflossen bzw. gestohlen und bekannt geworden sind.

Das Ziel des Angreifers beim Credential Stuffing ist es, eine gültige Anmeldung durchzuführen, sich damit als normaler Benutzer im System zu bewegen. Credential Stuffing ist laut Verizon Data Breach Investigations Report 2024 die häufigste Form von Angriffen auf (Web-) Anwendungen, die im Internet erreichbar sind.

Was ist ein Hash?

Dies führt direkt zu der Frage: Woher weiß der Hacker eigentlich, dass er das richtige Passwort gefunden hat?

Passwörter werden üblicherweise als Hash gespeichert. Das ist das Ergebnis eines Berechnungsverfahrens, mit dem aus einer beliebigen Zeichenkette ein immer gleich langer, mathematisch nachweisbar individueller Wert erzeugt wird.

Das Passwort ‚1234‘ wird mit bcrypt zu $2y$10$ED3q6ejRWZuhyBYve.MJuOZqZNYU4gL520Gg/NQtNoo.MqCKlX8cS, die Passphrase ‚Sommer-Waldmeister-Grünfink‘ wird zu $2y$10$T.yrF4pCLm5PO1ztw94kBOtnGg2yoFgjZL6XYTsy7aNyeSM1THmrC.

Jede neue Verschlüsselung mit bcrypt wird zu einem anderen Wert führen. Es reicht also nicht aus, einfach nur alle möglichen Passwörter zu verschlüsseln und dann nach dem passenden Hash zu suchen. Zur Überprüfung muss man bcrypt das Klartext-Passwort und den Hash übergeben. Als Antwort bekommt man stimmt oder stimmt nicht.

Es gibt neben bcrypt noch andere, neuere Verfahren zum Hashing von Passworten, deren Eignung in der Technischen Richtline BSI TR-02102-1 „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“ oder der NIST Special Publication 800-63B beschrieben sind.

Woher kommen die Daten?

Die Arbeit, solche Listen zusammenzustellen, muss man sich als Hacker nicht selbst machen. Man kann sie kaufen. Es gibt Data Broker, die umfangreiche Listen mit Millionen von Benutzerkennungen und Passwörtern als Hash oder im Klartext anbieten. Ebenso existieren umfangreiche Listen von Klartext-Passwörtern, die bei Einbrüchen abhandengekommen sind.

„Normale“ Einbrüche

Benutzerlisten mit der Kombination aus Benutzerkennung und verschlüsseltem Passwort werden beim Einbruch in Systeme erbeutet, die zwar in Bezug auf die Speicherung der Anmeldedaten die Mindestanforderungen erfüllen, aber dennoch eine Schwachstelle aufweisen, die den Abzug der Datenbank mit den Anmeldedaten ermöglichte.

„Unwichtige“ Systeme oder Systeme mit kurzer Lebenszeit

Die unverschlüsselte Speicherung von Passworten ist eigentlich selbst bei Amateuren inzwischen verpönt. Es kommt aber immer noch vor, das vermeintlich ‚unwichtige‘ Systeme die Anmeldedaten unverschlüsselt ablegen. Wenn so ein System dann, vielleicht auch wegen seiner geplant kurzen Lebensdauer, auch noch relativ ungeschützt betrieben wird, kann die Benutzerliste leicht abhandenkommen.

Dies ist insbesondere dann kritisch, wenn die Liste Passwörter enthält, die auch an anderer Stelle verwendet werden.

Phishing Kampagnen

Hier geht es in erster Linie um den Zugang zu einem bestimmten System, nämlich dem, dessen Anmeldeseite man imitiert. Der große Vorteil beim Phishing ist aber auch, dass man über die imitierte Anmeldung eine Kombination aus Kennung und unverschlüsseltem Passwort erhält. Diese Kombination kann man möglicherweise auch woanders verwenden, oder die Liste an Data Broker verkaufen.

Ablauf des Angriffs

Auch Hacker optimieren ihre Angriffe. Sie versuchen zunächst Kombinationen aus Kennung und Passwort zu finden, die zu dem angegriffenen System passen könnten. Wenn die Kennung eine Mailadresse ist, dann sollte die Domain als Teil der Adresse ein gutes Filterkriterium sein. Für andere Kennungen muss der Angreifer vielleicht etwas kreativer werden, um vermutlich gültige Kennungen zu finden. Ein schöner Hinweis findet sich üblicherweise auf der Website des Unternehmens. Unter Kontakt oder Impressum sind oft Mailadressen zu finden, die Rückschlüsse auf den verwendeten Standard erlauben.

Online – Initialer Angriff

Für den initialen Angriff muss der Hacker erst einmal überhaupt in das System gelangen. Dafür braucht er eine gültige Kombination aus Kennung und unverschlüsseltem Passwort. Solche Login-Versuche passieren bei öffentlich zugänglichen Systemen wie Web-Frontends ständig. Die Gefahr, hier entdeckt zu werden, ist tatsächlich allein aufgrund der Masse der Angriffe relativ gering.

Zur Steigerung der Effektivität gibt es Services, mit denen der Hacker den Angriff zeitlich und auf eine Vielzahl von unterschiedlichen IP-Adressen verteilen kann. Es ist dann nicht so tragisch, wenn das angegriffene System einen Rechner wegen zu vieler ungültiger Anmeldungen blockiert. Grundsätzlich läuft die Attacke unvermindert weiter.

Offline – Ausweitung der Rechte

Wenn er sich schon im angegriffenen System aufhält, findet er vielleicht dort eine interne Liste verschlüsselter Passworte für den Zugang interner Services. Er muss nur das Passwort finden, das zu dem Hash, und damit zu der Kennung, passt.

Das lässt sich unter Nutzung von Passwortlisten sehr gut offline erledigen. Es verursacht so keine Aufmerksamkeit. Der Hacker muss nicht befürchten, bei seiner Aktivität entdeckt zu werden. Erst wenn er das Passwort für einen interessanten Account gefunden hat, kommt er zurück und probiert es aus.

Warum ist das so einfach?

Viele Anwender benutzen für die Anmeldung in unterschiedlichen Systemen immer das gleiche Passwort. Wenn ein Dienst gehackt wird, dann landen das Passwort oder die Benutzerliste mit den Hashes bei den Databrokern im Darknet. Und von dort wird es weiter verkauft und von Angreifern benutzt.

Maßnahmen zum Schutz von Passwörtern

Der Schutz von Passwörtern ist von entscheidender Bedeutung, um Credential Stuffing zu verhindern.

Trennung von privater und dienstlicher Nutzung

Ausgehend von der Vermutung, dass man eher im privaten und nicht so sehr im dienstlichen Bereich kleinere Webservices wie Gewinnspiele oder Angebotskampagnen nutzt, sollte die dienstliche Mailadresse unbedingt nur sehr eingeschränkt und bewusst im öffentlichen Bereich eingesetzt werden.

Bei jeglicher Anmeldung bei Webservices muss geprüft werden, ob die Anmeldung wirklich erforderlich ist und ob dafür die Firmen-Email verwendet werden sollte. Dies ist insbesondere dann wichtig, wenn auch im dienstlichen Umfeld die Firmen-Email als Kennung genutzt wird.

Starke und einzigartige Passwörter

Insbesondere bcrypt und neuere, von bcrypt abgeleitete Algorithmen sind absichtlich darauf ausgelegt, relativ langsam und in Bezug auf CPU-Leistung und Hauptspeichernutzung ressourcenhungrig zu sein.

Ein langes Passwort wird, unabhängig von seiner Komplexität, für die Überprüfung des Hashes deutlich länger brauchen. Dies ist aber nur für Brute Force-Attacken relevant, bei denen der Hacker alle möglichen Kombinationen durchprobiert.

Solange er nur Listen bekannter Passworte mit den Hashes abgleicht, spielen Länge und Komplexität nur eine untergeordnete Rolle, denn hier reicht ihm eine einzige Überprüfung.

Die Regel, dass ein starkes Passwort mindestens 12 Zeichen lang und eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthalten sollte ist deshalb nicht falsch. Sie greift aber eigentlich nur bei Brute Force Angriffen.

Viel wichtiger ist die Einzigartigkeit von Passwörtern. Um die Angriffe über Listen gestohlener Passwörter zu vermeiden, darf das gleiche Passwort niemals an mehreren Stellen verwendet werden. Nur so lässt ich verhindern, dass das Passwort, das an einer Stelle verloren ging, an anderer Stelle für einen erfolgreichen Angriff verwendet wird.

Bei der Einzigartigkeit von Passworten gilt es noch zu bedenken, dass viele an sich hinreichend komplexe Passworte wie z.B. Sommer-2018! gar nicht so komplex sind. Sie genügen einfach nur den Regeln, werden deshalb relativ häufig verwendet und sind deshalb in den Passwort-Cracklisten längst vorhanden, also unsicher.

Was kann man tun?

Es gibt mehrere Möglichkeiten, Anmeldeverfahren besser abzusichern als mit einem Passwort.

Zwei-Faktor-Authentifizierung (2FA) einrichten

Dies ist die einfachste und wirksamste Lösung. Egal, was Sie umsetzen, mit der Zwei-Faktor-Authentifizierung über Token, Authenticator-App, SMS oder PIN per Mail: Machen Sie das, was in Ihrem Umfeld geht. Der grundsätzliche Gewinn an Sicherheit ist so groß, dass die Unterscheide der einzelnen Verfahren zweitrangig werden. 2FA ist nicht narrensicher, es gibt Schwachstellen. Aber jede Zwei-Faktor-Authentifizierung ist besser als keine. Sie machen es immer dem Hacker richtig schwer.

Passkeys verwenden

Passkeys sind der automatisierte, komfortable Weg des Passwort-Managers. Ein Passkey ist ein automatisch generierter Schlüssel, der immer dann verwendet wird, wenn man sich an der Anwendung anmelden möchte, für die der Schlüssel generiert wurde. Weil Passkeys automatisch, ohne Interaktion des Benutzers erstellt werden, sind sie garantiert komplex und einzigartig. Und sie werden nicht an zentraler Stelle gespeichert, sondern auf dem Endgerät des Benutzers. Für die Verwendung von Passkeys muss der Benutzer den Entsperrcode für sein Gerät eingeben, oder sich biometrisch authentifizieren. Die Anmeldung mit einem Passkey ist aktuell für Systeme, die von einer unbestimmten Vielzahl von Nutzern erreichbar sein sollen, das bevorzugte Verfahren.

Passwort-Manager bereitstellen

Wenn 2FA oder Passkeys nicht gehen, dann

  • erzwingen Sie beim Login lange, komplexe Passwörter.
  • richten Sie für Ihre Mitarbeiten einen Passwort-Manager ein, der leicht zu bedienen ist.
  • schulen Sie ihre Mitarbeiter in der Bedienung des Passwort-Mangers. Auch dann, wenn er eigentlich idiotensicher ist. Ihre Mitarbeiter haben andere Aufgaben, als von sich aus die Bedienung des Passwortmanagers zu ergründen.
  • rufen Sie ihre Mitarbeiter dazu auf, den Vorschlag des Passwort-Managers zu akzeptieren. Denn dieses Passwort wird einzigartig und angemessen sicher sein.

 Überwachung und Erkennung

Nutzen Sie Systeme, die ungewöhnliche Anmeldeaktivitäten erkennen und Angreifer blockieren. Der Nutzen mag bei der Vielzahl der Angreifer und der Häufigkeit der Angriffe überschaubar sein, aber wenn Sie nur den EINEN Versuch blockieren, der erfolgreich gewesen wäre, dann haben Sie ihr Zeil erreicht.

 Verschlüsselung und sichere Speicherung

Das Passwörter immer als sichere Hash (salted) gespeichert werden müssen, ist eine Selbstverständlichkeit. In den OWASP Cheat sheet series  findet sich eine Liste empfohlener Verfahren und Links zu den Anforderungen von NIST (NIST SP 800-63B) und FIPS-140.

Ein Anmeldeverfahren mit Benutzerkennung und Passwort ist, unabhängig von der Länge und der Komplexität des Passwortes, nicht mehr der Stand der Technik. Insbesondere für Systeme, die aus dem Internet erreichbar sind, stellt allein die Masse der verfügbaren Anmeldeinformationen eine erhebliche Bedrohung dar. Die Bedrohung ist tatsächlich so groß, dass man zu der Meinung kommen könnte, dass das Passwort eigentlich gar keine Rolle mehr spielt. (Your pa$$word doesn’t matter)

Informieren Sie sich über unsere praxisnahen Webinare
  • »Microsoft 365 sicher gestalten«
  • »Informationspflichten nach DSGVO«
  • »Auftragsverarbeitung in der Praxis«
  • »DSGVO-konformes Löschen«
  • »IT-Notfall Ransomware«
  • »Bewerber- und Beschäftigtendatenschutz«
Webinare entdecken
Mit dem Code „Webinar2024B“ erhalten Sie 10% Rabatt, gültig bis zum 31.12.2024.
Beitrag kommentieren
Fehler entdeckt oder Themenvorschlag? Kontaktieren Sie uns anonym hier.
Die von Ihnen verfassten Kommentare erscheinen nicht sofort, sondern erst nach Prüfung und Freigabe durch unseren Administrator. Bitte beachten Sie auch unsere Nutzungsbedingungen und unsere Datenschutzerklärung.