Analyzing Java EE application security with SonarQube
Paananen, Timo (2016)
Paananen, Timo
Jyväskylän ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605107028
https://urn.fi/URN:NBN:fi:amk-201605107028
Tiivistelmä
Opinnäytetyössä tutkittiin staattisen lähdekoodianalysointityökalun SonarQube
kykyä tunnistaa Java EE -sovelluksista tietoturvaheikkouksia.
Aluksi tunnistettiin toimeksiantajan käyttämistä Java EE teknologioista kohdat, joissa
sovelluskehittäjät voisivat mahdollisesti aiheuttaa sovellukseen
tietoturvaheikkouksia. Opinnäytetyössä esitellään erilaiset tietoturvaheikkouksien ja
-haavoittuvuuksien pisteytysjärjestelmät.
Opinnäytetyön toteutusosaa varten toteutettiin testisovellus, joka sisälsi tunnistettuja
tietoturvaheikkouksia. Tätä sovellusta analysointiin SonarQubella käyttämällä kahta
eri sääntökokoelmaa, joista toinen oli kasattu SonarQuben perusasennuksesta ja
toiseen oli lisätty sääntöjä jälkikäteen asennetuista laajennoksista.
SonarQube kykeni löytämään molemmilla sääntökokoelmilla tietoturvaheikkouksia
Java EE -sovelluksista. Laajempi sääntökokoelma löysi kuitenkin 40% enemmän
heikkouksia. Kumpikaan sääntökokoelmista ei tuottanut virheellisiä havaintoja.
SonarQuben tapa esittää löydetyt virheet tukee sovelluskehittäjien oppimista,
esittämällä sekä virheellisen tavan että oikeaoppisen tavan toteuttaa säännön
tarkastelema kohta.
kykyä tunnistaa Java EE -sovelluksista tietoturvaheikkouksia.
Aluksi tunnistettiin toimeksiantajan käyttämistä Java EE teknologioista kohdat, joissa
sovelluskehittäjät voisivat mahdollisesti aiheuttaa sovellukseen
tietoturvaheikkouksia. Opinnäytetyössä esitellään erilaiset tietoturvaheikkouksien ja
-haavoittuvuuksien pisteytysjärjestelmät.
Opinnäytetyön toteutusosaa varten toteutettiin testisovellus, joka sisälsi tunnistettuja
tietoturvaheikkouksia. Tätä sovellusta analysointiin SonarQubella käyttämällä kahta
eri sääntökokoelmaa, joista toinen oli kasattu SonarQuben perusasennuksesta ja
toiseen oli lisätty sääntöjä jälkikäteen asennetuista laajennoksista.
SonarQube kykeni löytämään molemmilla sääntökokoelmilla tietoturvaheikkouksia
Java EE -sovelluksista. Laajempi sääntökokoelma löysi kuitenkin 40% enemmän
heikkouksia. Kumpikaan sääntökokoelmista ei tuottanut virheellisiä havaintoja.
SonarQuben tapa esittää löydetyt virheet tukee sovelluskehittäjien oppimista,
esittämällä sekä virheellisen tavan että oikeaoppisen tavan toteuttaa säännön
tarkastelema kohta.