Haku

Verkkopelien suojaaminen huijaamiselta

QR-koodi

Verkkopelien suojaaminen huijaamiselta

Verkkopeleissä huijaaminen on iso ongelma, ja se voi pahimmassa tapauksessa johtaa menetettyihin tuloihin pelinkehittäjille. Mitä suositummaksi peli kasvaa, sitä todennäköisemmin pelissä tullaan huijaamaan. Parhaan pelikokemuksen takaamiseksi on tärkeää yrittää suojata peli mahdollisimman hyvin huijaamiselta. Tässä opinnäytetyössä esitellään yleisiä huijaustekniikoita sekä suojauskeinoja, joilla huijaamista on mahdollista yrittää hankaloittaa tai jopa estää. Valitettavasti huijaamista ei ole mahdollista täysin estää, mutta siitä kannattaa tehdä mahdollisimman vaikeaa.

Jotta peli voidaan suojata mahdollisimman kattavasti, on hyvä ymmärtää eri huijaustekniikoita. Pelin muistia lukemalla ja manipuloimalla huijarin on mahdollista etsiä pelille tärkeitä arvoja ja muokata niitä. Huijari voi esimerkiksi muokata pelaajahahmon elämäpisteitä tehden hahmosta kuolemattoman. Simuloimalla käyttäjän syötettä huijarin on mahdollista luoda botteja pelaamaan peliä huijarin puolesta. Takaisinmallintamisella tarkoitetaan jonkin tuotteen toimintaperiaatteiden selvittämistä. Koska monet huijaukset vaativat hyvää ymmärrystä pelin toiminnasta, takaisinmallintaminen on tärkeä osa huijauksien kehittämisprosessia. Kun huijarilla on hyvä ymmärrys pelin toiminnasta, on hänen mahdollista suorittaa huijauskoodia pelissä esimerkiksi injektoimalla huijauskoodia suoraan pelin suoritettavaksi tai ottamalla pelin käyttämät funktiot omaan käyttöön hookkaamalla nämä. Koska verkkopelien tila täytyy jollain tavalla kommunikoida verkon yli, huijaaminen on myös mahdollista vaikuttamalla pelin verkkoliikenteeseen, esimerkiksi muokkaamalla lähetettäviä verkkopaketteja.

Pelien suojaamiseen on monia eri tekniikoita, mutta näistä ehkä yksi tärkeimmistä on määräävä palvelin eli authoritative server. Määräävän palvelimen tapauksessa koko pelisimulaatio suoritetaan palvelimella, jolloin huijarit eivät voi vaikuttaa pelin kulkuun. Valitettavasti määräävä palvelin voi aiheuttaa viivettä peliin, joten se ei välttämättä sovi kaikkiin peleihin. Tärkeitä arvoja, kuten pelaajan elämäpisteitä, on mahdollista myös yrittää salata pelin muistissa, jolloin niiden löytäminen vaikeutuu. Myös takaisinmallintamista voidaan yrittää hankaloittaa, esimerkiksi obfuskoimalla pelin ohjelmakoodia tai estämällä debuggerin toimintaa käyttämällä erilaisia anti-debug-tekniikoita. Pelin tiedostot kannattaa myös tarkastaa muokkaamisen varalta, esimerkiksi laskemalla tiedostoista tiiviste, joka voidaan tarkastaa palvelimella. Pelin verkkoliikenne voidaan salata esimerkiksi käyttämällä RSA- ja AES-salausalgoritmeja, jolloin sen analysoiminen on huomattavasti vaikeampaa. Koska huijareiden on mahdollista muokata peliä omalla tietokoneellaan ja siten ohittaa huijaamista estäviä mekanismeja, kannattaa myös palvelimelle lisätä huijauksien tunnistamista. Palvelimella voidaan esimerkiksi analysoida pelaajien liikkeitä tai toimintoja ja löytää niistä poikkeamia, jotka voivat olla merkkejä bottien käytöstä. Monet kaupalliset huijauksenesto-ohjelmistot lisäksi monitoroivat käyttöjärjestelmän toimintaa esimerkiksi analysoimalla auki olevia prosesseja ja etsimällä huijausohjelmia niiden muistista.

Tallennettuna: