200 likes | 355 Views
Stopping cheaters since 15-06-2012. Game Security. By: Tigran Gasparian. What are we going to talk about ?. Motivation Basics – Protecting highscores Basics – Online games Bot Detection – Motivation Bot Detection – General Bot Detection – MMOs. Why do people cheat ?.
E N D
Stopping cheaters since 15-06-2012 Game Security By: Tigran Gasparian
What are we going to talk about? • Motivation • Basics – Protectinghighscores • Basics – Online games • Bot Detection – Motivation • Bot Detection – General • Bot Detection – MMOs
Why do peoplecheat? • You can earn money from it • It’s fun
Whyshould we stop them? • Less fun for non-cheaters • Damagesyour game economy • Shortens the lifespan of your game • Whatabout offline games?
Protectinghighscores • Make it difficult to cheat • Makesureit’stoomuchtrouble to cheat. • Encryption • White box cryptography • Send extra information. • Use parallel protocols • Honeypot • Delayed ban
Sending extra info • Types of data: • Number of enemies killed • Play time • Number of clicks • Etc.
Parallel protocols • Handle incorrect data • Plain-texthighscores • Incorrect extra info • Incorrect syntax • Etc.
Honeypot • Whendetecting a falsesubmission • Show it in the highscoretable • Onlyfor the cheater • Otherplayersdon’tseeit • Cheaterthinkshesucceded • He might stop trying.
Delayed ban • Multiple cheatingmethodsavailable • Ban at a random time • e.g. between 1-2 weeks afterdetection • Whatgothimcaught? • Potentialdanger?
Online games in general • Never trust the client • The clientmightnot even be a client • Always check some data • Performance vs Security • Where to do physics?
Modified clients • User can change their game client • Usually to gain more information. • Make walls transparent • Make camouflage bright • Make models bigger • Etc. • Check hashes of game data files.
What is a bot? • A program that plays the game for you. • Scripts that send input into the game client • Stand-alone programs • Sending packets to the server like the real client • Types: • Aim bots • Player bots • Gold/EXP farmers
What can we do? • Bot’s don’t break the game laws • They just automate player actions • The only thing we can do is detect them • And ban them of course!
So how do we detect them? • Traditional approach – CAPTCHA • Websites use it, it works great!
So how do we detect them? • Something more user friendly. • Detection by behavior • Bots act … weird • It’s very hard to exactly simulate human behavior • Especially the movement
Detection by behaviour • Analyze data you already have • Position • Orientation • Etc. • Compare bots to humans • Define features • Train a neural network to detect bots. • ????? • Profit!
Quake 2 example • Data we use for our analysis • Position • Orientation • Features • On/off time • Movement speed • Path smoothness, detours, zig-zagness • Rotations 30°, 60°, 90°
Quake 2 example • Simple learning algorithm • 95% detection rate • With 200 seconds of game info • This %&#$ works! See Game Bot Detection Based on Avatar Trajectory for the article
Back to the goldfarmers • Repetitions in path • Very few detours • Capture position data • Make a simplified path • Count segment passes • Count repeating sub path length • Draw conclusions