Frage:
Was bringt es, willkürliche Anforderungen an Benutzernamen zu haben?
Chris Cirefice
2014-08-29 08:39:19 UTC
view on stackexchange narkive permalink

Ich habe mich in Security.SE umgesehen, aber im Zusammenhang mit dem folgenden Problem nicht viel gefunden:

Ich habe mich kürzlich für Chase Quick Pay als meine Methode angemeldet von einem Teilzeitjob bezahlt zu werden. Ich habe von dummen Passwortanforderungen gehört, aber niemals dummen Benutzernamen .

Als ich mich anmeldete, habe ich das nicht getan. Berücksichtigen Sie nicht wirklich, wie seltsam es war (ich hätte es wirklich tun sollen, weil ich meinen Benutzernamen in den letzten 3 Monaten aufgrund der Richtlinie zweimal vergessen habe):

enter image description here

Jetzt hat mich die Stack Exchange-Engine so freundlich in Richtung einer Frage mit einer guten Antwort von @Polynomial geführt, die alles im ersten Satz sagt:

Die Authentifizierungsstärke sollte vom Kennwort und nicht vom Benutzernamen abhängen.

Einfach ausgedrückt: Was bringt es, solche Anforderungen an einen Benutzernamen zu haben?

Bearbeiten : Gibt es zur Verdeutlichung echte Sicherheitsvorteile für diese Art von Benutzernamenanforderungen?

Bonus : Ich habe mir gerade die Sicherheitsrichtlinien für Benutzernamen und Kennwörter meiner eigenen Bank angesehen und Folgendes festgestellt (nicht so ungewöhnlich):

enter image description here

Hinweis : Ich verstehe den Grund, 'X' als ersten Buchstaben nicht zuzulassen, nicht wirklich ... jeden, der antworten kann das bekommt eine +10!

enter image description here

Ich weiß, dass die Passwortlänge begrenzt werden sollte und darüber diskutiert wird, aber eine maximale Passwortlänge hat den Eindruck, dass es sich überhaupt nicht um Hashing-Passwörter handelt.
Ich würde wetten, dass das X ein Hack ist, mit dem sie gelöschte Benutzerkonten markieren, weil sie vergessen haben, eine Spalte für den Benutzerstatus hinzuzufügen. Sie würden also "peter" in "Xpeter" ändern, um es aus dem Weg zu räumen. Dies bedeutet, dass Sie Ihren Primärschlüssel tatsächlich auswählen, wenn Sie einen Benutzernamen auswählen, anstatt ein ID-Feld und ein separates Benutzernamenfeld zu haben. Ich habe das mehr als einmal gesehen (obwohl ich keine Erfahrung mit Banken habe ...)
Weil es Ihnen von denselben Leuten gebracht wurde, die SSN für einen guten Authentifikator halten? (Entschuldigung; ich konnte einer bissigen Antwort nicht widerstehen.)
@moopet Sie haben wahrscheinlich Recht mit dem "X", aber ich möchte * wirklich * glauben, dass Banken bessere Architekten haben als das ... Ich meine, in meinem allerersten realen Projekt habe ich über Dinge wie den Benutzerstatus nachgedacht, Welche Spalten sollten (minimal) in einer Tabelle für "Benutzer" usw. enthalten sein? Ich würde hoffen, dass ein DBA für eine Nationalbank es auch richtig machen würde, wenn ich das noch während des Studiums richtig machen könnte. Vielleicht sind meine Hoffnungen zu groß? Oder gab es früher eine technologische Einschränkung?
Ich kann nicht mit dem Buchstaben x beginnen, nur um xXxMilfBanger420xXx zu ärgern, der das fünfte dritte Entwicklerteam bei Halo schlägt, obwohl er 12 Jahre alt ist. Ich nehme bitte meine +10.
@corsiKa Eine theoretische +10, weil mich das bei der Arbeit lol gemacht hat: P.
Ich glaube nicht, dass es etwas mit Sicherheit zu tun hat. Ich vermute, sie wollen Kollisionen mit Benutzernamen beseitigen. Ich nehme an, es ist möglich, dass sie ein SALZ basierend auf dem Anmeldenamen für das Passwort enthalten. Vielleicht.
@ChrisCirefice Im Durchschnitt sind Architekten und Datenbankadministratoren einer Bank nicht besser als anderswo. Einige Banken machen es richtig und andere schrecklich falsch. Nur weil wir wollen, dass sie intelligenter und sicherer sind als andere Unternehmen, heißt das nicht, dass die nicht technischen Manager, die die Entscheidungen treffen, wissen, wie man gute von schlechten Lösungen unterscheidet.
@JeromyIrvine Guter Punkt. Ich bin in diesem idealistischen Universum, in dem Unternehmen, die wirklich gute und kluge Mitarbeiter haben sollten, um all diese wichtigen Dinge zu entwerfen, tatsächlich etwas tun. Ich denke, sie arbeiten alle bei Google.
Ich vermute, dass es auf einem Legacy-System, vielleicht einem alten Mainframe-System, Konten gab, die mit X begannen und Administratorkonten waren, und diese Konten wurden in das neue System übertragen, und es gibt an verschiedenen Stellen Logik, die weiß, dass es sich um ein Konto handelt XJSMITH123 heißt ein Administratorkonto. Trotzdem dumm.
Verwandte: http://security.stackexchange.com/questions/65503/why-recommend-letters-numbers-and-special-characters-in-a-user-id.
@corsiKa verdammt noch mal; Ich möchte Ihren Kommentar positiv bewerten, aber er liegt bereits bei +10 ...
Sechs antworten:
PwdRsch
2014-08-29 11:09:14 UTC
view on stackexchange narkive permalink

