it-swarm-eu.dev

Zurücksetzen des Passworts - Welche Vorgehensweisen sollten Webdienste befolgen?

Viele von Ihnen haben vielleicht gesehen Wie Apple und Amazon-Sicherheitslücken zu meinem epischen Hacking führten , wo die Amazon-, Apple-, Gmail- und Twitter-Konten eines verkabelten Reporters erfolgreich gehackt wurden Der Hacker folgte einer ausführlichen Abfolge von Schritten, wobei er bei jedem Schritt den Kennwortwiederherstellungsprozess bei einem Webdienst verwendete, um Informationen zu erhalten, die erforderlich waren, um das Konto des Reporters beim nächsten Webdienst anzugreifen. Der Angreifer konnte die Variation zwischen verschiedenen Diensten erfolgreich ausnutzen. Anforderungen an das, was sie benötigen, um ein Zurücksetzen des Passworts durchzuführen, seinen Angriff zu verketten und schließlich erfolgreich einen katastrophalen Angriff auf den armen Wired-Reporter zu starten.

Welche Vorgehensweisen sollten Webdienste vor diesem Hintergrund befolgen, um die Funktionalität zum Zurücksetzen von Kennwörtern zu schützen und das Wiederauftreten eines solchen Fehlers zu verhindern? Was muss die Branche tun, um sicherzustellen, dass dies nicht noch einmal passiert?

26
D.W.

Ich habe tatsächlich an einigen Ideen in diesem Bereich gearbeitet, daher hier ein Überblick über meine bisherigen Gedanken. Ich entschuldige mich im Voraus für die lächerliche Länge dieser Antwort.

Mechanismen zum Zurücksetzen von Passwörtern müssen unter Berücksichtigung von drei Hauptzielen entwickelt werden:

  • Sicherheit
  • Benutzerfreundlichkeit
  • Verlässlichkeit

Für einen guten Mechanismus müssen wir ein Gleichgewicht zwischen den drei erreichen.

Einige Aussagen, die ich machen möchte, bevor ich anfange:

Richtig, zur eigentlichen Antwort!


1. Multi-Faktor-Authentifizierung

Multi-Faktor-Authentifizierung (MFA) ist eine der sichersten Methoden zur Kontowiederherstellung und zur menschlichen Authentifizierung im Allgemeinen. Für diejenigen unter Ihnen, die mit MFA nicht vertraut sind, gilt das Prinzip, dass Sie mehr als einen Berechtigungsnachweis haben müssen, um sich zu authentifizieren:

  • Etwas, das Sie wissen (z. B. Passwort, geheime Antwort)
  • Etwas, das Sie haben (z. B. Schlüssel, Hardware-Token usw.)
  • Etwas, das Sie sind (z. B. Fingerabdruck)

Es ist zu beachten, dass ein Vielfaches eines Typs, z. Zwei Passwörter oder ein Passwort und eine PIN zählen nicht als MFA. Ich sehe dich an, Online-Banking-Sites.

1.1. Etwas, das du weißt

Wenn Sie ein Kennwort zurücksetzen, können Sie den Benutzer häufig authentifizieren, indem Sie ihm einige Fragen stellen. Leider sind diese Fragen normalerweise Dinge wie "Auf welche Schule bist du gegangen?" und "Wie lautet der Mädchenname Ihrer Mutter?", die für Angreifer unglaublich einfach über soziale Netzwerke herauszufinden sind. Darüber hinaus mögen es viele Benutzer nicht, diese Fragen bei der Anmeldung zu beantworten, sodass sie nur eine Reihe von Tasten drücken und den Zweck der Frage ungültig machen.

Bei E-Commerce-Webanwendungen und anderen Webanwendungen, in denen private persönliche Informationen (z. B. Adresse/Telefonnummer) gespeichert sind, kann nach diesen Informationen gefragt werden. Beachten Sie jedoch, dass diese Informationen möglicherweise auch online verfügbar sind.

Eine Alternative wäre, kontextbezogene Fragen zu stellen, basierend auf der Erfahrung des Benutzers auf der Website. Beispielsweise fordert Hotmail eine E-Mail-Adresse an, mit der Sie kürzlich kommuniziert haben, sowie einige andere Informationen zu Aktivitäten in Ihrem Konto. Dies ist für die meisten Arten von Webanwendungen recht anpassungsfähig, aber nicht immer anwendbar.

