Plan du cours
Introduction au développement sécurisé en C et C++
- Comprendre les principes du développement logiciel sécurisé
- Les risques de sécurité courants dans les applications C et C++
- Le lien entre les erreurs de programmation et les vulnérabilités de sécurité
- Normes de codage sécurisé et meilleures pratiques
Vulnérabilités courantes de la programmation C et C++
- Identifier les erreurs de code courantes qui introduisent des risques de sécurité
- Les problèmes de sécurité mémoire en C et C++
- Schémas de vulnérabilité et leur impact
- Analyser des exemples de code insécurisé
Principes de programmation sécurisée
- Appliquer des techniques de défense en profondeur
- Rédiger un code robuste et maintenable
- Réduire les surfaces d'attaque
- Principes de conception sécurisée pour les applications C et C++
Validation des entrées et gestion des données
- Comprendre l'importance de la validation des entrées
- Prévenir l'exploitation des entrées malveillantes
- Techniques de sanitisation des données
- Gestion sécurisée des données utilisateur et externes
Gestion des erreurs et des exceptions
- Les risques associés à une gestion inadéquate des erreurs
- Concevoir des mécanismes de gestion d'erreurs et d'exceptions sécurisés
- Éviter les fuites d'informations par le biais des erreurs
- Créer des applications résilientes
Sécurité mémoire et protection contre les dépassements de tampon
- Comprendre les vulnérabilités de gestion de la mémoire
- Dépassements de tampon basés sur la pile (stack-based buffer overflows)
- Dépassements de tampon basés sur le tas (heap-based buffer overflows)
- Détection et prévention de la corruption de la mémoire
- Techniques sûres de gestion de la mémoire
Protection de la pile et fonctionnalités de sécurité runtime
- Comprendre les vulnérabilités de dépassement de pile
- Protections de sécurité basées sur le compilateur
- Cancans de pile (stack canaries) et mécanismes de protection
- Randomisation de l'emplacement de l'espace d'adressage (ASLR)
- Fonctionnalités de sécurité des systèmes d'exploitation modernes
Considérations avancées sur la sécurité en C++
- Gestion sécurisée du cycle de vie des objets
- Prévention des vulnérabilités d'utilisation après libération (use-after-free)
- Gestion sûre des pointeurs et références
- Éviter les problèmes de confusion de type
- Utilisation sécurisée des fonctionnalités du langage C++
Outils et techniques de codage sécurisé
- Utiliser des outils d'analyse statique pour identifier les vulnérabilités
- Techniques de revue de code pour l'évaluation de la sécurité
- Approches de test de sécurité automatisées
- Intégration des vérifications de sécurité dans les flux de travail de développement
Normes et meilleures pratiques de codage sécurisé
- Examen des directives de codage sécurisé de l'industrie
- Appliquer des techniques de programmation défensive
- Intégrer la sécurité dans le cycle de vie du développement logiciel
- Maintenir des applications C/C++ sécurisées et fiables
Atelier pratique sur le codage sécurisé
- Analyse d'exemples de code C/C++ vulnérable
- Application de correctifs et améliorations de sécurité
- Tests du code contre les vulnérabilités courantes
- Revue du cours et recommandations pour un développement sécurisé
Pré requis
Notions de base sur le C/C++
Nos clients témoignent (6)
Le partage d'expérience, c'est le savoir-faire et la valeur de l'enseignant.
Carey Fan - Logitech
Formation - C/C++ Secure Coding
Traduction automatique
l'équilibre entre les cours magistraux et la pratique, le rythme, les connaissances du formateur et ses compétences pédagogiques
Armando Pinto - EID
Formation - C/C++ Secure Coding
Traduction automatique
Le formateur a fourni des informations à jour et des références et outils précieux.
Jose Vicente - EID
Formation - C/C++ Secure Coding
Traduction automatique
pour obtenir de nombreuses informations utiles sur le sujet du cours
Paulo Pereira - EID
Formation - C/C++ Secure Coding
Traduction automatique
Le coach possède une solide connaissance et de l'expérience, des diapositives agréables, de bons exemples.
Celso Almeida - EID
Formation - C/C++ Secure Coding
Traduction automatique
Informations générales sur le cours
Paulo Gouveia - EID
Formation - C/C++ Secure Coding
Traduction automatique