SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Open Anti-Cheat System
By Stephen Larroque
Supervisor: Pierre-Henri Wuillemin
An opensource anti-cheat system
for realtime online multiplayer games
• Problematic
• Theoretical approach
• Implementation
• Experiments and Results
• Applications and conclusion
Outline
Problematic
of cheating in online games
• Online games:
– Are a big part of the videogame industry
– Important source of revenues
• Major challenges:
– Network management
– Online cheating
• Problem: lots of cheat types and lots of
cheat softwares for each type (new ones
everyday)
Problematic
• Using here the taxonomy of cheats by Yan
& Choi (2002) extended by Tolbaru
(2011):
– 10:
Cheating by modification of the game or data
– 11:
Cheating by exploiting bugs or design flaws
(however there are other more efficient ways to fix this
type of cheat by doing server-side processing and
providing partial, bare minimum informations to clients)
– Game-specific cheats
Taxonomy
• Client-side, implies:
– Not robust (signatures or exploit patch)
– Game and cheat specific solution
– Security by obscurity
• Cheating costs, but anti-cheating too!
• Cheat-patch cycle nightmare
• Reactivity is very slow
Current systems
Cheat-patch cycle
Cheaters vs developers
Cheaters Developers
Wide communities of sharing Isolated (patents, different
systems)
Script-kiddies to professionals Professionals only (requires
high expertise, even for
maintenance)
Act React
Surprise advantage Depend on cheaters
Very clever and skilled Weakly formed and few
practical solutions
Private hacks / commercial
hacks (with continuous supports)
… (cannot do anything)
• Server-side and preemptive (no need to get a
hand on the cheat to detect it)
• Collaborative, open strategy (opensource)
• Taxonomy of features
• Generic for any game and algorithm
• Modular, interchangeables algorithms
• Must be reliable (none false positive, minimise
false negative)
My ideal system?
Theoretical approach
• Lots of honest players
• Very few cheaters (relatively)
• Cheating behavior significantly different
from honest
• Expert is able to discriminate
• A classifier can be the expert
Behavioral analysis
• Family of semi-supervised classifiers
• Model over represented nominal behaviors
(honest behaviors)
• Deviance = anomaly = potential cheat
• Semi-generative, semi-discriminative
• Similar to probabilistic classifiers, but only
one unique class to learn
Anomaly detection systems
Anomaly detection systems
• Univariate Gaussian
• Multivariate Gaussian
• CAG
Cluster-Augmented Gaussian
Anomaly detection systems
• I.I.D hypothesis (like Naive Bayes)
Univariate Gaussian
• Learning: means and variances (vectors,
for each feature)
• Detection: “likelihood” + Z threshold
Univariate Gaussian - 2
p(x) → 0 <=> cheater
p(x) < Z => potential cheater
• Pros:
–Very fast
–Very simple to compute
• Cons:
–Naive hypothesis
–No correlation between features
Univariate Gaussian - 3
Multivariate Gaussian
• Learning: means and covariance matrix
• Detection: “likelihood” + Z threshold
Multivariate Gaussian - 2
p(x) → 0 <=> cheater
p(x) < Z => potential cheater
• Pros:
–Capture all correlations
• Cons:
–Complexity is quadratic in m (nb of
features)
Note: only at learning, at detection it’s about constant time.
Multivariate Gaussian - 3
CAG – Our own algorithm
• Features are clustered by max correlation
Cluster-Augmented Gaussian
• Learning:
–Correlation by Mutual Information
–Aggregating in clusters by “Kruskal-like”
with fixed CMAX features per cluster
–Mini covariance matrices for each
cluster
CAG - 2
• Detection:
–Multivariate gaussian “likelihood” using
covar(k) (k=cluster index), if nb of
features > 1
–Univariate gaussian “likelihood” else.
CAG - 3
Exemple of clustering by CAG
CAG - 4
Cluster 2
ducked
reactiontime
selfdamagecount
powerup_quad
Cluster 3
speedratio
cmdtime_reactiontime
weaponstate
angleinaframe
Cluster 4
scoreacc
Cluster 1
lastmouseeventtime
lastcommandtime
midair
movementdirection
• Pros:
–Capture most important correlations
–May remove false correlations (noise)
–Complexity is linear O(CMAX^2 * K) with
K nb of clusters and for fixed CMAX
• Cons:
–May “break” a few important correlations
during clustering (because CMAX is
reached for the current cluster)
CAG - 5
Implementation
of our anti-cheat system
• Framework for anti-cheat development
• Modular (all is a module)
• Open strategy (opensource code, data and
parameters are shareable)
• Robust : server-side, “un-hackable”
• Generic (any game, any algorithm)
• Reusable (requires only an interface)
• Coded in Python, powered by Pandas
OACS
• 2 phases/modes:
–Learning: learn parameters from a data
file
–Detection: continuously watch new
entries in data file and report anomalies.
Use previously learned parameters.
OACS – Global mechanism
OACS – Global mechanism
Admin’s home machine
Online server
• Completely configurable (via config file
and/or commandline arguments)
• All is module, classifiers too
• All modules are dynamically loaded
• Functions with generic and public
interfaces (every modules can access any
variable they need)
OACS – Internal mechanism
OACS – Internal mechanism
OACS – Workflow
Standard workflow
OACS – Workflow 2
Complicated custom workflow
with cascaded classifiers and deciders
• Learning mode:
python oacs.py --learn -c config.json --datafile
data.txt --typesfile types.txt -p parameters.txt
• Detection mode:
python oacs.py -c config.json --datafile data.txt
--typesfile types.txt -p parameters.txt -pt
playerstable.txt -dlog detectionlog.txt
• Possible to import and use OACS as a
simple Python module!
OACS - Usage
• Interactive graphical interface with IPython Notebook
OACS - GUI
Highly useful and advised to experiment and develop new modules!
Experiments and results
OpenArena
• Realtime 3D First-Person Shooter
• Based on ioquake3 (in C++)
• Code well documented
• Physics engine well known and analysed
OpenArena - 2
• Interface between the game and OACS
• Record every player’s actions
• In a simple csv text file (this is the interface)
• Action = Interframe = one line:
difference between previous frame (world’s
state at instant t) and current frame
• Generic concept and adaptable to other games
• Easy to add other features
Extended game server
Results Raw data
Pre-processed data
Résultats 2
PCA dimensionality reduction
in 2D
Feature 1
Feature 2
Feature 2 exhibits a gaussian curve,
which is what we want!
PCA can be used to detect unusable
features like in Feature 1.
Résultats 3
Résultats 4
Cheater type 1
Résultats 5
Honest
Cheater type 1
Cheater type 2 Cheater type 3
Very different curves!
Résultats 6
Applications and
conclusion
• MMO* games
• Online casino games
• MOOC (online education classes)
• Alternative for CAPTCHAs
• Virtual economic systems and “gold duping” (BitCoins,
WarCraft, SecondLife, etc..)
• Fraud detection and embezzlement (insurances, social
funds, etc.)
Applications and opening
Conclusion
• Fit to real data (honests >> cheaters)
• Robust to new cheat types and softwares
• Un-hackable (server-side)
• Generic, modular et reusable
• Reduce the “recoding” to only the data recording
interface
• Model and data transformation to explore, but the
framework already offers a good workspace
• Andrew Ng
• Pierre-Henri Wuillemin
• Wes McKinney and Fernando Perez
Thanking
– Security Issues in Online Games, J.J. Yan & H.J. Choi, 2002,
The Electronic Library: international journal for the application of
technology in information environments, Vol. 20 No.2
– Cheating in Online Games - Threats and Solutions, K. H. T.
Morch, 2003, Norwegian Computing Center/Applied Research
and Development, Publication No: DART/01/03.
– Cheating in online video games, Savu-Adrian Tolbaru, 2011,
PhD Thesis
– Self-Nonself Discrimination in a Computer, S. Forrest and A.
S. Perelson and L. Allen and R. Cherukuri,1994, in Proceedings
of the 1992 IEEE Symposium on Security and Privacy.
– Immunological Computation: Theory and Applications,
Dasgupta, Dipankar; Nino, Fernando (2008). CRC Press. p. 296.
ISBN 978-1-4200-6545-9.
– Fides: Remote Anomaly-Based Cheat Detection Using
Client Emulation, by Edward Kaiser, Wu-chang Feng, Travis
Schluessler, November 2009
References
Bonus Slides
• Features selection is crucial
• Some features are unusable and
dangerous (high risk of false positive)
• How to choose the good ones?
Features
• 5 categories of features:
–Identifiers (eg: playerid)
–Human-specific (eg: reactiontime)
–Game-specific (eg: score)
–Physics-specific (eg: speed)
• Low level features (not aggregated, eg: no
mean) and robust/invariant (human-specific)
• Accumulators (add a notion of temporality)
Taxonomy of features
Interframes
playerid,timestamp,reactiontime,lastcmdtime,cmd_reactiontime,angleinaframe
385821367940981,1367940982,40,3620,38,3
Example of an interframe
• One line = One action
• Feature modifier = abstraction level +
space disk reduction
Thank’s!

