Programme de la formation codage sécurisé avec C++

Module 1 : Introduction

  • Motivations
  • C et C++ des langages peu sécurisés ?
  • Connaître les risques liés à la programmation
  • Les traces laissées par les développeurs

Module 2 : Classification des risques

  • Les différents acteurs : CERT, PCI, CWE, OWASP, etc.
  • Codage sécurisé d’une application
  • Classification des risques selon CERT
  • Guides pour le codage sécurisé

Module 3 : Codage sécurisé avec C et C++

  • Modèle mémoire
  • Compilation
  • Appels des fonctions
  • Les tableaux et les chaînes de caractères
  • Les pointeurs
  • Gestion de la mémoire dynamique
  • Sécurité des entiers
  • Sorties formatées
  • Les fichiers

Module 4 : Les bonnes pratiques

  • Macro et inline
  • Gestion de la mémoire
  • Gestion des erreurs et des exceptions
  • Structures des classes
  • Passer à C++14 et C++17
    • Généralités
    • Utilisation des pointeurs intelligents
  • Vérification du code

Module 5 : Durcissement de la sécurité (Hardening)

  • Mécanismes de protection offerts par GCC
  • Les options de sécurité de GCC
  • Tests de configurations de GCC
  • Validation du Hardening