Le britannique LDRA, éditeur d’outils logiciels d’analyse, de test et de vérification de codes critiques, fait évoluer son module TBsecure, un logiciel d’analyse statique de code qui assure la vérification de la conformité d’un logiciel ...au standard de codage Cert C dans un processus de développement. Rappelons que le standard de codage sécuritaire Cert C, qui trouve son origine dans les travaux du Software Engineering Institute de l’université américaine de Carnegie-Mellon, décrit des règles et des recommandations pour le codage en langage C, adaptées à des applications critiques en termes de sécurité. Objectif : éliminer des pratiques de codage et des comportements non définis qui peuvent mener à des vulnérabilités exploitables par des attaques externes.
Cette version de TBsecure est désormais capable de manière automatisée de vérifier la conformité d’un code vis-à-vis de plus de 200 règles de codages Cert C. Elle s’adresse à tous les développeurs qui gèrent du code embarqué soumis à de fortes contraintes de sécurité, problématique de plus en plus fréquente dans le domaine de l’Internet des objets. L’idée sous-jacente est de détecter de potentielles failles de sécurité très tôt dans le cycle de développement du code source des logiciels embarqués écrits en C/C++. Grâce, par exemple, à l’analyse des allocations mémoire dynamiques (Dynamic Memory Allocation) ou à la détection de sources de vulnérabilités comme le déréférencement d’un pointeur.
« Alors que le nombre d’objets connectés explose dans le monde, la question de la sécurité et de la protection de ces objets face aux attaques extérieures n’a jamais été aussi prégnante, note Ian Hennell, directeur des opérations chez LDRA. Pour se prémunir et éviter de lourdes pertes financières en cas d’attaques, les équipes de développement doivent s’équiper d’outils d’analyse automatique de leur code, avant la mise en production. »
A travers le processus de vérification de l’outil TBsecure, le développeur est ainsi capable, via des graphiques et des rapports automatiques, d’avoir une vue objective sur la qualité du code et de gérer l’implantation de métriques de sécurité et de sûreté de fonctionnement dans un format facile à lire et à partager au sein d’une équipe.