Yleiskatsaus ohjelmiston takaisinmallinnuksen nykytilaan
Kuusirati, Henri (2016-12-02)
Kuusirati, Henri
H. Kuusirati
02.12.2016
© 2016 Henri Kuusirati. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201612063208
https://urn.fi/URN:NBN:fi:oulu-201612063208
Tiivistelmä
Tämän tutkielman tarkoituksena oli koota yhteen paperiin läpileikkaus ohjelmiston käänteismallintamisesta aiheena käymällä läpi aiheeseen liittyvää kirjallisuutta. Läpileikkauksen tarkoituksena on tutustuttaa sekä kirjoittaja että lukija aiheeseen. Ohjelmiston käänteismallintamisella tarkoitetaan prosessia, jonka tarkoituksena on poimia olemassa olevasta ohjelmasta informaatiota ja tämän informaation avulla luoda uudelleen ohjelman tekemiseen tarvittua lähdekoodia tai suunnittelutietoa. Tutkittava alue käsitti peruskäsitteiden selventämisen ja käänteismallintamisen historiaan tutustumisen lisäksi sen käyttötarkoituksiin perehtymisen ohjelmistotuotannon ja tietoturvatutkimuksen työkaluna. Käyttötapaesimerkeiksi rajattiin haittasovellusten tutkiminen, salausalgoritmien avaaminen, kopiosuojausten ja digitaalisten käyttäjäoikeuksien hallinta, ohjelmistojen tietoturvan ja yleisen laadun auditointi, yhteensopivuuden saavuttaminen ja kilpailevien sovelluksien tuottaminen. Lisäksi tutkielmassa tutustuttiin takaisinmallintamisen analyysitapoihin, jotka jaettiin dynaamiseen ja staattiseen analyysiin riippuen siitä kohdistuiko analyysi ajossa olevaan ohjelmaan vai staattiseen koodiin. Samassa yhteydessä mainittiin myös joitain esimerkkejä näitä analyysitapoja tukevista työkaluista, kuten disassemblereista, käänteiskääntäjistä ja virheenjäljittäjistä. Tutkielmassa tutustuttiin myös takaisinmallintamisen tuomiin laillisuuskysymyksiin Yhdysvaltojen ja Suomen lainsäädäntöjen kannalta. Tämän jälkeen tutkielmassa keskityttiin takaisinmallintamisen häiritsemismenetelmiin, joihin kuului symbolisen tiedon tuhoaminen käännetystä sovelluksesta, koodin salaus ja pakkaus, koodin obfuskointi ja takaisinmallinnuksessa käytettyjen ohjelmien, kuten disassemblereiden ja virheenjäljittäjien häiritseminen.
Kokoelmat
- Avoin saatavuus [36616]