Codage sécurisé en C/C++
Identifier les principales vulnérabilités dans le code C/C++
Informations pratiques
PUBLIC VISÉ
Développeurs C et/ou C++ intervenant sur des applications critiques (embarqué, système, temps réel, industriel, finance, cybersécurité), responsables qualité, architectes logiciels.
Prérequis
Maîtrise des fondamentaux du langage C ou C++ (pointeurs, structures, fonctions, gestion mémoire, compilation). Une expérience de développement concret est fortement recommandée.
Méthodes et moyens
Travaux pratiques : formation alternant théorie et pratique.
Objectifs visés
Ce que vous saurez faire à l'issue de la formation
À l’issue de la formation, les participants seront capables de :
- Identifier les principales vulnérabilités dans le code C/C++
- Appliquer les bonnes pratiques de programmation défensive
- Rédiger un code robuste, fiable et sécurisé dès la conception
- Utiliser des outils d’analyse statique et dynamique pour prévenir les failles
- Se conformer aux référentiels de sécurité reconnus (CERT, MISRA, ISO/IEC TS 17961)
Programme détaillé
Un parcours structuré, module par module
Chaque module alterne apports théoriques, démonstrations et exercices pratiques pour ancrer les acquis.
Introduction à la sécurité logicielle
- Enjeux de sécurité dans le développement natif
- Historique et vulnérabilités emblématiques (Heartbleed, Stack Clash…)
- Panorama des normes : CERT C, CERT C++, MISRA C, ISO/IEC TS
- Attaques classiques : buffer overflow, use-after-free, integer overflow, format string
Failles courantes en C/C++
- Problèmes liés à la gestion mémoire manuelle :
- Déréférencement de pointeurs invalides
- Double free, fuites mémoire, free non initialisé
- Failles d'initialisation et d'accès concurrent
- Dangereuses fonctions standard (strcpy, sprintf, gets…)
Bonnes pratiques de codage sécurisé
- Validation stricte des entrées/sorties (whitelisting, bornes)
- Gestion défensive des pointeurs et allocations dynamiques
- Utilisation correcte des types (size_t, uint32_t, conversions sûres)
- Programmation robuste : assertions, invariants, defensive programming
Codage sécurisé en C++
- Exceptions vs codes d’erreur, RAII et gestion des ressources
- Bonnes pratiques avec les smart pointers (unique_ptr, shared_ptr)
- Conteneurs STL sécurisés vs accès mémoire direct
- Gestion de l’héritage, override explicite, règles d’encapsulation
Recommandations CERT C/C++
- Principes de la norme CERT (rules vs recommendations)
- Exemples de règles : INT32-C, EXP33-C, ARR30-C, MEM50-CPP
- Cas pratiques : analyse de code et refactoring à partir d'extraits non conformes
Outils d’analyse statique et dynamique
- Analyse statique : Clang-Tidy, Cppcheck, SonarQube, Coverity
- Analyse dynamique : Valgrind, AddressSanitizer, UndefinedBehaviorSanitizer
- Intégration dans les chaînes CI/CD (GitHub Actions, GitLab CI)
- Métriques de sécurité et rapports de conformité
Sécurisation du cycle de développement
- Intégration des contrôles sécurité dans le SDLC (Secure Development Life Cycle)
- Revue de code orientée sécurité
- Tests fuzzing (libFuzzer, AFL), injection de fautes
- Techniques de durcissement du binaire : ASLR, DEP, stack canaries, PIE
Études de cas et atelier final
- Analyse de failles réelles dans des bibliothèques open source
- Réécriture sécurisée d’un module critique (lecture/écriture fichier, socket, parsing)
- Application d’outils d’analyse et rédaction de rapports de non-conformité
Modalités d'évaluation
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Certification et financement
Une formation certifiée qualité
SKILLIA Academy est certifié Qualiopi au titre des actions de formation. Nos formations sont finançables via OPCO, CPF ou plan de développement des compétences.
Attestation de formation délivrée
Financement OPCO et CPF
Formateurs experts certifiés
Nos formateurs
Des experts terrain, praticiens de leur discipline
Chaque formation est animée par un consultant SKILLIA sélectionné pour son expertise sectorielle et sa pédagogie. Nos formateurs cumulent expérience opérationnelle et pratique régulière du transfert de compétences.
Praticiens en activité — Une expérience opérationnelle actuelle, mise au service de cas concrets.
Sélection exigeante — Expertise sectorielle et qualité pédagogique évaluées pour chaque intervenant.

Certification qualité
SKILLIA Academy est la marque formation de SKILLIA. Les prestations de formation sont contractualisées avec SKILLIA, organisme de formation déclaré sous le numéro 52441246544 et certifié Qualiopi au titre des actions de formation.
La certification qualité a été délivrée au titre de la catégorie d'action suivante : actions de formation.
Parlons de votre projet de formation.
SKILLIA Academy
Des formations utiles, pensées pour le terrain. Organisme certifié Qualiopi, entité du groupe SKILLIA.
41 Quai de Malakoff, 44000 Nantes
Écosystème SKILLIA
Conseil, build, formation et résilience dans un même écosystème.
Dénomination sociale : SKILLIA
NDA : 52441246544
SIRET : 90922172300010
Siège social : 41-43 Quai Malakoff, 44000 Nantes
© 2026 SKILLIA — Tous droits réservés