Software Security, 6 hp

Software Security, 6 credits

TDDC90

Huvudområde

Informationsteknologi Datateknik Datavetenskap

Utbildningsnivå

Avancerad nivå

Kurstyp

Programkurs

Examinator

Ulf Kargén

Studierektor eller motsvarande

Patrick Lambrix

Undervisningstid

Preliminär schemalagd tid: 42 h
Rekommenderad självstudietid: 118 h

Tillgänglig för utbytesstudenter

Ja
VOF = Valbar / Obligatorisk / Frivillig
Kursen ges för Termin Period Block Språk Ort/Campus VOF
6CDDD Civilingenjör i datateknik 7 (HT 2024) 2 1 Engelska Linköping, Valla V
6CDDD Civilingenjör i datateknik 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CDDD Civilingenjör i datateknik (Datorsystem) 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CDDD Civilingenjör i datateknik (International Software Engineering) 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CDDD Civilingenjör i datateknik (Säkra system) 9 (HT 2024) 2 1 Engelska Linköping, Valla O
6CIII Civilingenjör i industriell ekonomi 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, franska 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, japanska 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, kinesiska 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, spanska 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CIEI Civilingenjör i industriell ekonomi - internationell, tyska 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CITE Civilingenjör i informationsteknologi 7 (HT 2024) 2 1 Engelska Linköping, Valla V
6CITE Civilingenjör i informationsteknologi (Datorsystem) 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CITE Civilingenjör i informationsteknologi (International Software Engineering) 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CITE Civilingenjör i informationsteknologi (Säkra system) 9 (HT 2024) 2 1 Engelska Linköping, Valla O
6CMJU Civilingenjör i mjukvaruteknik 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CMJU Civilingenjör i mjukvaruteknik (International Software Engineering) 9 (HT 2024) 2 1 Engelska Linköping, Valla V
6CMJU Civilingenjör i mjukvaruteknik (Säkra system) 7 (HT 2024) 2 1 Engelska Linköping, Valla O
6CMJU Civilingenjör i mjukvaruteknik (Säkra system) 9 (HT 2024) 2 1 Engelska Linköping, Valla O
6MICS Computer Science, masterprogram 3 (HT 2024) 2 1 Engelska Linköping, Valla V
6MICS Computer Science, masterprogram (Datornätverk, distribuerade system och säkerhet) 3 (HT 2024) 2 1 Engelska Linköping, Valla V
6MICS Computer Science, masterprogram (Programmering och mjukvarumetoder) 3 (HT 2024) 2 1 Engelska Linköping, Valla V
6MCYS Cybersecurity, masterprogram 3 (HT 2024) 2 1 Engelska Linköping, Valla O

Huvudområde

Informationsteknologi, Datateknik, Datavetenskap

Utbildningsnivå

Avancerad nivå

Fördjupningsnivå

A1X

Kursen ges för

  • Civilingenjörsprogram i datateknik
  • Civilingenjörsprogram i industriell ekonomi
  • Civilingenjörsprogram i informationsteknologi
  • Civilingenjörsprogram i mjukvaruteknik
  • Civilingenjörsprogram i industriell ekonomi - internationell
  • Masterprogram i datavetenskap
  • Masterprogram i cybersäkerhet

Rekommenderade förkunskaper

Grundkurs i datasäkerhet. Studenterna förväntas ha kunskaper om operativsystem, programspråk, och ingenjörsmässig programutveckling. Studenter bör kunna utveckla, testa och felsöka program i Unix eller Linux. Erfarenhet av programmering i C samt grundläggande kunskaper i utveckling av webapplikationer rekommenderas.

Lärandemål

Deltagare i den här kursen kommer att studera frågor som rör programvarusäkerhet, och utveckla färdigheterna som behövs för att bygga säker programvara. Kursen täcker metoder, verktyg och ”best practices” för utveckling av säker programvara. Efter kursen förväntas studenterna kunna:

  • identifiera och analysera säkerhetsproblem i programvara;
  • formulera säkerhetskrav för programvara;
  • utveckla, utvärdera, och förklara lösningar för säker programvara;
  • kritiskt utvärdera effektiviteten hos metoder, verktyg och ”best practices” för detektering och förebyggande av säkerhetsproblem; och
  • designa och utveckla säker programvara.

Kursinnehåll

Kursen täcker:

  • detektering och analys av sårbarheter, och stödverktyg;
  • analys av välkända sårbarheter och hur de kan utnyttjas;
  • attack- och sårbarhetsmodellering;
  • analys av säkerhetskrav och design för säkerhet;
  • principer för säker programmering;
  • statiska och dynamiska metoder för att hindra intrång;
  • säkerhetstestning och utvärdering; och
  • systematiska metoder för utveckling av säker programvara.
Sårbarheter, attacker, och principer för säker programmering studeras med fokus på program skrivna i C/C++ samt webapplikationer.

Undervisnings- och arbetsformer

Kursen består av föreläsningar och laborationer.

Examination

UPG1Laborationer och inlämningsuppgifter3 hpU, G
TEN1Skriftlig tentamen3 hpU, 3, 4, 5

Betygsskala

Fyrgradig skala, LiU, U, 3, 4, 5

Övrig information

Om undervisnings- och examinationsspråk

