Schulungsübersicht
Einführung in die sichere Entwicklung mit C und C++
- Grundprinzipien der sicheren Softwareentwicklung verstehen
- Häufige Sicherheitsrisiken in C- und C++-Anwendungen
- Der Zusammenhang zwischen Programmierfehlern und Sicherheitslücken
- Sichere Programmierstandards und bewährte Verfahren
Häufige Schwachstellen in der C- und C++-Programmierung
- Identifizierung typischer Programmierfehler, die Sicherheitsrisiken mit sich bringen
- Sicherheitsprobleme im Umgang mit Speicher in C und C++
- Schwachstellenmuster und deren Auswirkung
- Analyse unsicherer Codebeispiele
Grundlagen des sicheren Programmierens
- Anwendung von Defense-in-Depth-Techniken
- Robusten und wartbaren Code schreiben
- Schwachstellenflächen minimieren
- Sichere Designprinzipien für C- und C++-Anwendungen
Eingabeprüfung und Datenverarbeitung
- Die Bedeutung der Eingabeprüfung verstehen
- Bösartige Ausnutzung von Eingaben verhindern
- Techniken zur Datenbereinigung (Sanitization)
- Sicherer Umgang mit Benutzerdaten und externen Daten
Fehlerbehandlung und Exception-Management
- Risiken im Zusammenhang mit unsachgemäßer Fehlerbehandlung
- Entwicklung sicherer Mechanismen zur Fehler- und Exception-Behandlung
- Vermeidung von Informationsleckagen durch Fehlermeldungen
- Erstellung robuster Anwendungen
Speichersicherheit und Schutz vor Pufferüberläufen
- Verständnis von Speicher-Management-Schwachstellen
- Stack-basierte Pufferüberläufe
- Heap-basierte Pufferüberläufe
- Erkennung und Prävention von Speicherbeschädigungen
- Sichere Techniken zum Umgang mit Speicher
Stack-Schutz und Sicherheitstechnologien zur Laufzeit
- Verständnis von Stack-Overflow-Schwachstellen
- Kompilierbasierte Schutzmechanismen
- Stack Canaries und weitere Schutzmechanismen
- Address Space Layout Randomization (ASLR)
- Sicherheitsmerkmale moderner Betriebssysteme
Fortgeschrittene Sicherheitsaspekte in C++
- Sicheres Management des Objekt-Lebenszyklus
- Vorbeugung gegen Use-after-Free-Schwachstellen
- Sicherer Umgang mit Pointern und Referenzen
- Vermeidung von Typanomalien (Type Confusion)
- Sicherer Einsatz von C++-Sprachmerkmalen
Tools und Techniken für sicheres Programmieren
- Einsatz statischer Analyse-Tools zur Identifizierung von Schwachstellen
- Code-Review-Techniken zur Sicherheitsbewertung
- Automatisierte Ansätze der Sicherheitstests
- Integration von Sicherheitschecks in die Entwicklungsworkflows
Sichere Programmierstandards und bewährte Verfahren
- Überprüfung industrieüblicher Richtlinien für sicheres Programmieren
- Anwendung defensiver Programmierungstechniken
- Einfügung von Sicherheit in den Software-Entwicklungslebenszyklus (SDLC)
- Wartung sicherer und zuverlässiger C/C++-Anwendungen
Praktischer Workshop: Sicheres Programmieren
- Analyse anfälliger C/C++-Codebeispiele
- Anwendung von Sicherheitskorrekturen und Verbesserungen
- Testen des Codes auf gängige Schwachstellen
- Kurszusammenfassung und Empfehlungen für sichere Entwicklungsprozesse
Voraussetzungen
Grundlagen von C/C++
Erfahrungsberichte (7)
Erfahrungstechnik, es ist das Wissen und die wertvollen Kenntnisse des Lehrers.
Carey Fan - Logitech
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung
das Gleichgewicht zwischen Vorlesungen und Praxis, der Rhythmus, das Wissen des Trainers und seine pädagogischen Fähigkeiten
Armando Pinto - EID
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung
Der Trainer stellte aktuelle Informationen sowie wertvolle Referenzen und Tools zur Verfügung.
Jose Vicente - EID
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung
um viele nützliche Informationen zum Kursinhalt zu erhalten
Paulo Pereira - EID
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung
Der Coach verfügt über festes Wissen und Erfahrung, die Folien sind ansprechend und die Beispiele gut gewählt.
Celso Almeida - EID
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung
The lectures
Fernando Afonso - EID
Kurs - C/C++ Secure Coding
Allgemeine Kursinformationen
Paulo Gouveia - EID
Kurs - C/C++ Secure Coding
Maschinelle Übersetzung