Cursusaanbod

Dag 1

IT-veiligheid en veilig programmeren

  • Aard van de veiligheid
  • Veiligheidstermen in de IT
  • Definitie van risico
  • Verschillende aspecten van IT-veiligheid
  • Vereisten voor verschillende toepassingsgebieden
  • IT-veiligheid vs. veilig programmeren
  • Van kwetsbaarheden naar botnets en cybercrime
    • Aard van veiligheidsfouten
    • Oorzaken van moeilijkheid
    • Van een geïnfecteerde computer naar gerichte aanvallen
  • Classificatie van veiligheidsfouten
    • Landwehr’s taxonomie
    • De Zeven Kwade Koninkrijken
    • OWASP Top Ten 2013
    • Vergelijking van OWASP Top Ten 2003 – 2013

Introductie tot het Microsoft® Security Development Lifecycle (SDL)

  • Agenda
  • Toepassingen onder aanval...
    • Ontwikkeling van cybercrime
    • Aanvallen richten zich op toepassingen
    • De meeste kwetsbaarheden zitten in kleinere ISV-apps
  • Oorsprong van het Microsoft SDL...
    • Veiligheidstijdlijn bij Microsoft...
    • Welke toepassingen moeten aan de SDL voldoen?
  • Microsoft Security Development Lifecycle (SDL)
    • Microsoft Security Development Lifecycle (SDL)
    • Pre-SDL Vereisten: Veiligheidstraining
    • Fase Een: Vereisten
    • Fase Twee: Ontwerp
    • Fase Drie: Implementatie
    • Fase Vier: Verificatie
    • Fase Vijf: Uitgifte – Responsieplan
    • Fase Vijf: Uitgifte – Eindveiligheidsbeoordeling
    • Fase Vijf: Uitgifte – Archiveren
    • Post-SDL Vereiste: Responsie
    • SDL Procesadvies voor LOB-apps
    • SDL Advies voor Agile Methodologieën
    • Veilig softwareontwikkeling vereist procesverbetering

Veilige ontwerpprincipes

  • Aanvalsvlak
    • Reductie van het aanvalsvlak
    • Aanvalsvlak – een voorbeeld
    • Analyse van het aanvalsvlak
    • Reductie van het aanvalsvlak – voorbeelden
  • Privacy
    • Privacy
    • Inzicht in gedrag en zorgen van toepassingen
  • Diepe verdediging
    • Kernprincipe SDL: Diepe Verdediging
    • Diepe verdediging – voorbeeld
  • Minimale bevoegdheidsprincipe
    • Minimale bevoegdheid – voorbeeld
  • Veilige standaarden
    • Veilige standaarden – voorbeelden

Veilige implementatieprincipes

  • Agenda
  • Microsoft Security Development Lifecycle (SDL)
  • Basis van bufferoverloop
    • Intel 80x86 Processors – hoofdregisters
    • Het geheugenadreslayout
    • De functioneeringsmechanisme in C/C++ op x86
    • De lokale variabelen en de stack frame
    • Stackoverloop
      • Bufferoverloop op de stack
      • Opdrachten – inleiding
      • Opdracht BOFIntro
      • Opdracht BOFIntro – bepaal de stacklayout
      • Opdracht BOFIntro – een eenvoudige exploit
  • Invoervalidatie
    • Concepten van invoervalidatie
    • Getalproblemen
      • Voorstelling van negatieve getallen
      • Getalsoverloop
      • Rekenkundige overloop – gok het uitvoerresultaat!
      • Opdracht IntOverflow
      • Wat is de waarde van Math.Abs(int.MinValue)?
    • Getalprobleemvermindering
      • Verhindering van getalproblemen
      • Voorkomen van rekenkundige overloop – optellen
      • Voorkomen van rekenkundige overloop – vermenigvuldigen
      • Detectie van overloop met de checked keyword in C#
      • Opdracht – Gebruik van de checked keyword in C#
      • Uitzonderingen veroorzaakt door overloop in C#
    • Casusstudie – Getalsoverloop in .NET
      • Een echte getalsoverloopkwetsbaarheid
      • Exploitatie van de getalsoverloopkwetsbaarheid
    • Padtraversiekwetsbaarheid
      • Verhindering van padtraversie

Dag 2

Veilige implementatieprincipes

  • Injectie
    • Typische SQL-injectieaanvalsmethoden
    • Blind en tijdgebaseerde SQL-injectie
    • Methoden voor het beschermen tegen SQL-injectie
    • Commando-injectie
  • Gebroken authenticatie - wachtwoordbeheer
    • Opdracht – Zwakte van gehashte wachtwoorden
    • Wachtwoordbeheer en opslag
    • Specialisatiehashalgoritmen voor wachtwoordopslag
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS-injectie
    • Exploitatie: injectie via andere HTML-tags
    • XSS-voorkoming
  • Ontbrekende functioneel toegangscontrole
    • Filtering van bestandsoverdragen
  • Praktische cryptografie
    • Verborgen houden met symmetrische cryptografie
    • Symmetrische encryptiealgoritmen
    • Blokcijfers – modi van werking
    • Hash of berichtdigest
    • Hashalgoritmen
    • Message Authentication Code (MAC)
    • Verborgen houden van integriteit en authenticiteit met een symmetrische sleutel
    • Verborgen houden met publieke-sleutelversleuteling
    • Regel: Bezit van de privé-sleutel
    • Typische fouten in wachtwoordbeheer
    • Opdracht – Hardgecodeerde wachtwoorden
    • Conclusie

Veilige verificatieprincipes

  • Functioneel testen vs. veiligheidstesten
  • Veiligheidskwetsbaarheden
  • Priorisering
  • Veiligheidstesten in de SDLC
  • Stappen van testplanning (risicoanalyse)
  • Scopering en informatie-inwinning
    • Stakeholders
    • Assets
    • Het aanvalsvlak
    • Veiligheidstestdoelstellingen
  • Bedreigingsmodellering
    • Bedreigingsmodellering
    • Angstaanjagersprofielen
    • Bedreigingsmodellering op basis van aanvalsbomen
    • Bedreigingsmodellering op basis van misbruikscases/abusecases
    • Misbruikscases – een eenvoudig webwinkelvoorbeeld
    • STRIDE per element benadering voor bedreigingsmodellering – MS SDL
    • Identificatie van veiligheidsdoelstellingen
    • Diagrammen – voorbeelden van DFD-elementen
    • Dataflowdiagram – voorbeeld
    • Bedreigingsenumeratie – STRIDE en DFD-elementen in de MS SDL
    • Risicoanalyse – classificatie van bedreigingen
    • Het DREAD bedreigings/risicoscoremodel
  • Veiligheidstesttechnieken en -tools
    • Algemene testbenaderingen
    • Technieken voor verschillende stappen in de SDLC
  • Codereview
    • Codereview voor softwareveiligheid
    • Taint-analyse
    • Heuristieken
  • Statische codanalyse
    • Statische codanalyse
    • Opdracht – Gebruik van statische codanalysetools
  • Testen van de implementatie
    • Handmatige runtimeverificatie
    • Handmatig vs. automatisch veiligheidstesten
    • Penetratietesting
    • Stress-tests
  • Fuzzing
    • Automatisch veiligheidstesten – fuzzing
    • Uitdagingen van fuzzing
  • Webkwetsbaarheidsscanners
    • Opdracht – Gebruik maken van een kwetsbaarheidsscanner
  • Controleren en versterken van de omgeving
    • Common Vulnerability Scoring System – CVSS
    • Kwetsbaarheidsscanners
    • Publieke databases
  • Casusstudie – Forms Authentication Bypass
    • NULL-byte afsluiting kwetsbaarheid
    • De Forms Authentication Bypass-kwetsbaarheid in de code
    • Exploitatie van de Forms Authentication Bypass

Kennisbronnen

  • Veiligheidscodingsbronnen – een starterkit
  • Kwetsbaarheidendatabases
  • .NET-veiligheidsrichtlijnen op MSDN
  • .NET-veiligheidshandboeken
  • Aanbevolen boeken – .NET en ASP.NET
 14 Uren

Leveringsopties

PRIVÉGROEPSTRAINING

Onze identiteit draait om het leveren van precies wat onze klanten nodig hebben.

  • Pre-cursusgesprek met uw trainer
  • Aanpassing van de leerervaring om uw doelen te bereiken -
    • Op maat gemaakte overzichten
    • Praktische, praktische oefeningen met gegevens / scenario's die herkenbaar zijn voor de cursisten
  • Training gepland op een datum naar keuze
  • Gegeven online, op locatie/klaslokaal of hybride door experts die ervaring uit de echte wereld delen

Private Group Prices RRP from €4560 online delivery, based on a group of 2 delegates, €1440 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen


OPENBARE TRAINING

Kijk op onze public courses

Reviews (5)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën