Verkkosovellusten tietoturva
Iijalainen, Juha (2016)
Iijalainen, Juha
Metropolia Ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016053111104
https://urn.fi/URN:NBN:fi:amk-2016053111104
Tiivistelmä
Insinöörityön tarkoituksena oli tutkia verkkosovellusten tietoturvaa rakentamalla itse sovellus. Työ toteutettiin käyttäen PHP-ohjelmointikieltä ja MySQL-tietokantaa. Verkkosovellukseksi valikoitui strategiapeli omien mieltymysten pohjalta.
Palveluiden siirtyessä Internetiin on myös niiden tietoturvaan kiinnitettävä yhä enemmän huomiota. Samalla Internetissä käytettävistä teknologioista löydetään jatkuvasti uusia tietoturvahaavoittuvuuksia. Internet on tämän vuoksi toimintaympäristönä kiinnostava ja haastava.
Sovellus rakennettiin suunnittelemalla ensin pelin mekaniikat ja sen jälkeen rakenne. Sovellus toteutettiin hyödyntäen MVC (Model-View-Controller)-malllia, jossa sovelluksen toimintalogiikka on eriytetty näkymien muokkauksen logiikasta. Tietoturvaratkaisuihin perehdyttiin laajasti, ja niistä valittiin mahdollisimman uudenaikaiset ja sovelluksen kokoon nähden sopivimmat toteutukset.
Työssä varmistettiin tietokannan turvallinen käyttö valmisteltujen lauseiden avulla, jolla estetään injektiohyökkäykset. Käyttäjien syötteiden oikeanlaatuisuus varmistettiin erikseen ennen niiden käyttöä toimintalogiikassa. Työssä perehdyttiin käyttäjätietojen hallintaan itserakennetulla hallintalogiikalla. Käyttäjätiedot tallennetaan tietokantaan ja salasanoista muodostetaan tiivistemerkkijot scrypt-funktiolla.
Samalla opittiin sovelluskehityksessä hyödyllisiä työtapoja ja menetelmiä, kuten versionhallinnan käyttö ja kehitysympäristön eriyttäminen tuotantoympäristöstä.
Erinäisten vastoinkäymisten takia projekti viivästyi ja pelilliset ominaisuudet jäivät osin toteuttamtta. Tietoturvapuoli on silti kunnossa. Loppupäätelmä on, että oikein käytettynä PHP-kieli on turvallinen, ja sillä on mahdollista toteuttaa tietoturvallisia verkkosovelluksia.
Palveluiden siirtyessä Internetiin on myös niiden tietoturvaan kiinnitettävä yhä enemmän huomiota. Samalla Internetissä käytettävistä teknologioista löydetään jatkuvasti uusia tietoturvahaavoittuvuuksia. Internet on tämän vuoksi toimintaympäristönä kiinnostava ja haastava.
Sovellus rakennettiin suunnittelemalla ensin pelin mekaniikat ja sen jälkeen rakenne. Sovellus toteutettiin hyödyntäen MVC (Model-View-Controller)-malllia, jossa sovelluksen toimintalogiikka on eriytetty näkymien muokkauksen logiikasta. Tietoturvaratkaisuihin perehdyttiin laajasti, ja niistä valittiin mahdollisimman uudenaikaiset ja sovelluksen kokoon nähden sopivimmat toteutukset.
Työssä varmistettiin tietokannan turvallinen käyttö valmisteltujen lauseiden avulla, jolla estetään injektiohyökkäykset. Käyttäjien syötteiden oikeanlaatuisuus varmistettiin erikseen ennen niiden käyttöä toimintalogiikassa. Työssä perehdyttiin käyttäjätietojen hallintaan itserakennetulla hallintalogiikalla. Käyttäjätiedot tallennetaan tietokantaan ja salasanoista muodostetaan tiivistemerkkijot scrypt-funktiolla.
Samalla opittiin sovelluskehityksessä hyödyllisiä työtapoja ja menetelmiä, kuten versionhallinnan käyttö ja kehitysympäristön eriyttäminen tuotantoympäristöstä.
Erinäisten vastoinkäymisten takia projekti viivästyi ja pelilliset ominaisuudet jäivät osin toteuttamtta. Tietoturvapuoli on silti kunnossa. Loppupäätelmä on, että oikein käytettynä PHP-kieli on turvallinen, ja sillä on mahdollista toteuttaa tietoturvallisia verkkosovelluksia.