Bei Sicherheit geht es darum, Kosten und Risiken in Einklang zu bringen. Nichts ist unschlagbar, insbesondere keine typischen CAPTCHA-Implementierungen, aber sie fügen etwas hinzu, das kein anderes System zu bieten scheint.
Ich habe darüber gelesen CAPTCHAs für eine Weile und mögliche Alternativen ... (Bitte verweisen Sie mich nicht auf andere Websites / Antworten, es sei denn, sie beantworten die folgende Frage wirklich.)
Ich habe keinerlei Erfahrung, also für mich Die mit dieser Entscheidung verbundenen Kosten und Risiken sind schwer abzuschätzen: Soll ich CAPTCHAs einsetzen (ich denke an JCaptcha oder reCaptcha) oder reicht eine Kombination anderer Techniken aus?
Ich muss ein Registrierungsformular haben gefüllt, aber ich möchte nicht, dass meine Benutzertabelle mit Papierkorb gefüllt wird. Das Honeypot-Feld ist einfach zu implementieren, aber ach so einfach zu umgehen. Eine einfache Sicherheitsüberprüfung (welche Farbe hat der Himmel?) Funktioniert gut gegen automatisierte Angriffe, aber jeder 15-Jährige kann einen einfachen gezielten Angriff erstellen, der meine Benutzertabelle zerstört ... Javascript zur Überprüfung der Zeit, die zum Ausfüllen des Formulars benötigt wird, ist unsicher und mit einem einfachen Beitrag auf meinem Server defekt. Grundsätzlich habe ich nichts gefunden, was gegen einen leicht intelligenten gezielten Angriff funktioniert, außer einem typischen CAPTCHA, damit ich nicht getrollt werde ... Die eigentliche Frage ist also, ob ich einem erheblichen Risiko ausgesetzt bin, mit einem gezielten Angriff getrollt zu werden Ich möchte lieber 10% meiner Benutzer an diese CAPTCHAs verlieren, oder gibt es eine Alternative, die den Benutzer nicht so stark belastet?
BEARBEITEN: Vielen Dank für Ihre Antworten, es hat mir sicherlich geholfen, Ideen zu klären, insbesondere den Link zu OWASP zur Vermeidung von Brute-Force-Angriffen (bekam meine +1, aber ich habe es nicht akzeptiert, da es sich nicht wie eine Lösung anfühlte, aber es hilft, eine zu finden. Wenn Sie der Meinung sind, dass ich es akzeptieren sollte, weil ich es bisher als die beste Antwort empfinde, kommentieren Sie dies bitte, da ich möglicherweise die Funktionsweise der Website falsch interpretiere.
Auf der anderen Seite macht Asirra Spaß und ist einfach und viel besser als herkömmliche CAPTCHAs. Ich würde es auf jeden Fall anderen Diensten empfehlen. Das Puzzle macht viel mehr Spaß, und selbst wenn Sie versagen, würden Sie nur einmal scheitern ... Schade:
Asirra befindet sich noch im Beta-Test; Der Dienst und seine API sind möglicherweise beide instabil.
Endgültige Bearbeitung: Für den Fall, dass dies nützlich ist, habe ich folgende Schritte unternommen, um sicherzustellen, dass Benutzer vorhanden sind werden von CAPTCHAs nicht gestört, aber ich fühle mich vor Bots sicher.
- Honeypot-Feld (so einfach zu implementieren kostet es mich nichts, obwohl ich mich damit nicht sehr sicher fühle.)
- E-Mail-Bestätigungslink (oder OAuth-Zugriff), da ich immer vorhatte, ihn hinzuzufügen. Nur validierte Benutzer werden in meine Benutzertabelle migriert, der Rest bleibt registriert.
- Zeitüberprüfung: Server-Zeitstempel mit über Ajax geladener Signatur. Der Benutzer muss vor dem Senden mindestens 5 Sekunden benötigen, um das Formular auszufüllen (das Passwort) oder es wird verworfen.
- Bestätigungsseite (mit vom Server signiertem Token, um sicherzustellen, dass die Anforderung zuerst den Server durchlaufen hat) nach der Registrierung, die den Benutzer warnt, dass eine Bestätigungs-E-Mail erforderlich ist und eine Schaltfläche zum Senden der Bestätigungs-E-Mail. (In diesem Fall werden die Daten auch in der Datenbank registriert.)
Dies wird einen sehr engagierten Angreifer nicht aufhalten, aber ich hoffe, er möchte nicht stundenlang seinen Angriff optimieren, um nichts zu gewinnen , stört mich nur.