Anti-Fraud und Anti-Bot in ML-basierter Gamification
1) Warum ein separates Anti-Fraud-System für Gamification
Gamification stimuliert die Aktivität (Missionen, Token, Kosmetika) und provoziert daher:- Bots (Missionsausführungsskripte, Farm-Token/Ratings);
- Multiaccounts/Kollisionen (Team-Cheat, „Pervertieren“ von Belohnungen);
- Emulatoren/root-Geräte (Manipulation des Clients);
- Exploit-Missionen (Zyklen, in denen der Fortschritt ohne echtes Spiel abläuft).
Die Ziele von Anti-Fraud sind: Integrität bewahren, UX nicht überhitzen, Privatsphäre/Regulierung respektieren und die Promo-Wirtschaft nachhaltig halten.
2) Signale und Zeichen (was zu beachten ist)
Vorrichtung und Medium
Zertifizierung der Kundenintegrität (Mobile/Web), Emulator/Root-Merkmale, Nicht-Standard-WebGL/Canvas-Profil.
Gerätefingerprint (ohne PII): Kombinationen aus User-Agent, Schriftarten, Grafiken, Rendering-Zeit.
Verhaltensbiometrie
Das Tempo der Klicks/Schmelz, die Glätte der Kurven, Mikropausen, die Variabilität der Trajektorien.
„Menschliche“ Geräusche: Cursor-Zittern, Microdrift Scroll, Intervallverteilung (Lognormalität).
Spiel- und Missionsmuster
Wiederholte Zyklen der „idealen“ Länge, ungewöhnlich stabile Raten (Spins/min).
Enge Aktivitätsfenster (z. B. genau alle 10 Minuten), sofortige Abschlüsse von mehrstufigen Quests.
Graph-Signale und Netzwerk
IP/AS-Matches, allgemeine Zahlungsquellen (in Aggregaten), Freundschafts-/Einladungscluster.
Gemeinsame Teilnahme an Turnieren mit „Wetten“ (seltsame Korrelationen der Ergebnisse).
Wirtschaft/Promo
Unverhältnismäßige Monetarisierung bei Token-Missionen, drastische Erkenntnisse nach Pharma.
RG/Kontext
Extra lange Sitzungen ohne Mikropausen (Bot-Merkmal), nächtliche „Förderer“.
3) Modellstapel (wie wir fangen)
1. Anomalie-Detektoren (unsupervised):- Isolation Forest, One-Class SVM, Autoencoder für Verhalten und Geräte.
- Verwendung: frühes „verdächtiges Scoring“ ohne das Etikett „schuldig“.
- Community detection (Louvain/Leiden) + Zeichen der Zentralität (betweenness, Grad).
- GNN (GraphSAGE/GAT) zur Klassifizierung von Knoten/Kanten (Kollisionen, Accountfarmen).
- Gradient Boosting/Tabular Transformers durch Markierungen vergangener Untersuchungen.
- Calibrated probabilities → Vertrauen in die Entscheidungsfindung.
- User2Vec nach Ereignisabläufen; Entfernungen → „Bot-Cluster“.
- Die Wahl der minimalen Barriere (easy check vs hard verification) unter dem Risikokontext × UX.
4) Orchestrierung von Regeln (Policy Engine)
Die Idee: ML gibt risk_score, Politik entscheidet „was zu tun ist“ unter Berücksichtigung von Ökonomie und UX.
Beispiel für Ebenen:- R0 (grün): unbegrenzt; passive Überwachung.
- R1 (gelb): weiche „Humanity-Challenges“ (Mikrointeraktionen), reduzierte Einsatzobergrenze.
- R2 (orange): Gerätecheck, zusätzliche Tempokontrolle, Reduzierung der Token-Emission.
- R3 (rot): Fortschrittsblock für umstrittene Missionen, manuelle Moderation/temporäres Einfrieren von Belohnungen.
- R4 (schwarz): Verbot/CUS-Revue (wenn regulatorisch zulässig und gerechtfertigt).
Übergangstreiber: aggregiertes Risiko, Kollisionskennzeichen, Beschwerden, Signal von Anbietern.
5) Ehrliche Barrieren ohne unnötige Reibung
Invisible Checks: Hintergrund-Verhaltensbiometrie, Umgebungsbescheinigung.
Humanity-Action statt Captcha: Mini-Geste (Zufallsdrag-Muster, improvisierter Slider), Zeitfenster mit Mikropausen.
WebAuthn/Passkeys für „teure“ Aktionen: Sichern Sie das Gerät/die Identität ohne Passwort.
Reaktive Barrieren: werden nur im Moment der Anomalien aktiviert, nicht für jeden.
6) Anti-Missionsmuster (wie man „Farmen“ verhindert)
Variabilität der Anforderungen: eine Reihe von Aktionen in verschiedenen Anbietern/Zeiten/Wetten.
Kuldowns und inhaltliche Veränderungen: Verbot von gleichartigen Zyklen in Folge.
Zufällige Kontrollereignisse: kleine „menschliche“ Kontrollen mitten in einer langen Mission.
Einschränkung paralleler Fortschritte: Damit die Betriebe nicht Dutzende Einsätze gleichzeitig schließen.
7) Compliance, Privatsphäre, Transparenz
Datenminimierung: nur notwendige Daten, Speicherung anonymer Aggregate.
Erklärbarkeit: Reason-Codes für strittige Aktionen (z.B. „anomale Geschwindigkeit + Clustergraph“).
Appeal-Prozess: eine verständliche Form der Berufung; schnelle Überarbeitung.
RG-Politiker: Bei Ermüdungserscheinungen reduzieren wir die Belastung, anstatt den Spieler zu „pushen“.
8) Erfolgsmetriken und Wächter der Wirtschaft
Bot/Collusion Catch Rate (Anteil der ermittelten vor dem Erhalt der wichtigsten Auszeichnungen).
False Positive Rate (Schwellenwert Lag to Action (Zeit von Anomalie bis Maß). Emission an GGR und Prize ROI: Schutz zahlt sich aus. Complaint/Appeal rate и Appeal overturn rate. Auswirkung auf UX: Missionskonvertierung, Mute/Opt-Out aus Personalisierung, NPS durch Ehrlichkeit. 9) A/B und Offline-Validierung 1. Anti-Konsum-Missionen: Variabilität vs Basis. 2. Humanity-check: eine unsichtbare Geste gegen ein klassisches Captcha. 3. Schwelle risk_score: weich/hart (verschiedene TPR/FPR). 4. Graph-Filter: mit/ohne GNN, nur Graph-Regeln. 5. Der Orchestrator der Barrieren: ein statischer vs kontextueller Bandit. 10) Pseudocode (Scoring → Politik → Aktion) 11) JSON-Templates (Regeln und Log) 12) Reaktionsprozess und Redtiming Echtzeit-Monitoring: Dashboards zu Risikospitzen, Graph-Komponenten. 1. Anomaliedetektion → 2) Verringerung der Emission/Einfrieren umstrittener Belohnungen → 3) Sampling von Protokollen/Graphen → 4) Patch von Regeln/Modellen → 5) Retro-Neuberechnung von ehrlichen Belohnungen. Red Team/Underground Lab: Simulation von Bots (Verschleierung, Randomisierung), Angriffe auf Modelle (adversarial examples). Kanarische Releases: Wir rollen neue Barrieren für 5-10% des Traffics aus. 13) UX und Kommunikation Neutraler, respektvoller Ton: „Ungewöhnliche Aktionen bemerkt - bestätigen Sie, dass Sie ein Mensch sind (30 Sek.)“. Optionen: „später wiederholen“, „Support kontaktieren“, „Berufung“. Barrierefreiheit: Alternativen für Menschen mit motorischen/visuellen Einschränkungen. Transparenz: Seite „Wie wir Ehrlichkeit schützen“ mit allgemeinen Grundsätzen (kein Rezept für Missbrauch). 14) Technische Architektur (in Kürze) Ereignissammlung: Kafka/Redpanda, Schemata 'mission _ progress', 'input _ stream', 'device _ attest'. Fichester: online (ms-Latenz) + offline (Batchi 1-6 h). ML-Dienste: 'Risikoscorer', 'graph-service', 'policy-engine'. Beweisspeicher: Unveränderliche Protokolle (WORM), Ruhe- und Kanalverschlüsselung. Sicherheit: RNG-Sicherheitsseiten auf dem Server; Der Kunde ist nur eine Visualisierung. 15) Checkliste vor Veröffentlichung Anti-Fraud/Anti-Bot in der Gamification ist eine Schicht aus ML + Graphen + ehrlichen Barrieren, die genau dort aktiviert werden, wo sie benötigt werden. Verhaltensbiometrie und Anomalie-Detect geben ein frühes Signal, der analytische Graph öffnet die Kollisionen, der Orchestrator wählt eine minimal ausreichende Überprüfung aus. Mit Transparenz, Privatsphäre und Respekt für UX bewahrt das System die Integrität des Wettbewerbs, schützt die Belohnungsökonomie und verwandelt das Produkt nicht in einen „Hindernisparcours“ für gewissenhafte Spieler.
python def score_request(user, event):
x = build_features (user, event) # Gerät, Verhalten, graphische Merkmale r_unsup = oc_svm. score (x) # Anomalie r_sup = gbdt. predict_proba (x) [:, 1] # Betrugswahrscheinlichkeit r_graph = gnn_node_prob (user. node_id) # graph risk = calibrate (r_unsup, r_sup, r_graph) # isotrope Kalibrierung return risk
def decide_action(risk, context):
Kontext: Bedeutung der Aktion, Wert der Belohnung, UX-Faktor if risk <0. 25: return "ALLOW"
if risk < 0. 45: return "SOFT_CHECK" # humanity-gesture, micro-pause if risk < 0. 65: return "DEVICE_ATTEST" # integrity + сниж. mission cap if risk <0. 85: return „HOLD_REWARDS“ # freeze to revue return „BAN_OR_REVIEW“
def enforce(action, user):
Mindestbarriere if action = "SOFT_CHECK": trigger_humanity_challenge (user)
elif action == "DEVICE_ATTEST": run_integrity_attestation(user. device)
elif action == "HOLD_REWARDS": freeze_rewards(user, duration="72h")
elif action == "BAN_OR_REVIEW": open_case_to_fraud_ops(user)
Protokoll der Entscheidung (für Audit/Beschwerde):
json
{
"policy_id": "anti_fraud_s1", "tiers": [
{"name":"R0","risk_lt":0. 25,"action":"allow"}, {"name":"R1","risk_lt":0. 45,"action":"soft_check"}, {"name":"R2","risk_lt":0. 65,"action":"device_attest_and_cap"}, {"name":"R3","risk_lt":0. 85,"action":"hold_rewards_review"}, {"name":"R4","risk_gte":0. 85,"action":"ban_or_kyc_review"}
], "caps": {"missions_per_day_r2": 2, "token_emission_multiplier_r2": 0. 5}, "appeal": {"enabled": true, "sla_hours": 48}
}json
{
"decision_id":"dec_2025_10_24_1415", "user_id":"u_45219", "risk_components":{"unsup":0. 38,"sup":0. 41,"graph":0. 57}, "final_risk":0. 51, "action":"device_attest_and_cap", "reasons":["abnormal_click_tempo","graph_cluster_c17"], "expires_at":"2025-10-27T14:15:00Z"
}