Schulungsübersicht

Tag 1

  • IT-Sicherheit und sichere Codierung
    • Art der Sicherheit
    • Begriffe rund um die IT-Sicherheit
    • Definition von Risiko
    • Verschiedene Aspekte der IT-Sicherheit
    • Anforderungen unterschiedlicher Anwendungsbereiche
    • IT-Sicherheit vs. sichere Codierung
    • Von Schwachstellen über Botnets bis hin zu Cyberkriminalität
      • Art der Sicherheitslücken
      • Gründe für die Schwierigkeit
      • Von einem infizierten Computer bis hin zu gezielten Angriffen
    • Klassifizierung von Sicherheitslücken
      • Taxonomie der Landwehr
      • Die sieben verderblichen Königreiche
      • OWASP Top Ten 2013
      • OWASP Top-Ten-Vergleich 2003 – 2013
  • Einführung in den Microsoft® Security Development Lifecycle (SDL)
    • Agenda
    • Angegriffene Anwendungen...
      • Entwicklung der Cyberkriminalität
      • Angriffe konzentrieren sich auf Anwendungen
      • Die meisten Schwachstellen liegen in kleineren ISV-Apps
    • Ursprünge des Microsoft SDL...
      • Sicherheitszeitleiste unter Microsoft...
      • Welche Apps sind erforderlich, um SDL zu befolgen?
    • Microsoft Sicherheitsentwicklungslebenszyklus (SDL)
      • Microsoft Sicherheitsentwicklungslebenszyklus (SDL)
      • Anforderungen vor SDL: Sicherheitsschulung
      • Phase Eins: Anforderungen
      • Phase Zwei: Design
      • Phase drei: Umsetzung
      • Phase vier: Verifizierung
      • Phase fünf: Veröffentlichung – Reaktionsplan
      • Phase Fünf: Veröffentlichung – Abschließende Sicherheitsüberprüfung
      • Phase Fünf: Veröffentlichung – Archiv
      • Post-SDL-Anforderung: Antwort
      • SDL-Prozessleitfaden für LOB-Apps
      • SDL-Leitfaden für Agile-Methoden
      • Sichere Softwareentwicklung erfordert Prozessverbesserung
  • Sichere Designprinzipien
    • Angriffsfläche
      • Reduzierung der Angriffsfläche
      • Angriffsfläche – ein Beispiel
      • Angriffsflächenanalyse
      • Reduzierung der Angriffsfläche – Beispiele
    • Privatsphäre
      • Privatsphäre
      • Anwendungsverhalten und Bedenken verstehen
    • Verteidigung in der Tiefe
      • SDL-Grundprinzip: Defense In Depth
      • Tiefenverteidigung – Beispiel
    • Prinzip der geringsten Privilegien
      • Geringstes Privileg – Beispiel
    • Sichere Standardeinstellungen
      • Sichere Standardeinstellungen – Beispiele
  • Sichere Umsetzungsprinzipien
    • Agenda
    • Microsoft Sicherheitsentwicklungslebenszyklus (SDL)
    • Grundlagen zum Pufferüberlauf
      • Intel 80x86-Prozessoren – Hauptregister
      • Das Speicheradressenlayout
      • Der Funktionsaufrufmechanismus in C/C++ auf x86
      • Die lokalen Variablen und der Stack-Frame
      • Paketüberfluss
        • Pufferüberlauf auf dem Stapel
        • Übungen – Einführung
        • Übung BOFIntro
        • Übung BOFIntro – Bestimmen Sie das Stapellayout
        • Übung BOFIntro – ein einfacher Exploit
    • Eingabevalidierung
      • Konzepte zur Eingabevalidierung
      • Ganzzahlige Probleme
        • Darstellung negativer Ganzzahlen
        • Ganzzahlüberlauf
        • Arithmetischer Überlauf – erraten Sie die Ausgabe!
        • Übung IntOverflow
        • Was ist der Wert von Math.Abs(int.MinValue)?
      • Ganzzahlige Problemminderung
        • Ganzzahlige Problemminderung
        • Arithmetischen Überlauf vermeiden – Addition
        • Arithmetischen Überlauf vermeiden – Multiplikation
        • Erkennen eines Überlaufs mit dem geprüften Schlüsselwort in C#
        • Übung – Verwendung des geprüften Schlüsselworts in C#
        • Ausnahmen, die durch Überläufe in C# ausgelöst werden
      • Fallstudie – Ganzzahlüberlauf in .NET
        • Eine reale Schwachstelle durch Ganzzahlüberlauf
        • Ausnutzung der Schwachstelle durch Ganzzahlüberlauf
      • Schwachstelle beim Pfaddurchlauf
        • Minderung der Pfaddurchquerung

