Sovellusten hakkerointi ja haavoittuvuudetLaajuus (5 op)
Opintojakson tunnus: ICI012AS3A
Opintojakson perustiedot
- Laajuus
- 5 op
- Opetuskieli
- suomi
Osaamistavoitteet
Opi tunnistamaan ja korjaamaan haavoittuvuuksia ohjelmissa.
Kurssin käytyään opiskelija osaa
- Etsiä yksinkertaisia haavoittuvuuksia sovelluksista
- Korjata yksinkertaisia haavoittuvuuksia lähdekoodista
- Tutkia alustavasti tuntemattoman ohjelman toimintaa, myös ilman lähdekoodia
Kurssin käytyään opiskelijalla on käsitys sovellusten tietoturvan suhteesta uhkamalliin ja standardien hyödyntämisestä sovellusten tietoturvan kehittämisessä.
Sisältö
- Standardit ja kehykset.
- Weppiin tunkeutuminen ja sovelluksen korjaaminen.
- Staattinen analyysi.
- Dynaaminen analyysi.
- Sulautetut järjestelmät.
- Salakirjoitus.
- Lipunryöstö
Lähtötaso ja sidonnaisuudet muihin opintojaksoihin
Kurssin alkaessa tulee osata
- Ohjelmoinnin perusteet
- Linuxin alkeet
- Linuxin asennus virtuaalikoneeseen omalle läppärille
Millä tahansa tavalla hankitut esitiedot kelpaavat. Tiedot on voinut hankkia esimerkiksi kursseilla "Linux palvelimet" tai "Ohjelmointi 1", mutta itse opeteltu sopii myös.
Esitiedot tarkistetaan tarvittaessa kyselyllä, ja kurssille valittavat voidaan tarvittaessa valita alkutestin perusteella.
Jos osaat aiheet jo, kertauspakettia ei tarvitse lukea. Lähtötasosta löytyy kertauspaketti https://terokarvinen.com/application-hacking/#kertauspaketti
Toteutustavat, näyttö ja opinnollistaminen
Opiskelijan halutessa suorittaa opintojakso AHOT-menettelyä käyttäen, tulee opiskelijan ilmoittautua normaalisti opintojaksolle ja ottaa kurssin alkaessa yhteyttä opintojakson opettajaan AHOT-menettelyn käynnistämiseksi. AHOT edellyttää nimenomaan kurssi- ja toteutuskuvauksessa mainittujen taitojen osaamista ennestään esimerkiksi työn ja harrastusten kautta.
Arviointikriteerit - arvosana 1
Opintojaksojen CONTACT, ONLINE ja BLENDED -toteutuksilla edellytämme läsnäoloa lukujärjestykseen merkityillä opetuskerroilla. Jos olet poissa opetuskerroilta yli 25% arvosanasi laskee yhdellä numerolla. Jos olet poissa opetuskerroilta yli 50%, opintojakso hylätään.
Pystyy mekaanisesti käyttämään yksinkertaisia sovellusten tutkimis- ja tunkeutumismenetelmiä helpossa kontekstissa.
Pystyy paikkaamaan haavoittuvuuksia helpoista ja lyhyistä koodeista käyttämällä tunnettujen tunkeutumistapojen tavallisia korjaustapoja sellaisenaan, kun kielet ovat tuttuja.
Osallistunut aktiivisesti opetukseen. Palauttanut kaikki pakolliset kotitehtävät.
Arviointikriteerit - arvosana 3
Pystyy soveltamaan tunkeutumis- ja tutkimusmenetelmiä uusiin tapauksiin. Pystyy suppeasti soveltamaan haavojen paikkausmenetelmiä.
Pystyy osin toimimaan myös tuttujen ympäristöjen ja kielten ulkopuolella.
Täyttää kaikkien alempien arvosanojen kriteerit.
Arviointikriteerit - arvosana 5
Pystyy tutkimaan sovelluksia ja tunnistamaan haavoittuvuuksia. Pystyy soveltamaan opittuja tekniikoita ja opettelemaan itsenäisesti uusia.
Pystyy arvioimaan haavoittuvuuksien merkitystä tietoturvalle laajemmin.
Oppimateriaalit
Kurssin aikana jaettava ja linkitetty materiaali sisältää sovellusten virallisia oppaita, kolmannen osapuolen tekemiä ohjeita ja muita verkkomateriaaleja. Luettavat alueet kirjoista pyritään valitsemaan mahdolisuuksien mukaan niin, että ne ovat luettavissa Haaga-Helian kirjaston kautta opiskelijatunnuksilla.
Lisätiedot
Kurssin suunnittelussa on hyödynnetty palautetta kursseilta Tunkeutumistestaus ja valituilta ohjelmointikursseilta, kuten "Python weppipalvelu - ideasta tuotantoon". Noilla kummallakin kurssilla parhaan toteutuksen palaute on 5.0 /5, jokainen osallistuja jätti palautetta ja jokainen oli 5. Vanhojen kurssien palautteeseen voi perehtyä http://TeroKarvinen.com.
Koska kurssilla opetellaan tunkeutumistekniikoita, osallistuminen edellyttää kurssin sääntöjen hyväksymistä.