Tietoturvallinen web-ohjelmointi
Yurdakul, Sevilay (2013)
Yurdakul, Sevilay
Metropolia Ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201304084137
https://urn.fi/URN:NBN:fi:amk-201304084137
Tiivistelmä
Tässä opinnäytetyössä selvitettiin web-ohjelmoinnin tietoturvaa. Aluksi käytiin läpi tietoturvallisuuden perusteet ja sitten OWASP Top 10 -listan kolme yleisintä tietoturvauhkaa, jotka ovat SQL-injektio, XSS-hyökkäys ja istunnon kaappaus. Viimeisenä käsiteltiin uhkien estämiskeinoja.
Opinnäytetyön tarkoituksena oli antaa tietoa ohjelmoijalle siitä, miten verkkosovellukset altistuvat hyökkäyksille ja miten voidaan kehittää tietoturvallisempia verkkosovelluksia. Työ rajoitettiin ohjelmointikieliseen PHP:hen ja tietokannoista MySQL:ään. Keskeisiä tutkimusalueita olivat muun muassa tietoturvauhat ja niiden ehkäiseminen.
Opinnäytetyössä kerrottiin syötteiden tarkistamisen ja salasanojen tiivistämisen tärkeydestä. Suurin osa haavoittuvuuksista sivuilla johtuu nimenomaan huolimattomasta syötteiden
tarkistamisesta. Salasanojen tiivistämisessä on tärkeä käyttää vahvaa standardialgoritmia ja suolaa, joka tekee tiivisteistä huomattavasti vaikeampia murtaa.
Työssä käsiteltiin myös web-palvelimen ja MySQL-tietokannan turvaamista. Verkkoselaimessa yhteyden suojauksessa käytetään yleisesti SSL- ja HTTPSsalausprotokollia.
Tietokannan uhkien yleisimpiä torjuntatapoja ovat käyttöoikeuksien rajoittaminen ja varmuuskopioiden ottaminen.
Tietoturvallisuuden lisääminen ohjelmiston ominaisuudeksi jälkikäteen on huomattavan hankalaa, joten on suotavaa ottaa se mukaan alusta alkaen. Kaiken kaikkiaan tietoturvallisuus
pitää ottaa huomioon koko ohjelmistokehitysprosessissa.
Opinnäytetyön tarkoituksena oli antaa tietoa ohjelmoijalle siitä, miten verkkosovellukset altistuvat hyökkäyksille ja miten voidaan kehittää tietoturvallisempia verkkosovelluksia. Työ rajoitettiin ohjelmointikieliseen PHP:hen ja tietokannoista MySQL:ään. Keskeisiä tutkimusalueita olivat muun muassa tietoturvauhat ja niiden ehkäiseminen.
Opinnäytetyössä kerrottiin syötteiden tarkistamisen ja salasanojen tiivistämisen tärkeydestä. Suurin osa haavoittuvuuksista sivuilla johtuu nimenomaan huolimattomasta syötteiden
tarkistamisesta. Salasanojen tiivistämisessä on tärkeä käyttää vahvaa standardialgoritmia ja suolaa, joka tekee tiivisteistä huomattavasti vaikeampia murtaa.
Työssä käsiteltiin myös web-palvelimen ja MySQL-tietokannan turvaamista. Verkkoselaimessa yhteyden suojauksessa käytetään yleisesti SSL- ja HTTPSsalausprotokollia.
Tietokannan uhkien yleisimpiä torjuntatapoja ovat käyttöoikeuksien rajoittaminen ja varmuuskopioiden ottaminen.
Tietoturvallisuuden lisääminen ohjelmiston ominaisuudeksi jälkikäteen on huomattavan hankalaa, joten on suotavaa ottaa se mukaan alusta alkaen. Kaiken kaikkiaan tietoturvallisuus
pitää ottaa huomioon koko ohjelmistokehitysprosessissa.