it-swarm.com.de

Sollten Websites die automatische Vervollständigung von Formularen oder Feldern deaktivieren dürfen?

Derzeit gibt es ein HTML-Attribut form/input mit dem Namen autocomplete, das bei Einstellung auf off die automatische Vervollständigung/das automatische Ausfüllen für dieses Formular oder Element deaktiviert.

Einige Banken scheinen dies zu verwenden, um zu verhindern, dass Passwortmanager funktionieren. Heutzutage scheinen Websites wie Yahoo Mail dies ebenfalls zu tun, da sie der Meinung sind, dass Passwortmanager unsicher sind.

Vor einigen Wochen habe ich in Firefox ein Feature implementiert, das dem Benutzer die Möglichkeit gibt, dieses nur für Felder für Benutzername/Passwort zu überschreiben . (dh um den Passwort-Manager zu deaktivieren). Es gibt jetzt eine Anfrage , die standardmäßig autocomplete=off Überschreibt. Zitat des Problems:

Dieses Verhalten ist ein Zugeständnis an Websites, die Passwort-Manager für schädlich halten und daher deren Wirksamkeit verhindern möchten. Insgesamt denke ich, dass diese Websites im Allgemeinen falsch sind und nicht so viel Kontrolle über unser Verhalten haben sollten.

Dies ist für mich aus ähnlichen Gründen sinnvoll wie die in diesem Kommentar von BenB .

autocomplete = off wurde in letzter Zeit häufig missbraucht. Yahoo hat damit begonnen, es für die Anmeldung zu verwenden (einschließlich Webmail und my.yahoo.com), weshalb ich die Verwendung von Yahoo eingestellt habe. Webmail-Apps - sogar einige größere Anbieter - verwenden sie jetzt, was definitiv nicht der Zweck war. Die Administratoren sind sehr selbstgerecht und bestehen darauf, dass sie dies "aus Sicherheitsgründen" aufbewahren, da das Speichern von Passwörtern "unsicher" ist.

Sie sind fehlgeleitet, weil

  • tastaturlogger sind vorhanden und weit verbreitet, wahrscheinlich weiter verbreitet als Malware, die den Firefox-Kennwortspeicher lesen kann.
  • es gibt sogar einfache Angriffe des kleinen Neffen: Schauen Sie einfach über die Schulter
  • möglicherweise am wichtigsten ist, dass Benutzer gezwungen werden, ihr Kennwort jedes Mal neu einzugeben, wenn sie praktisch gezwungen werden, ein einfaches Kennwort zu verwenden - leicht zu merken, leicht zu tippen, wahrscheinlich sogar auf mehreren Websites zu verwenden. Dies senkt offensichtlich die Gesamtsicherheit dramatisch und stellt somit eine Gefahr für die Sicherheit dar.

Autocomplete = off ist also aktiv sicherheitsschädlich.

Und ein massiver Schmerz für die Endbenutzer, ohne einen Rückgriff für sie, abgesehen davon, dass ganze Kundenbeziehungen getrennt werden.

Es gab viele Problemumgehungen (normalerweise auf Lesezeichen basierend), die im Internet veröffentlicht wurden. IE11 hat die Unterstützung für autocomplete=off Bereits entfernt. .

Die Frage ist zweifach:

  • Gibt es eine signifikante Erhöhung der Sicherheit für eine Website, wenn autocomplete=off Für Kennwortfelder verwendet wird? Oder ist es laut BenBs Kommentar tatsächlich sicherheitsschädlich?
  • Sollten Browser dieses Attribut standardmäßig zulassen und der Website so viel Kontrolle geben? (Dieses Bit ist subjektiv, zögern Sie nicht zu antworten)

Während meine Situation für Benutzernamen-/Kennwortfelder spezifisch für autocomplete=off Ist (der Code wirkt sich nur auf den Kennwortmanager aus), begrüße ich Eingaben zum umfassenderen Aspekt der Deaktivierung von autocomplete=off

102
Manishearth

