Primavistan Java-koodin obfuskointiprosessi


Autoria(s): Herranen, Vesa
Data(s)

20/02/2008

20/02/2008

20/02/2008

Resumo

Tässä insinöörityössä suunniteltiin ja toteutettiin Gordion-talousohjaus Oy:n Primavista-ohjelmiston koodin suojaaminen. Yrityksellä oli jo pitkään ollut tarve Java-kielisen ohjelmakoodinsa suojaamiselle, etenkin Primavistan käytön tullessa laajentumaan useisiin eri maihin. Koodin suojaamisella hankaloitetaan mahdollista takaisinkääntämistä, jossa valmiin ohjelman ajettavat tiedostot käännetään takaisin niiden lähdekoodiksi. Tällöin lähdekoodia pystytään tarkastelemaan tai jopa muokkaamaan. Suomen tekijänoikeuslain mukaan takaisinkääntäminen ei ole sallittua. Työ aloitettiin tutkimalla erilaisia Java-koodin suojausmenetelmiä. Primavistan koodin suo-jausmenetelmäksi valittiin obfuskointi, joka on suosituin Java-koodin suojausmenetelmä. Erilaisia tekniikoita käyttäen tämä menetelmä sotkee Javan tavukoodia tehden takaisinkäännetystä koodista erittäin vaikeasti ymmärrettävää. Työssä vertailtiin nykyisiä obfuskointityökaluja itse tehdyn testisovelluksen avulla. Vertai-un parhaaksi työkaluksi osoittautui kaupallinen tuote Zelix KlassMaster. Ohjelma todettiin toimivaksi myös Primavistan suhteen, minkä jälkeen se päätettiin hankkia yritykselle. Koko Primavistan koodin obfuskointi toteutettiin Zelix KlassMasteria ja sen useita eri ob-fuskointitekniikoita käyttäen. Tämän jälkeen obfuskointi liitettiin Primavistan Ant-buildiin kiinteäksi osaksi koodin rakennusprosessia. Koska obfuskointi tekee huomattavia muu-toksia tavukoodiin, obfuskoidun Primavistan toiminta oli testattava huolellisesti. Testauk-sessa huomattiin pieniä virhetilanteita, jotka korjaamalla ohjelman toiminta lopulta todettiin normaaliksi. Viimeisessä työvaiheessa kaikki obfuskoinnissa tarvittavat tiedostot siirrettiin versionhallintaan kaikkien yrityksen kehitystiimin jäsenten käytettäviksi. Työn tuloksena saatiin onnistuneesti obfuskoiduksi koko Primavistan koodi. Obfuskointi-prosessista kehitettiin pysyvä käytäntö, jonka mukaisesti obfuskointi tehdään aina Prima-vistan rakennusvaiheessa. Jatkossa kaikki asiakkaille toimitettavat Primavistan versiot tulevat olemaan obfuskoituja sovelluksia.

Identificador

URN:NBN:fi:stadia-1197638164-8

http://www.doria.fi/handle/10024/36150

Idioma(s)

fi

Publicador

Helsingin ammattikorkeakoulu Stadia

Helsinki Polytechnic Stadia

Relação

10024/3972

stadia-1197638164-8.pdf

Direitos

Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.

This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.

Tipo

Text

AMK-opinnäytetyö

Polytechnic thesis