Pobierz PDF

BOTracle: Framework do Rozróżniania Botów i Ludzi

Metadane

Streszczenie

BOTracle to wieloetapowy framework wykrywania botów internetowych w scenariuszach wysokiego ruchu e-commerce, testowany na rzeczywistych danych z 40 milionami miesięcznych wizyt. System integruje trzy różne metody detekcji: (1) heurystyki (szybka detekcja oczywistych botów), (2) Semi-Supervised Generative Adversarial Network (SGAN) analizujący cechy techniczne (IP, rozmiar okna, user agent), oraz (3) Deep Graph Convolutional Neural Network (DGCNN) analizujący grafy nawigacji strony (Website Traversal graphs) oparte wyłącznie na zachowaniu.

Kluczową innowacją jest podejście wielowarstwowe: heurystyki filtrują oczywiste przypadki, SGAN analizuje pojedyncze requesty, a DGCNN ocenia całe sesje poprzez wzorce nawigacji. Wszystkie trzy metody osiągają precision, recall i AUC na poziomie 98% lub wyższym, przewyższając framework Botcha na tym samym zbiorze danych. Szczególnie istotne jest wykorzystanie cech behawioralnych (DGCNN), które są niezależne od technologii automatyzacji i trudniejsze do sfałszowania przez boty.

Kluczowe Wnioski

  • Wieloetapowy pipeline: Heurystyki (szybkie) → SGAN (cechy techniczne per-request) → DGCNN (zachowanie całej sesji) osiąga 98%+ precision/recall/AUC
  • Przewaga cech behawioralnych: DGCNN opiera się wyłącznie na wzorcach nawigacji, bez IP/user-agent/window size - trudniejsze do podrobienia przez boty
  • Skala rzeczywistego wdrożenia: 40 milionów miesięcznych wizyt, 1.4M próbek ewaluacyjnych, przychód platformy 500M-1B USD rocznie
  • Porównanie z Botcha: BOTracle (SGAN: 0.9895 accuracy, DGCNN: 0.9845) vs Botcha-RAM (0.9952 accuracy) - porównywalne wyniki
  • Najważniejsze cechy SGAN: post_browser_height (0.542 R²), post_browser_width (0.287 R²) - łatwe do podrobienia, stąd potrzeba cech behawioralnych
  • Rozmiar grafu ma znaczenie: Nawet grafy 1-3 węzłów osiągają 97-100% accuracy, wydajność rośnie wraz z liczbą odwiedzonych podstron
  • Labeling przez założenia: Human (pracownicy organizacji), Bot (IP z cloud providers) - recall 0.9988 po walidacji heurystykami

Metodologia

1. Labeling i Ground Truth

Brak gotowych etykiet w zbiorze danych e-commerce, więc zastosowano założenia:

  • Human assumption: Ruch z kont pracowników organizacji (7,630 hits)
  • Bot assumption: Requesty z IP cloud providers (51,462 hits → 65,018 po heurystykach)
  • Unknown: 710,023 hits bez etykiety

2. Trzy metody detekcji

Heurystyki (szybkie filtrowanie):

  • Forged User Agent: user-agent z bibliotek automatyzacji (python-request) lub niezgodności capabilities
  • Time Between Hits Similarity: stałe interwały między requestami (boty) vs losowe (ludzie)
  • Unrealistic Window Sizes: bardzo małe okna (<50px) sugerują boty (oszczędność mocy obliczeniowej)

SGAN (Semi-Supervised GAN):

  • Architektura: Discriminator (2 komponenty: classifier + discriminator) + Generator
  • Cechy: Technical features (IP, window size, user agent, Java support, visit frequency, page type)
  • Trenowanie: Labeled data (classifier) + unlabeled data (GAN) - wykorzystanie obu typów danych
  • Output: Probability bot/human, threshold λ ∈ [0,1] dla confidence

DGCNN (Deep Graph CNN):

  • Website Traversal (WT) Graphs: węzły = podstrony, krawędzie = nawigacja, wagi = częstość wizyt
  • Cechy grafowe: node degree, edge count, page type distribution, session topics (RAKE), degree/betweenness centrality
  • Architektura: GCN (4 warstwy: 32, 32, 32, 1 hidden units) + sort pooling (k=35) + 1D-CNN (2 conv layers)
  • Cechy behawioralne: traversal patterns (breadth-first search = bot), interaction (promo codes, purchases), visit frequency

3. Multi-Stage Pipeline

  1. Incoming hit → Heuristics (jeśli klasyfikacja = return prediction)
  2. Jeśli nie → Process & Encode → SGAN (jeśli confidence >λ = return)
  3. Jeśli nie → Accumulate session → Transform to WT graph → DGCNN (jeśli confidence >λ = return)
  4. Jeśli nie → Wait for more hits, repeat

Główne Koncepcje

  • Website Traversal (WT) Graph: Graf reprezentujący nawigację użytkownika po stronie - węzły (podstrony), krawędzie (przejścia), wagi (częstość), etykiety węzłów (timestamp, page type, benchmark label)
  • Semi-Supervised GAN (SGAN): GAN z classifierem współdzielącym wagi z discriminatorem - wykorzystuje labeled + unlabeled data do trenowania binary classifier
  • Behavioral vs Technical Features: Technical (IP, user-agent, window size) - łatwe do podrobienia; Behavioral (navigation patterns, interaction, visit frequency) - trudne do imitacji bez utraty wydajności bota
  • Permutation Importance: Algorytm oceniający ważność cech przez shuffling kolumn i pomiar spadku accuracy
  • ExpSum Activation Function: Specjalna funkcja aktywacji dla discriminatora GAN: E(Z) = F(Z)/(F(Z)+1), gdzie F(Z) = Σe
  • Overlap Clustering: Metoda podziału danych gdzie grafy mogą należeć do wielu klastrów (70% train, 30% test)

