Kursen fokuserar på rekonstruktion (reverse engineering) av program. Den introducerar fundamentala koncept inom statisk programanalys (basala block, funktionsanropsgrafer, inter-procedurell analys, etc.) och dynamisk programanalys (dynamisk instrumentering, exekveringsmiljö, etc.). Kursen diskuterar även mekanismer som skapar utmaningar för programanalys, t.ex. att avsiktligt krångla till koden. Den andra delen beskriver flera tillämpningar av rekonstruktion som exempelvis analys av skadliga program, analys av programfixar för att identifiera sårbarheter samt analys av inbyggda program (firmware) i inbyggda system.
Förväntade studieresultat
Kunskap och förståelse Efter avslutad kurs ska studenten kunna:
(FSR 1) förstå koncept och terminologi relaterad till statisk och dynamisk programanalys
(FSR 2) förstå stegen som krävs för att dekompilera program
(FSR 3) förstå mekanismer som försvårar dekompilering
Färdighet och förmåga Efter avslutad kurs ska studenten kunna:
(FSR 4) dekompilera ett skadligt program för att rekonstruera dess struktur och beteende
(FSR 5) identifiera en sårbarhet genom att analysera en programfix (patch)
(FSR 6) dekompilera ett inbyggt program (firmware) för att förstå dess struktur
Värderingsförmåga och förhållningssätt Efter avslutad kurs ska studenten kunna:
(FSR 7) ha ett kritiskt sinne vid analys av okända program, förstå vilka delar av programmet analysen bör fokuseras på, identifiera potentiella utmaningar samt ta fram konkreta steg för att framgångsrikt rekonstruera ett program
Behörighetskrav
Minst 90 hp varav 60 hp datavetenskap. Minst 7,5 hp grundläggande programmering; 7,5 hp datastrukturer och algoritmer; 7,5 hp diskret matematik; 7,5 hp systemprogrammering.
Undervisningens upplägg
Undervisningen består av föreläsningar och datorbaserade övningar. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examination
Betygsskalan är Underkänd (U), Godkänd (G), Väl godkänd (VG). Examinationen består av skriftliga inlämningsuppgifter, muntliga presentationer och en skriftlig salstentamen.
Anpassad examination Examinator kan besluta om avsteg från kursplanens examinationsform. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Student som har behov av en anpassad examination ska senast 10 dagar innan examinationen begära anpassning hos Institutionen för datavetenskap. Examinator beslutar om anpassad examination som sedan meddelas studenten.
Övriga föreskrifter
Om kursplanen har upphört att gälla eller kursen slutat erbjudas garanteras en student som någon gång registrerats på kursen minst tre provtillfällen (inklusive ordinarie provtillfälle) enligt denna kursplan under en tid av maximalt två år från det att kursplanen upphört att gälla eller kursen slutat erbjudas.
Litteratur
Giltig från:
2024 vecka 1
Artiklar och material som tillhandahålls av institutionen eller finns tillgängligt online.