Prüfungsexperte: Zheng Yuanpan, Professor an der Zhengzhou University of Light Industry Wenn wir im Internet surfen, stoßen wir häufig auf Mensch-Maschine-Verifizierungsprozesse, die dem in der folgenden Abbildung gezeigten ähneln, bei dem wir auf ein Kästchen klicken müssen, um auf den Inhalt der Webseite zuzugreifen. Dialogfeld zur Mensch-Maschine-Verifizierung von reCHAPTCHA (Quelle: Wiki) Bei dem oben beschriebenen Vorgang handelt es sich um eine Überprüfung, die zum Schutz der Sicherheit der Website eingerichtet wurde. Schließlich besteht bei der Registrierung, Anmeldung, Coupon-Sammlung, Abstimmung und anderen Anwendungsszenarien der Website die Gefahr, dass Daten von Maschinen (Programmskripten) gestohlen werden und verschiedene Verluste entstehen. Aber können wir mit nur einem Klick wissen, ob es sich bei dem „Subjekt“, das die Website besucht, um eine reale Person (einen Menschen) handelt? Kann eine so schlampige Verifizierungsmethode wirklich zwischen echten Menschen und Maschinen unterscheiden? 1 So klicken Sie auf den Bestätigungscode Werfen wir zunächst einen Blick auf einige Website-Informationen im Fenster „Entwicklertools“ von Google Chrome. Drücken Sie die Funktionstaste F12 auf der Tastatur, um das Netzwerkfenster des Entwicklertoolfensters zu öffnen, wie in der folgenden Abbildung gezeigt. Klicken Sie auf die Schaltfläche „Mensch-Maschine-Authentifizierung“. Auf der linken Seite werden die Datenpakete der Netzwerkübertragung angezeigt. Website Chrome Developer Tools Fenster Netzwerk-Panel (Netzwerk-Panel) Quelle: Google Vielleicht verstehen Sie die Bedeutung dieser Inhalte immer noch nicht, aber das spielt keine Rolle. Stellen Sie sich diese einfach als Daten vor, die vom lokalen Browser an den Remote-Website-Server gesendet werden. Diese Daten sind nicht für die menschliche Wahrnehmung, sondern für den Server sichtbar. Durch die Analyse der Informationen in diesen „verstümmelten Codes“ kann der Server feststellen, ob es sich um von einer realen Person generierte Daten oder lediglich um ein von einem automatisierten Programmcode gesendetes Anforderungsdatenpaket handelt und kann dann unterscheiden, ob es sich bei dem Bediener um einen Menschen oder eine Maschine handelt. Die Quelle des Kurserfassungsskripts, geschrieben in der Sprache Python丨Bilibili Sie denken, Sie klicken nur „im Scherz“ auf das kleine Quadrat im Bildschirmfenster und „öffnen dann die dahinterliegende Webseite“, aber tatsächlich wird durch Ihre Operation ein Datenpaket generiert und an den Server gesendet. 1. Daten zum Benutzerverhalten: Seitenpausenzeit, Schaltflächenklicks, Mausbewegungen usw.; 2. Umgebungsvariablen: Benutzergeräteinformationen, Netzwerkinformationen, Betriebssysteminformationen usw.; 3. Browser-Fingerabdruck: einschließlich Anforderungsheaderinformationen, IP-Adressinformationen (logische Adresse der Netzwerkkarte), MAC-Adressinformationen (physikalische Adresse der Netzwerkkarte), Informationen zum geografischen Standort, Cookie-Informationen usw. Inhalt des Anforderungsheaders Obwohl diese verbesserte Verifizierungsmethode für viele Benutzer bequemer ist, da sie nicht mehr mühsam das Zielobjekt aus einer Reihe von Mustern auswählen muss, wie auf der Website 12306, wurde diese Verifizierungsmethode im Hinblick auf die Sicherheit im Vergleich zu Verifizierungscodes vom Identifikationstyp leider nicht wesentlich verbessert. Die Verschlüsselung dieser Daten wird durch den Front-End-JS-Code abgeschlossen, und der JS-Code kann durch Erfassen des Pakets über die mit dem Browser gelieferten Entwicklertools abgerufen werden. Dies bedeutet, dass es theoretisch möglich ist, diese Codes zurückzuentwickeln, die Verschlüsselungslogik herauszufinden und dann die Anforderungsdaten zu fälschen. Obwohl einige JS-Codes verschleiert und schwer lesbar sind, haben verschiedene hohe Tiere Gegenmaßnahmen ergriffen und Anti-Verschleierungstools entwickelt, um den JS-Code wiederherzustellen. Man kann sagen, dass diese Konfrontation seit dem Aufkommen von Verifizierungscodes nie aufgehört hat. 2 Die Entwicklung des Verifizierungscodes Der Ursprung des Verifizierungscodes lässt sich auf das Jahr 1997 zurückführen, als Programmierer wie Lillybridge von Altavista erstmals den Verifizierungscode aus verzerrten Buchstaben erstellten, um Hacker daran zu hindern, in das Backend einzudringen. Quelle: ifanr Bis heute ist diese Art von Bestätigungscode für einige Websites immer noch die wichtigste Bestätigungsmethode. Die stark verzerrten Buchstaben zwingen die Personen vor dem Monitor häufig dazu, den Kopf zu schütteln und sich nach links und rechts zu drehen, um das Zielobjekt zu identifizieren. Seinen Namen erhielt der Verifizierungscode eigentlich im Jahr 2003, als das Team um Luis von Ahn an der Carnegie Mellon University das Programmkonzept „CAPTCHA“ vorschlug. CAPTCHA ist die Abkürzung für „Completely Automated Public Turing Test to Tell Computers and Humans Apart“. Die chinesische Bedeutung lautet „vollautomatischer öffentlicher Turing-Test zur Unterscheidung von Computern und Menschen“. Bei einem CAPTCHA-Test generiert der Computer automatisch eine Frage, die der Benutzer beantworten muss. Da Maschinen CAPTCHA-Fragen nicht beantworten können, können Benutzer, die die Frage beantworten können, logischerweise als Menschen betrachtet werden. Da der Kampf zwischen Sicherheitsschutz und Hackerangriffen immer intensiver wird, wird es immer schwieriger, Verifizierungscodes zu erkennen, und auch ihre Formen werden vielfältiger. Von der Entstehung bis heute gibt es hauptsächlich diese Arten von Verifizierungscodes: SMS-Verifizierungscode, Sprachverifizierungscode, Grafikverifizierungscode, Frageverifizierungscode, Verifizierungscode durch Schieben und Klicken usw. SMS-Bestätigungscode Benutzer können den Bestätigungscode zum Anmelden mit ihrem Mobiltelefon überprüfen, für Programme/Roboter ist es jedoch komplizierter, solche automatisierten Vorgänge durchzuführen. Quelle: jhkjsms.com Sprachbestätigungscode Menschen können ans Telefon gehen und die Stimme hören. Um zu verhindern, dass die Spracherkennungssoftware die Stimme analysiert, wird der Sprachinhalt mit Rauschen vermischt oder die Stimme wird soweit verändert, dass sie für Menschen noch akzeptabel ist. Quelle: cloud.juphoon.com Grafischer Bestätigungscode Bei der Bildüberprüfung wird die Mitte absichtlich unscharf gemacht und nicht programmierbarer Text verwendet, um eine maschinelle Erkennung zu verhindern. Menschen mit Sehbehinderungen können die Sprachverifizierung wählen. Wie in der Abbildung gezeigt, stellen Image Turker und Audio Turker Menschen dar, die Bild- bzw. Sprachverifizierungscodes erkennen. Das Bild-Captcha von authorize.net ist das einfachste, während das Audio-Captcha von google.com das schwierigste ist. Genauigkeit der menschlichen Erkennung von Bild- und Sprachverifizierungscodes Quelle: web.stanford.edu Fragenbestätigungscode Auf inländischen Websites sind Bestätigungscodes, die das Anklicken von Mustern erfordern, normalerweise am frustrierendsten. Einige Verifizierungsmethoden im Stil eines „Rate, wer du bist“-Spiels führen oft dazu, dass die Leute aufgeben und nicht mit dem nächsten Schritt fortfahren. Quelle: www.12306.cn Schieben und klicken Sie auf den Bestätigungscode Im Jahr 2014 führte Google ein neues Verifizierungscodesystem namens NoCAPTCHA reCAPTCHA ein, das wir am Anfang gesehen haben. Wir müssen keinen Bestätigungscode eingeben, klicken Sie einfach darauf. Im Jahr 2018 hat Google reCAPTCHA aktualisiert. Benutzer müssen nicht einmal etwas unternehmen. Das System analysiert im Hintergrund, wie Benutzer die Website durchsuchen, und führt eine Risikobewertung durch. Wenn die Bewertung des Benutzers zu niedrig ist, verlangt die Website vom Benutzer zusätzliche Schritte, um zu beweisen, dass er ein legitimer Benutzer ist. Quelle: Zhihu 3 Merkmale inländischer Prüfcodes Die in China gebräuchlichere Verifizierungsmethode ist der wissensfreie Verifizierungscode, der drei wesentliche Vorteile bietet: gute Benutzererfahrung, hohe Risikoidentifizierungsrate und starke Risikoabfangfähigkeit. Quelle: Screenshot von Station B Quelle: Baidu Security Verification Gute Benutzererfahrung Benutzer müssen nicht nachdenken und das Erlebnis ist relativ reibungslos. Hohe Risikoidentifizierungsrate Mit der Entwicklung des maschinellen Lernens verfügen Maschinen über menschliches Wissen und auch einfache grafische CAPTCHAs können geknackt werden. Wissensfreie CAPTCHAs bewerten Risiken jedoch umfassend auf der Grundlage menschlicher Verhaltensmerkmale und der Betriebsumgebung, und menschliches Verhalten ist für Angreifer schwer nachzuahmen. Starke Fähigkeit zur Risikoabwehr Die im Hintergrund ausgeführte Auswertungslogik ermittelt den Risikoindex des Benutzers und kann je nach Grad der verdächtigen Vorgänge Verifizierungscodes mit unterschiedlichen Schwierigkeitsgraden pushen oder den Vorgang sogar direkt blockieren, um Risiken effektiv abzufangen. Ich glaube, dass Sie nach der Lektüre dieses Artikels etwas über Verifizierungscodes gelernt haben und verstehen, warum wir beim Besuch von Websites immer mit diesen seltsamen Verifizierungscodes zu tun haben. |
<<: 8000 Grad Celsius im Weltraum, ein Planet heißer als die Sonne!
>>: Wenn Mütter aus der Küche kommen und zu Waldbrandbekämpferinnen werden
Warum essen Menschen gerne Süßigkeiten? Weil Zuck...
Android, ein von Google entwickeltes Open-Source-...
Rezensionsexperte: Zhu Guangsi, Mitglied der Beij...
Sie werden nur dann überall danach suchen, wenn S...
Von einem Spielzeug für Computerfreaks bei seiner...
Wenn unsere Mutter uns morgens zum Aufstehen aufr...
Viele Menschen erstellen im Frühling gerne eine R...
Wie fühlt es sich an, wenn 500 Mücken gleichzeiti...
In letzter Zeit entscheidet sich jeder, ob er von...
Das Wetter wird kalt und viele Leute in meiner Um...
Im Alltag kommt es häufig zu verschiedenen Gelenk...
Während der gerade vergangenen Nationalfeiertage ...
Viele Menschen können Liegestütze machen, insbeso...
Was ist der Unterschied zwischen Menschen und Qua...