Kursplan fastställd 2021-02-26 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 - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 02117
- 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 (obligatoriskt valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 2 (valbar)
Examinator
- Andrei Sabelfeld
- Professor, Computing Science, Data- och informationsteknik
Behörighet
Grundläggande behörighet för avancerad nivåSökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Särskild behörighet
Engelska 6Sö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
Litteratur
Examination inklusive obligatoriska moment
För att bli godkänd på kursen krävs det att studenten färdigställer och blir godkänd på samtliga laborationer samt blir godkänd på det examinerande projektet, vilket innefattar både en presentation av projektet i klassen och en godkänd projektrapport.Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.