Hoppa till huvudinnehållet

DD2460 Programvarusäkerhet 7,5 hp

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.

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 sss24 programstuderande

Anmälningskod

50029

Rubriker med innehåll från kursplan DD2460 (HT 2024–) är markerade med en asterisk ( )

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. Systemmodellering med Event-B. Verktyg: Rodin.
  • Del IV. Parallellism, nätprogrammering. Verktyg: Java Pathfinder.
  • Del V. Minnessäkerhet, fuzzning. Verktyg: minneskontrollverktyg, fuzz-testare.

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.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper i datasäkerhet, 6 hp, motsvarande slutförd kurs DD2395/DD2391.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs.
Den som är registrerad anses vara aktivt deltagande.
Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

Rekommenderade förkunskaper

Goda kunskaper och färdigheter inom programmering, programspråk och programsemantik. Kunskap om första ordningens logik och ändliga automater.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

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 handläggare av stöd till studenter med 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.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

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.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Cyrille Artho (artho@kth.se)

Övergångsbestämmelser

Den tidigare modulen EXA2 ersätts av TEN2.

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