Undervisningsspråk visas på respektive kurstillfälle på fliken "Översikt". Examinationsspråk relaterar till undervisningsspråk enligt nedan:

  • Om undervisningsspråk är ”Svenska” kan kursen ges i sin helhet på svenska eller delvis på engelska. Examinationsspråk är svenska, men delar av examinationen kan ske på engelska.
  • Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. Examinationsspråk är engelska.
  • Om undervisningsspråk är ”Svenska/Engelska” ges kursen i sin helhet på engelska om studenter utan tidigare kunskap i svenska språket deltar. Examinationsspråk följer undervisningsspråk.

Övrigt

Kursen bedrivs på ett sådant sätt att likvärdiga villkor råder med avseende på kön, könsöverskridande identitet eller uttryck, etnisk tillhörighet, religion eller annan trosuppfattning, funktionsnedsättning, sexuell läggning och ålder.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt. 

Kursen är campusförlagd på den ort som anges för kurstillfället om inget annat anges under ”Undervisnings – och arbetsformer”. I en campusförlagd kurs kan dock enstaka moment på distans ingå.

Institution

Institutionen för datavetenskap

Kurslitteratur

Övrigt

  • Artikelsamling (se kurshemsidan).

Kod Benämning Omfattning Betygsskala
UPG1 Laborationer och inlämningsuppgifter 3 hp U, G
TEN1 Skriftlig tentamen 3 hp U, 3, 4, 5

Plagiering

Vid examination som innebär rapportskrivande och där studenten kan antas ha tillgång till andras källor (exempelvis vid självständiga arbeten, uppsatser etc) måste inlämnat material utformas i enlighet med god sed för källhänvisning (referenser eller citat med angivande av källa) vad gäller användning av andras text, bilder, idéer, data etc. Det ska även framgå ifall författaren återbrukat egen text, bilder, idéer, data etc från tidigare genomförd examination, exempelvis från kandidatarbete, projektrapporter etc. (ibland kallat självplagiering).

Underlåtelse att ange sådana källor kan betraktas som försök till vilseledande vid examination.

Försök till vilseledande

Vid grundad misstanke om att en student försökt vilseleda vid examination eller när en studieprestation ska bedömas ska enligt Högskoleförordningens 10 kapitel examinator anmäla det vidare till universitetets disciplinnämnd. Möjliga konsekvenser för den studerande är en avstängning från studierna eller en varning. För mer information se Fusk och plagiat.

Linköpings universitet har även tagit fram en vägledning för lärares och studenters användning av generativ AI i utbildningen (Dnr LiU-2023-02660). Som student förväntas du alltid ta reda på vad som gäller för respektive kurs (inklusive examensarbetet). Generellt gäller tydlighet för var och hur generativ AI har använts.

Regler

Universitetet är en statlig myndighet vars verksamhet regleras av lagar och förordningar, exempelvis Högskolelagen och Högskoleförordningen. Förutom lagar och förordningar styrs verksamheten av ett antal styrdokument. I Linköpings universitets egna regelverk samlas gällande beslut av regelkaraktär som fattats av universitetsstyrelse, rektor samt fakultets- och områdesstyrelser. 

LiU:s regelsamling angående utbildning på grund- och avancerad nivå nås på https://styrdokument.liu.se/Regelsamling/Innehall

Övrigt

Artikelsamling (se kurshemsidan).

I = Introducera, U = Undervisa, A = Använda
I U A Moduler Kommentar
1. ÄMNESKUNSKAPER
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen

                            
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen
X
Programutveckling och felsökning
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen
X
X
X
TEN1
UPG1

                            
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen
X
TEN1
UPG1

                            
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete
X
Nya metoder för automatisk säkerhetstestning
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT
2.1 Analytiskt tänkande och problemlösning
X
X
TEN1
UPG1

                            
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning
X
UPG1

                            
2.3 Systemtänkande
X
X
TEN1
UPG1

                            
2.4 Förhållningssätt, tänkande och lärande
X

                            
2.5 Etik, likabehandling och ansvarstagande

                            
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA
3.1 Arbete i grupp
X
UPG1

                            
3.2 Kommunikation
X
UPG1

                            
3.3 Kommunikation på främmande språk
X
UPG1
Engelska
4. PLANERING, UTVECKLING, REALISERING OCH DRIFT AV TEKNISKA PRODUKTER OCH SYSTEM MED HÄNSYN TILL AFFÄRSMÄSSIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
4.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling
X
Påverkan på samhället av cybersäkerhetshot
4.2 Företags- och affärsmässiga villkor

                            
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system
X
TEN1
UPG1

                            
4.4 Att konstruera produkter och system
X
X
TEN1
UPG1

                            
4.5 Att realisera produkter och system
X
X
TEN1
UPG1

                            
4.6 Att ta i drift och använda produkter och system

                            
5. PLANERING, GENOMFÖRANDE OCH PRESENTATION AV FORSKNINGS- ELLER UTVECKLINGSPROJEKT MED HÄNSYN TILL VETENSKAPLIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
5.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling för kunskapsutveckling

                            
5.2 Ekonomiska villkor för kunskapsutveckling

                            
5.3 Att identifiera behov samt strukturera och planera forsknings- eller utvecklingsprojekt

                            
5.4 Att genomföra forsknings- eller utvecklingsprojekt

                            
5.5 Att redovisa och utvärdera forsknings- eller utvecklingsprojekt

                            

Denna flik innehåller det material som är publikt i Lisam. Den information som publiceras här är inte juridiskt bindande, sådant material hittar du under övriga flikar på denna sida.

Det finns inga filer att visa.