You are here: TUTWiki>Tietoturva/Tutkielmat>NiemelaA?>2006-5

Marko Moisio:

Verkkopelit

Johdanto

Verkkopelaaminen on nykyään hyvin yleinen harrastus, mutta siihen liittyy myös muutamia tietoturvaan liittyviä ongelmia, kuten peleissä tapahtuvaa häiriköinti ja huijaaminen. Yleisin ongelma verkkopeleissä on se, että joku pelaaja huijaa, eli kiertää jotenkin pelin sääntöjä, ja saavuttaa näin etua muihin pelaajiin verrattuna. Tässä tutkielmassa tutustutaan muutamiin huijaustapoihin yleisellä tasolla, sekä käsitellään hieman myös niiden teknistä toteutusta tietoturvan näkökulmasta. Lisäksi käsitellään sitä, miten häiriköintiä on mahdollista torjua.

Verkkopelien historia

Perinteisesti tietokone- ja konsolipelit ovat olleet yksinpelejä, tai sitten niitä on voinut pelata monta ihmistä samalla laitteella. Kun Internet alkoi yleistyä 90-luvulla, alettiin moniin peleihin tekemään myös verkossa pelattavaa sisältöä. Tuolloin Internetiä käytettiin useimmiten tavallisella modeemilla, jolloin yhteysnopeudet olivat niin pieniä, että sujuva verkkopelaaminen oli monesti vaikeaa. Tästä syystä verkkopelejä pelattiinkin yleensä lähiverkoissa, koska niissä nopeus ei rajoittanut pelaamista. Todellisen läpilyönnin verkkopelit tekivät, kun laajakaistayhteydet alkoivat yleistyä 90-luvun lopulla, jolloin yhteysnopeus ei enää rajoittanut verkkopelien pelaamista myöskään Internetissä. Nykyään lähes jokaisessa pelissä on mukana verkkopelimahdollisuus, ja jotkut pelit ovat jopa pelkästään verkossa pelattavia.

Verkkopelityypit

Verkkopelejä tehdään lähes kaikista pelityypeistä, joita voi pelata yksinpelinäkin. Näitä ovat mm. toiminta-, auto- , rooli- ja strategiapelit. Verkkopeleinä suurimman suosion ovat saavuttaneet rooli- ja toimintapelit.

Perinteisten tietokonepelien lisäksi verkkopeleinä voidaan pitää myös rahapelejä, jossa käytetään pelaamiseen oikeaa rahaa. Erityisesti nettipokeri on nykyään hyvin suosittua. Myös joissakin roolipeleissä käytetään oikeaa rahaa pelissä olevien hahmojen ja esineiden ostamiseen.

Häiriköinti verkkopeleissä

Verkkopeleissä tapahtuu monenlaista häiriköintiä. Yksinkertaisimmillaan häiriköinti voi olla loukkaavien viestien kirjoittamista pelin chattiin. Yleisin verkkopeleissä esiintyvä häiriköintiongelma on kuitenkin huijaaminen. Verkkopelien yhteydessä huijaamisella tarkoitetaan sitä, että joku pelaaja kiertää jotenkin pelin sääntöjä, ja saavuttaa näin etulyöntiaseman muihin pelaajiin verrattuna.

Monissa yksinpeleissä on mahdollisuus käyttää huijauskoodeja pelin helpottamiseen ja yksinpeleissä huijaaminen on monesti ihan järkevää, eikä siitä aiheudu kenellekään haittaa. Verkkopeleissä tilanne on kuitenkin täysin toinen, koska niissä pelataan muiden ihmisten kanssa, ja tällöin yhden pelaajan huijaaminen vaikuttaa myös kaikkien muiden ihmisten pelikokemukseen.

Verkkopeleissä huijaaminen ei ole aivan yhtä yksinkertaista kuin yksinpeleissä, koska moninpeleissä ei ole valmiita huijauskoodeja ja muutenkin huijaaminen on pyritty estämään. Tästä huolimatta huijaaminen on mahdollista myös verkkopeleissä esim. erilaisten ulkoisten ohjelmien avulla. Seuraavassa esitellään muutamia yleisimpiä huijausmenetelmiä.

Robottien käyttö

Yksi yleisimmin käytetyistä huijausmenetelmistä on erilaisten robottien käyttäminen peleissä. Robotit ovat tiettyä peliä varten tehtyjä lisä-ohjelmia, jotka helpottavat pelaamista huomattavasti tekemällä osan niistä asioista automaattisesti, jotka pelaajan pitäisi normaalisti itse tehdä. Esimerkiksi ammunta peleissä yleisesti käytetty robotti on ns. "aimbot", joka suorittaa tähtäämisen automaattisesti, jolloin pelaajan ei tarvitse itse tähdätä ollenkaan.[1]

Myös nettipokerissa on mahdollista huijata käyttämällä robottia, joka laskee automaattisesti todennäköisyyksiä eri korttiyhdistelmille ja kertoo pelaajalle miten kannattaa pelata. On jopa mahdollista, että robotti suorittaa pelaamisen kokonaan automaattisesti, eikä pelaajan tarvitse tehdä mitään. Nettipokerissa robottien käyttö on vielä nykyään harvinaista, mutta tulevaisuudessa se voi olla suurikin uhka nettipokerille.

Pelin ulkoasun muuttaminen

Yksi tapa huijata verkkopeleissä on muokata pelin ulkoasua esim. tekemällä seinistä, tai muista esineistä läpinäkyviä, jolloin on mahdollista nähdä paikkoihin, joihin ei muuten näkisi. Tällöin on esim. mahdollista nähdä vastustaja, vaikka tämä olisi piilossa jonkun esineen takana. Vastustajan havaitsemista on mahdollista helpottaa myös muilla tavoin, kuten tekemällä vastustajan ulkoasusta kirkkaan värinen, jolloin tämä on helppo nähdä myös hämärissä paikoissa. Monissa peleissä on myös sumua, tai muuta materiaalia, jonka tarkoitus on rajoittaa näkyvyyttä. Sopivalla modifikaatiolla sumu on mahdollista poistaa kokonaan, ja saavuttaa näin parempi näkyvyys.[1]

Tekniikka huijaamisen takana

Kuten sanottua verkkopeleissä ei ole valmiina sisäänrakennettuja huijauskoodeja, vaan huijaamiseen täytyy käyttää jotain muuta tekniikkaa. Moninpelit pyritään tekemään siten, että huijaaminen ei olisi mahdollista, mutta siitä huolimatta sitä esiintyy myös verkkopeleissä monissa eri muodoissa.

Tiedostojen muokkaaminen

Yksi tapa huijauksien toteuttamiseen on muokata pelin tiedostoja siten, että peli käyttäytyy jotenkin normaalista poikkeavalla tavalla, antaen muunneltua peliä käyttävälle pelaajalle etulyöntiaseman muihin pelaajiin nähden. Muokattavia tiedostoja voivat olla paitsi pelin asetustiedostot, niin myös itse pelin dataa sisältävät tiedostot. Tämä huijaustapa oli aiemmin varsin yleinen ja helppo tapa toteuttaa huijauksia, mutta nykyään tiedostojen muokkaaminen on useimmissa peleissä pyritty estämään erilaisilla suojauksilla ja tarkastuksilla. Useimmat suojaukset pystyy kuitenkin kiertämään, joten nykyäänkin monet huijaukset perustuvat muokattuihin tiedostoihin. Asetustiedostoja voi nykyäänkin muokata monissa peleissä täysin vapaasti, mutta ne eivät yleensä sisällä sellaisia asetuksia, joita voisi käyttää huijaamiseen. Itse pelin dataa sisältävät tiedostot ovat yleensä binäärimuodossa, joten niiden muokkaaminen edellyttää ohjelmakoodin takaisinmallinnusta. Lisäksi koodi voi olla vielä salattu jollain algoritmilla, joka entisestään vaikeuttaa huijauksien toteuttamista.[4]

Laitteisto

Huijaaminen on joiltakin osin mahdollista toteuttaa myös laitteistotasolla. Huijaamiseksi voidaan tulkita jo monitorin kirkkauden säätäminen siten, että peleissä näkee paremmin hämärissä paikoissa. Osittain laitteistoon ja osittain ohjelmistoon liittyvä huijaamiskeino on näytönohjaimen ajurien muokkaaminen siten, että se jättää esim. piirtämättä tiettyjä esineitä tai piirtää ne läpinäkyviksi, jolloin pelaaja näkee paikkoihin, joihin ei normaalisti kuuluisi nähdä. Erilaisten huijaamisenesto ohjelmien on vaikeaa havaita laitteistopohjaisia huijauksia.[4]

Tietoliikenteen käsittely

Useimmat verkkopelit perustuvat asiakas-palvelin-malliin, jossa peli toimii asiakkaana, ja ottaa yhteyttä palvelimeen, jolla pelit pyörivät. Eräs tapa huijaamiseen on tutkia ja muokata palvelimen ja pelin välillä kulkevaa tietoliikennettä. Tämä on mahdollista sopivan ohjelman avulla, joka syöttää pelin käynnistyessä ylimääräistä koodia tietokoneen muistiin pelin ohjelmakoodin sekaan, joka mahdollistaa pelin tietoliikennepakettien käsittelyn. Tietoliikenteen tutkiminen mahdollistaa todella monen tyyppisten huijauksien käytön, koska tietoliikennepaketit sisältävät tietoja mm. toisten pelaajien sijainnista ja liikkeistä, sekä pelaajan hahmon tilasta. Tietoliikennepakettien käsittelyn voi estää, tai ainakin vaikeuttaa sitä salaamalla tietoliikenteen. Näin tehdäänkin nykyään monissa peleissä, mutta haittapuolena tässä on se, että pelit ovat usein todella raskaita ohjelmia, ja salaus kuluttaa osan tietokoneen resursseista, jotka muuten voitaisiin käyttää pelin toimintojen nopeuttamiseen.[2]

Bugit peleissä

