Le langage C offre une grande liberté aux développeurs. Cependant, il comporte des constructions ambiguës ou risquées qui favorisent l’introduction d’erreurs lors du développement. Le standard du langage C ne spécifie pas l’ensemble des comportements souhaités, et donc certains restent indéfinis ou non spécifiés. Libre alors aux développeurs de compilateurs, de bibliothèques ou de systèmes d’exploitation de faire leurs propres choix. Il est ainsi nécessaire de définir des restrictions quant à l’utilisation du langage C afin d’identifier les différentes constructions risquées ou non portables et d’en limiter voire interdire l’utilisation.
Le présent guide de l’ANSSI définit un ensemble de règles, de recommandations et de bonnes pratiques dédiées aux développements sécurisés en langage C.
Ce guide a différents objectifs :
- augmenter la sécurité, la qualité et la fiabilité du code source produit, en identifiant les mauvaises pratiques ou les pratiques dangereuses de programmation ;
- faciliter l’analyse du code source lors d’une relecture par un pair ou par des outils d’analyse statique ;
- établir un niveau de confiance dans la sécurité, la fiabilité et la robustesse d’un développement ;
- favoriser la maintenabilité du logiciel mais également l’ajout de fonctionnalités
Ce guide ne s’inscrit pas dans un domaine d’application particulier et ne veut pas remplacer les contraintes de développement imposées par tout contexte normatif (domaine automobile, aéronautique, systèmes critiques, etc.). Son but est d’adresser justement les développements en C sécurisés non couverts par ces contraintes normatives.
Plus d’informations sur le site de l’ANSSI.


Derniers articles parBenoît RIVIERE (voir tous)
- Automatiser le quotidien : copier, renommer et supprimer de grandes quantités de fichiers en un tournemain - samedi 10 avril 2021
- Ajouter de nouvelles fonctions à Excel - dimanche 4 avril 2021
- Powerpoint : automatiser l’exportation d’une sélection de vignettes en PDF avec conservation des liens hypertexte - lundi 29 mars 2021
- Automatiser le relevé de factures à joindre à la demande de remboursement de crédit de TVA - dimanche 7 mars 2021
- Règles de programmation pour le développement sécurisé de logiciels en langage C (guide) - lundi 8 février 2021