Opiskelijaprojekteina tehtyjen mobiilisovellusten tietoturvatestaus
Hämäläinen, Julia (2025)
Hämäläinen, Julia
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025100625639
https://urn.fi/URN:NBN:fi:amk-2025100625639
Tiivistelmä
Tässä opinnäytetyössä analysoitiin seitsemää opiskelijaprojektina tehtyä React Native -pohjaista mobiilisovellusta tietoturvaheikkouksien varalta staattisen testauksen keinoin. Pääasiallinen tutkimusongelma, johon pyrittiin vastaamaan, oli: minkälaisia ja missä määrin opiskelijoiden ohjelmoimissa mobiilisovelluksissa ilmenee tietoturvaheikkouksia? Opinnäytetyö kirjoitettiin kesä- ja elokuun välisenä aikana vuonna 2025.
Opinnäytetyön tietoperustassa tarkastelu rajattiin natiiveihin mobiilisovelluksiin, jotka rakentuvat älypuhelimen käyttöliittymän yhteyteen ilman tarvetta erilliselle selaimelle. Mobiilisovellusten tietoturvan käsittely kohdistui neljään kategoriaan: dataan ja yksityisyyteen, salaukseen, todentamiseen ja valtuutukseen sekä verkkoon. Tietoperustassa esiteltiin myös mobiilisovellusten tietoturvatestauksen keskeisimmät menetelmät. Näitä olivat dynaaminen ja staattinen testaus. Molempia todettiin voivan toimittaa sekä automaattisin että manuaalisin keinoin.
Metodologia-luvussa kuvailtiin tarkasti ne menetelmät, joilla opinnäytetyön analyysi oli toteutettu. Metodi oli staattinen testaus, joka kohdistui seitsemään vuosina 2023–2024 toteutettuun opiskelijaprojektiin. Testausta tehtiin sekä automaattisin että manuaalisin keinoin. Automaattisen testauksen työkaluksi valittiin avoimen lähdekoodin koodianalysaattori Bearer. Manuaalisen testauksen fokus määräytyi tietoperustassa määriteltyjen neljän tietoturvan kategorian sekä automaattisen lähdekoodianalyysin tulosten perusteella.
Automaattisen analyysin tuloksista ilmeni, että yleisin aineistosta löytyvä tietoturvaheikkous oli vuotavat lokitiedot. Yleisin säilytetty henkilötieto oli kirjautumistieto. Manuaalisesta analyysistä ilmeni, että kaikissa projekteissa säilytettiin henkilötietoja. Kahdessa näistä käyttäjällä oli mahdollisuus muokata tai poistaa itsestään säilytettyjä tietoja. Yhdessäkään projektissa ei käytetty salattuja yhteyksiä datansiirtoon. Käyttäjän todentaminen toteutettiin neljässä projektissa seitsemästä. Valtuutus toteutettiin näissä pääasiassa vain osassa päätepisteitä. Kahdessa projektissa seitsemästä oli toteutettu salausta.
Pohdintaluvussa todetaan, että analysoitujen opiskelijaprojektien tietoturvan taso oli pääasiassa hyvä, ja löydetyt tietoturvaheikkoudet olisivat olleet helposti korjattavissa esim. automaattista lähdekoodianalyysiä hyväksi käyttäen tai relevanttia opetusta lisäämällä. Myös opinnäytetyön pätevyyttä ja luotettavuutta tarkasteltiin kriittisesti. Tutkimuksen keskeisen kontribuution nähtiin olevan hyödyssä sekä ohjelmoinnin opiskelijoille että opettajille.
Opinnäytetyön tietoperustassa tarkastelu rajattiin natiiveihin mobiilisovelluksiin, jotka rakentuvat älypuhelimen käyttöliittymän yhteyteen ilman tarvetta erilliselle selaimelle. Mobiilisovellusten tietoturvan käsittely kohdistui neljään kategoriaan: dataan ja yksityisyyteen, salaukseen, todentamiseen ja valtuutukseen sekä verkkoon. Tietoperustassa esiteltiin myös mobiilisovellusten tietoturvatestauksen keskeisimmät menetelmät. Näitä olivat dynaaminen ja staattinen testaus. Molempia todettiin voivan toimittaa sekä automaattisin että manuaalisin keinoin.
Metodologia-luvussa kuvailtiin tarkasti ne menetelmät, joilla opinnäytetyön analyysi oli toteutettu. Metodi oli staattinen testaus, joka kohdistui seitsemään vuosina 2023–2024 toteutettuun opiskelijaprojektiin. Testausta tehtiin sekä automaattisin että manuaalisin keinoin. Automaattisen testauksen työkaluksi valittiin avoimen lähdekoodin koodianalysaattori Bearer. Manuaalisen testauksen fokus määräytyi tietoperustassa määriteltyjen neljän tietoturvan kategorian sekä automaattisen lähdekoodianalyysin tulosten perusteella.
Automaattisen analyysin tuloksista ilmeni, että yleisin aineistosta löytyvä tietoturvaheikkous oli vuotavat lokitiedot. Yleisin säilytetty henkilötieto oli kirjautumistieto. Manuaalisesta analyysistä ilmeni, että kaikissa projekteissa säilytettiin henkilötietoja. Kahdessa näistä käyttäjällä oli mahdollisuus muokata tai poistaa itsestään säilytettyjä tietoja. Yhdessäkään projektissa ei käytetty salattuja yhteyksiä datansiirtoon. Käyttäjän todentaminen toteutettiin neljässä projektissa seitsemästä. Valtuutus toteutettiin näissä pääasiassa vain osassa päätepisteitä. Kahdessa projektissa seitsemästä oli toteutettu salausta.
Pohdintaluvussa todetaan, että analysoitujen opiskelijaprojektien tietoturvan taso oli pääasiassa hyvä, ja löydetyt tietoturvaheikkoudet olisivat olleet helposti korjattavissa esim. automaattista lähdekoodianalyysiä hyväksi käyttäen tai relevanttia opetusta lisäämällä. Myös opinnäytetyön pätevyyttä ja luotettavuutta tarkasteltiin kriittisesti. Tutkimuksen keskeisen kontribuution nähtiin olevan hyödyssä sekä ohjelmoinnin opiskelijoille että opettajille.