Schulungsübersicht
Einführung in die sichere Entwicklung mit C und C++
- Verständnis der Grundsätze sicherer Softwareentwicklung
- Häufige Sicherheitsrisiken in C- und C++-Anwendungen
- Zusammenhang zwischen Programmierfehlern und Sicherheitslücken
- Sichere Codierungsstandards und Best Practices
Häufige Programmierschwachstellen in C und C++
- Identifizierung häufiger Fehler, die Sicherheitsrisiken verursachen
- Speichersicherheitsprobleme in C und C++
- Schwachstellenmuster und deren Auswirkungen
- Analyse unsicherer Codebeispiele
Grundsätze der sicheren Programmierung
- Anwendung von Defence-in-Depth-Techniken
- Entwicklung robuster und wartbarer Codes
- Minimierung der Angriffsfläche
- Sichere Designprinzipien für C- und C++-Anwendungen
Eingabevalidierung und Datenverarbeitung
- Verständnis der Bedeutung der Eingabevalidierung
- Verhinderung der Ausnutzung böswilliger Eingaben
- Datenbereinigungstechniken
- Sicherer Umgang mit Benutzer- und externen Daten
Fehlerbehandlung und Exception-Management
- Risiken durch unsachgemäße Fehlerbehandlung
- Entwicklung sicherer Mechanismen zur Fehler- und Ausnahmebehandlung
- Verschiedene Informationslecks über Fehler vermeiden
- Erstellung robuster Anwendungen
Speichersicherheit und Schutz vor Buffer-Overflows
- Verständnis von Schwachstellen im Speichermanagement
- Stack-basierte Buffer-Overflows
- Heap-basierte Buffer-Overflows
- Erkennung und Verhinderung von Speicherbeschädigungen
- Sichere Techniken zur Speicherverwaltung
Stack-Schutz und Runtime-Sicherheitsfunktionen
- Verständnis von Stack-Overflow-Schwachstellen
- Kompilierungsbasierte Sicherheitsvorkehrungen
- Stack Canaries und Schutzmechanismen
- Address Space Layout Randomization (ASLR)
- Sicherheitsfunktionen moderner Betriebssysteme
Erweiterte Sicherheitshinweise für C++
- Sicheres Objekt-Lebenszyklusmanagement
- Vermeidung von Use-after-free-Schwachstellen
- Sicherer Umgang mit Zeigern und Referenzen
- Verschiedene Typenverwechslungsprobleme vermeiden
- Sicherer Einsatz der C++-Sprachmerkmale
Tools und Techniken für sicheren Code
- Nutzung statischer Analyse-Tools zur Schwachstellenerkennung
- Code-Review-Techniken zur Sicherheitsbewertung
- Automatisierte Sicherheitsprüfungsverfahren
- Einfügen von Sicherheitsprüfungen in Entwicklungsworkflows
Sichere Codierungsstandards und Best Practices
- Überprüfung branchenweiter Richtlinien für sichere Codierung
- Anwendung defensiver Programmiermethoden
- Einfügen von Sicherheit in den Softwareentwicklungslebenszyklus
- Aufrechterhaltung sicherer und zuverlässiger C/C++-Anwendungen
Praktischer Workshop zu sicherem Code
- Analyse anfälliger C/C++-Codebeispiele
- Anwendung von Sicherheitskorrekturen und -verbesserungen
- Testen des Codes gegen gängige Schwachstellen
- Kurszusammenfassung und Empfehlungen zur sicheren Entwicklung
Voraussetzungen
Grundkenntnisse 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