Es gibt zwei Hauptargumente für die Durchsetzung von Anforderungen / Einschränkungen bei der Auswahl von Benutzernamen. Das erste ist, dass es für Angreifer schwieriger ist, Benutzernamen vorherzusagen, um Online-Ratenangriffen zu widerstehen. Während Benutzernamen nicht unbedingt als so geheim wie Passwörter angesehen werden, sind sie eine von mindestens zwei Informationen, die gestohlen werden müssen, um sich als Benutzer auszugeben. Wir sollten den Vorteil dieser Informationen, die Angreifern unbekannt bleiben, nicht ausschließen.

Das Papier von 2007 Erfüllen starke Webkennwörter etwas? (PDF) bewertet die Bedrohung durch das Erraten von Online-Passwörtern und prüft, welche Optionen wir zur Bekämpfung dieser Bedrohung haben. Eine Site kann eine strengere Kennwortrichtlinie durchsetzen, die die Benutzerfreundlichkeit beeinträchtigen kann, wenn Benutzer Schwierigkeiten haben, den Prozess einzuhalten, und Frustration mit dem Prozess verspüren. Oder die Site kann einige Einschränkungen für Benutzernamen durchsetzen und die Kennwortrichtlinie beibehalten. Ihre Theorie besagt, dass es weniger wichtig ist, wenn ein Angreifer viele mögliche Kombinationen ausprobieren muss, ob dies auf einfache Benutzernamen und komplizierte Passwörter oder auf halbkomplizierte Benutzernamen und halbkomplizierte Passwörter zurückzuführen ist.

Dies ignoriert eine dritte Option der Site, die einen zweiten Authentifizierungsfaktor hinzufügt, um die Sicherheit eines Kennworts zu ergänzen, während Benutzernamen in Ruhe gelassen werden. Außerdem muss die Site härter arbeiten, um die Offenlegung gültiger Benutzernamen zu vermeiden, die Angreifer dann mit möglichen Kennwörtern koppeln können.

Das zweite Argument ist, dass eine Site durch die Durchsetzung einiger eindeutiger Benutzernamenanforderungen hoffen kann, Benutzer davon abzuhalten, dieselben Anmeldeinformationen zu wählen, die sie auf anderen Sites verwendet haben. Dies ist eine sehr reale Bedrohung, und es ist schwierig für eine Site, etwas anderes zu tun, als ungewöhnliche Benutzernamenanforderungen durchzusetzen (oder IDs selbst zuzuweisen). Eine großartige Studie aus dem Jahr 2010 überwachte jedoch die tatsächliche Wiederverwendung von Benutzernamen und Passwort durch Personen zwischen ihren Banken und anderen Websites. Die Studie ergab, dass Personen ihr Bankkennwort in 73% der Fälle tatsächlich auf anderen Websites wiederverwendeten, aber auch fanden, dass Personen diesen Benutzernamen auf mindestens einer anderen Seite wiederverwenden würden, selbst wenn eine Bank eindeutige Benutzernamenkonventionen durchsetzen würde Site in 42% der Fälle.

Durch die Durchsetzung eindeutiger Benutzernamenanforderungen wurden die Chancen für die gemeinsame Nutzung von Anmeldeinformationen verringert, diese Möglichkeit wurde jedoch sicherlich nicht ausgeschlossen. Dieses geringere Risiko wird von einigen Websites möglicherweise immer noch als die Unannehmlichkeit für die Benutzer angesehen.

Ein weiterer möglicher Grund, der weniger ein Argument als vielmehr eine Anforderung ist, ist die Legacy-Systemkompatibilität. Unabhängig davon, welche möglicherweise alte Software die Back-End-Verarbeitung hinter dem pfiffigen Web-Front-End ausführt, wurde sie möglicherweise so codiert, dass nur Benutzernamen akzeptiert werden, die auf eine bestimmte Weise formatiert wurden. Ohne diese Software herauszureißen und zu ersetzen, kann die Website stecken bleiben und die Einschränkung an die Kunden weitergeben. Die Zeile "Benutzer-IDs können nicht mit einem X beginnen" lässt mich glauben, dass dies in Ihrem Fall ein Faktor sein kann.

Ich stimme Ihnen (und der Studie) zu, dass ein wenig komplizierter Benutzername Online-Rätselraten erschweren würde, aber ich bin geneigt zu glauben, dass eine Nationalbank über ausreichend gute Erkennungssysteme verfügt (IP-basiert, geostandortbasiert usw.) .) das würde Angriffe auch für verschiedene Benutzernamen vereiteln. 'X-Angriffe für einen bestimmten Benutzernamen' zu vereiteln ist trivial, aber ich kann nicht sehen, wie ein großes Unternehmen wie dieses keine ausgeklügelten Methoden hätte, um das Erraten von Angriffen zu verhindern. Ich sage das nur, weil ich meinen Benutzernamen jetzt zweimal vergessen habe, daher bin ich etwas frustriert über die seltsame Richtlinie.
Es ist nicht immer eine Frage dessen, was sie verwenden könnten, aber welche Praktiken sie entschieden haben, sind angemessen. Das Erraten von Online-Passwörtern ist eine Bedrohung, für Banken jedoch keine große im Vergleich zu den wahrscheinlicheren Bedrohungen durch Phishing oder Trojaner. Außerdem fällt es ihnen leichter zu sagen: "Hey, wir haben es schwieriger gemacht, Benutzernamen zu erraten, damit wir unseren Teil dazu beigetragen haben", als in ein komplexeres Produkt zur Verhinderung von Eindringlingen zu investieren und es zu warten.
Ich frage mich daher, welche Art von Software-Produktmanagement sie eingerichtet haben - denn wenn ich in * ihrer Position * wäre und die Ressourcen hätte, die ich für ein Entwicklerteam ausgeben könnte, um ein solches System zu implementieren, um meine Benutzer und ihren *** Lebensunterhalt * zu schützen * ** Ich würde ohne einen zweiten Gedanken. Ich glaube nicht, dass die Verwendung von "* gut, wir sind versichert und unsere Kunden auch! *" Eine gute Entschuldigung für mangelnde Sicherheit ist. Es gibt sicherlich mehr in dem Problembereich, den ich (oder sonst jemand) jemals wirklich wissen werde, aber es scheint mir, dass Banken fehlen und nur minimale Anstrengungen unternehmen, um echte Bedrohungen zu vereiteln. Nur meine 2 ¢.
Gilles 'SO- stop being evil'
2014-08-29 17:20:59 UTC
view on stackexchange narkive permalink

