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.

Visa kursinformation utifrån vald termin och kursomgång:

Kursomgång och genomförande

Ingen kursomgång är vald

Välj termin och kursomgång ovan för att få information från rätt kursplan och kursomgång.

Kursinformation

Innehåll och lärandemål

Kursinnehå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.

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.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet *

Fristående kurs studenter:

SF1901 Sannolikhetsteori och statistik, DD1337 Programmering, DD1338 Algoritmer och Datastrukturer, SF1630 Diskret Matematik, DD1352 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.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

Betygsskala *

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

Examination *

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

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

I TEN2 och LAB2 används hela betygskalan, men i ÖVN2 används inte betygen B och D.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Cyrille Artho

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb DD2460

Ges av

EECS/Datavetenskap

Huvudområde *

Datalogi och datateknik

Utbildningsnivå *

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Cyrille Artho (artho@kth.se)

Etiskt förhållningssätt *

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Övrig information

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex

Övriga föreskrifter *

Denna kurs innehåller grupprojekt och laborationer. Kursregistrering efter den officiella registreringsperioden är inte möjligt, eftersom vi behöver skapa grupperna i början av kursen.