Das Problem ist, dass diese eine Einstellung gleichzeitig das Verhalten von zwei ähnlichen, aber ausreichend unterschiedlichen Funktionen im Browser steuert, so dass es schwierig ist, ein optimales Ergebnis zu erzielen.

Erstens haben wir das, was Sie als "intelligent" oder "naiv" oder "automatisch" bezeichnen könnten.

Dies ist die ursprüngliche automatische Vervollständigungstechnologie. Während Sie Formulare auf verschiedenen Websites ausfüllen, überwacht der Browser die Namen der Formulare und den Inhalt, den Sie ausfüllen, und speichert die Details stillschweigend. Wenn Sie dann eine andere Site mit einem ähnlich aussehenden Formular besuchen, werden Felder "hilfreich" ausgefüllt, wobei die Werte verwendet werden, die aus Ihrem vorherigen Verhalten auf anderen Sites stammen.

Die Idee hier ist, Ihnen Zeit zu sparen, ohne dass Sie etwas konfigurieren oder Entscheidungen treffen müssen. Geben Sie Ihren Namen ein? Wir geben automatisch den Namen ein, den Sie zuletzt verwendet haben. Kreditkarte ausfüllen? Wir füllen die Kreditkarte aus, die Sie an anderer Stelle verwendet haben.

In seinem Eifer, hilfreich zu sein, teilt der Browser Ihre Geheimnisse von einer Site mit allen anderen, nur für den Fall, dass es das ist, was Sie wollten. Aus Sicherheitsgründen ist dies aus allen offensichtlichen und auch aus mehreren nicht offensichtlichen Gründen eine Katastrophe. Es muss deaktiviert werden und sollte wahrscheinlich nie implementiert werden.

Zweitens haben wir "explizite" oder "sichere" oder "konfigurierte" automatische Vervollständigung

Dies ist in erster Linie die Welt der gespeicherten Benutzernamen und Passwörter. In dieser Inkarnation speichert der Browser Ihre Formulardaten nur mit Ihrer ausdrücklichen Zustimmung. Im Idealfall werden diese Daten in einem verschlüsselten Speicher gespeichert, und am kritischsten ist, dass die Daten fest mit einer einzelnen Site verknüpft sind. Ihr Facebook-Passwort bleibt also bei Facebook und Ihre Amazon-Adresse bleibt bei Amazon.

Diese Technik unterscheidet sich erheblich darin, dass der Browser das gespeicherte Verhalten wiedergibt, wenn die übereinstimmende Umgebung erkannt wird. Im Vergleich dazu antizipiert die andere Technik das gewünschte Verhalten automatisch, indem nach Ähnlichkeiten gesucht wird.

Wenn Sie die Site besuchen und ein Anmeldeformular angezeigt wird, sollte Ihr Browser die Daten, die Sie explizit für diesen Zweck gespeichert haben, automatisch automatisch ausfüllen . Die Interaktion sollte für den Benutzer schnell und gedankenlos sein. Und kritisch sollte bei einem Phishing-Versuch unbedingt BRECHEN. Der Browser sollte so völlig unwillig sein, Anmeldeinformationen an eine Phishing-Site zu senden, dass sie anhält und darüber nachdenkt , warum das Ding nicht funktioniert.

Diese Funktion ist Ihre primäre Verteidigungslinie gegen Phishing. Es muss funktionieren. Sie sind unvermeidlich weniger sicher, wenn der Benutzer sich nicht darauf verlassen kann, dass diese Funktion unter normalen Bedingungen transparent und mühelos funktioniert.

Während dies hauptsächlich für die Speicherung von Anmeldeinformationen verwendet wird, ist es auch ein sicherer Ort, um andere sichere Daten wie Zahlungskarten, Adressen, Sicherheitsfragen usw. abzulegen. Solche zusätzlichen Daten sind wahrscheinlich nicht ortsspezifisch, sollten es aber wahrscheinlich sein nicht automatisch füllen ohne Aufforderung.

Eine Option, um sie alle zu regieren

Das Problem hierbei ist, dass in vielen Implementierungen das autocomplete=false Option steuert beide Verhaltensweisen. Sowohl die, die du behalten willst, als auch die, die du töten willst.