1.2. Etwas was du hast

Oft beschreiben Websites das Versenden eines Links oder eines Einmalkennworts per E-Mail an Ihre E-Mail-Adresse als eine Form von MFA. Ich behaupte, dass dies eine falsche Annahme ist. Benutzer teilen Passwörter zwischen Konten. Dies ist eine absolute Tatsache, und Sie können es nicht verhindern. Daher müssen Sie davon ausgehen, dass ein Angreifer bereits Zugriff auf die E-Mail-Adresse des Benutzers hat. Wir werden später auf die Auswirkungen eingehen.

Die Verbreitung von Mobiltelefonen hat sie zu einem großartigen Mechanismus für die Zwei-Faktor-Authentifizierung als Form der Out-of-Band-Überprüfung gemacht. SMS Token zum Zurücksetzen sind für den Benutzer leicht zu verstehen und zu verwenden, und ein Angreifer, der Zugriff auf das Telefon hat, ist unwahrscheinlich. Diese Methode ist jedoch nicht fehlerfrei. Das größte Problem ist, wenn ein Benutzer verliert Dies macht das Telefon als verwendbares Rücksetzgerät vollständig ungültig. Ein weiteres Problem besteht darin, dass Benutzer ihr Telefon nicht immer bei sich haben.

Die Verwendung einer App auf Smartphones behebt dieses Problem teilweise. Wenn ein Benutzer seinen Anbieter wechselt, bleibt die App auf dem Telefon. Das Zulassen von SMS- und App-basierten Zurücksetzungen ermöglicht eine angemessene Erwartung an Zuverlässigkeit.

Alternativ können Sie dem Benutzer erlauben, ein Login-Provider-Konto (z. B. OpenID) zuzuordnen und eine gültige Anmeldung für dieses Konto als Beweis für "etwas, das Sie wissen" zu verwenden.

Andere mögliche Mechanismen:

  • Physisches Token (z. B. RSA SecurID , USB-Token) - für die meisten Orte nicht genau geeignet, aber für Banken, interne Unternehmenssysteme und andere Hochsicherheitssituationen nützlich.
  • Datei - Zufällig generierte Datei, die dem Benutzer bei der Anmeldung übergeben wird. Hash in Datenbank gespeichert. Beim Zurücksetzen wurde der Benutzer aufgefordert, eine Datei anzugeben. Nicht die beste Benutzerfreundlichkeit oder Sicherheit, aber potenziell nützlich.

1.3. Etwas was du bist

Hier wird es lustig und Science-Fiction. Biometrische Authentifizierung ist etwas, das in letzter Zeit populärer geworden ist. Nicht wenige Laptops verfügen über Fingerabdruckscanner, und Sie können günstige USB-Laptops für relativ geringe Kosten erwerben. Ein weiterer beliebter biometrischer Mechanismus ist die Gesichtserkennung per Webcam. Beide sind in Bezug auf Sicherheit hervorragend, wenn sie richtig gemacht werden, aber beide haben ein paar Probleme:

  • Die meisten Implementierungen sind probabilistisch und daher unsicher. Was hindert einen Angreifer daran, ein Foto Ihres Gesichts vor die Kamera zu halten?
  • Sie können sich nicht darauf verlassen, dass jeder Benutzer über einen Fingerabdruckscanner verfügt, und diejenigen, die nicht alle miteinander kompatibel sind. Darüber hinaus stellen Sie eine Schnittstelle zur Hardware her, sodass eine native App erforderlich ist, um mit Ihrer Webanwendung zu kommunizieren.
  • Das Gebiet der Biometrie ist relativ neu, daher gibt es keine gut gealterten, ordnungsgemäß untersuchten Implementierungen mit vollständig verstandenen Sicherheitsmodellen.

Alles in allem dient das Modell "Etwas, das Sie sind" zur persönlichen Identifizierung, ist jedoch für Webanwendungen nur dann realisierbar, wenn Sie Ihren Kunden Fingerabdruckscanner und geeignete Software zur Verfügung stellen.

