Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för datavetenskap

Revision: 2
Dnr: BTH-4.1.14-0311-2022


Kursplan

Programvarusäkerhet

Software Security

7,5 högskolepoäng (7.5 credits)

Kurskod: DV2620
Huvudområde: Datavetenskap, Programvaruteknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Avancerad nivå
Fördjupning: A1N - Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Engelska
Gäller från: 2022-03-01
Fastställd: 2022-03-01

1. Beslut

Denna kurs är inrättad av dekan 2021-12-03. Kursplanen är fastställd av prefekten vid institutionen för datavetenskap 2022-03-01 och gäller från 2022-03-01.

2. Förkunskapskrav

För tillträde till kursen krävs 90 hp varav 40 hp inom det tekniska området varav en avklarad kurs på minst 6 hp inom programmering i C, C++ eller minst 120 hp varav minst 90 hp inom det tekniska området och minst 2 års yrkeserfarenhet inom område som är relaterat till mjukvaruintensiv produkt och/eller tjänsteutveckling (visas exempelvis genom intyg från arbetsgivare).

3. Syfte och innehåll

3.1 Syfte

Kursens huvudsakliga syfte är att förstå samt hantera olika programvarusäkerhetsproblem i en säker och kontrollerad miljö. Riskabla programmeringsmönster som kan utnyttjas för illasinnade syften kan orsaka betydande ekonomiska förluster och anseende skador för organisationer som använder eller utvecklar sårbara produkter. De kunskaper och färdigheter som förmedlas under kursens gång avser att begränsa ovan nämnda risker och är därför viktiga för företag och organisationer där professionell programvara utvecklas.

3.2 Innehåll

Studenten kommer att lära sig förstå motståndarens arbetssätt och identifiera riskabla programmeringsmönster som skall undvikas. Under kursen kommer studenten att bli bekant med olika säkerhetsmekanismer som finns inbyggda i operativsystem eller som tillhandahålls av specifika utvecklingsverktyg. Studenten kommer även lära sig att använda verktyg för både kod och binärer i syfte att förstå exploateringstekniker samt skydda programvara. Kursen omfattar följande moment:

  • Bakgrund till programvarusäkerhet och orsaker till sårbarheter i programvara
  • •Snabb introduktion till assembler programmering för mikroprocessorer av typen x86-32/64 bitar
  • Hantering av sårbarheter i minneshantering samt i systemanrop och anrop till biblioteksfunktioner
  • Metoder och åtgärder för att motverka osäker hantering av indata
  • Verktyg för analys av källkod och binärer
  • Introduktion till hotmodellering

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

Efter genomförd kurs ska studenten kunna:

  • förklara hur exploateringstekniker för sårbarheter i programvara fungerar.
  • förklara hur skydd mot specifika exploateringstekniker i programvara fungerar.
  • redogöra för tekniker och implementationsval som leder till säker hantering av indata.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten kunna:

  • tillämpa de verktyg för analys av källkod och binärer som presenterats under kursens gång.

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

Efter genomförd kurs ska studenten kunna:

  • värdera begränsningar för valda åtgärder och skyddsmekanismer i förhållande till en specifik sårbarhet eller säkerhetsbrist.

5. Läraktiviteter

Undervisningen sker i form av föreläsningar, inspelat videomaterial, samt egna studier av grundläggande litteratur, forskningslitteratur och annat skrivet material. Under kursens gång kommer kommunikation, feedback och diskussioner med lärare och andra deltagare ske via e-post, kursens lärplattform och via fysiska eller online möten.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
2210 Inlämningsuppgifter 1 2,5 hp GU
2220 Inlämningsuppgifter 2 3,5 hp GU
2230 Inlämningsuppgifter 3 1,5 hp GU

Kursen bedöms med betygen G Godkänd, UX Underkänd, något mer arbete krävs, U Underkänd.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

Material såsom forskningsartiklar och annat kursmaterial tillhandahålls på kursens lärplattform och via BTHs biblioteksresurser, samt rekommendationer för vidare läsning.

10. Övrigt

Denna kurs ersätter kursen DV2546