Emne - Programvaresikkerhet og personvern - TDT4237
Programvaresikkerhet og personvern
Velg studieårOm
Om emnet
Faglig innhold
Kurset fokuserer på sikkerhet i programvare tar for seg sikkerhet i alle deler av utviklingsprosessen for programvare: kravinnhenting, design, implementasjon og testing. Vi vil i kurset ta for oss hvilke trusler og angrep programvare er utsatt for og hvordan man kan ta i bruk teknikker og forsvarsmekanismer for å utvikle programvare som i størst mulig grad er motstandsdyktig mot eksisterende, og nye, angrep. Kurset har et hovedfokus på web-baserte, mobile app, og cloud sikkerhet. Kurset har også fokus på GDPR og personvern.
Læringsutbytte
Etter å ha tatt dette kurset, bør studentene kunne:
1) Identifiser typiske sikkerhetsproblemer for web programmer som er oppført i OWASP topp 10, for eksempel SQL-injeksjon, XSS og XSRF, ved å gjennomgå kildekoden og ved penetrasjonstesting. Studentene skal også kunne løse de identifiserte sikkerhetsproblemene;
2) Forklar typiske kryptografiske konsepter og algoritmer som er relatert til webapplikasjon, inkludert f.eks. blokkering, strømkryptering, digital signatur og SSL / TSL handshaking-prosedyre;
3) Bruk trussel modellerings metodene til å skape trussel modeller av en middels stor webapplikasjon ved å bruke misbrukstilfeller og angripe trær;
4) Beskriv og sammenligne programvareteknikkpraksis og standarder knyttet til programvare sikkerhet, for eksempel programvare berøringspunkter, vanlige kriterier, BASIMM og OpenSAMM;
5) Opprett programvaresikkerhetstesttilfeller og prioritere testtilfellene ved å bruke det risikobaserte testrammene;
6) Forklar nasjonale godkjenningskonsepter og -metoder, for eksempel forskjellige autentiseringsmetoder, multilevel og multilateral sikkerhetskontroll og rollebasert tilgangskontroll;
7) Forklar, identifiser og bruk sikkerhetsmekanismer implementert i iOS og Android mobil applikasjonsplattformer;
8) Forklar typiske sikkerhetsproblemer av cloud plattformer og tjenester.
9) Forklar typiske GDPR og personvern metoder.
Læringsformer og aktiviteter
Forelesninger, øvingsforelesninger og obligatoriske øvinger. Øvingene er obligatoriske. Studentene må bestå øvingsopplegget og eksamen samme semester for å bestå i emnet totalt sett.
Obligatoriske aktiviteter
- Øvinger
Mer om vurdering
Mappevurdering gir grunnlag for sluttkarakter i emnet. I mappen inngår skriftlig eksamen som teller 30% og arbeider (øvinger) som teller 70 %. Resultatet for delene angis i %-poeng, mens sensur for hele mappen (sluttkarakteren) angis med bokstavkarakter. Oppgaveteksten til den skriftlig eksamen vil være på engelsk. Kandidatene kan velge å besvare på engelsk eller norsk.
Ved utsatt eksamen (kontinuasjonseksamen) kan skriftlig eksamen bli endret til muntlig eksamen.
Dersom studenten også etter utsatt eksamen har sluttkarakteren F/ikke-bestått, må studenten gjenta hele emnet neste studieår. Arbeider som teller med i sluttkarakteren må gjentas.
Anbefalte forkunnskaper
Det forutsettes at studentene har god kunnskap og ferdigheter i programmering, er godt kjent med generelle prinsipper for programvareutvikling og har kunnskap relatert til webutvikling (for eksempel gjennom TDT4100 Objektorientert programmering, TDT4140 Systemutviklin, IT2810 eller tilsvarende). Java og/eller Python brukes som programmeringsspråk i øvingsopplegget.
Det er en fordel, men ingen forutsetning, å ha forkunnskaper om informasjonssikkerhet - for eksempel tilsvarende emnet TTM4135 Informasjonssikkerhet ved Institutt for telematikk.
Kursmateriell
Oppgis ved semesterstart.
Studiepoengreduksjon
Emnekode | Reduksjon | Fra |
---|---|---|
IIKG3000 | 2,5 sp |
Fagområder
- Datateknikk og informasjonsvitenskap
- Kommunikasjon og informasjonsvitenskap