Sovellusten hakkerointi ja haavoittuvuudet (5op)

Opintojakson tunnus: ICI012AS3A

Opintojakson perustiedot


Laajuus
5 op
Opetuskieli
suomi

Intro

Katso ohjelmaasi hakkerin silmin. Korjaa haavoittuvuudet ennen rikollisia.

Kurssilla käymme läpi useita aihekokonaisuuksia, jotka auttavan ymmärtämään miten ohjelmistoja tulisi suojata ja miten voimme havaita haavoittuvuuksia ohjelmistoissa.

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ö

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.

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.

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

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.

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ä.

Siirry alkuun