Schulungsübersicht
Einführung in die sichere C- und C++-Entwicklung
- Verständnis der Prinzipien der sicheren Softwareentwicklung
- Gängige Sicherheitsrisiken in C- und C++-Anwendungen
- Der Zusammenhang zwischen Programmierfehlern und Sicherheitslücken
- Sichere Programmierstandards und bewährte Praktiken
Gängige Programmierschwachstellen in C und C++
- Identifizierung häufiger Programmierfehler, die Sicherheitsrisiken verursachen
- Probleme mit der Speichersicherheit in C und C++
- Schwachstellenmuster und ihre Auswirkungen
- Analysieren unsicherer Codebeispiele
Prinzipien des sicheren Programmierens
- Anwendung von Defense-in-Depth-Techniken
- Schreiben von robustem und wartbarem Code
- Minimierung der Angriffsfläche
- Prinzipien für ein sicheres Design von C- und C++-Anwendungen
Eingabevalidierung und Datenverarbeitung
- Verständnis der Bedeutung der Eingabevalidierung
- Verhinderung der Ausnutzung böswilliger Eingaben
- Techniken zur Datenbereinigung
- Sichere Verarbeitung von Benutzer- und externer Daten
Fehlerbehandlung und Ausnahmeverwaltung
- Risiken bei unsachgemäßer Fehlerbehandlung
- Gestaltung sicherer Mechanismen für Fehler- und Ausnahmebehandlung
- Vermeidung von Informationslecks durch Fehler
- Erstellung robuster Anwendungen
Speichersicherheit und Schutz vor Pufferüberläufen
- Verständnis von Schwachstellen im Speichermanagement
- Stack-basierte Pufferüberläufe
- Heap-basierte Pufferüberläufe
- Erkennung und Verhinderung von Speicherzerstörung
- Techniken für eine sichere Speicherverwaltung
Stack-Schutz und Sicherheitsfunktionen zur Laufzeit
- Verständnis von Stack-Overflow-Schwachstellen
- Compiler-basierte Schutzmöglichkeiten
- Stack-Canaries und Schutzmechanismen
- Address Space Layout Randomization (ASLR)
- Modernen Betriebssystem-Funktionen für die Sicherheit
Fortgeschrittene Sicherheitsaspekte in C++
- Sicheres Management des Objektlebenszyklus
- Vermeidung von Use-after-free-Schwachstellen
- Sichere Verwaltung von Pointern und Referenzen
- Vermeidung von Typverwechslungsproblemen
- Sicherer Einsatz von C++-Sprachfunktionen
Werkzeuge und Techniken für sicheres Programmieren
- Nutzung statischer Analysetools zur Identifizierung von Schwachstellen
- Code-Review-Techniken für die Sicherheitsbewertung
- Ansätze für automatisierte Sicherheitstests
- Integration von Sicherheitsprüfungen in Entwicklungsworkflows
Standards und bewährte Praktiken für sicheres Programmieren
- Überprüfung branchenweiter Leitlinien für sicheres Programmieren
- Anwendung defensiver Programmiermethoden
- Einbettung von Sicherheit in den Software-Lebenszyklus
- Wartung von sicheren und zuverlässigen C/C++-Anwendungen
Praktisches Workshop zum sicheren Programmieren
- Analysieren von Codebeispielen in C/C++ mit Schwachstellen
- Anwendung von Sicherheitskorrekturen und Verbesserungen
- Testen von Code auf gängige Schwachstellen
- Zusammenfassung des Kurses und Empfehlungen für eine sichere Entwicklung
Voraussetzungen
Grundlagen in 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