Tag 2

  • Sichere Umsetzungsprinzipien
    • Injektion
      • Typische SQL Injektionsangriffsmethoden
      • Blinde und zeitbasierte SQL Injektion
      • SQL Injektionsschutzmethoden
      • Befehlsinjektion
    • Defekte Authentifizierung – Passwortverwaltung
      • Übung – Schwäche von gehashten Passwörtern
      • Passwortverwaltung und -speicherung
      • Spezielle Hash-Algorithmen zur Passwortspeicherung
    • Cross-Site-Scripting (XSS)
      • Cross-Site-Scripting (XSS)
      • CSS Injektion
      • Ausbeutung: Einschleusung durch andere HTML Tags
      • XSS-Prävention
    • Fehlende Zugriffskontrolle auf Funktionsebene
      • Datei-Uploads filtern
    • Praktische Kryptographie
      • Gewährleistung der Vertraulichkeit durch symmetrische Kryptografie
      • Symmetrische Verschlüsselungsalgorithmen
      • Blockchiffren – Funktionsweisen
      • Hash oder Nachrichtenauszug
      • Hash-Algorithmen
      • Nachrichtenauthentifizierungscode (MAC)
      • Bereitstellung von Integrität und Authentizität mit einem symmetrischen Schlüssel
      • Gewährleistung der Vertraulichkeit durch Verschlüsselung mit öffentlichem Schlüssel
      • Faustregel – Besitz eines privaten Schlüssels
      • Typische Fehler bei der Passwortverwaltung
      • Übung – Hartcodierte Passwörter
      • Abschluss
  • Sichere Verifizierungsprinzipien
    • Funktionstests vs. Sicherheitstests
    • Sicherheitslücken
    • Priorisierung
    • Sicherheitstests im SDLC
    • Schritte der Testplanung (Risikoanalyse)
    • Scoping und Informationsbeschaffung
      • Stakeholder
      • Vermögenswerte
      • Die Angriffsfläche
      • Sicherheitsziele zum Testen
    • Bedrohungsmodellierung
      • Bedrohungsmodellierung
      • Angreiferprofile
      • Bedrohungsmodellierung basierend auf Angriffsbäumen
      • Bedrohungsmodellierung basierend auf Missbrauchsfällen
      • Missbrauchsfälle – ein einfaches Webshop-Beispiel
      • STRIDE-Ansatz pro Element zur Bedrohungsmodellierung – MS SDL
      • Identifizierung von Sicherheitszielen
      • Diagrammerstellung – Beispiele für DFD-Elemente
      • Datenflussdiagramm – Beispiel
      • Bedrohungsaufzählung – STRIDE- und DFD-Elemente von MS SDL
      • Risikoanalyse – Klassifizierung von Bedrohungen
      • Das DREAD-Bedrohungs-/Risiko-Ranking-Modell
    • Techniken und Tools für Sicherheitstests
      • Allgemeine Testansätze
      • Techniken für verschiedene Schritte des SDLC
    • Code-Review
      • Codeüberprüfung für Softwaresicherheit
      • Taint-Analyse
      • Heuristiken
    • Statische Codeanalyse
      • Statische Codeanalyse
      • Statische Codeanalyse
      • Übung – Verwendung statischer Code-Analysetools
    • Testen der Implementierung
      • Manuelle Laufzeitüberprüfung
      • Manuelle vs. automatisierte Sicherheitstests
      • Penetrationstests
      • Stresstests
    • Fuzzing
      • Automatisierte Sicherheitstests – Fuzzing
      • Herausforderungen des Fuzzing
    • Web-Schwachstellenscanner
      • Übung – Verwendung eines Schwachstellenscanners
    • Überprüfung und Abhärtung der Umgebung
      • Common Vulnerability Scoring System – CVSS
      • Schwachstellenscanner
      • Öffentliche Datenbanken
    • Fallstudie – Umgehung der Formularauthentifizierung
      • Sicherheitslücke bei NULL-Byte-Beendigung
      • Die Sicherheitslücke „Forms Authentication Bypass“ im Code
      • Ausnutzung der Umgehung der Formularauthentifizierung
  • Wissensquellen
    • Sichere Codierungsquellen – ein Starter-Kit
    • Schwachstellendatenbanken
    • .NET-Richtlinien für sichere Codierung bei MSDN
    • Spickzettel für sichere .NET-Codierung
    • Empfohlene Bücher – .NET und ASP.NET
 14 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Erfahrungsberichte (5)

Kommende Kurse

Verwandte Kategorien