Im Idealfall sollte die "sichere" automatische Vervollständigung niemals deaktiviert werden. Wir verlassen uns auf diese Funktion, um die Sicherheit zu erhöhen. Daher sollte es fehlgeleiteten Website-Betreibern nicht gestattet sein, dies zu gefährden.

Und im Idealfall sollte die "automatische" automatische Vervollständigung standardmäßig deaktiviert sein, um nur für die seltenen Bedingungen (falls vorhanden) aktiviert zu werden, bei denen Sie tatsächlich die möchten Browser, um Ihre Eingaben von anderen Websites wiederzuverwenden.

56
tylerl

Wenn ich Pen-Tests durchführe, melde ich ein Problem, wenn ein Formularfeld nach vertraulichen Daten fragt (z. B. eine Kreditkartennummer), KEIN Kennwortfeld ist und KEINE automatische Vervollständigung = Aus hat.

Das Rationale ist, dass Browser die automatische Vervollständigung von Passwörtern sehr vernünftig verwalten: Sie geben dem Benutzer die Möglichkeit, das Passwort zu speichern, und (die meisten) Benutzer können eine vernünftige Entscheidung treffen.

Für Felder ohne Kennwort ist das Verhalten der automatischen Vervollständigung jedoch nicht wünschenswert. Wenn ich jemanden meinen Computer benutzen lasse, geht er zu einer E-Commerce-Checkout-Seite und sieht, dass MEINE Kreditkartendaten automatisch vervollständigt werden - das ist schlecht.

42
paj28

Der Grund, warum Browser autocomplete=off Ignorieren, liegt darin, dass einige Websites versucht haben, die automatische Vervollständigung von Kennwörtern zu deaktivieren.

Das ist falsch; und im Juli 2014 war Firefox der letzte große Browser, der die Änderung endgültig implementierte, um Websites zu ignorieren, die versuchen, die automatische Vervollständigung von Kennwörtern zu deaktivieren.

Jeder Versuch einer Website, die Präferenzen des Browsers zu umgehen, ist falsch. Deshalb ignorieren Browser ihn. Es ist kein Grund bekannt, warum eine Website versuchen sollte, das Speichern von Passwörtern zu deaktivieren.

  • Chrome ignoriert es
  • Safari ignoriert es
  • IE ignoriert es
  • Firefox ignoriert es

Was ist, wenn ich eine besondere Schneeflocke bin?

Es gibt Leute, die einen guten Anwendungsfall ansprechen:

Ich habe einen gemeinsamen Computer im Kioskstil im öffentlichen Bereich. Wir möchten nicht, dass jemand (versehentlich oder absichtlich) sein Passwort speichert, damit der nächste Benutzer es verwenden kann.

Das verstößt nicht gegen die Aussage:

Jeder Versuch einer Website, die Präferenzen des Browsers zu umgehen, ist falsch

Das liegt daran, dass im Fall eines gemeinsam genutzten Kiosks:

  • es ist nicht der Webserver , der die Oddball-Richtlinie hat
  • es ist der Client-Benutzeragent

Der Browser (der gemeinsam genutzte Computer) hat die Anforderung, dass it nicht versucht, Kennwörter zu speichern. Der richtige Weg, um zu verhindern, dass der Browser Passwörter speichert, besteht darin, den Browser so zu konfigurieren, dass keine Passwörter gespeichert werden. Da Sie diesen Kiosk-Computer gesperrt und gesteuert haben: Sie steuern die Einstellungen. Dazu gehört die Möglichkeit, Passwörter zu speichern.

In Chrome und Internet Explorer) konfigurieren Sie diese Optionen mithilfe von Gruppenrichtlinien (z. B. Registrierungsschlüsseln).

Aus der Chrome-Richtlinienliste :

AutoFillEnabled

AutoFill aktivieren

Datentyp: Boolean (REG_DWORD)

Windows-Registrierungsspeicherort: Software\Policies\Chromium\AutoFillEnabled