1.4. Best Practices für MFA

Die Einzelfaktorauthentifizierung reicht nicht aus. Wie wir aus allthekürzlichSicherheitsverletzungen gesehen haben, ist es schwierig, Passwörter sicher zu halten, und selbst wenn sie ' erneut gehasht können sie immer noch gebrochen werden. MFA ist für sowohl Login als auch Passwortwiederherstellung erforderlich. Die mobile Authentifizierung für Wiederherstellungszwecke löst die meisten Probleme, solange das mobile Gerät noch verwendet werden kann. Wenn eine mobile Authentifizierung nicht möglich ist, müssen Sie über einen manuellen Überprüfungsprozess verfügen, bei dem ein Mensch davon überzeugt werden muss, dass er der echte ist Deal.


2. Mechanismen zurücksetzen

Es gibt eine Vielzahl verschiedener Methoden zum Zurücksetzen von Passwörtern, von denen viele in Bezug auf die Sicherheit weit hinterherhinken. Ich werde einige diskutieren, die ich in freier Wildbahn gesehen habe, ihre guten und schlechten Punkte erklären und einige bessere vorschlagen.

2.1. Senden Sie das Passwort per E-Mail zurück

Der grundlegendste Mechanismus besteht darin, nur das Passwort des Benutzers per E-Mail an ihn zu senden. Bitte mach das nie . Es ist schrecklich nermesslich . Erstens müssen Sie Kennwörter im Klartext oder zumindest in einem umkehrbaren Format speichern. Sie müssen Hash-Passwörter richtig und folgen Best Practices für das Salzen . Zweitens senden Sie das Kennwort des Benutzers im Klartext, über ein Klartextprotokoll und über das Internet per E-Mail. Es gibt eine besondere Ebene der Hölle, die den Leuten vorbehalten ist, die dies tun.

2.2. Ein neues Passwort generieren

Einige Websites generieren ein neues zufälliges Passwort, hashen es und senden es per E-Mail an den Benutzer. Dies ist aus mehreren Gründen keine gute Idee, obwohl die meisten von ihnen auf irgendeine Weise gemildert werden können. Das grundlegendste Problem ist, dass Sie ein verwendbares Kennwort im Klartext per E-Mail an einen Benutzer senden. Andere Probleme mit dieser Methode sind:

  • Viele Benutzer sind faul, einige werden zurückgesetzt und weisen den Browser an, sich das zufällige Passwort zu merken.
  • Viele Websites zwingen Sie nicht, das Passwort bei der ersten Verwendung des Passworts zu ändern.
  • Ein Angreifer, der Zugriff auf das E-Mail-Konto hat, hat Zugriff auf das Kennwort, unabhängig davon, mit welchen Mechanismen Sie den Benutzer überhaupt authentifiziert haben.

2.3. Der Reset-Link

Dies ist einer der besseren (und zum Glück populäreren) Mechanismen. Dabei wird der Benutzer authentifiziert und anschließend ein einmaliger Link zum Zurücksetzen per E-Mail gesendet. Sobald der Reset-Link verwendet wird, wird der Benutzer aufgefordert, ein neues Kennwort festzulegen. Sobald dies erledigt ist, ist der Link ungültig. Weitere Sicherheit kann bereitgestellt werden, indem Ablaufzeiten in die Links aufgenommen werden und erzwungen wird, dass der Link ungültig ist, nachdem das Kennwort festgelegt wurde oder , nachdem die Sitzung des Benutzers abgelaufen ist.

Der Nachteil dieser Methode ist, wenn wir uns an unsere frühere Annahme erinnern. Das E-Mail-Konto des Benutzers ist nicht sicher. Es zählt nicht als "etwas, das Sie wissen". Obwohl das Zeitfenster eines Angreifers kurz ist, kann er dennoch einbrechen. Natürlich wird all dies weiter ungültig, wenn (oder vielmehr wenn) der Benutzer sein E-Mail-Passwort vergisst.

2.4. Verlasse niemals die Seite

