ITKST53 Ohjelmistoturvallisuus (3 op)

Opinnon taso:
Syventävät opinnot
Arviointiasteikko:
0-5
Suorituskieli:
suomi
Vastuuorganisaatio:
Informaatioteknologian tiedekunta
Opetussuunnitelmakaudet:
2017-2018, 2018-2019, 2019-2020

Kuvaus

Sisältö

Tällä kurssilla tutustutaan tietoturvaan ohjelmistokehittäjän näkökulmasta. Perehdymme tietoturvan perusasioihin ja perusongelmiin, eli opetellaan tunnistamaan tietoturvaongelmia ohjelmistoissa, havainnollistamaan hyökkäyksiä ja korjaamaan ongelmia. Käsittelemme esimerkiksi injektioita, merkistökoodausasioita, web-sovellusten tietoturvaa ja pohdimme syitä sille, miksi hyvin tunnettuja tietoturvaongelmia esiintyy uudestaan ja uudestaan eri ohjelmissa.

Kurssi jakautuu kahteen osaa, joista ensimmäinen (3op) on perinteinen luentokurssi, sisältäen luennot, harjoitustehtävät ja tentin. Toinen (5op) osa sisältää laajemmat ja käytännönläheisemmät harjoitukset.

Suoritustavat

Kurssitehtävät + tentti TAI harjoitustyöt

Arviointiperusteet

Kurssin arvosana määräytyy tentin mukaan (3op vaihtoehto) tai kurssin laajempien harjoitusten mukaan (5op vaihtoehto)

Osaamistavoitteet

osaa analysoida injektioita
ymmärtää web sovellusten yleisimmät tietoturvavirheet
ymmärtää työpöytäsovellusten yleisimmät tietoturvavirheet
osaa soveltaa tietoturvallisia ohjelmointitekniikoita

Esitietojen kuvaus

Laaja-alainen ohjelmointitaito. Osaat tulkita useimpia ohjelmointikieliä ja muokata esimerkiksi C:llä tai Pythonilla kirjoitettua ohjelmaa. Tiedät miten web-sovellukset toimivat pääpiirteittäin ja osaat työskennellä Linux-ympäristössä eikä komentorivi tai versionhallinta tuota sinulle ongelmaa. Pystyt itsenäisesti opiskelemaan monimutkaistenkin ohjelmien käytön (esim. gdb, strace, kvm, virtualbox). Ymmärrät käyttäjärjestelmien perusteet ja tiedät vähintään nimeltä matalan tason ohjelmoinnin asiat kuten mikä on pino, rekisteri tai puskuri. Tunnet myös verkkoprotokollat pääpiirteittäin.

Osaat lisäksi lukea tieteellisiä artikkeleita englannin kielellä ja matemaattinen yleissivistyksesi kattaa vähintään logiikan perusteet (→,∧,∨,⊢, jne).

Oppimateriaalit

Oppimateriaalit annetaan luennolla. Lisämateriaaliksi suositellaan MIT:n verkkokurssia 6.858.

Suoritustavat

Tapa 1

Valitaan kaikki merkityt osat
Suoritustapojen osat
x
Julkaisematon arviointikohde