DD2460 Programvarusäkerhet 7,5 hp

Software Safety and Security

Programvarusäkerhet handlar om att säkerställa att programvaran i ett säkerhetskritisk system beter sig på ett korrekt och tillförlitligt sätt. Detta kan betyda att programvaran inte låter obehöriga få tillgång till data de inte har behörighet till, eller att programvaran är fri från programfel som deadlocks eller buffer overflows. De huvudsakliga teknikerna som används för programvarusäkerhet är statisk analys, övervakning, och testning. I kursen behandlas flera grundläggande tekniker för programvarusäkerhet.

  • Utbildningsnivå

    Avancerad nivå
  • Huvudområde

    Datalogi och datateknik
  • Betygsskala

    A, B, C, D, E, FX, F

Kurstillfällen/kursomgångar

VT19 sss19 för programstuderande

VT19 sss19 för Study Abroad Programme (SAP)

  • Perioder

    VT19 P4 (7,5 hp)

  • Anmälningskod

    20070

  • Kursen startar

    2019-03-18

  • Kursen slutar

    2019-06-04

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

  • Kursansvarig

    Cyrille Artho <artho@kth.se>

  • Lärare

    Musard Balliu <musard@kth.se>

  • Målgrupp

    Endast öppen för betalande studenter inom SAP

VT19 Doktorand för fristående studerande

  • Perioder

    VT19 P4 (7,5 hp)

  • Anmälningskod

    20122

  • Kursen startar

    2019-03-18

  • Kursen slutar

    2019-06-04

  • Undervisningsspråk

    Engelska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser *

    Max. 1

    *) Vid fler sökande än platser kommer urval att ske.

  • Kursansvarig

    Cyrille Artho <artho@kth.se>

  • Målgrupp

    För doktorander på KTH

VT20 sss20 för programstuderande

Lärandemål

Efter godkänd kurs ska studenten kunna:

  • förklara säkerhetsaspekter för system,
  • konstruera modeller av system,
  • specificera och analysera säkerhetsegenskaper,
  • tillämpa analysverktyg på programvarusystem,
  • utvärdera och jämföra olika tillvägagångssätt för verifiering och validering av programvarusystem,

i syfte att

  • som samhällsmedborgare och expert kunna diskutera programvarusäkerhet,
  • i arbetslivet och/eller forskningsprojekt kunna uttrycka säkerhetsegenskaper formellt,
  • kunna använda och anpassa olika verktyg och tekniker för att verifiera sådana egenskaper.

Kursens huvudsakliga innehåll

  • Del I. Introduktion till programvarusäkerhet.
  • Del II. Temporallogik, modellering, modelltestning, formell specifikation. Verktyg: NuSMV.
  • Del III. Informationsflödessäkerhet, typsystem. Verktyg.
  • Del IV. Parallellism, nätprogrammering. Verktyg: Java Pathfinder.
  • Del V. Minnessäkerhet, fuzzing. Verktyg: valgrind, radamsa.

Behörighet

SF1901/SF1924 Sannolikhetsteori och statistik, DD1337 Programmering, DD1338 Algoritmer och datastrukturer, SF1630/SF1688 Diskret matematik, DD1352/DD2350 Algoritmer, datastrukturer och komplexitet och DD2395 Datasäkerhet eller motsvarande kurser.

Rekommenderade förkunskaper

Kursen DD2395 Datasäkerhet eller motsvarande. Goda kunskaper inom programmering, programmeringsspråk och programsemantik. Kunskap om första ordningens logik och ändlighetsautomat.

Litteratur

Kurslitteraturen (bokkapitel, forskningsartiklar, lathundar, webbsidor) kommer att finnas tillgänglig i kursrummet i Canvas.

Examination

  • LAB2 - Laboration, 5,0, betygsskala: A, B, C, D, E, FX, F
  • TEN2 - Tentamen, 1,0, betygsskala: A, B, C, D, E, FX, F
  • ÖVN2 - Gruppresentation och rapport, 1,5, betygsskala: A, B, C, D, E, FX, F

I TEN2 används betygen A, B, C, D, E, Fx, F.

I ÖVN2 används betygen A, C, E, Fx, F.

I LAB2 används betygen: A, B, C, D, E, Fx, F.

Krav för slutbetyg

Detaljerade betygskriterier publiceras i kurs-PM.

Ges av

EECS/Datavetenskap

Kontaktperson

Cyrille Artho (artho@kth.se)

Examinator

Cyrille Artho <artho@kth.se>

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.