Standardmäßig "E-Mail bereits vergeben" beim Registrieren verbergen

Hintergrund

Unter den aktuellen Standardeinstellungen wird beim Registrieren eines Kontos mit einer bereits registrierten E-Mail-Adresse das Registrierungsformular darüber informieren:

Wir ändern die Standardeinstellung, um diese Information nicht mehr preiszugeben. Stattdessen wird das Registrierungsformular unabhängig davon, ob die E-Mail-Adresse bereits registriert ist oder nicht, wie folgt aussehen:

Dies wirkt sich auch auf ähnliche Weise auf Passwort-Resets aus. Wenn die Einstellung deaktiviert ist, gibt das Formular sofort Feedback, dass die E-Mail im System vorhanden ist:

Wenn die Einstellung aktiviert ist, werden diese Informationen nicht preisgegeben:

Warum ändern wir das?

Ein böswilliger Akteur kann dieses Feedback nutzen, um eine Account Enumeration durchzuführen, wodurch er erfährt, ob bestimmte Benutzer in diesem Forum existieren, und diese Benutzer dann mit Phishing angreifen kann.

Wird sich das negativ auf legitime Benutzer auswirken?

Der Fall hier ist, wenn ein Benutzer vergisst, dass er bereits ein Konto hat, und versucht, sich mit derselben E-Mail-Adresse zu registrieren oder sein Passwort zurückzusetzen, was eine relativ seltene Situation sein sollte. Aber selbst dann erhält er eine E-Mail, die ihn darüber informiert, dass er bereits ein Konto hat.

Die Änderung beeinträchtigt letztendlich nicht die Fähigkeit legitimer Benutzer, sich zu registrieren oder auf ihre Konten zuzugreifen.

Aber ich bevorzuge die alte Standardeinstellung

Wenn Sie diese Einstellung jemals geändert haben, wird die neue Standardeinstellung die benutzerdefinierte Einstellung nicht überschreiben. Wenn Sie zur alten Standardeinstellung zurückkehren möchten, können Sie die Einstellung hide_email_address_taken wieder auf false setzen.

Hinweis: Wir erwägen, diese Website-Einstellung in Zukunft aus der Admin-Einstellungsseite auszublenden.

10 „Gefällt mir“

Was passiert, wenn der Benutzer die E-Mail-Adresse, die er zur Anmeldung verwendet hat, falsch erinnert?

Angenommen, der Benutzer glaubt, er habe sich als example@gmail.com angemeldet, aber er hat sich tatsächlich als example@yahoo.com angemeldet. Er wird versuchen, ein Passwort zurückzusetzen, indem er die E-Mail-Adresse example@gmail.com angibt, aber es gibt kein Konto mit dieser E-Mail-Adresse.

Wenn ein Konto mit ted@discourse.org übereinstimmt, erhalten Sie in Kürze eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts.

Wenn der Benutzer in diesem Fall einfach keine E-Mail erhält, dann wird er nie wissen, dass er die falsche E-Mail-Adresse angegeben hat, und wird nicht wissen, wann/ob er es mit einer anderen E-Mail-Adresse erneut versuchen soll.

Stattdessen sollte die Nachricht einfach lauten: “Sie sollten in Kürze eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts erhalten”, und der Benutzer sollte eine E-Mail erhalten, die erklärt: “Jemand hat ein Passwort-Reset für example@gmail.com angefordert, aber es gibt kein Konto mit dieser E-Mail-Adresse.”

Dies wird niemandem die Durchführung einer Kontoaufzählung ermöglichen, aber es würde dem Benutzer ermöglichen zu wissen, dass er die falsche E-Mail-Adresse eingegeben hat, und eine andere zu versuchen.

5 „Gefällt mir“

Das Problem bei diesem Ansatz ist, dass er böswilligen Akteuren ermöglicht, E-Mails an Adressen zu senden, die noch nie mit Ihrer Instanz interagiert haben oder die nicht existieren.

Dies könnte zu einer viel höheren Anzahl von gesendeten E-Mails führen, was potenziell hohe Kosten verursacht. Es könnte auch zu einer erheblichen Zunahme von Benutzern führen, die Spam melden, und zu einer höheren Absprungrate, was dazu führen könnte, dass Betreiber wie Gmail E-Mails von Ihnen auf die schwarze Liste setzen.

5 „Gefällt mir“

Angreifer konnten das bereits tun, indem sie einfach neue Konten registrierten. Wenn der Angreifer 100.000 E-Mail-Adressen kennt, kann er 100.000 Konten registrieren, und Discourse sendet jedem von ihnen eine Aktivierungs-E-Mail, die jeder Benutzer als Spam melden könnte.

Das Senden von E-Mails wie “Passwort kann nicht zurückgesetzt werden, Ihr Konto existiert nicht” an E-Mail-Adressen von Konten, die nicht existieren, macht diesen Angriff weder einfacher noch schwieriger.

Dieser Angriff ist für die meisten Websites kein Problem, aber wenn Sie sich Sorgen machen, sollten Sie das Discourse hCaptcha Plugin verwenden, das die Kosten für den Angreifer erhöht. (Meta verwendet es nicht; die meisten von Discourse gehosteten Foren verwenden es nicht.)

Ich denke, wenn Discourse meinen Vorschlag annimmt, E-Mails wie “Passwort kann nicht zurückgesetzt werden, Ihr Konto existiert nicht” an E-Mail-Adressen von Konten zu senden, die nicht existieren, wäre es sinnvoll, wenn das hCaptcha-Plugin sowohl für das Passwort-Zurücksetzungsformular als auch für das Registrierungsformular funktioniert. (Ich selbst würde hCaptcha trotzdem nicht benötigen/verwenden.)

3 „Gefällt mir“

Ja, das ist richtig. Ich habe nur den Fall für sich allein betrachtet und nicht andere Bereiche berücksichtigt, in denen dies bereits möglich und, wie sich herausstellt, völlig unpraktisch zu verhindern ist.

Wissen sie das nicht?

  1. Ich habe mein Passwort vergessen und möchte Zugriff auf diese Seite. Ich gebe die E-Mail-Adresse ein, von der ich denke, dass sie richtig ist.
  2. Ich erhalte keinen Link zum Zurücksetzen des Passworts.

Jetzt weiß ich automatisch eine von zwei Optionen: Entweder habe ich die falsche E-Mail-Adresse eingegeben, oder die Seite funktioniert nicht richtig.

Meine Optionen sind jetzt: eine andere E-Mail-Adresse ausprobieren oder jemanden kontaktieren, der die Seite betreibt.

Mit Ihrem Vorschlag erhalte ich nun eine E-Mail, die mir mitteilt, dass das Konto nicht existiert. Meine Optionen sind, eine andere E-Mail-Adresse auszuprobieren oder jemanden zu kontaktieren, der die Seite betreibt. Es ist derselbe Endpunkt mit 0 zusätzlichen Schritten.

1 „Gefällt mir“

Außer… die meisten normalen Benutzer denken nicht so, oder überhaupt nicht.

1 „Gefällt mir“