Contenu connexe

Similaire à Open Anti-Cheat System Analyzes Player Behavior

Analisis Estatico y de Comportamiento de un Binario Malicioso
Analisis Estatico y de Comportamiento de un Binario MaliciosoAnalisis Estatico y de Comportamiento de un Binario Malicioso
Analisis Estatico y de Comportamiento de un Binario MaliciosoConferencias FIST
 
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...grecsl
 
Malware Analysis 101 - N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...
Malware Analysis 101 -  N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...Malware Analysis 101 -  N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...
Malware Analysis 101 - N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...grecsl
 
Adversarial machine learning for av software
Adversarial machine learning for av softwareAdversarial machine learning for av software
Adversarial machine learning for av softwarejunseok seo
 
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014grecsl
 
From ensembles to computer networks
From ensembles to computer networksFrom ensembles to computer networks
From ensembles to computer networksCSIRO
 
Threat_Modelling.pdf
Threat_Modelling.pdfThreat_Modelling.pdf
Threat_Modelling.pdfMarlboroAbyad
 
Design and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using MLDesign and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using MLSiva krishnam raju Patsamatla
 
The Golden Rules - Detecting more with RSA Security Analytics
The Golden Rules  - Detecting more with RSA Security AnalyticsThe Golden Rules  - Detecting more with RSA Security Analytics
The Golden Rules - Detecting more with RSA Security AnalyticsDemetrio Milea
 
