Die Verbesserung der Login-Sicherheit durch denial-of-Copy & Paste?
wir haben eine gemeinsame login-Formular für eine webapplication, nichts besonderes, so etwas wie
...<input type="text" value="Username" /><input type="password" value="" />...
Mein Kollege argumentiert, dass die Leugnung der Benutzer das kopieren & einfügen in das login-Formular würde die Verbesserung der Sicherheit von Anwendungen.
Ich denke anders, weil die Eingabe des Passwortes ist bereits geschützt, die vom browser selbst (Sie können nicht kopieren Sie das Passwort aus dem input-element).
Jedoch, haben wir die folgenden JScripts auf die input-Elemente:
... onpaste="return false;" oncopy="return false;" ondrag="return false;" ondrop="return false;" ...
Tester kritisiert, dass es immer noch möglich zu "ziehen" Kopie mit der CRT-Schlüssel, natürlich wird es nur kopieren Sie das * Zeichen und nicht das Passwort, aber immer noch ermöglicht kopieren von Werten aus dem Formular, und so wird der test-Fall zurückgegeben wurde, als fehlgeschlagen.
Soviel zum hintergrund.
Meine Frage:
Gibt es eine Verbesserung der Sicherheit überhaupt zu leugnen, jede Art von copy & paste in das login-Formular, lohnt sich der zusätzliche Aufwand?
Vielen Dank
Simon
- Ihre Kollegin hat zu viel Zeit auf seine Hände. Schnittstellen, ändern Sie die Standard-Verhalten von standard-controls sind ärgerlich, verwirrend und verletzt Effizienz. Ich hatte zu leiden, web-Formulare, die es mir nicht ermöglichen, zu kopieren und zu kleben. Es ist ärgerlich und nicht etwas hinzufügen. Tun Sie es nicht.
- Ich bin mit 20-30 Zeichen lange Kennwörter, zusammen mit Passwort-Managern. Ich würde nie Nutzung der Website oder Anwendung, die nicht zulässt, dass copy-paste 🙂
- Ich benutze einen Passwort-safe mit 40+ " - Zeichen zufällige Passwörter in einigen Fällen. Es gibt keine Möglichkeit in der Hölle ich werde das log-in jede Seite, die einschränkt, einfügen, um ein Passwort-Feld. Es ist die dümmste, die meisten naive Vorschlag, den ich je gehört habe. Tun Sie es nicht. Guru.com tut es und es pisst mich aus, und ich werde nur hinzufügen, um einen filter zu deaktivieren Sie diese Funktion trotzdem, da es einfach überschreibbare auf der client-Seite. Denken Sie darüber, wie dumm das ist so ein Sicherheits-feature... etwas, das kann leicht außer Kraft gesetzt, die auf der client-Seite. Zwingt einen Benutzer, geben Sie ein Kennwort einfach macht, key-Logger glücklicher, auch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Warum stoppen die Benutzer von kopieren-einfügen Ihrer eigenen Passwort?
Wann immer Sie suchen bei einem security-Schutz wie dieser, ist es wichtig, sich zu Fragen: Genau das, was Art von Angriffen sind, bin ich versucht zu schützen gegen? In diesem Fall, auch wenn Sie verhindern, kopieren und einfügen, die Benutzer können nur geben, wenn Sie wirklich wollen, nachdem alle. Und wenn Sie sich sorgen über das Böse Spyware, das Zeug kann nur eine browser-Erweiterung installieren und schauen sich das Passwort in der DOM direkt, oder installieren Sie einen keylogger einfangen, wie es eingegeben wird.
In der Tat, dies kann sogar zu reduzieren Sicherheit. Prüfen, ob der Benutzer mit ein Passwort-management-Programm, können Sie entweder das Passwort in der Zwischenablage, oder es anzeigen für die erneute Eingabe. Wenn Sie verhindern einfügen, das heißt, der Benutzer muss das Kennwort auf dem Bildschirm für jede Schulter Surfer zu sehen.
javascript:(function(){var H=["paste"], Z=[], s="", j; function R(N,a){ while (N[a]) { Z[a]=Z[a]?Z[a]+1:1; N[a]=null; } } function zapEH(N) { var a,i,C; for (j in H) R(N,"on"+H[j]); C=N.childNodes; for (i=0;i<C.length;++i) zapEH(C[i]); } zapEH(document); for (j in Z) s += j + " (" + Z[j] + ")\n"; if(s) alert("Zapped event handlers:\n\n"+s); else alert("No event handlers found.");})();
Im 'H' - array, können Sie auch "Ausschneiden","kopieren","contextmenu","mousedown" entfernen Sie die entsprechende "auf" - Veranstaltungen sowie.return false
für oncopy und oncut nur... die Vernunft durchgesetzt?javascript: (function() { var inputs = document.getElementsByTagName('input'); var i=inputs.length; while(i--) inputs[i].setAttribute('onpaste', ''); })();
Ich Stimme mit dem Konsens hier: Leugnen, kopieren und einfügen bedeutet, dass meine wirklich komplexe Kennwörter (gespeichert in 1Password) nutzlos sind. Also meine Antwort ist die Verwendung von kurzen, leicht zu merkenden Passwörter (d.h. schwachen). Fahren die Menschen, um schwache Passwörter zu verwenden ist eine SCHLECHTE Idee.
Auch, die onpaste="return false;" ist Teil des DOM, nicht eine javascript-add-on, glaube ich. So ist es wirklich bis auf den Website-designer zu stoppen, solche schlechten Praktiken.
Weiß jemand, ob es einen guten Grund für die Verwendung von "return false;" -- das ist, ist es etwas gefährlich über die Zwischenablage? Wenn ja, Art der ungültig die Verwendung von solchen Programmen wie 1Password.
Ich Stimme mit allen, und das traurige daran ist, die großen Unternehmen beginnen zu erlassen, um diese Praxis nun, ich kann nicht fügen Sie über paypal, xbox live, und auch einige apps wie z.B. roundcube-block-Standard. Ich argumentieren, dass es schlimmer für die Sicherheit, denn es zwingt den Anwender zu geben, die es bedeutet, er hat entweder zu leicht, sich zu erinnern oder Sie haben es sichtbar irgendwo zu geben, die gute apps wie keeppass arbeiten auf der Grundlage Passwörter sind nicht sichtbar, sondern nur kopiert in die Zwischenablage vorübergehend.
Verhindern von copy/paste Passwörtern ist eine SCHRECKLICHE Idee - es ist ziemlich viel macht über lange, zufällig generierte, sichere Passwörter unmöglich. Vorstellen wollte ich nutzen "JFPEWm!QjVIdrFk8l|/%" als Passwort - eine tolle Passwort, sondern ein Alptraum, Typ und SEHR fehleranfällig.
Nicht bei allen
Kann der Benutzer deaktivieren Sie alles, was das ist client-Seite, einschließlich Ihrer JScripts. Ihr Kollege ist falsch informiert, zeige Ihnen diesen thread.
Es ist nur eine Verbesserung, wenn Sie akzeptieren die Prämisse, dass die Quelle, aus der das Passwort kopiert wurde, ist weniger sicher als das Auswendiglernen...ich denke, das ist wohl wahr. Aber es kommt zu einem ziemlich happigen Preis auf usability. Und die meisten Browser haben eine Funktion oder eine andere zum speichern von Kennwörtern und Benutzer Passwort-Manager usw. an. Ich denke, irgendwann muss man einfach haben, zu akzeptieren, die Grenzen des Benutzername /Passwort-Paradigma.
Könnte es nützlich sein, einen Blick auf client-Zertifikat-Authentifizierung, wenn Sie wirklich besorgt über die Sicherheit. Es ist wichtig zu beachten, dass es nichts inhärent sicherer über cca, es ist nur ein anderer Satz von Anmeldeinformationen. Aber es ist vermutlich schwieriger zu kopieren cert als ein Passwort. In jedem Fall ist es eine gute Sache zu wissen, über Ihre Sicherheits-toolbox:
http://www.windowsecurity.com/articles/Client-Certificate-Authentication-IIS6.html
http://www.impetus.us/~rjmooney/projects/misc/clientcertauth.html
Unwahrscheinlich, um zu helfen. Keylogger werden jetzt sicher zu fangen Passwörter. Kopieren und einfügen das Passwort ist wahrscheinlich mehr sicherer ist als die Eingabe es.
Besser zu investieren Sie in ein gutes Passwort-management-tool und training (z.B. Lastpass oder 1Password) als frustrierend für den Benutzer, so dass Sie mehr wahrscheinlich, Abkürzungen zu nehmen (wie die Verwendung von die gleiche, einfache Passwort überall).
Ich Stimme mit dem Konsens hier. Ich sehe nicht, wie das entfernen von kopieren-und-einfügen-Funktion, könnte die Sicherheit verbessern, und alle JavaScript kann deaktiviert werden, sowieso. Es ist nicht Wert Ihre Zeit.
Danke Jungs,
deine Antworten sind wirklich eine Unterstützung meiner position hier.
Ich auch nicht, um zu sehen die Sicherheit nutzen gewonnen durch das entfernen des copy & paste-Funktionen von webform.
Jedoch, es ist eine große Skala web-Anwendung, die sich mit viel Geld, so ist es schwer zu argumentieren, gegen alles, was könnte möglicherweise die Verbesserung der Sicherheit (Aus politischer Sicht).
Grüße
Simon