Diese Anforderung an Benutzernamen kann dazu führen, dass Benutzernamen weniger vorhersehbar sind. Ich denke nicht, dass dies eine wesentliche Sicherheitsverbesserung darstellt, aber ich kann mir einige Szenarien vorstellen, in denen sie ein wenig helfen. Ich bezweifle, dass dies den Verlust der Benutzerfreundlichkeit ausgleicht, aber mir fehlen konkrete Beweise, um daraus zu schließen. Wie üblich geht Sicherheit auf Kosten der Benutzerfreundlichkeit auf Kosten der Sicherheit.: Wenn Benutzer ihre Benutzernamen mit größerer Wahrscheinlichkeit vergessen, bedeutet dies, dass sie entweder ihren Benutzernamen in einem unsicheren Bereich speichern müssen Standort (der den Zweck zunichte macht) oder es muss eine Möglichkeit geben, ihren Benutzernamen (der möglicherweise nicht stark authentifiziert ist) wiederherzustellen.

Weniger vorhersehbare Benutzernamen verbessern die Privatsphäre. Wenn ich versuche, ein johnsmith -Konto zu erstellen, dies fehlschlägt, weil dieser Benutzername bereits verwendet wird, wird mir mitgeteilt, dass John Smith bei dieser Firma Bankgeschäfte tätigt. Wenn John Smiths Konto johnsmith1 ist, muss ich weitere Benutzernamen auflisten. Bei vom Benutzer ausgewählten Benutzernamen ist das Suffix 1 jedoch eine sehr gute Wahl. Die meisten Websites verwenden E-Mail-Adressen als eindeutige Token. Wenn ich ein Konto als john.smith@emailprovider.example.com erstellen möchte, muss ich nachweisen, dass ich an diese Adresse gesendete E-Mails lesen kann. Banken sind in der Regel nur ungern auf externe Sicherheit angewiesen, daher möchten sie in der Regel nicht auf E-Mail-Anbieter angewiesen sein.

Eine erhebliche Anzahl von Angriffen auf das Bankwesen wird in einer häuslichen Umgebung ausgeführt - einem Ehepartner, einem Kind, einem Besucher usw. Ein weniger vorhersehbarer Benutzername kann die Vertraulichkeit gegenüber einem gelegentlichen Angreifer verbessern, der Zugriff auf den Computer des Opfers hat, aber eher opportunistische Angriffe ausführt, als seine Angriffe ernsthaft zu untersuchen. Auch bei einem vom Benutzer ausgewählten Benutzernamen stellt die Komplexitätsanforderung keine wesentliche Verbesserung dar: Viele Benutzer lassen ihren Benutzernamen in ihrem Browser vorab ausgefüllt, und wenn sie nicht johnsmith1 auswählen, die Variation ist dem Angreifer wahrscheinlich bekannt, da er sich gut kennt.

Weniger vorhersehbare Benutzernamen verbessern auch die Verteidigung gegen nicht zielgerichtete Angriffe, die funktionieren, indem viele Kombinationen aus Benutzername und Passwort ausprobiert werden, bis ein schwacher gefunden wird. Auch hier bedeutet es keine signifikante Verbesserung, johnsmith1 zusätzlich zu johnsmith ausprobieren zu müssen.

