Kursplan

Dag 1

  • IT-säkerhet och säker kodning
    • Säkerhetens natur
    • IT-säkerhetsrelaterade termer
    • Definition av risk
    • Olika aspekter av IT-säkerhet
    • Krav på olika applikationsområden
    • IT-säkerhet kontra säker kodning
    • Från sårbarheter till botnät och cyberbrottslighet
      • Typ av säkerhetsbrister
      • Orsaker till svårigheter
      • Från en infekterad dator till riktade attacker
    • Klassificering av säkerhetsbrister
      • Landwehrs taxonomi
      • De sju skadliga kungadömena
      • OWASP Topp tio 2013
      • OWASP Topp tio jämförelse 2003 – 2013
  • Introduktion till Microsoft® Security Development Lifecycle (SDL)
    • Dagordning
    • Applikationer under attack...
      • Evolution av cyberbrott
      • Attacker fokuserar på applikationer
      • De flesta sårbarheter finns i mindre ISV-appar
    • Ursprunget till Microsoft SDL...
      • Säkerhetstidslinje vid Microsoft...
      • Vilka appar krävs för att följa SDL?
    • Microsoft Säkerhetsutvecklingslivscykel (SDL)
      • Microsoft Säkerhetsutvecklingslivscykel (SDL)
      • Pre-SDL-krav: Säkerhetsutbildning
      • Fas ett: Krav
      • Fas två: Design
      • Fas tre: Implementering
      • Fas fyra: Verifiering
      • Fas fem: Release – Responsplan
      • Fas fem: Release – Slutlig säkerhetsgranskning
      • Fas fem: Release – Arkiv
      • Krav efter SDL: Svar
      • SDL-processvägledning för LOB-appar
      • SDL-vägledning för Agile Metoder
      • Säker mjukvaruutveckling kräver processförbättring
  • Säkra designprinciper
    • Attackyta
      • Reduktion av attackytan
      • Attackyta – ett exempel
      • Analys av attackytan
      • Reduktion av attackyta – exempel
    • Integritet
      • Integritet
      • Förstå applikationsbeteenden och bekymmer
    • Försvar på djupet
      • SDL Core Principle: Försvar i djupet
      • Försvar i djupled – exempel
    • Minst privilegieprincip
      • Minsta privilegium – exempel
    • Säkra standardinställningar
      • Säkra standardinställningar – exempel
  • Säkra implementeringsprinciper
    • Dagordning
    • Microsoft Säkerhetsutvecklingslivscykel (SDL)
    • Grunderna för buffertspill
      • Intel 80x86-processorer – huvudregister
      • Minnesadresslayouten
      • Funktionsanropsmekanismen i C/C++ på x86
      • De lokala variablerna och stackramen
      • Stack overflow
        • Buffertspill på stapeln
        • Övningar – introduktion
        • Övning BOFintro
        • Övning BOFintro – bestäm stacklayouten
        • Träna BOFintro – en enkel exploatering
    • Ingångsvalidering
      • Ingångsvalideringskoncept
      • Heltalsproblem
        • Representation av negativa heltal
        • Heltals överflöde
        • Aritmetiskt spill – gissa resultatet!
        • Träna IntOverflow
        • Vad är värdet av Math.Abs(int.MinValue)?
      • Heltalsproblem
        • Heltalsproblem
        • Undvika aritmetiskt spill – addition
        • Undvika aritmetiskt spill – multiplikation
        • Upptäcker spill med det markerade sökordet i C#
        • Övning – Använd det markerade nyckelordet i C#
        • Undantag som utlöses av spill i C#
      • Fallstudie – heltalsspill i .NET
        • En verklig heltalsöversvämningssårbarhet
        • Utnyttja sårbarheten för heltalsspill
      • Sårbarhet för genomkörning av vägar
        • Åtgärdsreducering

