Plan du cours
Introduction au développement sûr en C et C++
- Comprendre les principes du développement logicielle sûr
- Risques de sécurité courants dans les applications C et C++
- La relation entre les erreurs de programmation et les vulnérabilités de sécurité
- Normes de programmation sûre et meilleures pratiques
Vulnérabilités courantes dans la programmation C et C++
- Identifier les erreurs de codage courantes qui introduisent des risques de sécurité
- Problèmes de sûreté de la mémoire en C et C++
- Schémas de vulnérabilités et leur impact
- Analyse d’exemples de code non sécurisé
Principes de programmation défensive
- Application des techniques de défense en profondeur
- Écriture de code robuste et maintenable
- Minimisation des surfaces d’attaque
- Principes de conception sûre 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 d’entrées malveillantes
- Techniques d’assainissement des données
- Gestion sûre des données utilisateur et externes
Gestion des erreurs et des exceptions
- Risques liés à une mauvaise gestion des erreurs
- Conception de mécanismes sûrs de gestion des erreurs et des exceptions
- Éviter les fuites d’informations via les erreurs
- Créer des applications résilientes
Sûreté de la 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
- Dépassements de tampon basés sur le tas
- Détection et prévention de la corruption de la mémoire
- Techniques de gestion sûre de la mémoire
Protection de la pile et fonctionnalités de sécurité au moment de l’exécution
- Comprendre les vulnérabilités de dépassement de pile
- Protections de sécurité basées sur le compilateur
- Canaris de pile et mécanismes de protection
- Randomisation de la disposition 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é C++
- Gestion sûre du cycle de vie des objets
- Prévention des vulnérabilités d’utilisation après libération
- Gestion sûre des pointeurs et des références
- Éviter les problèmes de confusion de types
- Utilisation sûre des fonctionnalités du langage C++
Outils et techniques de programmation sûre
- Utilisation d’outils d’analyse statique pour identifier les vulnérabilités
- Techniques d’examen de code pour l’évaluation de la sécurité
- Approches de test de sécurité automatisé
- Intégration des contrôles de sécurité dans les flux de travail de développement
Normes et meilleures pratiques de programmation sûre
- Examen des directives de programmation sûre de l’industrie
- Application des techniques de programmation défensive
- Intégration de la sécurité dans le cycle de vie du développement logiciel
- Maintien d’applications C/C++ sûres et fiables
Atelier pratique de programmation sûre
- Analyse d’exemples de code C/C++ vulnérables
- Application de corrections et d’améliorations de sécurité
- Test du code face aux vulnérabilités courantes
- Bilan du cours et recommandations pour un développement sûr
Pré requis
Les bases de 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