Als Antwort auf die Hacker-Bedrohung, die üblicherweise Robots erstellt, um Systeme zu missbrauchen, entstand die Verwendung des CAPTCHA zur menschlichen Verifizierung, und heutzutage wird es überall im Internet weit verbreitet eingesetzt. In diesem Artikel diskutieren unsere ZARZA-Ingenieure über dieses interessante Thema und teilen konkrete Informationen über die korrekte Verwendung und die empfehlenswerten alternativen Maßnahmen.
Was ist ein CAPTCHA und wozu dient es?
Wenn wir uns auf einer Website registrieren oder ein Formular ausfüllen, stoßen wir auf einen verzerrten Text, eine Abbildung, bei der man uns bittet, ihren Inhalt einzutippen, oder besser gesagt, ihn abzuschreiben… In diesem Moment begegnen wir einem CAPTCHA, und sein Zweck ist es herauszufinden, ob derjenige, der das Formular ausfüllt, ein Computerprogramm (ein programmierter Robot) oder ein Mensch ist.
CAPTCHA: Completely Automated Public Turing test to tell Computers and Humans Apart
Der vollständig automatisierte öffentliche Turing-Test zur Unterscheidung von Computern und Menschen ist das, was wir als CAPTCHA verstehen, und er sieht im Grunde so aus:

Wie wir sehen können, erfahren die Buchstaben eine Transformation, die darauf ausgelegt ist, automatischen Bots das Erkennen der Buchstaben zu erschweren und dennoch einem Menschen zu erlauben, die Sequenz zu identifizieren, die „smwm“ wäre, obwohl die Statistiken zeigen, dass es nicht für alle Personen so einfach ist.
Zusätzlich zur Verzerrung der Buchstaben können CAPTCHAs Linien, Verläufe und ablenkende Elemente enthalten, die so den Komplexitätsgrad erhöhen.
Die moderneren CAPTCHAs enthalten jedoch die Option, sich die Buchstaben anzuhören und ein neues CAPTCHA zu versuchen, falls wir dessen Inhalt nicht verstehen. Eines der herausragendsten ist zum Beispiel das, was kostenlos bei reCAPTCHA angeboten wird (derzeit im Besitz von Google), wo außerdem 2 oder mehr Wörter gemischt werden, wie wir es im folgenden Beispiel sehen:

Die CAPTCHAs werden ihre Komplexität weiter erhöhen und immer moderner werden, doch wir werden immer die schmale Linie zwischen dem sehen, was für einen Menschen verständlich ist, und dem, was es für einen Robot nicht ist.
Ist das CAPTCHA völlig unüberwindbar? Nein, das ist es nicht.
Heutzutage wissen sowohl diejenigen, die Back Hat Hacking praktizieren, als auch die des White Hat Hacking, dass es Werkzeuge zur visuellen Erkennung gibt, die im Internet verbreitet wurden, und dass sogar einige Bezahldienste innerhalb und außerhalb des Deep Web eine schnelle Anbindung anbieten, um die CAPTCHAs zu entschlüsseln und so Systeme anzugreifen und zu verlangsamen.
Aus diesem Grund müssen Sie bei der Entwicklung Ihrer Software oder bei der Beauftragung der Entwicklung berücksichtigen, dass das CAPTCHA nur eine weitere Maßnahme ist und zu keinem Zeitpunkt die einzige Kontrolle sein darf, die zum Schutz des betreffenden Systems durchgeführt wird.
Einige zusätzliche Empfehlungen können, je nach Schema des Systems, die folgenden sein:
- Die Anzahl der Anfragen begrenzen: Sowohl pro IP-Adresse als auch pro Land, pro Zeit und pro Anfragetyp. Damit stößt der Angreifer, selbst wenn er das CAPTCHA entschlüsseln kann, auf andere Grenzen, die für Menschen physisch unmöglich sind.
- Die Anzahl der Fehler überprüfen: Oft senden die Skripte, die zum Entschlüsseln der CAPTCHAs verwendet werden, Matrizen mit mehreren Möglichkeiten, die zu einer Fehleranzahl führen können, die über dem liegt, was ein Nutzer üblicherweise erneut versuchen würde. Testen Sie und bitten Sie Ihren Entwickler (oder sich selbst, wenn Sie Programmierer sind), dass diese Parameter gegebenenfalls angepasst werden können, entsprechend den Nutzungsstatistiken Ihrer eigenen Nutzer.
- Überprüfen Sie die Dienste pro Nutzer: Wenn das Schema es erlaubt, verlangen Sie die Validierung der Zugangsdaten gleichzeitig mit der Überprüfung des CAPTCHA; erfassen Sie zugleich die Nutzung und lokalisieren Sie so leicht missbräuchliche Nutzer, die manuell und automatisch ausgeschlossen werden können.
Oft können solche Elemente für echte Nutzer frustrierend sein. Deshalb könnten Sie auch in Betracht ziehen, statt die Anfragen vollständig zu blockieren, eine Wartezeit einzubauen, und sei es nur in Sekunden, die den Nutzer zwingt, zwischen jeder Anfrage eine gewisse Zeit zu warten, und sobald diese erfolgreich ist, auf die Ergebnisse warten zu müssen — alles basierend auf seinem Verhalten und den Richtlinien, die für jede Nutzergruppe definiert werden. Sie sollten nicht dieselben Parameter für bekannte registrierte Nutzer wie für Besucher oder kürzlich registrierte Nutzer anwenden.
Für die Ingenieure von ZARZA ist und bleibt es ein Vergnügen, Ihnen bei all Ihren Bedürfnissen der Softwareentwicklung zu helfen, und wir möchten Sie daran erinnern, dass unsere Spezialität darin besteht, Ihre Bedürfnisse zu erfüllen, Sie geschützt zu halten und Ihre Leistung sowie die Leistung Ihrer Präsenz im Internet zu steigern.



hinterlassen Sie Ihre Notiz