17Aug

Warum Sie sich Sorgen machen sollten, wenn die Passwortdatenbank eines Dienstes durchgesickert ist

click fraud protection

gib dein Passwort ein

"Unsere Passwortdatenbank wurde gestern gestohlen. Aber keine Sorge: Ihre Passwörter wurden verschlüsselt. "Solche Aussagen sehen wir regelmäßig online, auch gestern von Yahoo. Aber sollten wir diese Zusicherungen wirklich für bare Münze nehmen?

Die Realität ist, dass die Passwort-Datenbank ein Anliegen ist, egal wie ein Unternehmen versucht, es zu drehen. Aber es gibt ein paar Dinge, die Sie tun können, um sich zu isolieren, egal wie schlecht die Sicherheitspraktiken eines Unternehmens sind.

Wie Passwörter gespeichert werden sollten

So sollten Unternehmen Passwörter in einer idealen Welt speichern: Sie erstellen ein Konto und geben ein Passwort ein. Anstatt das Passwort selbst zu speichern, generiert der Dienst einen "Hash" aus dem Passwort. Dies ist ein eindeutiger Fingerabdruck, der nicht rückgängig gemacht werden kann. Zum Beispiel kann das Passwort "password" in etwas verwandelt werden, das eher wie "4jfh75to4sud7gh93247g. .." aussieht. Wenn Sie Ihr Kennwort eingeben, um sich anzumelden, generiert der Dienst einen Hash daraus und überprüft, ob der Hashwert mit dem in der Datenbank gespeicherten Wert übereinstimmt. Zu keinem Zeitpunkt speichert der Dienst Ihr Passwort selbst auf der Festplatte.

instagram viewer

kryptographische Hash-Funktion

Um ein tatsächliches Kennwort zu ermitteln, muss ein Angreifer mit Zugriff auf die Datenbank die Hashwerte für allgemeine Kennwörter vorberechnen und anschließend prüfen, ob sie in der Datenbank vorhanden sind. Angreifer tun dies mit Nachschlagetabellen - riesige Listen von Hashes, die mit Passwörtern übereinstimmen. Die Hashes können dann mit der Datenbank verglichen werden. Zum Beispiel würde ein Angreifer den Hash für "password1" kennen und dann sehen, ob irgendwelche Konten in der Datenbank diesen Hash verwenden. Wenn dem so ist, kennt der Angreifer sein Passwort "password1".

Um dies zu verhindern, sollten Dienste ihre Hashes "salzen".Anstatt einen Hash aus dem Passwort selbst zu erstellen, fügen sie eine zufällige Zeichenfolge am Anfang oder Ende des Kennworts hinzu, bevor sie es hashen. Mit anderen Worten, ein Benutzer würde das Passwort "password" eingeben und der Dienst würde das sal- und hash-Passwort hinzufügen, das mehr wie "password35s2dg" aussieht. Jedes Benutzerkonto sollte sein eigenes eindeutiges Salz haben, und dies würde sicherstellen, dass jedes Benutzerkontowürde einen anderen Hash-Wert für ihr Passwort in der Datenbank haben. Selbst wenn mehrere Konten das Kennwort "password1" verwenden, haben sie aufgrund der unterschiedlichen Salzwerte unterschiedliche Hashwerte. Dies würde einen Angreifer besiegen, der Hashwerte für Kennwörter vorberechnen wollte. Anstatt Hashes zu generieren, die auf alle Benutzerkonten in der gesamten Datenbank angewendet werden, müssen sie für jeden Benutzeraccount und seine eindeutige Spalte eindeutige Hashes generieren. Dies würde viel mehr Rechenzeit und Speicher benötigen.

Aus diesem Grund sagen Dienste oft keine Sorge. Ein Service, der angemessene Sicherheitsverfahren verwendet, sollte sagen, dass er gesalzene Passwort-Hashes verwendet hat. Wenn sie nur sagen, dass die Passwörter "Hashed" sind, ist das besorgniserregender. LinkedIn Hashes ihre Passwörter, zum Beispiel, aber sie nicht gesalzen-so war es eine große Sache, als LinkedIn 6,5 Millionen Hash Passwörter im Jahr 2012 verloren.

Bad Password Practices

Klartext-Passwort-Datenbank

