Aktualisiert basierend auf Kommentaren:
Auf welche Weise können wir einen Menschen unterscheiden, der bestimmte Aktivitäten online ausführt, und einen Bot, der für ähnliche Aktivitäten programmiert ist, z. B. E-Mails abrufen, Musikdateien herunterladen, bei eBay einkaufen, bei Google suchen usw. oder vielleicht versuchen, eine Website zu entstellen / hacken , Brute Force ein Login-Passwort etc.
Um den Umfang der Frage einzuschränken und klarer zu machen, beschränken wir unsere Beobachtungen nur auf netzwerkorientiertes Verhalten. Einige Beispiele sind die Zeit, die für die Online-Ausführung von XYZ-Dingen aufgewendet wurde, die Menge / Art der Daten, von denen (sagen wir) heruntergeladen wurde eine Filesharing-Website, die Anzahl der Freunde / Follower auf Social Media-Websites usw.
Ich denke, es sollte möglich sein, einige "Muster" zu erhalten, die menschliches Verhalten und programmiertes Verhalten unterscheiden.
Der Turing-Test ist nicht das, wonach ich suche.
Welche Techniken können hier nützlich sein? Maschinelles Lernen? Spieltheorie?
Verweise auf relevante akademische / Forschungsartikel sind ebenfalls gut.
Antworten:
Der gebräuchlichste / offensichtlichste Weg ist ein Challenge-Response-Test, der für Menschen einfach, für Computer jedoch schwierig ist (natürlich, aber nicht nur CAPTCHA ).
Diese Art von Test ist sehr effektiv {1}, fällt jedoch unter den Bereich HIP (Human Interactive Proofs): Er ist nicht transparent.
Typische "einfache" Ansätze zur Unterscheidung des menschlichen Website-Verkehrs von Bot sind:
Zeit, die benötigt wird, um alle Felder auszufüllen und auf die Schaltfläche "Senden" eines Eingabeformulars zu klicken (häufig verwendet, aber einfach zu umgehen).
Das Beobachten der Trittfrequenz / des Tempos der Kommunikation ist eine sicherere Alternative (dies ist eine der Funktionen von Googles No CAPTCHA reCAPTCHA ).
Es muss berücksichtigt werden, dass Bot-Eigenschaften eine große Variabilität für verschiedene Crawler / verschiedene Sites aufweisen . Daher ist es schwierig, einfache, deterministische Heuristiken abzuleiten: Regelbasierte Systeme implizieren eine lange Liste statischer Regeln, die (selbst von Experten) schwer zu definieren und zu pflegen sind. .
Techniken des maschinellen Lernens werden häufig verwendet:
Fast jedes verfügbare AI / ML- "Tool" wurde experimentiert . Das Hauptproblem bei der Verwendung dieser überwachten Tools für maschinelles Lernen ist die Kennzeichnung des Trainingsdatensatzes.
Selbst wenn die Analyse auf netzwerkorientiertes Verhalten beschränkt wird, ist dies eine Frage von enormem Umfang. Aus diesem Grund gebe ich einige Schlüsselwörter für die weitere Suche an.
Anmerkungen
Schlüsselwörter
HIP (Human Interactive Proofs), CAPTCHA, Tastendynamik, Tastendruckkadenz, Typendynamik, IDS (Intrusion Detection System), Honeypot, Klickbetrug, Spambot
Verweise
quelle