Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Battle of Botcraft:
Fighting Bots in Online Games
with Human Observational Proofs
Steven Gianvecchio, Zhenyu Wu,
Mengjun Xie, and Haining Wang
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
Background
Online Games
In 2008, online game revenues $7.6B
about half from massively multiplayer online
games (MMOGs) ex. World of Warcraft (WoW)
MMOG currency trades for real currency
players can make real money
A major problem is cheating
Background
Game Bots
A common cheat is use of game bots
able to amass game currency
cause hyper-inflation
To combat bots
process monitors, ex. Warden for WoW
human interactive proofs (HIPs)
legal action
Background
Game Bots
Glider – a popular WoW bot
controls game via mouse / keyboard APIs
uses profiles, i.e., configurations and
waypoints
able to evade Warden
Blizzard sued MDY (maker of Glider)
awarded $6.5M
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
Game Playing Characterization
Input Data Collection
World of Warcraft game
RUI program (with modifications)
records user-input events
converts events to user-input actions
ex. move + move + press + release =
point-and-click
computes user-input action statistics
Game Playing Characterization
Game Bot
10 Glider profiles (configurations and
waypoints)
40 hours
half with warrior and half with mage
levels 1 to mid-30s
Game Playing Characterization
Human
30 humans
55 hours
>45
100%
90%
home
35-44
women
20s-30s
>10
magic
80%
70%
60%
25-34
5-10
50%
40%
lab
men
10<
2-5
physical
30%
1<
20%
18-24
none
10%
0%
Sex
Age
Gaming
Exp.
Location
Class
Level
Human
well fit by Pareto distribution
Game Bot
more fast keystrokes
signs of periodic timing
Keystroke Inter-arrival Time Distribution
Human
fewer very short keystrokes
3.9% shorter than .12 secs
Game Bot
36.9% shorter than .12 secs
more signs of periodic timing
Keystroke Duration Distribution
Human
highly-variable speed at all displacements
Game Bot
linear speed increases
high-speed moves with zero displacment
Point-and-Click Speed vs. Displacement
Human
decays exponentially
only 14.1% of movements have 1.0 efficiency
Game Bot
81.7% of movements have 1.0 efficiency
Point-and-Click / Drag-and-Drop Movement Efficiency
Game Bot
no correlation between speed and direction
Average Velocity for Point-and-Click
Human
diagonal, symmetric, and bounded
diagonals faster than horizontal / vertical
Average Velocity for Point-and-Click
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
HOP System
A behavioral approach
human observational proofs (HOPs)
The idea: certain tasks are difficult for a
bots to perform like a human
passively observe differences
HOP-based game bot defense system
continuous monitoring
transparent to users
HOP System
Client-Side Exporter
transmits user-input actions
Server-Side Analyzer
processes and decides: bot or human
HOP System
Neural Network
Inputs
1. duration
2. distance
3. displacement
4. move efficiency
5. speed
6. angle
# of inputs = # of actions * 7
7. virtual key
HOP System
Neural Network
Output –
human or bot
Decision Maker
“Votes” on series of outputs
ex. {bot + bot + human} = bot
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
Experiments
Experimental Setup
30 human players, 55 hours
10 Glider profiles, 40 hours
10-fold cross validation
test on a bot or human not in training set
10 different training sets
Experiments
HOP System
1. # of actions (input to neural network)
2. # of nodes (in neural network)
3. threshold x (on neural network output)
> x is bot, <= x is human
4. # of outputs per decision
ex. {bot + bot + human} = bot
Experiments
Configure 1. # of actions and 2. # of nodes
4 actions with 40 nodes
TPR and TNR vs. # of Nodes and # of Accumulated Actions
Experiments
Configure 3. threshold and 4. # of outputs
threshold 0.75 with 9 outputs per decision
TPR and TNR vs. Threshold and # of Accumulated Outputs
Experiments
Detection Results
Configured System
4 actions, 40 nodes, threshold 0.75, 9 outputs
Glider – avg. true positive rate of 0.998
Humans – true negative rate of 1.000
True Positive Rates for Bots
Experiments
Decision Time
# of action * time per action
avg. 39.60 seconds
Decision Time Distribution
Experiments
Detection of Other Game Bots
MMBot in Diablo 2
different bot, different game
without retraining the neural network
MMBot – true positive rate of 0.864
Humans – true negative rate of 1.000
Outline
Background
Game Playing Characterization
HOP System
Experiments
Limitations
Conclusion
Limitations
Experimental Limitations
Size
30 not enough
Lab vs. Home
mostly in-lab
Character equipment / levels
Other bots and games
Limitations (cont.)
Potential Evasion
Interfere with client-side exporter
block user-input stream
manipulate user-input stream
Mimic human behavior
replay attacks
model human user-input
Conclusion
Game Play Characterization
95 hours of user-input traces
bots behave differently than humans
HOP System
exploits behavioral differences
compared to HIPs, HOPs are transparent and
continuous
detects 99% of bots with no false positives
raises the bar for attacks
Questions?
Thank You!
Questions?
Thank You!
Questions?
Thank You!
Experiments
System Overhead
Memory
per user = 4 actions * 16 bytes + 16 outputs *
1 bit = 66B
server with 5,000 users = 330KB
CPU – P4 Xeon 3.0Ghz
95 hours of traces in 385ms = ~296 hours/sec
server with 5,000 users = ~1.4 hours/sec