Dies ist eigentlich der heilige Gral, kann aber nur zusammen mit einer starken Multi-Faktor-Authentifizierung verwendet werden. Sobald sich der Benutzer mithilfe einer Kombination aus Sicherheitsfragen, Out-of-Band-Überprüfungen (z. B. Mobiltelefonen), Schlüsseldateien, biometrischen Daten, menschlicher Überprüfung usw. authentifiziert, werden sie sofort zu einem Kennwortänderungsformular umgeleitet. Dadurch wird die Notwendigkeit, E-Mail-Adressen zu verwenden, vollständig umgangen.

Wenn Sie wirklich der Meinung sind, dass die Verwendung einer E-Mail-Adresse zum Senden eines Links erforderlich ist, sollten Sie eine Option zum Zurücksetzen ohne E-Mail in Betracht ziehen, die die Anzahl der zu übergebenden Prüfungen erhöht.


3. Fazit

Es ist schwierig, Sicherheit, Benutzerfreundlichkeit und Zuverlässigkeit im besten Fall in Einklang zu bringen, aber diese Situation betrifft direkt einen Benutzer, der sich bereits als unzuverlässig erwiesen hat. Ich sage das nicht in einem abwertenden Sinne, sondern dass wir alle fehlbar sind.

Es ist wichtig, ein System zum Zurücksetzen von Passwörtern benutzerfreundlich und einfach zu halten, ohne die Sicherheit zu beeinträchtigen. Überlegen Sie sich, was Sie schützen, bevor Sie einen umfassenden 3-Faktor-Authentifizierungsprozess für jeden Aspekt Ihrer Webanwendung implementieren. Wenn Sie nur ein kleines Unternehmen sind, das Dinge online verkauft, können Sie wahrscheinlich mit einem grundlegenden 2-Faktor für die Wiederherstellung davonkommen. Wenn Sie ein großer Einzelhändler, eine Bank oder eine Website für soziale Netzwerke sind, sollten Sie bei der Wiederherstellung einen starken 2-Faktor (jeweils mehrere Typen) und bei Anmeldungen aus nicht erkannten Quellen einen 2-Faktor verwenden.

In einem Satz: Halten Sie es einfach, denken Sie an Ihr Publikum.

27
Polynomial

Das Problem beim "epischen Hacken" war, dass mehrere Konten (Twitter, Google Mail) mit einem Konto (icloud) verknüpft waren, das dann kompromittiert wurde, sodass die Hacker Links zum Zurücksetzen von Passwörtern für die verknüpften Konten anfordern und abfangen konnten.

Wenn Sie sich vor einem solchen Szenario schützen möchten (bei dem ein E-Mail-Konto, das als Referenz für andere Konten verwendet wird, gefährdet ist), gibt es imho keine andere Möglichkeit als die Verwendung der 2-Faktor-Authentifizierung, wie sie von Google angeboten wird. Wenn das durch Social Engineering erhaltene temporäre Passwort an das Mobiltelefon des Inhabers des icloud-Kontos gesendet worden wäre, wäre nichts davon geschehen.

7
twobeers

Meiner Meinung nach kann ein Webdienst aus einem einfachen Grund, dem Benutzer, nichts mehr tun, um die Funktionalität zum Zurücksetzen von Passwörtern zu schützen.

Lassen Sie uns überlegen, was meiner Meinung nach die häufigste Form des Zurücksetzens von Passwörtern ist: die geheime Frage. Es gibt 2 Szenarien, die normalerweise ablaufen.

1) Beantworten Sie die Frage wahrheitsgemäß - viele Benutzer wählen diese Route. Leider sind Antworten auf die meisten geheimen Fragen unglaublich einfach aus dem Internet zu finden. Informationen wie Ihre erste Schule oder der Mädchenname Ihrer Mutter sind kaum ein Geheimnis. Angreifer können solche Informationen leicht durch einfache Online-Suche ausgraben. Dies macht die geheime Frage so gut wie nutzlos.

2) Beantworten Sie die Frage mit Müll und vergessen Sie dann die Antwort - die meisten Leute, die ich kenne, tun dies, einschließlich mir. Dies macht die geheime Frage effektiv unbrauchbar, da sie nicht zur Bestätigung der Rechtmäßigkeit der Anforderung zum Zurücksetzen des Passworts verwendet werden kann.

