Prenez contact avec nous

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

 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (6)

Cours à venir

Catégories Similaires