Wie können wir zwischen menschlichem und Bot-Verhalten unterscheiden?

7

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.

pnp
quelle
1
Siehe den Turing-Test . Siehe auch Ken Regans Projekt zur Erkennung von Betrug im Schach .
Jonas G. Drange
Eine Referenzanfrage wie Ihre ist für Stack Exchange zu weit gefasst - Sie fordern eine Übersicht über ein ganzes Forschungsgebiet! Sie müssen Ihren Fokus erheblich einschränken, bevor eine Frage von angemessenem Umfang auftritt. Sprechen Sie mit Ihren Beratern, suchen Sie mit Google Scholar und lesen Sie diesen Leitfaden, um eine bessere (erneute) Suche in Academia zu erreichen .
Raphael

Antworten:

9

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 ).

  • Honeypots (dh Fallen für Bots, die aus einem Link oder Feld auf der Seite bestehen, das für das menschliche Auge nicht sichtbar ist)
  • Analyse der maximalen kontinuierlichen Sitzungsdauer (Menschen müssen sich ausruhen) und der Korrelation mit der Tageszeit (siehe Unterscheiden von Menschen von Bots in Websuchprotokollen )

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

  1. Auf maschinellem Lernen basierende Angriffe verbessern sich und CAPTCHAs dienen auch als Benchmark-Aufgabe für Technologien für künstliche Intelligenz (z. B. The End is Nigh: Generisches Lösen von textbasierten CAPTCHAs ).

Schlüsselwörter

HIP (Human Interactive Proofs), CAPTCHA, Tastendynamik, Tastendruckkadenz, Typendynamik, IDS (Intrusion Detection System), Honeypot, Klickbetrug, Spambot


Verweise

Manlio
quelle