Visa kunskap om hur exploateringstekniker för sårbarheter i programvara fungerar
Visa kunskap om hur skydd mot specifika exploateringstekniker i programvara fungerar
Beskriva tekniker och implementationsval som leder till säker hantering av indata
2. Färdighet och förmåga
Tillämpa grundläggande tekniker som exploaterar sårbarheter i programvara
Konfigurera och använda skydd mot exploateringstekniker för programvara
Hantera de verktyg för analys av källkod och binärer som presenterats under kursens gång
Kursinnehåll
I kursen ges studenten möjligheten 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.
Bakgrund till programvarusäkerhet och orsaker till sårbarheter i programvara
Kort introduktion till assemblerprogrammering 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 för programvara
Förutsättningar
För tillträde till kursen krävs 30 hp inom datavetenskap, programvaruteknik eller motsvarande och omfattar grundläggande programmering, 5 hp, objektorienterad programmering, 5 hp, algoritmer och datastrukturer, 5 hp, samt datakommunikation eller datornätverk, 5 hp. Engelska 6.