Prenez contact avec nous

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++

 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (6)

Cours à venir

Catégories Similaires