La version 5.1 de l’outil d’analyse de code statique (source et binaire) CodeSonar de l’américain GrammaTech (distribué en France par ISIT) met l’accent sur les spécificités du domaine de l’Internet des objets (IoT). ...Et ce à travers, notamment, de l’intégration du moteur d’analyse Julia de la firme italienne JuliaSoft pour une prise en charge des langages C#, Java et Python. Avec CodeSonar, les développeurs peuvent ainsi, avec un seul et même outil, détecter, évaluer et corriger les vulnérabilités de sécurité de leurs logiciels, tout en restant libres du choix du langage de programmation pour leurs applications.
Grâce au moteur Julia intégré dans CodeSonar, les développeurs obtiennent désormais un rapport “niveau de détection des vulnérabilités/faux positifs” très élevé, mesuré lors du dernier benchmark (voir ci-joint) de l’organisme OWASP (Open Web Application Security Project, communauté en ligne travaillant sur la sécurité des applications Web). L’objectif ici est de tenir compte d’une des spécificités du domaine de l’IoT qui est de mixer différents langages de programmation suivant leurs fonctions : Java et C#, voire Python, pour les parties IHM ou les applications mobiles, et C/C++ pour les parties embarquées. D’où l’importance d’assurer une même qualité d’analyse sur l’ensemble des modules d’un projet IoT afin d’obtenir une analyse du code homogène de bout en bout.
De plus, les équipements de l’IoT sont de plus en plus liés à des systèmes sécuritaires dont les logiciels doivent être certifiés. Afin d’atteindre ces objectifs, l’outil CodeSonar 5.1 a étendu le kit de qualification qui lui est associé aux normes CEI 61508, DO-178B/C et ISO 26262. Ce kit permet aux concepteurs de qualifier CodeSonar dans leur environnement de développement, étape préparatoire et souvent indispensable dans le processus de certification des équipements.
CodeSonar 5.1 prend également désormais en charge l’importation et l’exportation des résultats d’analyse au format SARIF (Static Analysis Results Interchange Format), une norme émergente soutenue par GrammaTech qui a pour objectif d’améliorer l’intégration entre les outils d’analyse de code et les autres outils de génie logiciel.
Enfin, parallèlement, GrammaTech fait évoluer son module de détection d’anomalies des API qui utilise désormais des principes d’apprentissage statistique (Machine Learning). Ce qui permet de détecter des problèmes de fiabilité ou de sécurité dus à de mauvaises utilisations des API de bibliothèques tierces telles C GNU, OpenSSL, Qt, Glib, GTK, libXML, etc.