Large scale Click-streaming and tranaction log mining
Large scale Click-streaming and tranaction log miningLarge scale Click-streaming and tranaction log mining
Large scale Click-streaming and tranaction log miningitstuff
 
IEEE.BigData.Tutorial.2.slides
IEEE.BigData.Tutorial.2.slidesIEEE.BigData.Tutorial.2.slides
IEEE.BigData.Tutorial.2.slidesNish Parikh
 
Applications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingApplications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingLionel Briand
 
Data management and pipelines Measure Camp - San Francisco
Data management and pipelines Measure Camp - San FranciscoData management and pipelines Measure Camp - San Francisco
Data management and pipelines Measure Camp - San FranciscoSho Fola Soboyejo
 
honeypots.ppt
honeypots.ppthoneypots.ppt
honeypots.pptDetSersi
 
The_Pentester_Blueprint.pdf
The_Pentester_Blueprint.pdfThe_Pentester_Blueprint.pdf
The_Pentester_Blueprint.pdfgcara4
 
Machine learning in php php con poland
Machine learning in php   php con polandMachine learning in php   php con poland
Machine learning in php php con polandDamien Seguy
 
Big Data and Machine Learning on AWS
Big Data and Machine Learning on AWSBig Data and Machine Learning on AWS
Big Data and Machine Learning on AWSCloudHesive
 
Cyber_Attack_Forecasting_Jones_2015
Cyber_Attack_Forecasting_Jones_2015Cyber_Attack_Forecasting_Jones_2015
Cyber_Attack_Forecasting_Jones_2015Malachi Jones
 
