Kontakt aufnehmen

Schulungsübersicht

Einführung in die sichere C- und C++-Entwicklung

  • Verständnis der Grundsätze der sicheren Softwareentwicklung
  • Häufige Sicherheitsrisiken in C- und C++-Anwendungen
  • Der Zusammenhang zwischen Programmierfehlern und Sicherheitsvulnerabilitäten
  • Sichere Coding-Standards und bewährte Praktiken

Häufige Programmier-Vulnerabilitäten in C und C++

  • Identifizierung häufiger Programmierfehler, die Sicherheitsrisiken mit sich bringen
  • Probleme mit der Speicherintegrität in C und C++
  • Vulnerabilitätsmuster und deren Auswirkungen
  • Analysieren unsicherer Code-Beispiele

Prinzipien des sicheren Programmierens

  • Anwendung von Defense-in-Depth-Techniken
  • Schreiben robuster und pflegbarer Code
  • Minimierung der Angriffsfläche
  • Prinzipien des sicheren Designs für C- und C++-Anwendungen

Eingabevalidierung und Datenverarbeitung

  • Verständnis der Bedeutung der Eingabevalidierung
  • Verhinderung der Ausnutzung böswilliger Eingaben
  • Techniken zur Datensanisierung
  • Sichere Verarbeitung von Benutzereingaben und externen Daten

Fehlerbehandlung und AusnahmeManagement

  • Risiken im Zusammenhang mit fehlerhafter Fehlerbehandlung
  • Gestaltung sicherer Mechanismen für Fehler- und Ausnahmebehandlung
  • Vermeidung von Informationslecks durch Fehler
  • Schaffung resilienter Anwendungen

Speicherintegrität und Schutz vor Buffer Overflows

  • Verständnis von Speicher-Verwaltungsvulnerabilitäten
  • Stack-basierte Buffer Overflows
  • Heap-basierte Buffer Overflows
  • Erkennung und Vermeidung von Speicherkorruption
  • Techniken für die sichere Speicherverwaltung

Stack-Schutz und Sicherheitsfunktionen zur Laufzeit

  • Verständnis von Stack-Overflow-Vulnerabilitäten
  • Vom Compiler bereitgestellte Sicherheitsmechanismen
  • Stack Canaries und Schutzmechanismen
  • Address Space Layout Randomization (ASLR)
  • Moderne Sicherheitsfunktionen des Betriebssystems

Erweiterte Sicherheitsaspekte in C++

  • Sicheres Management des Objekt-Lebenszyklus
  • Verhinderung von Use-after-Free-Vulnerabilitäten
  • Sicheres Verwalten von Zeigern und Referenzen
  • Vermeidung von Typverwechslungsproblemen (Type Confusion)
  • Sicherer Einsatz von C++-Sprachfeatures

Werkzeuge und Techniken für sicheres Programmieren

  • Einsatz von statischen Analysewerkzeugen zur Identifizierung von Vulnerabilitäten
  • Code-Review-Techniken für die Sicherheitsbewertung
  • Ansätze für automatisiertes Sicherheitstesting
  • Integration von Sicherheitsprüfungen in Entwicklungsprozesse

Sichere Coding-Standards und bewährte Praktiken

  • Prüfung von branchenweiten Richtlinien für sicheres Programmieren
  • Anwendung defensiver Programmiermethoden
  • Einarbeitung von Sicherheit in den Software-Entwicklungslebenszyklus
  • Aufrechterhaltung sicherer und zuverlässiger C/C++-Anwendungen

Praktischer Workshop zum sicheren Programmieren

  • Analysieren vulnerabler C/C++-Code-Beispiele
  • Anwendung von Sicherheitskorrekturen und Verbesserungen
  • Testen von Code gegen häufige Vulnerabilitäten
  • Kurswiederholung und Empfehlungen für die sichere Entwicklung

Voraussetzungen

Grundkenntnisse in C/C++

 21 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (7)

Kommende Kurse

Verwandte Kategorien