Kursplan

Dag 1

  • IT-säkerhet och säkert kodning
    • Säkerhetsnatur
    • Termer relaterade till IT-säkerhet
    • Riskdefinition
    • Olika aspekter av IT-säkerhet
    • Krav från olika tillämpningsområden
    • IT-säkerhet vs. säkert kodning
    • Från sårbarheter till botnät och cyberbrottslighet
      • Säkerhetsbrister
      • Svårighetsgrad
      • Från en infekterad dator till målinriktade attacker
    • Klassificering av säkerhetsbrister
      • Landwehrs taxonomi
      • De sju ondska kungarikena
      • OWASP Topp tio 2013
      • OWASP Topp tio jämförelse 2003 – 2013
  • Introduktion till Microsoft® Security Development Lifecycle (SDL)
    • Agenda
    • Applikationer under attack...
      • Cyberbrottslighetsutveckling
      • Attacker riktar sig mot applikationer
      • De flesta sårbarheterna finns i mindre ISV-applikationer
    • Ursprunget till Microsoft SDL...
      • Säkerhetstidlinje på Microsoft...
      • Vilka applikationer måste följa SDL?
    • Microsoft Security Development Lifecycle (SDL)
      • Microsoft Security Development Lifecycle (SDL)
      • Före-SDL-krav: säkerhetsträning
      • Fas ett: krav
      • Fas två: design
      • Fas tre: implementering
      • Fas fyra: verifiering
      • Fas fem: utgivning – svarsplan
      • Fas fem: utgivning – slutlig säkerhetsgranskning
      • Fas fem: utgivning – arkivering
      • Efter-SDL-krav: svar
      • SDL-processvägledning för LOB-applikationer
      • SDL-vägledning för Agile metodologier
      • Säker programutveckling kräver processförbättring
  • Principen för säker design
    • Attackyta
      • Minskning av attackytan
      • Attackyta – ett exempel
      • Analys av attackytan
      • Exempel på minskning av attackytan
    • Integritet
      • Integritet
      • Förståelse för applikationsbeteenden och bekymmer
    • Försvars i djupet
      • SDL kärnprincip: försvars i djupet
      • Exempel på försvars i djupet
    • Principen om minst behörighet
      • Exempel på minst behörighet
    • Säkra standardinställningar
      • Exempel på säkra standardinställningar
  • Principen för säker implementering
    • Agenda
    • Microsoft Security Development Lifecycle (SDL)
    • Grunderna i bufferöverskridning
      • Intel 80x86-processorer – huvudregister
      • Minneadresslayout
      • Anropningsmekanism för funktioner i C/C++ på x86
      • Lokala variabler och stackram
      • Stacköverskridning
        • Bufferöverskridning på stacken
        • Övningar – introduktion
        • Övning BOFIntro
        • Övning BOFIntro – bestäm stacklayout
        • Övning BOFIntro – ett enkelt utnyttjande
    • Inmatningsvalidering
      • Koncept för inmatningsvalidering
      • Heltalsproblem
        • Representation av negativa heltal
        • Heltalsöverskridning
        • Aritmetisk överskridning – gissa utdata!
        • Övning IntOverflow
        • Vad är värdet av Math.Abs(int.MinValue)?
      • Minskning av heltalproblem
        • Minskning av heltalproblem
        • Undvikande av aritmetisk överskridning – addition
        • Undvikande av aritmetisk överskridning – multiplikation
        • Upptäckande av överskridning med checked-kortet i C#
        • Övning – Användning av checked-kortet i C#
        • Undantag utlöst av överskridningar i C#
      • Fallet – Heltalsöverskridning i .NET
        • En verklig heltalöverskridningssårbarhet
        • Utnyttjande av heltalöverskridningssårbarheten
      • Sårbarhet för stigsgenomträngning
        • Minskning av stigsgenomträngning

Dag 2

  • Principen för säker implementering
    • Injektion
      • Typiska SQL Injektionsattackmetoder
      • Blind och tidsbaserad SQL injektion
      • SQL Injektionsskyddsmetoder
      • Kommandoinjektion
    • Felaktig autentisering - lösenordshantering
      • Övning – svagheten i hashade lösenord
      • Lösenordshantering och lagring
      • Specialiserade hash-algoritmer för lösenordslagring
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • CSS injektion
      • Utnyttjande: injektion via andra HTML taggar
      • Förhindrande av XSS
    • Saknad funktion på nivån av åtkomstkontroll
      • Filtering av filuppladdningar
    • Praktisk kryptografi
      • Säkerställande av sekretess med symmetrisk kryptografi
      • Symmetriska krypteringsalgoritmer
      • Blockchiffer – driftslägen
      • Hash eller meddelandessumma
      • Hash-algoritmer
      • Meddelandeautentiseringskod (MAC)
      • Säkerställande av integritet och autenticitet med en symmetrisk nyckel
      • Säkerställande av sekretess med offentlig nyckelkryptografi
      • Regel: ägande av privat nyckel
      • Vanliga fel i lösenordshantering
      • Övning – Hårdkodade lösenord
      • Slutsats
  • Principen för säker verifiering
    • Funktionell testning vs. säkerhetstestning
    • Säkerhetsbrister
    • Prioritering
    • Säkerhetstestning i SDLC
    • Steg i testplanering (riskanalys)
    • Omfång och informationsinsamling
      • Intressenter
      • Tillgångar
      • Attackytan
      • Säkerhetsmål för testning
    • Hotmodellering
      • Hotmodellering
      • Attackerprofil
      • Hotmodellering baserat på angreppsträd
      • Hotmodellering baserat på missbruk/felaktig användning
      • Missbruk/felaktig användning – ett enkelt webbshoppexempel
      • STRIDE-elementapproach till hotmodellering – MS SDL
      • Identifiering av säkerhetsmål
      • Diagrammet – exempel på DFD-element
      • Dataflödesdiagram – exempel
      • Uppräkning av hot – MS SDL:s STRIDE och DFD-element
      • Riskanalys – klassificering av hot
      • DREAD-modellen för hot/riskrankning
    • Säkerhetstekniker och verktyg
      • Allmänna testmetoder
      • Tekniker för olika steg i SDLC
    • Kodgranskning
      • Kodgranskning för programvara
      • Spårningsanalys
      • Heuristisk
    • Statisk kodanalys
      • Statisk kodanalys
      • Statisk kodanalys
      • Övning – Användning av statiska kodanalysverktyg
    • Testning av implementeringen
      • Manuell körverifiering
      • Manuell vs. automatiserad säkerhetstestning
      • Inträngningstestning
      • Strestester
    • Fuzzing
      • Automatiserad säkerhetstestning - fuzzing
      • Utmaningar med fuzzing
    • Webbsårbarhetsskannrar
      • Övning – Användning av en sårbarhetsskannare
    • Granskning och hårdning av miljön
      • Common Vulnerability Scoring System – CVSS
      • Sårbarhetsskannrar
      • Offentliga databaser
    • Fallstudie – Forms Authentication Bypass
      • NULL byte-termineringssårbarhet
      • Forms Authentication Bypass-sårbarheten i koden
      • Utnyttjande av Forms Authentication Bypass
  • Källor för kunskap
    • Källor för säkert kodning – ett startkit
    • Databaser för sårbarheter
    • .NET säkert kodningsriktlinjer på MSDN
    • .NET säkert kodningscheat sheet
    • Rekommenderade böcker – .NET och ASP.NET
 14 timmar

Antal deltagare


Price per participant

Vittnesmål (5)

Upcoming Courses

Relaterade Kategorier