Kuten kaikissa muissakin ohjelmissa, myös peleissä on valitettavasti bugeja, eli ohjelmointivirheitä, joista osaa on mahdollista hyödyntää myös erilaisten huijauksien yhteydessä. Pelintekijät korjaavat näitä virheitä sitä mukaan, kun niitä löytyy ja julkaisevat sitten peliin päivityksen, joka korjaa virheen.

Nettipokeriohjelmat ovat yleensä hyvin testattuja, mutta niissäkin voi olla puutteita, jotka mahdollistavat huijaamisen. Eräs tällainen bugi löytyi ohjelmasta, jota monet nettipokeri yritykset käyttivät omassa pokeriohjelmistossaan. Tämä virhe löydettiin jo vuonna 1999 ja se korjattiin pian löytämisen jälkeen. Bugi liittyi pakan sekoittamisen tekevään algoritmiin, joka ei toiminut oikein. Tästä virheestä johtuen erilaisten sekoitusten määrä oli paljon pienempi, kuin mitä sen pitäisi olla. Tämä taas mahdollisti sen, että sopivan ohjelman avulla oli mahdollista selvittää, missä järjestyksessä pakan kortit olivat. Tarkemmin virheestä voi lukea tästä artikkelista.[5]

Häiriköinnin torjuminen

Pelaajan näkökulmasta

Pelaajalla ei ole kovin paljoa keinoja suoranaisesti torjua muiden häiriköintiä tai huijaamista. Huijaamisen uhriksi joutumisen todennäköisyyttä voi kuitenkin vähentää muutamilla yksinkertaisilla toimilla. Ensinnäkin kannattaa varmistaa, että pelattava peli on viimeisin saatavilla oleva versio, ja siihen on asennettu viimeisimmät päivitykset. Toiseksi kannattaa valita pelipaikaksi sellainen palvelin, jossa käytetään huijaamisenesto-ohjelmaa, jonka tarkoitus on tunnistaa jos joku huijaa, ja poistaa hänet pelistä.

Jos kuitenkin huomaa, että pelissä on mukana joku, joka huijaa, niin kannattaa siitä ilmoittaa pelin valvojalle, joka sitten mahdollisuuksien mukaan puuttuu asiaan. Tämä ei kuitenkaan ole kovin yksinkertaista, sillä huijaamista ei ole aina helppoa havaita, ja usein käykin niin, että hyviä pelaajia syytetään huijaamisesta, vaikka he eivät oikeasti käyttäisikään mitään huijauksia.

Pelintekijän ja palvelimen ylläpitäjän näkökulmasta

Pelintekijät pyrkivät tekemään peleistä sellaisia, että huijaaminen niissä ei olisi mahdollista. Tähän asiaan kiinnitetään nykyään huomiota jo pelin suunnitteluvaiheessa, jolloin on vielä helppo tehdä peliin muutoksia, jotka vaikeuttavat huijaamista. Useimmat nykyisistä verkkopeleistä sisältävät jonkinlaisen huijaamisenesto-ohjelman, joka yrittää tunnistaa huijaavat pelaajat ja sulkea heidät sitten pois pelistä, joko määräaikaisesti tai pysyvästi.[4]

Monet pelintekijät, sekä pelipalvelimien ylläpitäjät julkaisevat myös ohjeita siitä, miten peleissä pitää käyttäytyä, ja mikä on sallittua. Esimerkiksi Microsoftilla on ohje häiriköinnin käsittelystä[3]. Kyseinen ohje on kuitenkin suunnattu selkeästi pelejä pelaavien lasten vanhemmille ja on luonteeltaan varsin yleisluontoinen.

Päätelmät

Huijaaminen on merkittävä ongelma verkkopeleissä ja yksikin huijaava pelaaja saattaa tuhota muiden pelaajien pelikokemuksen.

Nykyään huijaamiseen kiinnitetään huomiota jo pelejä suunniteltaessa ja näin onkin saatu estettyä monien vanhempien huijauskeinojen käyttö. Toisaalta myös uusia huijaustapoja kehitetään koko ajan, joten näyttää siltä, että huijaamisesta ei päästä kokonaan eroon, vaikka pelit kehittyvätkin turvallisemmiksi.

Lähteet

[1] Twitc Guru: "Cheating: Multiplayer Gaming's Achilles' heel?" (viitattu 20.11.2006)
[2] Aspects of Networking in Multiplayer Computer Games J.Smed et al., The Electronic Library, volume 20, number 2, pages 87-97, 2002. (viitattu 14.12.2006)
[3] http://www.microsoft.com/finland/athome/security/children/griefers.mspx Microsoftin ohje verkkopelihäiriköinnin käsittelemiseen. (viitattu 14.12.2006)
[4] http://en.wikipedia.org/wiki/Cheating_in_online_games Wikipedia: Cheating in online games (viitattu 14.12.2006)
[5] http://www.tips4poker.com/content/cheating_online_poker_article.html Artikkeli pokeriohjelmistosta löytyneestä virheestä. (viitattu 15.1.2007)

-- AnttiNiemela? - 16 Sep 2009
Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 08 Oct 2009 - 21:08:18 - AnttiNiemela?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback