Cursusaanbod

Dag 1

  • IT-beveiliging en veilige codering
    • Aard van de beveiliging
    • IT-beveiligingsgerelateerde termen
    • Definitie van risico
    • Verschillende aspecten van IT-beveiliging
    • Vereisten van verschillende toepassingsgebieden
    • IT-beveiliging versus veilige codering
    • Van kwetsbaarheden tot botnets en cybercriminaliteit
      • Aard van de beveiligingsfouten
      • Redenen van moeilijkheden
      • Van een geïnfecteerde computer tot gerichte aanvallen
    • Classificatie van beveiligingsfouten
      • De taxonomie van Landwehr
      • De zeven verderfelijke koninkrijken
      • OWASP Top Tien 2013
      • OWASP Top Tien-vergelijking 2003 – 2013
  • Inleiding tot de Microsoft® Security Development Lifecycle (SDL)
    • Agenda
    • Applicaties worden aangevallen...
      • Evolutie van cybercriminaliteit
      • Aanvallen richten zich op toepassingen
      • De meeste kwetsbaarheden bevinden zich in kleinere ISV-apps
    • Oorsprong van de Microsoft SDL...
      • Beveiligingstijdlijn op Microsoft...
      • Welke apps zijn vereist om SDL te volgen?
    • Microsoft Levenscyclus van beveiligingsontwikkeling (SDL)
      • Microsoft Levenscyclus van beveiligingsontwikkeling (SDL)
      • Pre-SDL-vereisten: beveiligingstraining
      • Fase één: vereisten
      • Fase twee: ontwerp
      • Fase drie: implementatie
      • Fase vier: verificatie
      • Fase vijf: Vrijgave – Reactieplan
      • Fase vijf: Release – Laatste beveiligingsbeoordeling
      • Fase vijf: Vrijgeven – Archief
      • Post-SDL-vereiste: reactie
      • SDL-procesbegeleiding voor LOB-apps
      • SDL-richtlijnen voor Agile-methodologieën
      • Veilige softwareontwikkeling vereist procesverbetering
  • Veilige ontwerpprincipes
    • Aanvalsoppervlak
      • Vermindering van het aanvalsoppervlak
      • Aanvalsoppervlak – een voorbeeld
      • Analyse van het aanvalsoppervlak
      • Vermindering van het aanvalsoppervlak – voorbeelden
    • Privacy
      • Privacy
      • Inzicht in het gedrag en de problemen van toepassingen
    • Verdediging in de diepte
      • SDL-kernprincipe: diepgaande verdediging
      • Diepteverdediging – voorbeeld
    • Least privilege-principe
      • Minste privilege – voorbeeld
    • Veilige standaardinstellingen
      • Veilige standaardinstellingen – voorbeelden
  • Veilige implementatieprincipes
    • Agenda
    • Microsoft Levenscyclus van beveiligingsontwikkeling (SDL)
    • Basisprincipes van bufferoverflow
      • Intel 80x86 processors – hoofdregisters
      • De indeling van het geheugenadres
      • Het functieaanroepmechanisme in C/C++ op x86
      • De lokale variabelen en het stapelframe
      • Stapeloverloop
        • Bufferoverloop op de stapel
        • Oefeningen – introductie
        • Oefening BOFIntro
        • Oefening BOFIntro – bepaal de stapelindeling
        • Oefening BOFIntro – een eenvoudige exploit
    • Invoervalidatie
      • Invoervalidatieconcepten
      • Problemen met gehele getallen
        • Vertegenwoordiging van negatieve gehele getallen
        • Overloop van gehele getallen
        • Rekenkundige overloop – raad de uitvoer!
        • Oefening IntOverflow
        • Wat is de waarde van Math.Abs(int.MinValue)?
      • Beperking van het probleem van gehele getallen
        • Beperking van het probleem van gehele getallen
        • Rekenkundige overloop vermijden – optellen
        • Het vermijden van rekenkundige overloop – vermenigvuldiging
        • Overflow detecteren met het aangevinkte trefwoord in C#
        • Oefening – Het aangevinkte trefwoord gebruiken in C#
        • Uitzonderingen veroorzaakt door overflows in C#
      • Casestudy – Overflow van gehele getallen in .NET
        • Een real-world integer overflow-kwetsbaarheid
        • Het misbruiken van de kwetsbaarheid voor integer-overflow
      • Kwetsbaarheid bij het doorlopen van paden
        • Beperking van padovergang