Beschreibung: Aktiviert die AutoFill-Funktion von Chromium und ermöglicht Benutzern das automatische Ausfüllen von Webformularen unter Verwendung zuvor gespeicherter Informationen wie Adresse oder Kreditkarteninformationen. Wenn Sie diese Einstellung deaktivieren, können Benutzer nicht auf AutoFill zugreifen. Wenn Sie diese Einstellung aktivieren oder keinen Wert festlegen, bleibt AutoFill unter der Kontrolle des Benutzers. Auf diese Weise können sie AutoFill-Profile konfigurieren und AutoFill nach eigenem Ermessen ein- oder ausschalten.

Bitte geben Sie das Wort weiter, dass der Versuch, die automatische Vervollständigung des Passworts zu deaktivieren, falsch ist. Browser ignorieren absichtlich jeden, der dies versucht, und sie sollten aufhören, das Falsche zu tun. ™

Wenn Sie möchten, dass Ihr Browser Elemente nicht automatisch vervollständigt, sollte Sie Ihr Konfigurieren = Browser zum Deaktivieren der automatischen Vervollständigung. Keine Website sollte diese Einstellung anderen Benutzern aufzwingen.

8
Ian Boyd

Ich habe mehrere Pentests für mehrere Banken durchgeführt und wir empfehlen immer, die automatische Vervollständigung zu deaktivieren. Der Grund dafür ist, dass die meisten Benutzer keinen Passwort-Manager verwenden und das Passwort daher in Ihrem Browser irgendwo im Klartext gespeichert wird (einige Browser verschlüsseln die Passwörter für die automatische Vervollständigung tatsächlich, dies wurde jedoch erst kürzlich durchgeführt).

Dies wird auch im OWASP-Test Leitfaden empfohlen:

Das Zwischenspeichern von Formularfeldern ist in den meisten Browsern vorhanden. Für Formularfelder, die vertrauliche Informationen enthalten, wie z. B. Kreditkartennummern, sollte die automatische Vervollständigung mit dem Attribut AUTOCOMPLETE = OFF deaktiviert werden, das in jedem INPUT-Tag verwendet werden kann 1 . Diese Funktion kann nicht anhand der aktuellen Versionen der HTML-Spezifikationen überprüft werden. Sie wird jetzt jedoch von den meisten Browsern unterstützt.

Solange die vertraulichen Informationen geschützt sind, gibt es kein Problem. Das größte Problem bei dieser Einstellung ist die Verwendung eines gemeinsam genutzten Computers. Das Risiko, dass Ihre Informationen zwischengespeichert werden, ist sehr hoch und ein weniger unschuldiger Passant könnte Ihre Informationen einfach stehlen. Denken Sie daran, dass die meisten Benutzer nicht so gut ausgebildet sind wie die meisten Leute hier.

Jetzt kann die Bank nicht mehr überprüfen, ob Sie Ihren PC oder einen gemeinsam genutzten Computer verwenden. Daher ist es aufgrund der Risikobewertung besser, die Funktion zur automatischen Vervollständigung zu deaktivieren.

7
Lucas Kauffman

Jeder scheint zu vergessen, dass Computer täglich gestohlen werden, auf den meisten Computern wird Windows ausgeführt. Sie können das Kennwort eines Benutzers ändern, ohne sich jemals an einem Windows-Computer anzumelden.

Wie viel Schaden kann ein gestohlener Computer Ihrer Meinung nach anrichten, wenn alle Informationen zur automatischen Vervollständigung im Browser gespeichert sind? Und die meisten haben nicht einmal einen Passwortschutz für die automatische Vervollständigung des Browsers, sodass es keinen Unterschied macht, ob die Daten verschlüsselt sind oder nicht, wenn der Browser die Daten für alle Websites ausfüllt.

Schon heute sind Betrugsfälle auf Facebook und Twitter weit verbreitet. Gespeicherte Passwörter sind ein Grund dafür.

Und was passiert, wenn ein CEO seine Passwörter speichert und jemand seinen Computer stiehlt? Diese Funktion schützt alle vor der Entführung ihrer Konten.

0
Nisse