Building next gen malware behavioural analysis environment
Building next gen malware behavioural analysis environment Building next gen malware behavioural analysis environment
Building next gen malware behavioural analysis environment isc2-hellenic
 

Similaire à Open Anti-Cheat System Analyzes Player Behavior (20)

Vissec2014
Vissec2014Vissec2014
Vissec2014
 
Analisis Estatico y de Comportamiento de un Binario Malicioso
Analisis Estatico y de Comportamiento de un Binario MaliciosoAnalisis Estatico y de Comportamiento de un Binario Malicioso
Analisis Estatico y de Comportamiento de un Binario Malicioso
 
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...
Malware Analysis 101: N00b to Ninja in 60 Minutes at BSidesDC on October 19, ...
 
Malware Analysis 101 - N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...
Malware Analysis 101 -  N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...Malware Analysis 101 -  N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...
Malware Analysis 101 - N00b to Ninja in 60 Minutes at BSidesLV on August 5, ...
 
Adversarial machine learning for av software
Adversarial machine learning for av softwareAdversarial machine learning for av software
Adversarial machine learning for av software
 
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at Notacon on April 12, 2014
 
From ensembles to computer networks
From ensembles to computer networksFrom ensembles to computer networks
From ensembles to computer networks
 
Threat_Modelling.pdf
Threat_Modelling.pdfThreat_Modelling.pdf
Threat_Modelling.pdf
 
Design and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using MLDesign and Development of an Efficient Malware Detection Using ML
Design and Development of an Efficient Malware Detection Using ML
 
The Golden Rules - Detecting more with RSA Security Analytics
The Golden Rules  - Detecting more with RSA Security AnalyticsThe Golden Rules  - Detecting more with RSA Security Analytics
The Golden Rules - Detecting more with RSA Security Analytics
 
Large scale Click-streaming and tranaction log mining
Large scale Click-streaming and tranaction log miningLarge scale Click-streaming and tranaction log mining
Large scale Click-streaming and tranaction log mining
 
IEEE.BigData.Tutorial.2.slides
IEEE.BigData.Tutorial.2.slidesIEEE.BigData.Tutorial.2.slides
IEEE.BigData.Tutorial.2.slides
 
Applications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingApplications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security Testing
 
Data management and pipelines Measure Camp - San Francisco
Data management and pipelines Measure Camp - San FranciscoData management and pipelines Measure Camp - San Francisco
Data management and pipelines Measure Camp - San Francisco
 
honeypots.ppt
honeypots.ppthoneypots.ppt
honeypots.ppt
 
The_Pentester_Blueprint.pdf
The_Pentester_Blueprint.pdfThe_Pentester_Blueprint.pdf
The_Pentester_Blueprint.pdf
 
Machine learning in php php con poland
Machine learning in php   php con polandMachine learning in php   php con poland
Machine learning in php php con poland
 
Big Data and Machine Learning on AWS
Big Data and Machine Learning on AWSBig Data and Machine Learning on AWS
Big Data and Machine Learning on AWS
 
Cyber_Attack_Forecasting_Jones_2015
Cyber_Attack_Forecasting_Jones_2015Cyber_Attack_Forecasting_Jones_2015
Cyber_Attack_Forecasting_Jones_2015
 
Building next gen malware behavioural analysis environment
Building next gen malware behavioural analysis environment Building next gen malware behavioural analysis environment
Building next gen malware behavioural analysis environment
 

Plus de Stephen Larroque

Pathway Evolution Algorithm in Netlogo
Pathway Evolution Algorithm in NetlogoPathway Evolution Algorithm in Netlogo
Pathway Evolution Algorithm in NetlogoStephen Larroque
 
Sma presentation-bani-hotel-larroque
Sma presentation-bani-hotel-larroqueSma presentation-bani-hotel-larroque
Sma presentation-bani-hotel-larroqueStephen Larroque
 
Resilient algorithms data structures intro by Giuseppe F.Italiano
Resilient algorithms data structures intro by Giuseppe F.ItalianoResilient algorithms data structures intro by Giuseppe F.Italiano
Resilient algorithms data structures intro by Giuseppe F.ItalianoStephen Larroque
 