Dag 2

  • Veilige implementatieprincipes
    • Injectie
      • Typische SQL Injectieaanvalmethoden
      • Blinde en tijdgebaseerde SQL injectie
      • SQL Injectiebeschermingsmethoden
      • Commando injectie
    • Verbroken authenticatie - wachtwoordbeheer
      • Oefening – Zwakte van gehashte wachtwoorden
      • Wachtwoordbeheer en opslag
      • Hash-algoritmen voor speciale doeleinden voor wachtwoordopslag
    • Cross-site scripting (XSS)
      • Cross-site scripting (XSS)
      • CSS injectie
      • Exploitatie: injectie via andere HTML tags
      • XSS-preventie
    • Ontbrekende toegangscontrole op functieniveau
      • Bestandsuploads filteren
    • Praktische cryptografie
      • Vertrouwelijkheid bieden met symmetrische cryptografie
      • Symmetrische coderingsalgoritmen
      • Blokcodes – werkingsmodi
      • Hash of berichtoverzicht
      • Hash-algoritmen
      • Berichtauthenticatiecode (MAC)
      • Integriteit en authenticiteit bieden met een symmetrische sleutel
      • Bied vertrouwelijkheid met encryptie met publieke sleutels
      • Vuistregel – bezit van een privésleutel
      • Typische fouten bij wachtwoordbeheer
      • Oefening – Hardgecodeerde wachtwoorden
      • Conclusie
  • Veilige verificatieprincipes
    • Functioneel testen versus beveiligingstesten
    • Beveiligingsproblemen
    • Prioritering
    • Beveiligingstests in de SDLC
    • Stappen van testplanning (risicoanalyse)
    • Scoring en informatieverzameling
      • Belanghebbenden
      • Activa
      • Het aanvalsoppervlak
      • Beveiligingsdoelstellingen voor testen
    • Modellering van bedreigingen
      • Modellering van bedreigingen
      • Profielen van aanvallers
      • Bedreigingsmodellering op basis van aanvalsbomen
      • Bedreigingsmodellering op basis van gevallen van misbruik/misbruik
      • Misbruik/misbruik gevallen – een eenvoudig voorbeeld van een webshop
      • STRIDE per element-benadering van bedreigingsmodellering – MS SDL
      • Beveiligingsdoelstellingen identificeren
      • Diagrammen – voorbeelden van DFD-elementen
      • Gegevensstroomdiagram – voorbeeld
      • Opsomming van bedreigingen – STRIDE- en DFD-elementen van MS SDL
      • Risicoanalyse – classificatie van bedreigingen
      • Het DREAD-bedreigings-/risicorangschikkingsmodel
    • Technieken en hulpmiddelen voor het testen van beveiliging
      • Algemene testbenaderingen
      • Technieken voor verschillende stappen van de SDLC
    • Codebeoordeling
      • Codebeoordeling voor softwarebeveiliging
      • Smaakanalyse
      • Heuristiek
    • Statische codeanalyse
      • Statische codeanalyse
      • Statische codeanalyse
      • Oefening – Analysetools voor statische code gebruiken
    • Het testen van de implementatie
      • Handmatige runtimeverificatie
      • Handmatige versus geautomatiseerde beveiligingstests
      • Penetratie testen
      • Stresstesten
    • Fuzzend
      • Geautomatiseerde beveiligingstests - fuzzing
      • Uitdagingen van fuzzen
    • Scanners voor webkwetsbaarheid
      • Oefening – Een kwetsbaarheidsscanner gebruiken
    • Het controleren en verharden van het milieu
      • Algemeen kwetsbaarheidsscoresysteem – CVSS
      • Kwetsbaarheidsscanners
      • Openbare databases
    • Casestudy – Formulierauthenticatie omzeilen
      • Kwetsbaarheid voor het beëindigen van NULL-bytes
      • De Forms Authentication Bypass-kwetsbaarheid in de code
      • Het misbruiken van de omzeiling van formulierauthenticatie
  • Kennisbronnen
    • Veilige codeerbronnen – een starterspakket
    • Kwetsbaarheidsdatabases
    • Richtlijnen voor veilige .NET-codering op MSDN
    • .NET-spiekbriefjes voor beveiligde codering
    • Aanbevolen boeken – .NET en ASP.NET
 14 Uren

Aantal deelnemers


Prijs Per Deelnemer

Testimonials (5)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën