Coverity : les tests de développement comme accélérateur de la sécurité logicielle

Pour Coverity, il faut replacer les tests au coeur des cycles de développement afin de les accélérer. Un pan souvent oublié ou limité, mais qui peut coûter cher aux entreprises en matière de sécurité.

«Les entreprises sont très pressées de lancer des nouveaux produits sur le marché. Les formes traditionnelles d’assurance qualité ne suffisent plus. Il faut désormais tester au niveau des phases de développement.» C’est ainsi que Chris Adlard, directeur marketing et relation client chez Coverity et Scott Tolley, ingénieur avant-vente chez Coverity, de passage à Paris, sont venus évangéliser l’intérêt des tests de développement dans les cycles des applications. La société, connue pour son analyse statique via le Coverity Scan, a notamment séduit de grandes références en France, comme l’Anssi (Agence nationale de la sécurité des systèmes d'information), qui a décidé en novembre 2011 de s’appuyer sur Coverity Static Analysis pour évaluer le niveau de sécurité des systèmes d’informations de l’Etat. 

Si comme l’indique Chris Adlard, «on sait qu’il est plus cher de réaliser les tests à la fin des cycles de développement qu’au moment de son écriture», il apparait aujourd’hui que les entreprises peinent encore à inclure les tests dans les cycles de développement. On parle généralement du parent pauvre des phases de développement, pour qualifier le test logiciel, plus globalement.

Les gains sont, outre une amélioration de la sécurité du code, une accélération du time-to-market et une diminution des coûts, lance en substance Chris Adlard. Par exemple, Neopost, le spécialiste de l’équipement des salles de courriers (et un client Coverity) indique avoir réduit de 50% les cycles de développements de ses solutions embarquées.

 Accentuer la sécurité

Les tests de développement visent à tester le code lors de sa production afin de détecter et corriger les éventuels défauts. «Nous avons commencé sur la qualité sans forcément se concentrer sur la sécurité. Il existe depuis longtemps des outils d’audit de code pour générer des rapports énormes sur les points défectueux en matière de sécurité. Maintenant, nous appliquons notre méthode de test de développement lorsque le développeur écrit son code, à la problématique sécurité. Plutôt que d’attendre qu’une équipe de sécurité dresse un rapport énorme, après 6 mois de développement. Nous allons le faire en continu avec des gens qui connaissent le code, bien placés pour faire les correctifs au même moment qu’il introduise à leur insu une faille de sécurité», raconte Scott Tolley. Coverity a ainsi annoncé en juin dernier Web Application Security. Une offre qui porte le savoir-faire de la société en matière d’analyse statique de code C et C++ (compilés donc) sur les plates-formes Web écrites en Java.

«Nous supportons les principaux frameworks du marché, comme Spring. La solution prend en compte les spécificités de chaque framework ainsi que les flux de données pour les analyses sécuritaires. Nous n’analysons pas les frameworks mais par exemple, lors d’une possibilité d’injection SQL, si le framework fait un appel SQL, la faille est détectée», explique encore Scott Tolley. 

Vers une certification ?

Restera également à combler l’une des lacunes du marché : l’absence d’une certification qui puisse apporter un sceau approbateur aux applications et valider la qualité et la sécurité des applications. «Certains clients ont besoin d’assurance qualité sur le code, et pour des raisons de sécurité, pas forcément de qualité. Ils ont en fait besoin d’un certificat pour valider que le code a été vérifié par une entreprise comme Coverity. Dans la mobilité, dans l’industrie médicale, il s’agit d’un vrai besoin», indique Chris Adlard. En clair, l'industrie doit travailler à un certificat logiciel comme il en existe pour le hardware.

Egalement sur LeMagIT.fr : 

Les défauts logiciels coûtent en moyenne 3,61 $ par ligne de code 

Pour approfondir sur Editeurs