Wyniki

RQ1: Wydajność detekcji (Tabela 3)

ModelAccuracyRecallPrecisionF1-ScoreAUROC
SGAN0.98950.98750.91890.95190.9886
DGCNN0.98450.98330.97910.98120.9892
Botcha-MAM0.93640.83831.00.91200.9437
Botcha-RAM0.99520.96630.98070.97350.9996

Wnioski: Wszystkie metody osiągają wysoką wydajność. DGCNN (tylko cechy behawioralne) porównywalne z SGAN i Botcha (cechy techniczne). Botcha-RAM najlepszy, ale BOTracle konkurencyjny.

RQ2: Ważność cech technicznych (SGAN)

Top cechy (Permutation Importance, Tabela 4):

  • post_browser_height: μ=0.542±0.008 (R²-Score)
  • post_browser_width: μ=0.287±0.010
  • post_java_enabled_N: μ=0.082±0.003
  • post_java_enabled_Y: μ=0.061±0.002

Problem: Najważniejsze cechy (window size) są łatwe do podrobienia przez boty. Uzasadnia to potrzebę cech behawioralnych (DGCNN).

RQ3: Wpływ rozmiaru grafu WT (DGCNN, Tabela 5)

Nodes# GraphsACCRecallPrecisionF1-Score
126,1370.9980.9810.9980.99
217,0660.9731.00.9740.986
33,5331.01.01.01.0
8-10~3K1.01.01.01.0

Wnioski: Nawet minimalne grafy (1-3 węzły) osiągają >97% accuracy. Wydajność rośnie z rozmiarem grafu. WT graphs agregują multiple interactions z tą samą podstroną do jednego węzła - umożliwia detekcję botów nawet przy jednej odwiedzanej podstronie.

Przydatne Cytaty

“Bots constitute a significant portion of Internet traffic and are a source of various issues across multiple domains. Modern bots often become indistinguishable from real users, as they employ similar methods to browse the web, including using real browsers.” (str. 1)

“Behavioral features are paramount due to their independence from the underlying automation technology. For instance, while using a real, rendered browser enables bots to mimic human activity and evade detection based on technical, non-behavioral features, achieving this level of mimicry requires sophisticated emulation of human behavior.” (str. 13)

“Our performance metrics, including precision, recall, and AUC, reach 98 percent or higher, surpassing Botcha.” (str. 1)

“Even if a bot were to mimic these patterns, it would result in a significant loss of efficiency.” (str. 15)

“The findings indicate that an increase in graph size correlates with enhanced performance of the model. The data presented in the table reveals that even minimal graphs, comprising one to three nodes, are classified with high accuracy.” (str. 15)

“Additionally, it is worth noting that our approach may not be able to detect bots that behave exactly like humans. This however is a common limitation among bot detection approaches. However, a bot that behaves exactly like a human is less effective for the bot operator and makes it more difficult to perform malicious activities.” (str. 16)

Datasety

  • Proprietary E-Commerce Dataset - 40 milionów miesięcznych wizyt, ~1.4M próbek ewaluacyjnych, platforma o przychodach 500M-1B USD rocznie, wygenerowany przez Adobe Analytics w Adobe Experience Cloud (nie publiczny, data protection)

Powiązane Tematy

  • Multi-stage bot detection pipelines
  • Semi-supervised learning dla fraud detection
  • Graph neural networks w analizie zachowań użytkowników
  • Behavioral biometrics w kontekście webowym
  • Real-world deployment challenges dla ML security
  • Feature importance analysis w bot detection
  • Website traversal patterns jako behavioral signatures
  • Privacy-preserving bot detection (bez biometrycznych danych)
  • Cold-start problem w bot detection (nowe sesje z kilkoma hitami)
  • CAPTCHA alternatives - passive monitoring

Notatki

Ograniczenia:

  • Dataset proprietary - brak możliwości publicznego benchmarkingu
  • Ground truth oparty na założeniach (employee IPs = human, cloud IPs = bot) - może miss sophisticated bots
  • Nie wykryje botów zachowujących się identycznie jak ludzie (ale tacy boty są mniej efektywni - trade-off)

Kluczowe innowacje:

  1. Multi-stage approach: Optymalizacja compute resources (heuristics first, DGCNN last)
  2. Behavioral-only detection: DGCNN nie używa IP/user-agent/window size - tylko navigation patterns
  3. Real-world scale: 40M monthly visits - nie lab dataset
  4. WT graphs: Agregacja multiple hits do same page w jeden węzeł - enables detection nawet w short sessions

Potencjalne zastosowania:

  • E-commerce bot protection (scraping, scalping, fraud)
  • Content protection (anti-crawling dla proprietary content)
  • Rate limiting optimization (reduce false positives dla humans)
  • Real-time security monitoring (low latency requirement)

Powiązanie z pomysłem #20 (BOTracle Replication):

  • Możliwość odtworzenia 3 metod na publicznym zbiorze
  • Extension: +2 metody (GNN graph-based, LSTM sequence-based)
  • Cost-benefit analysis: precision vs latency vs compute

Elementów w folderze: 0.