Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnLanguage-based security
- KurskodTDA602
- Omfattning7,5 Högskolepoäng
- ÄgareMPALG
- UtbildningsnivåAvancerad nivå
- HuvudområdeDatateknik, Informationsteknik
- InstitutionDATA- OCH INFORMATIONSTEKNIK
- BetygsskalaTH - Fem, Fyra, Tre, Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 02111
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0112 Projekt 4,5 hp Betygsskala: TH | 4,5 hp | ||||||
0212 Laboration 3 hp Betygsskala: UG | 3 hp |
I program
- MPALG - DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 2 (valbar)
Examinator
- Andrei Sabelfeld
- Professor, Computing Science, Data- och informationsteknik
Ersätter
- TDA600 Språkbaserad datasäkerhet
- TDA601 Language-based security
Behörighet
Information saknasSärskild behörighet
För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)Undantag från tillträdeskraven: Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Kursspecifika förkunskaper
För att delta i kursen krävs att studenten fullgjort två års studier inom Datavetenskap eller liknande ämne.Kunskap om materialet som täcks av kurserna DAT151 Programming language technology och EDA263 Computer security rekommenderas men är inte ett formellt krav.
Syfte
De säkerhetsmekanismer som kan anses vara standard idag är inte tillräckliga för att skydda mot alla typer av attacker. Flertalet attacker sker på applikationsnivå genom att utnyttja fel och misstag i applikationen. Detta gör att attacken till viss del kan kringgå existerande skydd eftersom den körs med den attackerade applikationens rättigheter. Ett sätt att säkerställa att program är säkra är att använda programspråksmetoder för att analysera programmets källkod - en del av språkbaserad säkerhet. Språkbaserad säkerhet för med sig möjligheten att använda existerande metoder inom programanalys för att specificera och säkerställa säkerhetskrav.
Lärandemål (efter fullgjord kurs ska studenten kunna)
Efter fullgjord kurs ska studenten ha praktisk och teoretisk kunskap om programspråkssäkerhet. Detta inkluderar färdighet att identifiera säkerhetsproblem på applikations- och språknivå, samt utforma och implementera lösningar på dessa problem och argumentera för lösningarnas säkerhet, användbarhet och effektivitet.Studenten skall kunna demonstrera kunskap om:
olika grunder för attacker på applikationsnivå, såsom trojanska hästar, maskar, buffer overrun attacker, webapplikationsattacker, och covert channels.
och
språkbaserade metoder för att skydda mot sådana attacker, såsom statisk analys, reference monitoring, programtransformation och stackinspektion.
Dessutom skall studenten öka sin förmåga att skriva tekniskt material.
Innehåll
Denna kurs kombinerar praktik med nytt forskningsmaterial, vilket innebär emfas på användning av formella och semantiska modeller för att specificera och säkerställa säkerhetsegenskaper.Kursen har ett genomgående dualt synsätt vad gäller attacker och skydd mot desamma. Denna dualitet genomsyrar föreläsningarna, laborationerna, uppgifterna och projekten.
Organisation
Kursen består av föreläsningar, gruppmöten och projektpresentationer.
Litteratur
Se separat lista.