CORDIS - Résultats de la recherche de l’UE
CORDIS

Article Category

Article à la une
Contenu archivé le 2024-04-23

Article available in the following languages:

En vedette - Réduire les coûts des logiciels évolutifs et sûrs

Les systèmes basés sur des logiciels sont de plus en plus sûrs et leur durée d'utilisation dépasse bien souvent la durée prévue. Il reste cependant difficile et coûteux de prévoir les logiciels pour qu'ils puissent évoluer et répondre à de nouveaux modèles d'utilisation, exigences et menaces, tout en restant sûrs. Des chercheurs financés par l'UE se sont attaqués à ce défi avec une approche radicalement nouvelle du développement, de la vérification et du déploiement des logiciels.

Économie numérique icon Économie numérique

Avez-vous récemment téléchargé une nouvelle application sur votre téléphone intelligent? Avez-vous remarqué la case à cocher «Mise à jour automatique»? Il existe bien des raisons pour mettre à jour les logiciels, qu'il s'agisse de bénéficier de nouvelles fonctionnalités ou de corriger des failles de sécurité qui pourraient faire de vous la victime de pirates. Mais il arrive que les nouvelles fonctionnalités téléchargées introduisent de nouvelles vulnérabilités. Tel est, en substance, le problème des approches traditionnelles du développement et du déploiement des logiciels: un compromis entre la sécurité et souplesse. «Supposons que vous ayez développé un logiciel sécurisé. Vous le livrez au client et vous devez ensuite le mettre à jour, par exemple pour l'enrichir de fonctions pour qu'il maintienne une position compétitive. Si, à chaque actualisation, vous devez tout reprendre à zéro et vérifier tous les codes, même si vous n'en avez modifié qu'une toute petite partie, les coûts et les délais sont considérables», explique Fabio Massacci, professeur d'informatique à l'université de Trente en Italie. Le professeur Massacci, qui a coordonné le projet SecureChange (1) consacré à ce problème, cite les navigateurs web comme exemple courant de logiciels régulièrement mis à jour et soumis à des exigences strictes en termes de sécurité. Une analyse menée par l'équipe de SecureChange, couvrant cinq ans et six mises à jour majeures du navigateur Firefox, a déterminé qu'environ un tiers du code du logiciel était modifié d'une version à la suivante. D'autre part, chaque nouvelle version héritait de la précédente un bon nombre de vulnérabilités, un problème également rencontré par d'autres navigateurs comme Chrome et IE. La nécessité de fréquentes mises à jour signifie qu'on dispose de moins de temps pour les tester et les vérifier. Est-il cependant possible de ne tester que les nouvelles parties et de maintenir la sécurité et l'intégrité du système dans son ensemble? Avec un financement de 5,1 millions d'euros de la Commission européenne, les chercheurs de SecureChange ont conçu la méthodologie, les techniques et les outils pour rendre plus souple, plus sécurisé et beaucoup moins coûteux en temps et en argent l'ensemble du cycle de vie des logiciels, depuis l'ingénierie des exigences, la conception, le développement, les tests et la vérification jusqu'au déploiement et aux mises à jour. Le changement: un élément de première importance «Notre principale idée a été de considérer le changement comme un élément majeur, et d'utiliser des règles d'évolution pour le logiciel pour garantir que chaque changement respecte les propriétés de sécurité souhaitées. Ainsi, on est certain que chaque modification répond automatiquement aux propriétés souhaitées», déclare le professeur Massacci. L'approche s'est axée sur le «delta», à savoir la différence entre l'ancienne et la nouvelle version du logiciel. Un ensemble d'outils innovants permet aux développeurs et aux testeurs de travailler en synchronisme et d'identifier automatiquement les seules parties de code à tester, ainsi que les propriétés vérifiées qui sont préservées d'une version à la suivante. «Les ingénieurs de tests peuvent identifier aisément et rapidement quels sont les tests nécessaires, ce qui est nouveau et ce qui est obsolète. Ils évitent ainsi de re-tester des millions de lignes de code inchangées et peuvent consacrer leurs efforts à ce qui est réellement nouveau et donc potentiellement plus risqué», explique le professeur Massacci. En matière de développement, l'approche des processus d'ingénierie de l'équipe de SecureChange a consisté à opérer les changements du logiciel de façon granulaire plutôt que de les intégrer directement, ce qui fait que les modifications apportées à un élément du logiciel n'impactent pas nécessairement les autres éléments. Chose importante, cette approche fonctionne aussi bien pour des logiciels de petite taille que pour des systèmes critiques comportant des millions d'éléments. Ce potentiel a été démontré par les chercheurs de SecureChange grâce à plusieurs prototypes basés sur des cas réels et impliquant plusieurs entreprises partenaires. Avec Thales en France, l'équipe a cherché comment ses outils et son approche pouvaient améliorer et accélérer l'intégration de nouvelles fonctionnalités dans un système de gestion du trafic aérien qui nécessite des changements au niveau des processus organisationnels et opérationnels. Avec Telefónica en Espagne, les chercheurs ont mis en œuvre une technologie prototype sur des fonctionnalités de réseaux domestiques, critiques en termes de sécurité. Elles ont permis au réseau de se configurer et de se reconfigurer dynamiquement, de façon sécurisée, afin d'intégrer de nouveaux matériels comme le smartphone (téléphone intelligent) d'un ami en visite. Avec Gemalto, une société française de sécurité numérique, les chercheurs ont mis en place leur système avec des cartes à puce et des jetons d'authentification, comme ceux qui sont utilisés pour payer les transports publics et d'autres services, afin de mettre à jour le logiciel de façon sécurisée. «Prenez par exemple une carte Visa ou Mastercard. Ce serait bien pratique de l'utiliser aussi comme carte à puce pour prendre le train, mais c'est actuellement impossible. Cela prendrait trop de temps et d'argent à une tierce partie, comme la compagnie ferroviaire, de vérifier tous les changements qu'ils apportent au logiciel de la carte. Nous avons montré que notre approche permet de mettre en place aisément et rapidement de telles fonctionnalités, et nous l'avons prouvé non seulement de façon théorique mais aussi, et pour la première fois, dans des applications pratiques», ajoute le professeur Massacci. Retombées et projets commerciaux Le coordinateur de SecureChange précise que les partenaires industriels du projet exploitent en interne certains des résultats. Un outil appelé EvoTest et développé par SmartTesting, un partenaire français, est ainsi actuellement en production commerciale, alors que d'autres ont été publiés sous forme de logiciels ouverts. Le projet a également contribué à la création d'une entreprise dérivée, QE LaB Business Services, issue de l'université d'Innsbruck et du Centre for Academic Spin-Offs du Tyrol en Autriche. Parallèlement, une communauté «open source» poursuit le développement de certaines de ces solutions pour un composant appelé EMF-IncQuery et proposé à la fondation Eclipse. Le principal résultat de l'approche de SecureChange, au cas où elle serait largement adoptée par les développeurs, serait une réduction spectaculaire du délai de commercialisation des nouveaux logiciels et des nouvelles versions, ainsi qu'une diminution considérable des coûts de test et de vérification des logiciels. Actuellement, les tests représentent environ la moitié des coûts avant la commercialisation d'un logiciel, et jusqu'à 70% des coûts après. Dans le même temps, 6 projets de développement de logiciel sur 10 ne parviennent pas au niveau désiré de fonctionnalité et plus de 8 sur 10 ne sont pas achevés dans les délais. «Non seulement le risque d'erreurs et de failles de sécurité serait réduit, mais les entreprises pourraient publier leurs logiciels beaucoup plus rapidement, leur permettant de saisir rapidement les opportunités offertes par le marché», souligne le professeur Massacci. Le projet SecureChange a reçu un financement de la recherche au titre du thème Technologies futures et émergentes (FET) du septième programme-cadre (7e PC) de l'Union européenne. (1) «Security engineering for lifelong evolvable systems» Liens utiles: - FET - Site web du projet «Security engineering for lifelong evolvable systems» - Fiche d'information du projet SecureChange sur CORDIS