Birdsong variability is modulated by LMAN in anterior forebrain pathway
Birdsong variability is modulated by LMAN in anterior forebrain pathwayBirdsong variability is modulated by LMAN in anterior forebrain pathway
Birdsong variability is modulated by LMAN in anterior forebrain pathwayStephen Larroque
 
Glial cells and astrocytes: neural networks modulators?
Glial cells and astrocytes: neural networks modulators?Glial cells and astrocytes: neural networks modulators?
Glial cells and astrocytes: neural networks modulators?Stephen Larroque
 
Tagged network (colored clique network) COGNITIVE 2015 by Stephen Larroque
Tagged network (colored clique network) COGNITIVE 2015 by Stephen LarroqueTagged network (colored clique network) COGNITIVE 2015 by Stephen Larroque
Tagged network (colored clique network) COGNITIVE 2015 by Stephen LarroqueStephen Larroque
 
Simulation des raisonnements éthiques par logiques non-monotones
Simulation des raisonnements éthiques par logiques non-monotonesSimulation des raisonnements éthiques par logiques non-monotones
Simulation des raisonnements éthiques par logiques non-monotonesStephen Larroque
 
Financement de la recherche en france, europe et dans le monde en 2014
Financement de la recherche en france, europe et dans le monde en 2014Financement de la recherche en france, europe et dans le monde en 2014
Financement de la recherche en france, europe et dans le monde en 2014Stephen Larroque
 

Plus de Stephen Larroque (8)

Pathway Evolution Algorithm in Netlogo
Pathway Evolution Algorithm in NetlogoPathway Evolution Algorithm in Netlogo
Pathway Evolution Algorithm in Netlogo
 
Sma presentation-bani-hotel-larroque
Sma presentation-bani-hotel-larroqueSma presentation-bani-hotel-larroque
Sma presentation-bani-hotel-larroque
 
Resilient algorithms data structures intro by Giuseppe F.Italiano
Resilient algorithms data structures intro by Giuseppe F.ItalianoResilient algorithms data structures intro by Giuseppe F.Italiano
Resilient algorithms data structures intro by Giuseppe F.Italiano
 
Birdsong variability is modulated by LMAN in anterior forebrain pathway
Birdsong variability is modulated by LMAN in anterior forebrain pathwayBirdsong variability is modulated by LMAN in anterior forebrain pathway
Birdsong variability is modulated by LMAN in anterior forebrain pathway
 
Glial cells and astrocytes: neural networks modulators?
Glial cells and astrocytes: neural networks modulators?Glial cells and astrocytes: neural networks modulators?
Glial cells and astrocytes: neural networks modulators?
 
Tagged network (colored clique network) COGNITIVE 2015 by Stephen Larroque
Tagged network (colored clique network) COGNITIVE 2015 by Stephen LarroqueTagged network (colored clique network) COGNITIVE 2015 by Stephen Larroque
Tagged network (colored clique network) COGNITIVE 2015 by Stephen Larroque
 
Simulation des raisonnements éthiques par logiques non-monotones
Simulation des raisonnements éthiques par logiques non-monotonesSimulation des raisonnements éthiques par logiques non-monotones
Simulation des raisonnements éthiques par logiques non-monotones
 
Financement de la recherche en france, europe et dans le monde en 2014
Financement de la recherche en france, europe et dans le monde en 2014Financement de la recherche en france, europe et dans le monde en 2014
Financement de la recherche en france, europe et dans le monde en 2014
 

Dernier

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 

Dernier (20)

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 