Benutzer-IDs, die nicht mit X beginnen … es ist eine Bank. Tief im Darm befindet sich irgendwo ein COBOL-Programm, das auf einem emulierten IBM Big Iron ausgeführt wird, das auf einem etwas neueren emulierten IBM Big Iron ausgeführt wird, das auf einem emulierten VAX ausgeführt wird, das in einer virtuellen Maschine auf einem x86-Prozessor ausgeführt wird. Bevor Sie geboren wurden, hat jemand entschieden, dass es eine gute Idee ist, gelöschte Datensätze anzugeben, indem Sie ein X in die 17. Spalte einfügen. Der COBOL-Programmierer, der nicht mehr verpflichtet war, den Y2K-Fehler zu beheben, bot an, dies ebenfalls zu beheben. Ihm wurde jedoch mitgeteilt, dass dies außerhalb der Jobspezifikation liege und er nichts berühren dürfe, was funktioniert (dies hätte anders funktionieren können, wenn die Bank Der Name des Regisseurs war Xavier anstelle von George.

Wenn Sie sagen: "Wenn Benutzer sich mit größerer Wahrscheinlichkeit an ihre Benutzernamen erinnern, bedeutet dies, dass sie entweder ihren Benutzernamen an einem unsicheren Ort speichern müssen." Ich denke, Sie meinen "weniger wahrscheinlich", oder?
@trlkly Wie alle Unix-Freaks wissen, ist weniger mehr! Behoben, danke.
sta
2014-08-29 13:17:41 UTC
view on stackexchange narkive permalink
  1. Um Benutzer-IDs weniger vorhersehbar zu machen.
  2. Um sich an andere Systeme anzupassen.
  3. ol>

    Die Gründe für weniger vorhersehbare Benutzer-IDs können sein:

    1. Eine Anwendung begrenzt eine Anzahl von Kennwortschätzungen (typisch für Internetbanking) pro Benutzer-ID. Dann kann ein Angreifer einen Angriff starten, "versuchen Sie das Passwort 123456 für alle bekannten Benutzer-IDs". Wenn der Angreifer die große Anzahl von Benutzer-IDs nicht kennt, ist dieser Angriff nicht sehr sinnvoll.

    2. Eine Anwendung weist möglicherweise einige Sicherheitslücken im Design auf, die wir nicht kennen. Beispielsweise kann eine Anwendung eine Benutzer-ID verwenden, um ein Sitzungstoken abzuleiten.

    3. ol>

      'X', da der erste Buchstabe möglicherweise nicht zulässig ist, um zu verhindern, dass eine Benutzer-ID von einigen interpretiert wird ( Legacy-System als Hexadezimalzahl.

Ich würde argumentieren, dass, wenn eine Bank (oder ein anderes Finanzinstitut) keine Systeme zur Erkennung einer großen Anzahl von sequentiell fehlgeschlagenen Anmeldungen hat, selbst wenn die Versuche auf verschiedenen Konten durchgeführt werden, dies ein Problem für sich ist. Das Verschleiern von Benutzer-IDs hilft nicht wirklich, das zugrunde liegende Problem zu mindern, bei dem es sich um einen Fehler bei der Überwachung handelt.
@Michael Kjörling Es gibt eine Prävention und eine Erkennung. Ich habe über Prävention gesprochen.
@Michael Kjörling Auch das war nur ein Beispiel für einen Angriff. Was ist, wenn ein Angreifer eine Benutzer-ID verwenden kann, um einen komplexeren Social-Engineering-Angriff zu starten? Sicherheit durch Dunkelheit macht für mich Sinn - nichts, worauf ich mich verlassen würde, aber es erhöht die Schwelle (der Angreifer benötigt mehr Wissen / Zeit / Geld).
Hier geht es mir anscheinend nicht um Prävention, sondern um Milderung. Prävention würde möglicherweise mehrere aufeinanderfolgende Versuche blockieren (möglicherweise indem jeder Versuch eine nicht zu vernachlässigende Zeit in Anspruch nimmt und nur eine bestimmte geringe Anzahl ausstehender Versuche pro Remote-IP-Adresse zulässt). Durch die Schadensbegrenzung werden Anmeldeinformationen möglicherweise weniger erraten, sodass sich ein Angreifer auf andere Taktiken verlassen muss. Nun, * beide haben möglicherweise einen Wert *, und die Unterscheidung ist nicht immer sehr eindeutig, aber es handelt sich um separate Punkte, die berücksichtigt werden müssen.
Ángel
2014-08-29 13:52:11 UTC
view on stackexchange narkive permalink

Ich bin damit einverstanden, dass das Erzwingen eines seltsamen Benutzernamens das Aufbrechen des Kontos etwas schwieriger macht (da es als eine Art zweites Passwort funktioniert), anstatt denselben Benutzernamen wie im XYZ-Konto zu haben, dessen Passwort sie wiederverwenden. (Das Auferlegen einiger Anforderungen erleichtert es jedoch auch, dass der Benutzer seinen eigenen Benutzernamen vergisst!)

Der Hauptgrund für die Festlegung einer Mindestlänge für den Benutzernamen besteht darin, sicherzustellen, dass keine gebräuchlichen Namen wie "Joe" verwendet werden. aber etwas Einzigartigeres erzwingen (vielleicht fügen sie Nachnamen, ein Datum hinzu…)

Wenn sie telefonisch informiert werden müssen, ist es sinnvoll, Sonderzeichen einzuschränken. Das Erfordernis eines Briefes würde auch dazu beitragen, dass er wie ein normaler Benutzername aussieht. Ich halte es nicht für sinnvoll, eine Nummer im Benutzernamen anzugeben.

Die Bankregeln sind im Allgemeinen viel vernünftiger. Ich vermute, dass Benutzernamen, die mit X beginnen, intern verwendet werden (z. B. ein Testbenutzer, ein reserviertes Konto…).

Ich stimme der Idee zu, dass Namen, die mit X beginnen, wahrscheinlich intern verwendet werden, also +1.
Da Benutzernamen (im Gegensatz zu Passwörtern) geteilt werden können, sollten Benutzernamenregeln das Teilen über das Telefon erleichtern (z. B. sollten sie die Groß- und Kleinschreibung nicht berücksichtigen und Sie sollten etwas gegen die Verwechslung zwischen dem Buchstaben O und der Zahl 0 unternehmen).
Sudhakar Akhade
2018-03-28 07:06:26 UTC
view on stackexchange narkive permalink

Ich bin damit einverstanden, dass das Erzwingen eines seltsamen Benutzernamens das Aufbrechen des Kontos etwas schwieriger macht (da es als eine Art zweites Passwort funktioniert), anstatt denselben Benutzernamen wie im XYZ-Konto zu haben, dessen Passwort sie wiederverwenden. (Das Auferlegen einiger Anforderungen erleichtert jedoch auch, dass der Benutzer seinen eigenen Benutzernamen vergisst!

Peter Green
2019-12-18 23:17:17 UTC
view on stackexchange narkive permalink

Unterschiedliche Einschränkungen haben wahrscheinlich unterschiedliche Quellen.

Wenn Sie den Zeichensatz in einem Benutzernamen auf ASCII-Alphanumerik beschränken, kann der Benutzername problemlos in einer Vielzahl von Datenformaten gespeichert und nicht als verwendet werden Ein Vektor für die meisten Arten von Injection-Angriffen (SQL-Injection, HTML-Injection, Shell-Injection usw.), da die "markup-signifikanten" Zeichen außerhalb des Bereichs der ASCII-Alphanumerik liegen. Dies bedeutet auch, dass Ihre Mitarbeiter problemlos mit dem Benutzernamen arbeiten können.

Das Verbot vollständig numerischer Benutzernamen ist wahrscheinlich ein Versuch, Verwechslungen zwischen Benutzernamen und numerischen Benutzer-IDs zu vermeiden.

Eine weitere Quelle für Einschränkungen kann sein ein Wunsch sein, Überschneidungen zwischen den Benutzernamen verschiedener Benutzergruppen (interne menschliche Benutzer, externe Webbenutzer, Systembenutzer usw.) zu vermeiden. Dies ist der Grund, warum Debian Konten, die auf salsa.debian.org erstellt wurden, mit dem Suffix "-guest" versehen muss, und möglicherweise auch der Grund dafür, dass "mindestens eine Nummer enthalten muss" und "nicht mit X beginnen kann". Gründe.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...