ITKST53 Software Security (3 cr)

Study level:
Advanced studies
Grading scale:
0-5
Language:
Finnish
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2020-2021, 2021-2022

Description

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)

Learning outcomes

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

Description of prerequisites

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

Study materials

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

Completion methods

Method 1

Select all marked parts
Parts of the completion methods
x

Teaching (3 cr)

Type:
Participation in teaching
Grading scale:
0-5
Language:
Finnish
No published teaching