SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
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!

Mais conteúdo relacionado

Mais procurados

Agile Retrospective - part I
Agile Retrospective - part IAgile Retrospective - part I
Agile Retrospective - part IScrumDesk
 
ScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itLeanAgileTraining
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Lean Agile Metrics And KPIs
Lean Agile Metrics And KPIsLean Agile Metrics And KPIs
Lean Agile Metrics And KPIsYuval Yeret
 
Introduction to Lean and Kanban
Introduction to Lean and KanbanIntroduction to Lean and Kanban
Introduction to Lean and KanbanRajesh Viswanathan
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product BacklogMike Cohn
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedPrashaanth T R
 
Delivery Excellence in software Product Development
Delivery Excellence in software Product DevelopmentDelivery Excellence in software Product Development
Delivery Excellence in software Product DevelopmentChandan Patary
 
Measuring What Matters in Your Product by Amazon Product Leader.pdf
Measuring What Matters in Your Product by Amazon Product Leader.pdfMeasuring What Matters in Your Product by Amazon Product Leader.pdf
Measuring What Matters in Your Product by Amazon Product Leader.pdfProduct School
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 

Mais procurados (20)

Agile Retrospective - part I
Agile Retrospective - part IAgile Retrospective - part I
Agile Retrospective - part I
 
Product Discovery
Product DiscoveryProduct Discovery
Product Discovery
 
ScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid itScrumButt: What it is, how to avoid it
ScrumButt: What it is, how to avoid it
 
Gestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlogGestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlog
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Lean Agile Metrics And KPIs
Lean Agile Metrics And KPIsLean Agile Metrics And KPIs
Lean Agile Metrics And KPIs
 
Scrum metrics
Scrum metricsScrum metrics
Scrum metrics
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
Introduction to Lean and Kanban
Introduction to Lean and KanbanIntroduction to Lean and Kanban
Introduction to Lean and Kanban
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product Backlog
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
Scrum na Prática
Scrum na PráticaScrum na Prática
Scrum na Prática
 
Sprint backlog
Sprint backlogSprint backlog
Sprint backlog
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-Detailed
 
Delivery Excellence in software Product Development
Delivery Excellence in software Product DevelopmentDelivery Excellence in software Product Development
Delivery Excellence in software Product Development
 
Measuring What Matters in Your Product by Amazon Product Leader.pdf
Measuring What Matters in Your Product by Amazon Product Leader.pdfMeasuring What Matters in Your Product by Amazon Product Leader.pdf
Measuring What Matters in Your Product by Amazon Product Leader.pdf
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Scrum
ScrumScrum
Scrum
 

Semelhante a Open Anti-Cheat System Analyzes Player Behavior

Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...
Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...
Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...Lastline, Inc.
 
Delivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and VisualizationDelivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and VisualizationRaffael Marty
 
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
 

Semelhante a Open Anti-Cheat System Analyzes Player Behavior (20)

Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...
Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...
Full-System Emulation Achieving Successful Automated Dynamic Analysis of Evas...
 
Delivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and VisualizationDelivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and Visualization
 
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
 

Mais de Stephen Larroque

Brain-Computer Interface and States of Vigilance
Brain-Computer Interface and States of VigilanceBrain-Computer Interface and States of Vigilance
Brain-Computer Interface and States of VigilanceStephen Larroque
 
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysis
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysisA (quick) introduction to Magnetic Resonance Imagery preprocessing and analysis
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysisStephen Larroque
 
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousness
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousnessDiffusion Tensor Imaging (DTI) for the study of disorders of consciousness
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousnessStephen Larroque
 
Recursive Neural Network summary
Recursive Neural Network summaryRecursive Neural Network summary
Recursive Neural Network summaryStephen 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
 

Mais de Stephen Larroque (12)

Brain-Computer Interface and States of Vigilance
Brain-Computer Interface and States of VigilanceBrain-Computer Interface and States of Vigilance
Brain-Computer Interface and States of Vigilance
 
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysis
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysisA (quick) introduction to Magnetic Resonance Imagery preprocessing and analysis
A (quick) introduction to Magnetic Resonance Imagery preprocessing and analysis
 
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousness
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousnessDiffusion Tensor Imaging (DTI) for the study of disorders of consciousness
Diffusion Tensor Imaging (DTI) for the study of disorders of consciousness
 
Recursive Neural Network summary
Recursive Neural Network summaryRecursive Neural Network summary
Recursive Neural Network summary
 
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
 

Último

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

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