Kursplan

Dag 1

  • IT-sikkerhet og sikker koding
    • Begrepet sikkerhet
    • Termer relatert til IT-sikkerhet
    • Definisjon av risiko
    • Ulike aspekter av IT-sikkerhet
    • Krav fra ulike applikasjonsområder
    • IT-sikkerhet vs. sikker koding
    • Fra sårbarheter til botnett og kyberkriminalitet
      • Naturen av sikkerhetsfeil
      • Årsaker til vanskeligheter
      • Fra infisert datamaskin til målrettede angrep
    • Klassifisering av sikkerhetsfeil
      • Landwehrs taksonomi
      • De syv onde riker
      • OWASP Topp Ti 2013
      • OWASP Topp Ti sammenligning 2003 – 2013
  • Introduksjon til Microsoft® Sikkerhetsutviklingslivssyklus (SDL)
    • Agenda
    • Applikasjoner under angrep...
      • Utvikling av kyberkriminalitet
      • Angrep er fokusert på applikasjoner
      • De fleste sårbarhetene er i mindre ISV-applikasjoner
    • Opphavet til Microsoft SDL...
      • Sikkerhetstidlinje hos Microsoft...
      • Hvilke applikasjoner må følge SDL?
    • Microsoft Sikkerhetsutviklingslivssyklus (SDL)
      • Microsoft Sikkerhetsutviklingslivssyklus (SDL)
      • Forkrav til SDL: Sikkerhetsopplæring
      • Fase En: Krav
      • Fase To: Design
      • Fase Tre: Implementering
      • Fase Fire: Verifisering
      • Fase Fem: Utgivelse – Responsplan
      • Fase Fem: Utgivelse – Endelig sikkerhetsvurdering
      • Fase Fem: Utgivelse – Arkivering
      • Etterkrav til SDL: Respons
      • Prosessveiledning for SDL for LOB-applikasjoner
      • SDL-veiledning for Agile-metodologier
      • Sikker programvareutvikling krever prosessforbedring
  • Sikre designtprinsipper
    • Angrepsflate
      • Reduksjon av angrepsflate
      • Angrepsflate – et eksempel
      • Analyse av angrepsflate
      • Reduksjon av angrepsflate – eksempler
    • Personvern
      • Personvern
      • Forstå applikasjonsatferd og bekymringer
    • Dybdeforsvar
      • SDL-kjernprinsipp: Dybdeforsvar
      • Dybdeforsvar – et eksempel
    • Prinsippet om minst mulig tilgang
      • Minst mulig tilgang – et eksempel
    • Sikre standardinnstillinger
      • Sikre standardinnstillinger – eksempler
  • Sikre implementeringsprinsipper
    • Agenda
    • Microsoft Sikkerhetsutviklingslivssyklus (SDL)
    • Grunnleggende bufferoverløp
      • Intel 80x86-prosessorer – hovedregistre
      • Hukommelsesadresselayout
      • Funksjonskallmekanisme i C/C++ på x86
      • Lokale variabler og stakkramme
      • Stakkoverløp
        • Bufferoverløp på stakken
        • Øvelser – introduksjon
        • Øvelse BOFIntro
        • Øvelse BOFIntro – bestem stakklayout
        • Øvelse BOFIntro – et enkelt utnyttbart eksempel
    • Inndatavalidering
      • Konsepter for inndatavalidering
      • Heltalproblem
        • Representasjon av negative heltall
        • Heltaloverløp
        • Aritmetisk overløp – gjett utdata!
        • Øvelse IntOverflow
        • Hva er verdien av Math.Abs(int.MinValue)?
      • Mindre heltalproblem
        • Redusere heltalproblem
        • Unngå aritmetisk overløp – addisjon
        • Unngå aritmetisk overløp – multiplikasjon
        • Detektere overløp med checked-nøkkelord i C#
        • Øvelse – Bruk checked-nøkkelord i C#
        • Unntak utløst av overløp i C#
      • Tilfelle: Heltaloverløp i .NET
        • En reell heltaloverløpssårbarhet
        • Utnytting av heltaloverløpssårbarheten
      • Sti-navigasjons-sårbarhet
        • Mottiltak mot sti-navigering

Dag 2

  • Sikre implementeringsprinsipper
    • Injeksjon
      • Vanlige SQL injeksjonsangrep
      • Blind og tidbasert SQL injeksjon
      • SQL injeksjonsbeskyttelse
      • Kommandoinjeksjon
    • Feil autentisering – passordhåndtering
      • Øvelse – Svakheter ved hash-passord
      • Passordhåndtering og lagring
      • Spesialiserte hash-algoritmer for passordlagring
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • CSS injeksjon
      • Utnyttelse: injeksjon gjennom andre HTML-tagger
      • Forebygging av XSS
    • Manglende funksjonsnivå tilgangskontroll
      • Filtrering av filopplasting
    • Praktisk kryptografi
      • Opprettholde konfidensialitet med symmetrisk kryptografi
      • Symmetriske krypteringsalgoritmer
      • Blokk-sifre – driftstilstand
      • Hash eller meldingsdigest
      • Hash-algoritmer
      • Meldingsautentiseringskode (MAC)
      • Opprettholde integritet og autentisitet med en symmetrisk nøkkel
      • Opprettholde konfidensialitet med offentlig-nøkkel kryptering
      • Tommelregel – eie av privat nøkkel
      • Vanlige feil i passordhåndtering
      • Øvelse – Hardkodet passord
      • Konklusjon
  • Sikre verifikasjonsprinsipper
    • Funksjonell testing vs. sikkerhetstesting
    • Sikkerhetsmangler
    • Prioritering
    • Sikkerhetstesting i SDLC
    • Treningsplanlegging (risikoanalyse)
      • Interessenter
      • Verdier
      • Angrepsflate
      • Sikkerhetsmål for testing
    • Trusselmodellering
      • Trusselmodellering
      • Angrepsprofil
      • Trusselmodellering basert på angrepstrær
      • Trusselmodellering basert på misbruk/mishandling
      • Misbruk/mishandling – et enkelt eksempel på nettbutikk
      • STRIDE per element tilnærming til trusselmodellering – MS SDL
      • Identifisere sikkerhetsmål
      • Diagrammer – eksempler på DFD-elementer
      • Dataflytdiagram – eksempel
      • Trusselenumering – MS SDL’s STRIDE og DFD-elementer
      • Risikoanalyse – klassifisering av trusler
      • DREAD trussel/riskeringssystem
    • Sikkerhetstestingsteknikker og verktøy
      • Generelle testtilnærminger
      • Teknikker for ulike trinn i SDLC
    • Kodegjennomgang
      • Kodegjennomgang for programvare sikkerhet
      • Skjult analyse
      • Heuristikk
    • Statisk kodeanalyse
      • Statisk kodeanalyse
      • Statisk kodeanalyse
      • Øvelse – Bruk statisk kodeanalyseverktøy
    • Testing av implementering
      • Manuell kjøretidsverifisering
      • Manuell vs. automatisk sikkerhetstesting
      • Inntrengingstesting
      • Stress-testing
    • Fuzzing
      • Automatisk sikkerhetstesting - fuzzing
      • Utfordringer med fuzzing
    • Webvulnerabilitetsskannere
      • Øvelse – Bruk en vulnerabilitetsskanner
    • Sjekking og herding av miljø
      • Common Vulnerability Scoring System – CVSS
      • Vulnerabilitetsskannere
      • Offentlige databaser
    • Tilfelle: Omgang med Forms Authentication Bypass
      • NULL-byteterminasjons-sårbarhet
      • Forms Authentication Bypass-sårbarheten i koden
      • Utnytting av Forms Authentication Bypass
  • Kildeskjema
    • Kilder for sikker koding – et startsett
    • Sårbarhetsdatabaser
    • .NET sikker kodingsveiledning på MSDN
    • .NET sikker kodingsveiledning
    • Anbefalte bøker – .NET og ASP.NET
 14 timer

Antall deltakere


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories