"False"
Hoppa direkt till innehållet
printicon
Huvudmenyn dold.
Kursplan:

Reverse Engineering, 7,5 hp

Engelskt namn: Reverse Engineering

Denna kursplan gäller: 2024-01-01 och tillsvidare

Kurskod: 5DV240

Högskolepoäng: 7,5

Utbildningsnivå: Avancerad nivå

Huvudområden och successiv fördjupning: Datavetenskap: Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav

Betygsskala: Tregradig skala

Ansvarig institution: Institutionen för datavetenskap

Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2023-09-06

Innehåll

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.