Analysis of cheat detection and prevention techniques in mobile games
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2018-06-18
Department
Major/Subject
Interactive Technologies
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
55 + 1
Series
Abstract
Cheating in video games has always been a problem for the players and the game developers. The problem is not just limited to the open platforms like computer games but also to closed platforms like console and mobile games. In this thesis we examine commonly used cheat protection methods that can be used to protect video games from different type of cheat tools. We focus especially on the methods that are also viable on the mobile platforms. First, we study client-side protection methods which are directly implemented to the game's client application. These methods include protection against memory editing and tampering the game save files. We also look how code obfuscation can be used to protect against cheaters. Second, we study different type of server-side architectures that be used to prevent cheating in the game. Finally, we present our architecture that is especially designed to be used in mobile games. The architecture takes account the limitations and restrictions of the mobile devices like unreliable mobile networks and limited battery life. Our analysis concludes that the server-side protection methods are clearly more reliable to prevent cheating in games and they are also much harder to bypass or break. Many of the client-side cheat protection methods are relying on the secure through obscurity which means that they are vulnerable for flaws in the implementation. Also, on the client-side the cheaters can easily gain an access to the game's memory, network traffic and files saved on the device storage. Using server-side protection methods where the game logic is run fully or partially on the server provides the most effective protection against cheaters.Huijaaminen videopeleissä on aina ollut ongelma sekä pelaajille että kehittäjille. Ongelma ei vain rajoitu avoimiin alustoihin kuten tietokonepeleihin vaan se ulottuu myös konsoli- ja mobiilipeleihin. Tässä diplomityössä tutkimme yleisesti käytettyjä huijauksenesto menetelmiä, joilla voidaan puolustautua erilaisia huijaustyökaluja vastaan. Keskitymme erityisesti menetelmiin, jotka ovat myös käytettävissä mobiilialustoilla. Ensimmäiseksi tutkimme miten asiakaspuolen puolustusmenetelmiä, jotka voidaan suoraan toteuttaa pelin asiakassovellukseen. Nämä menetelmät sisältävät suojautumisen muistimuutoksilta ja tallennustietojen peukaloinnilta. Tutustumme myös miten koodin obfuskointia voidaan käyttää puolustautuakseen huijauksilta. Seuraavaksi tutkimme eri tyyppisiä palvelinpuolen arkkitehtuureja, joiden avulla voidaan estää huijaaminen pelissä. Lopuksi esitämme itsesuunnitellun arkkitehtuurin, joka erityisesti suunnattu mobiilipeleille. Esitetty arkkitehtuuri ottaa huomioon mobiililaitteiden useat eri rajoitukset, kuten epäluotettavat yhteydet ja akkujen lyhyen kestoiän. Analyysimme osoittaa, että palvelinpuolen suojautumismenetelmät ovat huomattavasti luotettavampia estämään huijaaminen peleissä ja ne ovat myös paljon vaikeampi ohittaa tai rikkoa. Monet asiakaspuolen huijauksen suojautumismenetelmät luottavat epämääräisyyden tuottamaan turvallisuuteen, minkä takia ne ovat haavoittuvia, jos toteutuksessa on puutteita. Lisäksi asiakaspuolella huijarit pääsevät helposti käsiksi pelin muistiin, verkkoliikenteeseen ja laitteelle tallennettuihin tiedostoihin. Käyttämällä palvelinpuolen suojausmenetelmiä, joissa pelin logiikka ajetaan kokonaan tai osaksi palvelimella, tarjoaa tehokkaimman suojauksen huijareita vastaan.Description
Supervisor
Ylä-Jääski, AnttiThesis advisor
Lönnroth, HenrikKeywords
cheating, mobile games, server-client, code obfuscation, server authoritative, memory editing