Kursplan

Språkbaserad datasäkerhet

Language-Based Security

Kurs
DIT106
Avancerad nivå
7,5 högskolepoäng (hp)
Utbildningsområde
NA Naturvetenskapliga området 100%

Om kursplanen

Diarienummer
GU 2025/4558
Ikraftträdandedatum
2026-03-15
Beslutsdatum
2026-02-12
Gäller från termin
Höstterminen 2026
Beslutsfattare
Institutionen för data- och informationsteknik

Betygsskala

Fyrgradig skala, sifferbetyg

Kursens moduler

Projekt, 4,5 högskolepoäng
Laboration, 3 högskolepoäng

Inplacering

Kursen kan ingå i följande program:

  1. Computer Science, masterprogram (N2COS)
  2. Software Engineering, masterprogram (N2SOF)
  3. Applied Data Science, masterprogram (N2ADS)

Kursen ges även som fristående kurs vid Göteborgs Universitet.

Huvudområde med fördjupning

ITSOF Software Engineering - A1N Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav
ITDVA Datavetenskap - A1N Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav

Behörighetskrav

  • Kandidatexamen inom datavetenskap eller motsvarande.
  • 15 hp avklarade programmeringskurser krävs.
  • 7,5 hp avklarat inom IT-säkerhet eller motsvarande krävs.

Följande kunskapsnivå i Engelska krävs: Engelska 6/Engelska nivå 2 eller motsvarande från ett erkänt internationellt test, t.ex. TOEFL, IELTS.

Innehåll

Denna kurs kombinerar praktiskt och banbrytande forskningsmaterial. Kursen består av föreläsningar, labbar, övningar och projektpresentationer. Temat attack-sårbarhet-försvar genomsyrar alla delar av kursen.

Detaljerna av innehållet:

Grunder i språkbaserad säkerhet

  • Introduktion till språkbaserad säkerhet
  • Principer för informationsflödes­säkerhet
  • Saltzer & Schroeders designprinciper för skydd av information

Programanalys och säkerhetsmekanismer

  • Statisk analys och programtransformation
  • Referensmonitorer och verkställighetsmekanismer
  • Noninterference och säker multi-exekvering

Samtidighet och lågnivåattacker

  • Datastrider, slumpmässighet och determinism
  • TOCTOU-sårbarheter (time-of-check to time-of-use)
  • Buffertöverskridanden och minnessäkerhet

Applikations- och plattformsäkerhet

  • Databassäkerhet
  • Säkerhet i Android-applikationer
  • Upphovsrättsskydd och kodobfuskering
  • JavaScript-sandboxing

Webbsäkerhet och mjukvarusäkerhet

  • Säkerhet i webbapplikationer (OWASP Top 10)
  • Säkerhet i webbläsartillägg
  • Reguljära uttryck och säkerhet (inmatningsvalidering, ReDoS)
  • Säkerhetsverktyg och praktisk webbsäkerhet

Mål

Efter godkänd kurs ska studenten kunna:

Kunskap och förståelse

  • tillämpa praktisk kunskap om säkerhet för moderna programmeringsspråk
  • påvisa djup kunskap om principerna bakom attacker på applikationsnivå (exempelvis om kapplöpningsproblem, buffertöverskridningsattacker, webbapplikationsattacker, hemliga kanaler och skadlig kod)
  • definiera språkbaserade skyddsmekanismer (exempelvis statisk och dynamisk kodanalys, programövervakning och användning av sandlådor)

Färdigheter och förmåga

  • identifiera säkerhetshot på applikations- och språknivå,
  • specificera och argumentera för säkerhetspolicyer på applikations- och språknivå,
  • utforma och utvärdera säkerhet, tydlighet, användbarhet och effektivitet hos lösningar
  • implementera sådana lösningar i uttrycksfulla programmeringsspråk


Värderingsförmåga och förhållningssätt

  • påvisa förmåga att bedöma vilka säkerhetsmekanismer som är lämpliga för ett givet scenario

Hållbarhetsmärkning

Ingen hållbarhetsmärkning.

Former för undervisning

Kursen består av föreläsningar, laborationer, övningar och projektpresentationer.

Undervisningsspråk: Engelska

Examinationsformer

Laborationsdelen betygsätts godkänd/icke godkänd och omfattar 3 högskolepoäng. Projektdelen betygsätts U/3/4/5 och omfattar 4,5 högskolepoäng.


Om en student som har underkänts två gånger på samma examinerande moment önskar byta examinator inför nästa examinationstillfälle ska en sådan begäran bifallas om det inte finns särskilda skäl däremot (6 kap. 22 § HF).

Om en student har fått besked om pedagogiskt stöd från Göteborgs universitet med rekommendation om anpassad examination och/eller anpassad examinationsform kan examinator, i det fall det är förenligt med kursens lärandemål och förutsatt att inte orimliga resurser krävs, besluta att bevilja studenten anpassad examination och/eller anpassad examinationsform.

Om en kurs har avvecklats eller genomgått en större förändring ska studenten erbjudas minst två examinationstillfällen, utöver ordinarie examinationstillfälle. Dessa tillfällen fördelas under en tid av minst ett år, dock som längst två år efter det att kursen avvecklats/förändrats. Vad gäller praktik och verksamhetsförlagd utbildning (VFU) gäller motsvarande, men med begränsning till endast ett ytterligare examinationstillfälle.

Om en student har fått besked om att denne uppfyller kraven för att vara student vid Riksidrottsuniversitetet (RIU-student) har examinator rätt att besluta om anpassning vid examination, om detta görs i enlighet med Lokala regler gällande RIU-studenter vid Göteborgs universitet.

Betyg

Delkurser

  1. Projekt, 4,5hp
    Betygsskala: Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U)
  2. Laboration, 3hp
    Betygsskala: Godkänd (G) och Underkänd (U)

På kursen ges något av betygen Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U).

För att bli godkänd på kursen måste båda labb och projektdelarna måste vara godkända. Betyget för hel kurs följer betyget för projektet.

Kursvärdering

Kursen utvärderas genom möten, både under och efter kursen, mellan lärare och studentrepresentanter. Ett anonymt skriftligt frågeformulär skickas även ut till studenterna efter kursens slut. Resultaten av utvärderingarna används för att förbättra kursinnehållet och som indikation till vilka delar som skulle kunna läggas till, tas bort, förbättras eller ändras.

Övriga föreskrifter

Kursen är samläst med Chalmers.

Kursen ersätter kursen DIT101, 7,5 hp. Den här kursen kan inte ingå i en examen som innehåller DIT101. Den kan inte heller ingå i en examen som bygger på en annan examen där DIT101 ingår.