Application Hacking and VulnerabilitiesLaajuus (5 cr)
Course unit code: ICI012AS3A
General information
- ECTS credits
- 5 cr
- Teaching language
- Finnish
Learning objectives
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ä.
Contents
- Standardit ja kehykset.
- Weppiin tunkeutuminen ja sovelluksen korjaaminen.
- Staattinen analyysi.
- Dynaaminen analyysi.
- Sulautetut järjestelmät.
- Salakirjoitus.
- Lipunryöstö
Starting level and linkage with other courses
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
Implementation methods, demonstration and Work&Study
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.
Assessment criteria - grade 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.
Assessment criteria - grade 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.
Assessment criteria - grade 5
Pystyy tutkimaan sovelluksia ja tunnistamaan haavoittuvuuksia. Pystyy soveltamaan opittuja tekniikoita ja opettelemaan itsenäisesti uusia.
Pystyy arvioimaan haavoittuvuuksien merkitystä tietoturvalle laajemmin.
Learning materials
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.
Further information
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ä.