Dies ist nicht die schwierigste zu implementieren, aber viele WebsitesSie können es trotzdem auf verschiedene Arten kaputt machen:

  • Speichern von Passwörtern im Nur-Text-Format : Statt sich mit Hashing zu beschäftigen, können einige der schlimmsten Übeltäter die Passwörter einfach im Klartext in eine Datenbank ablegen. Wenn eine solche Datenbank kompromittiert wird, sind Ihre Kennwörter offensichtlich kompromittiert. Es wäre egal, wie stark sie waren.
  • Hacken der Passwörter, ohne sie anzusprechen : Einige Dienste können die Passwörter hashen und aufgeben, indem sie sich dafür entscheiden, keine Salze zu verwenden. Solche Passwortdatenbanken wären sehr anfällig für Nachschlagetabellen. Ein Angreifer könnte die Hashwerte für viele Kennwörter generieren und dann prüfen, ob sie in der Datenbank vorhanden sind - sie könnten dies für jeden Account auf einmal tun, wenn kein Salz verwendet wird.
  • Wiederverwendung von Salts : Einige Dienste verwenden möglicherweise ein Salz, aber sie können dasselbe Salz für jedes Benutzerkontokennwort wiederverwenden. Dies ist sinnlos - wenn für jeden Benutzer das gleiche Salt verwendet wird, haben zwei Benutzer mit demselben Passwort den gleichen Hash.
  • Verwendung von kurzen Salzen : Wenn Salze von nur wenigen Stellen verwendet werden, wäre es möglich, Nachschlagetabellen zu erzeugen, die jedes mögliche Salz enthalten. Wenn beispielsweise eine einzelne Ziffer als Salz verwendet wird, könnte der Angreifer leicht Listen von Hashwerten erzeugen, die jedes mögliche Salz enthalten.

Unternehmen werden Ihnen nicht immer die ganze Geschichte erzählen. Selbst wenn sie also sagen, dass ein Passwort gehashed( oder gehackt und gesalzen) wurde, verwenden sie möglicherweise nicht die Best Practices. Immer auf der sicheren Seite bleiben.

Andere Probleme

Es ist wahrscheinlich, dass der Salt-Wert auch in der Kennwortdatenbank vorhanden ist. Das ist gar nicht so schlimm - wenn ein einzelner Salt-Wert für jeden Benutzer verwendet würde, müssten die Angreifer riesige Mengen an CPU-Leistung ausgeben, um all diese Passwörter zu brechen.

In der Praxis verwenden so viele Leute offensichtliche Passwörter, dass es wahrscheinlich einfach ist, die Passwörter vieler Benutzerkonten zu bestimmen. Wenn ein Angreifer beispielsweise Ihren Hash kennt und Ihr System kennt, kann er leicht überprüfen, ob Sie einige der am häufigsten verwendeten Kennwörter verwenden.

Wenn ein Angreifer die Möglichkeit hat, Ihr Passwort zu knacken, können sie es mit roher Gewalt tun, solange sie den Salt-Wert kennen - was sie wahrscheinlich tun. Mit lokalem Offline-Zugriff auf Passwortdatenbanken können Angreifer alle gewünschten Brute-Force-Angriffe einsetzen.

Andere persönliche Daten sind wahrscheinlich auch dann verloren, wenn eine Passwortdatenbank gestohlen wird: Benutzernamen, E-Mail-Adressen und mehr. Im Falle des Yahoo-Lecks wurden auch Sicherheitsfragen und -antworten durchgesickert - was, wie wir alle wissen, es einfacher macht, den Zugriff auf das Konto eines anderen zu stehlen.

Hilfe, was soll ich tun?

Was auch immer ein Dienst sagt, wenn seine Passwort-Datenbank gestohlen wird, ist es am besten anzunehmen, dass jeder Dienst komplett inkompetent ist und entsprechend handelt.

Erstens, verwenden Sie keine Passwörter auf mehreren Websites. Verwenden Sie einen Passwort-Manager, der eindeutige Kennwörter für jede Website generiert. Wenn ein Angreifer erkennt, dass Ihr Kennwort für einen Dienst "43 ^ tSd% 7uho2 # 3" lautet, und Sie nur dieses Kennwort auf dieser einen bestimmten Website verwenden, haben sie nichts Nützliches gelernt. Wenn Sie überall dasselbe Passwort verwenden, können Sie auf Ihre anderen Konten zugreifen. So werden die Accounts vieler Personen "gehackt".

generate-random-password

Wenn ein Service kompromittiert wird, müssen Sie das dort verwendete Passwort ändern. Sie sollten auch das Passwort auf anderen Websites ändern, wenn Sie es dort wiederverwenden - aber Sie sollten das nicht an erster Stelle tun.

Sie sollten auch eine Zwei-Faktor-Authentifizierung in Betracht ziehen, die Sie schützt, selbst wenn ein Angreifer Ihr Passwort lernt.

VERWANDTE ARTIKEL
Warum sollten Sie einen Passwort-Manager verwenden und wie
gestartet wird Was ist Zwei-Faktor-Authentifizierung, und warum brauche ich es?

Das Wichtigste ist, dass keine Passwörter wiederverwendet werden. Kompromittierte Passwortdatenbanken können Sie nicht verletzen, wenn Sie überall ein eindeutiges Passwort verwenden - es sei denn, sie speichern etwas anderes Wichtiges in der Datenbank, wie Ihre Kreditkartennummer.

Bildquelle: Marc Falardeau auf Flickr, Wikimedia Commons