Der beste Weg, um mit der geheimen Frage umzugehen, wäre, sie mit Müll zu beantworten, aber schreiben Sie sie irgendwo auf, damit Sie sie nicht vergessen. Die meisten Benutzer werden dies jedoch nicht tun, hauptsächlich aufgrund der Tatsache, dass ihnen die Sicherheit erst wichtig ist, wenn etwas passiert.

Was sind andere gängige Methoden, um ein Zurücksetzen des Passworts auszulösen?

E-Mail - Viele Dienste verknüpfen Ihr Konto mit einer "Wiederherstellungs" -E-Mail. Was passiert jedoch, wenn Sie das Kennwort für die Wiederherstellungs-E-Mail vergessen haben? Es ist eine nie endende Kette.

Viele der sichereren Methoden wie die Zwei-Faktor-Authentifizierung sind für die Benutzer problematisch. Webdienste müssen Usability vs. Sicherheit berücksichtigen. Was bringt es schließlich, einen nicht hackbaren Webdienst zu haben, wenn niemand ihn verwendet?

Der Hauptfehler in diesem Artikel besteht darin, dass der Autor mehrere Konten mit einer E-Mail verknüpft hatte, wodurch der Angreifer alle seine Online-Konten problemlos kompromittieren konnte. Versuchen Sie so weit wie möglich, Ihre Online-Identitäten zu dezentralisieren. Dies liegt jedoch in der Verantwortung des Benutzers.

So sehr wir glauben möchten, dass Sicherheit das Hauptanliegen von Webdiensten sein sollte, müssen wir den Standpunkt der Benutzerfreundlichkeit berücksichtigen. Die Sicherheit insgesamt wird sich erst verbessern, wenn die Endbenutzer erkennen, wie wichtig sie ist, und Maßnahmen ergreifen, um sich selbst zu schützen. Schließlich kann ein Dienstleister nur so viel.

6
user10211

In der Praxis nutzten sie seine E-Mail, um alles zu hacken. Wenn Sie Ihre E-Mails also am besten alleine, mit intelligenter Intrusion Detection und vor Kennwortwiederherstellung geschützt halten, wird ein solcher Hack in diesem Fall verhindert.

Gleiches gilt für Ihre Daten in der Cloud. Intelligente Verschlüsselung und Systemschutz wie die Schlüsselverwaltung sind wichtig, um die Sicherheit sowie die Remote-Backups und Snapshots zu gewährleisten. Daher ist eine Verkettung einfach nicht möglich.

Diese zwei Schlüsseldokumente und die Kommunikation müssen sicher sein, daher ist sie nicht für die Cloud für den professionellen Gebrauch geeignet, da sie von jemandem gelöscht werden und das war's. Verwenden Sie am besten eine geschäftliche/persönliche Domain, die Sie legal wiederherstellen können.

Wenn Sie es rechtlich, physisch und mit intelligenter Automatisierung schützen, können Sie es für geschäftliche Zwecke verwenden. Wenn Sie gehackt wurden, sollte die Kennwortwiederherstellung per E-Mail bekannt sein. In Ihrer Webmail sollten Sie die Kennwortwiederherstellung in einem anderen Postfach filtern müssen über ssh zugreifen, um sicher zu sein.

Was ist mit Apfel? Dies passiert, wenn Sie Hardware für Kinder mit Apple Fernbedienung) verwenden. Es ist eine gute Lösung für den iPod, aber es funktioniert nicht in der realen PC-Welt. Wie alle verärgert waren, als Microsoft Daten sammelte, aber jetzt Apple hat alle Anwendungen unter Kontrolle und es ist bis zu einem gewissen Grad in Ordnung, aber hauptsächlich für den Spaß zu Hause und die Unterhaltung, keine professionelle Arbeit. Der Sicherheitssprung von OSX ist riesig und überhaupt nicht überraschend dass das OSX plattformübergreifend gehackt wurde.

Für eine sichere E-Mail ist es am besten, eine Domain in einem seriösen Unternehmen zu haben, damit sie nicht auch gehackt werden kann.

2
Andrew Smith