Open Anti-Cheat System Analyzes Player Behavior

  • 1.
  • 2. Open Anti-Cheat System By Stephen Larroque Supervisor: Pierre-Henri Wuillemin An opensource anti-cheat system for realtime online multiplayer games
  • 3. • Problematic • Theoretical approach • Implementation • Experiments and Results • Applications and conclusion Outline
  • 5. • Online games: – Are a big part of the videogame industry – Important source of revenues • Major challenges: – Network management – Online cheating • Problem: lots of cheat types and lots of cheat softwares for each type (new ones everyday) Problematic
  • 6. • Using here the taxonomy of cheats by Yan & Choi (2002) extended by Tolbaru (2011): – 10: Cheating by modification of the game or data – 11: Cheating by exploiting bugs or design flaws (however there are other more efficient ways to fix this type of cheat by doing server-side processing and providing partial, bare minimum informations to clients) – Game-specific cheats Taxonomy
  • 7. • Client-side, implies: – Not robust (signatures or exploit patch) – Game and cheat specific solution – Security by obscurity • Cheating costs, but anti-cheating too! • Cheat-patch cycle nightmare • Reactivity is very slow Current systems
  • 9. Cheaters vs developers Cheaters Developers Wide communities of sharing Isolated (patents, different systems) Script-kiddies to professionals Professionals only (requires high expertise, even for maintenance) Act React Surprise advantage Depend on cheaters Very clever and skilled Weakly formed and few practical solutions Private hacks / commercial hacks (with continuous supports) … (cannot do anything)
  • 10. • Server-side and preemptive (no need to get a hand on the cheat to detect it) • Collaborative, open strategy (opensource) • Taxonomy of features • Generic for any game and algorithm • Modular, interchangeables algorithms • Must be reliable (none false positive, minimise false negative) My ideal system?
  • 12. • Lots of honest players • Very few cheaters (relatively) • Cheating behavior significantly different from honest • Expert is able to discriminate • A classifier can be the expert Behavioral analysis
  • 13. • Family of semi-supervised classifiers • Model over represented nominal behaviors (honest behaviors) • Deviance = anomaly = potential cheat • Semi-generative, semi-discriminative • Similar to probabilistic classifiers, but only one unique class to learn Anomaly detection systems
  • 15. • Univariate Gaussian • Multivariate Gaussian • CAG Cluster-Augmented Gaussian Anomaly detection systems
  • 16. • I.I.D hypothesis (like Naive Bayes) Univariate Gaussian
  • 17. • Learning: means and variances (vectors, for each feature) • Detection: “likelihood” + Z threshold Univariate Gaussian - 2 p(x) → 0 <=> cheater p(x) < Z => potential cheater
  • 18. • Pros: –Very fast –Very simple to compute • Cons: –Naive hypothesis –No correlation between features Univariate Gaussian - 3
  • 20. • Learning: means and covariance matrix • Detection: “likelihood” + Z threshold Multivariate Gaussian - 2 p(x) → 0 <=> cheater p(x) < Z => potential cheater
  • 21. • Pros: –Capture all correlations • Cons: –Complexity is quadratic in m (nb of features) Note: only at learning, at detection it’s about constant time. Multivariate Gaussian - 3
  • 22. CAG – Our own algorithm • Features are clustered by max correlation Cluster-Augmented Gaussian
  • 23. • Learning: –Correlation by Mutual Information –Aggregating in clusters by “Kruskal-like” with fixed CMAX features per cluster –Mini covariance matrices for each cluster CAG - 2
  • 24. • Detection: –Multivariate gaussian “likelihood” using covar(k) (k=cluster index), if nb of features > 1 –Univariate gaussian “likelihood” else. CAG - 3
  • 25. Exemple of clustering by CAG CAG - 4 Cluster 2 ducked reactiontime selfdamagecount powerup_quad Cluster 3 speedratio cmdtime_reactiontime weaponstate angleinaframe Cluster 4 scoreacc Cluster 1 lastmouseeventtime lastcommandtime midair movementdirection
  • 26. • Pros: –Capture most important correlations –May remove false correlations (noise) –Complexity is linear O(CMAX^2 * K) with K nb of clusters and for fixed CMAX • Cons: –May “break” a few important correlations during clustering (because CMAX is reached for the current cluster) CAG - 5
  • 28. • Framework for anti-cheat development • Modular (all is a module) • Open strategy (opensource code, data and parameters are shareable) • Robust : server-side, “un-hackable” • Generic (any game, any algorithm) • Reusable (requires only an interface) • Coded in Python, powered by Pandas OACS
  • 29. • 2 phases/modes: –Learning: learn parameters from a data file –Detection: continuously watch new entries in data file and report anomalies. Use previously learned parameters. OACS – Global mechanism
  • 30. OACS – Global mechanism Admin’s home machine Online server
  • 31. • Completely configurable (via config file and/or commandline arguments) • All is module, classifiers too • All modules are dynamically loaded • Functions with generic and public interfaces (every modules can access any variable they need) OACS – Internal mechanism
  • 32. OACS – Internal mechanism
  • 34. OACS – Workflow 2 Complicated custom workflow with cascaded classifiers and deciders
  • 35. • Learning mode: python oacs.py --learn -c config.json --datafile data.txt --typesfile types.txt -p parameters.txt • Detection mode: python oacs.py -c config.json --datafile data.txt --typesfile types.txt -p parameters.txt -pt playerstable.txt -dlog detectionlog.txt • Possible to import and use OACS as a simple Python module! OACS - Usage
  • 36. • Interactive graphical interface with IPython Notebook OACS - GUI Highly useful and advised to experiment and develop new modules!
  • 39. • Realtime 3D First-Person Shooter • Based on ioquake3 (in C++) • Code well documented • Physics engine well known and analysed OpenArena - 2
  • 40. • Interface between the game and OACS • Record every player’s actions • In a simple csv text file (this is the interface) • Action = Interframe = one line: difference between previous frame (world’s state at instant t) and current frame • Generic concept and adaptable to other games • Easy to add other features Extended game server
  • 42. Résultats 2 PCA dimensionality reduction in 2D Feature 1 Feature 2 Feature 2 exhibits a gaussian curve, which is what we want! PCA can be used to detect unusable features like in Feature 1.
  • 45. Résultats 5 Honest Cheater type 1 Cheater type 2 Cheater type 3 Very different curves!
  • 48. • MMO* games • Online casino games • MOOC (online education classes) • Alternative for CAPTCHAs • Virtual economic systems and “gold duping” (BitCoins, WarCraft, SecondLife, etc..) • Fraud detection and embezzlement (insurances, social funds, etc.) Applications and opening
  • 49. Conclusion • Fit to real data (honests >> cheaters) • Robust to new cheat types and softwares • Un-hackable (server-side) • Generic, modular et reusable • Reduce the “recoding” to only the data recording interface • Model and data transformation to explore, but the framework already offers a good workspace
  • 50. • Andrew Ng • Pierre-Henri Wuillemin • Wes McKinney and Fernando Perez Thanking
  • 51. – Security Issues in Online Games, J.J. Yan & H.J. Choi, 2002, The Electronic Library: international journal for the application of technology in information environments, Vol. 20 No.2 – Cheating in Online Games - Threats and Solutions, K. H. T. Morch, 2003, Norwegian Computing Center/Applied Research and Development, Publication No: DART/01/03. – Cheating in online video games, Savu-Adrian Tolbaru, 2011, PhD Thesis – Self-Nonself Discrimination in a Computer, S. Forrest and A. S. Perelson and L. Allen and R. Cherukuri,1994, in Proceedings of the 1992 IEEE Symposium on Security and Privacy. – Immunological Computation: Theory and Applications, Dasgupta, Dipankar; Nino, Fernando (2008). CRC Press. p. 296. ISBN 978-1-4200-6545-9. – Fides: Remote Anomaly-Based Cheat Detection Using Client Emulation, by Edward Kaiser, Wu-chang Feng, Travis Schluessler, November 2009 References
  • 53. • Features selection is crucial • Some features are unusable and dangerous (high risk of false positive) • How to choose the good ones? Features
  • 54. • 5 categories of features: –Identifiers (eg: playerid) –Human-specific (eg: reactiontime) –Game-specific (eg: score) –Physics-specific (eg: speed) • Low level features (not aggregated, eg: no mean) and robust/invariant (human-specific) • Accumulators (add a notion of temporality) Taxonomy of features
  • 55. Interframes playerid,timestamp,reactiontime,lastcmdtime,cmd_reactiontime,angleinaframe 385821367940981,1367940982,40,3620,38,3 Example of an interframe • One line = One action • Feature modifier = abstraction level + space disk reduction