Introduction
Les risques liés au développement
Les traces laissés par les développeurs (mémoire, journaux, …)
Les attaques
Les différents acteurs : CERT, PCI, CWE, OWASP, …
Codage sécurisé d’une application
Classification des risques CERT
Domaines (integer, string, floating point, array, …)
Sévérité, priorité, …
Guidelines
Les langages C et C++
Modèle mémoire
Compilation
Comprendre les appels de fonction : structure de la pile
Coder de manière à sécuriser le code
Quelques exemples de code
Les chaînes de caractères
Les pointeurs
Gestion de la mémoire
Les entiers
Les sorties formatées
Les fichiers
Les bonnes pratiques
Bonnes pratiques de codage
Macro et inline
Gestion de la mémoire : new, free, gestion des erreurs
Structure des classes
Passer à C++14 : nullptr, enum, deleted fonctions, utilisation des smart pointers
Les standards de sécurité
Vérification du code