Dag 2

  • Säkra implementeringsprinciper
    • Injektion
      • Typiska SQL Injektionsattackmetoder
      • Blind och tidsbaserad SQL injektion
      • SQL Injektionsskyddsmetoder
      • Kommando injektion
    • Trasig autentisering - lösenordshantering
      • Träning – Svaghet hos hashade lösenord
      • Lösenordshantering och lagring
      • Speciella hashalgoritmer för lösenordslagring
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • CSS injektion
      • Exploatering: injicering genom andra HTML taggar
      • XSS-förebyggande
    • Tillträdeskontroll på funktionsnivå saknas
      • Filtrera filuppladdningar
    • Praktisk kryptografi
      • Ge konfidentialitet med symmetrisk kryptografi
      • Symmetriska krypteringsalgoritmer
      • Blockchiffer – driftsätt
      • Hash eller meddelandesammanfattning
      • Hash-algoritmer
      • Message Authentication Code (MAC)
      • Ger integritet och autenticitet med en symmetrisk nyckel
      • Ge konfidentialitet med kryptering med publik nyckel
      • Tumregel – innehav av privat nyckel
      • Typiska misstag i lösenordshantering
      • Träning – Hårdkodade lösenord
      • Slutsats
  • Säkra verifieringsprinciper
    • Funktionstestning kontra säkerhetstestning
    • Säkerhetssårbarheter
    • Prioritering
    • Säkerhetstestning i SDLC
    • Steg för testplanering (riskanalys)
    • Omfattning och informationsinsamling
      • Intressenter
      • Tillgångar
      • Angreppsytan
      • Säkerhetsmål för testning
    • Hotmodellering
      • Hotmodellering
      • Angriparprofiler
      • Hotmodellering baserad på attackträd
      • Hotmodellering baserad på fall av missbruk/missbruk
      • Missbruk/missbruksfall – ett enkelt webbshopexempel
      • STRIDE per element tillvägagångssätt för hotmodellering – MS SDL
      • Identifiera säkerhetsmål
      • Diagrammering – exempel på DFD-element
      • Dataflödesdiagram – exempel
      • Hotuppräkning – MS SDL:s STRIDE- och DFD-element
      • Riskanalys – klassificering av hot
      • DREAD hot/risk rankningsmodell
    • Säkerhetstesttekniker och verktyg
      • Allmänna testmetoder
      • Tekniker för olika steg i SDLC
    • Kodgranskning
      • Kodgranskning för mjukvarusäkerhet
      • Taint analys
      • Heuristik
    • Statisk kodanalys
      • Statisk kodanalys
      • Statisk kodanalys
      • Övning – Använda verktyg för statisk kodanalys
    • Testar implementeringen
      • Manuell körtidsverifiering
      • Manuell kontra automatiserad säkerhetstestning
      • Penetrationsprovning
      • Stresstester
    • Luddrigt
      • Automatiserad säkerhetstestning - fuzzing
      • Fuzzing-utmaningar
    • Webb sårbarhetsskannrar
      • Träning – Använda en sårbarhetsskanner
    • Kontrollera och härda miljön
      • Common Vulnerability Scoring System – CVSS
      • Sårbarhetsskannrar
      • Offentliga databaser
    • Fallstudie – Forms Authentication Bypass
      • NULL-byte-avslutningssårbarhet
      • Sårbarheten Forms Authentication Bypass i koden
      • Utnyttja formulärautentiseringsbypass
  • Kunskapskällor
    • Säkra kodningskällor – ett startpaket
    • Sårbarhetsdatabaser
    • .NET riktlinjer för säker kodning på MSDN
    • .NET säker kodning fuskark
    • Rekommenderade böcker – .NET och ASP.NET

 14 timmar

Antal deltagare



Price per participant

Vittnesmål (10)

Relaterade Kurser

Standard Java Security

14 timmar

Java and Web Application Security

21 timmar

Advanced Java Security

21 timmar

Advanced Java, JEE and Web Application Security

28 timmar

.NET, C# and ASP.NET Security Development

14 timmar

Comprehensive C# and .NET Application Security

21 timmar

Advanced C#, ASP.NET and Web Application Security

21 timmar

Web Application Security

14 timmar

Security Testing

14 timmar

Secure Web Application Development and Testing

21 timmar

Secure coding in PHP

21 timmar

Combined C/C++, JAVA and Web Application Security

28 timmar

Combined JAVA, PHP and Web Application Security

28 timmar

Android Security

14 timmar

Relaterade Kategorier