Plan du cours
Introduction au développement C et C++ sécurisé
- Principes de développement de logiciels sécurisés
- Risques de sécurité courants dans les applications C et C++
- Lien entre erreurs de programmation et vulnérabilités de sécurité
- Normes de programmation sûre et meilleures pratiques
Vulnérabilités courantes en programmation C et C++
- Identification des erreurs de codage courantes qui introduisent des risques de sécurité
- Problèmes de sécurité de la mémoire en C et C++
- Modèles de vulnérabilités et leurs impacts
- Analyse d'exemples de code non sécurisé
Principes de programmation défensive
- Application de 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
- Importance de la validation des entrées
- Prévention de l'exploitation malveillante des données d'entrée
- Techniques d'assainissement des données
- Gestion sûre des données utilisateurs et externes
Gestion des erreurs et des exceptions
- Risques liés à une gestion inappropriée des erreurs
- Conception de mécanismes sûrs de gestion des erreurs et des exceptions
- Éviter les fuites d'informations via les erreurs
- Création d'applications résilientes
Sécurité de la mémoire et protection contre les dépassements de tampon
- Vulnérabilités liées à la gestion de la mémoire
- Dépassements de tampon sur la pile
- Dépassements de tampon sur le tas (heap)
- Détection et prévention de la corruption de la mémoire
- Techniques de manipulation sécurisée de la mémoire
Protection de la pile et fonctionnalités de sécurité au moment de l'exécution
- Vulnérabilités de dépassement de pile
- Protections de sécurité basées sur le compilateur
- Sentinelle de pile (stack canaries) et mécanismes de protection
- Randomisation de la disposition de l'espace d'adresses (ASLR)
- Fonctionnalités de sécurité des systèmes d'exploitation modernes
Considérations avancées de sécurité en C++
- Gestion sûre 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 des références
- Évitement des 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 de revue de code pour l'évaluation de la sécurité
- Approches de tests de sécurité automatisés
- 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 de techniques de programmation défensive
- Intégration de la sécurité dans le cycle de vie du développement logiciel
- Maintenance d'applications C/C++ sécurisées et fiables
Atelier pratique de programmation sûre
- Analyse d'exemples de code C/C++ vulnérables
- Application de correctifs et d'améliorations de sécurité
- Test du code contre les vulnérabilités courantes
- Bilan du cours et recommandations pour un développement sécurisé
Pré requis
Notions de base en 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