Au cours de la première réunion avec notre commanditaire, nous avons défini les objectifs techniques de cette veille technologique qui sont de trouver des moyens de sécuriser au maximum les logiciels développés par Sogeti. M Bufferne nous propose donc d'orienter nos recherches sur des logiciels très spécifiques qui permettent au programmeur d'analyser son code et de combler les failles de sécurité courantes au cours du développement.
Une fois les objectifs du commanditaire définis, nous avons convenu de plusieurs axes de veille dans le but de répondre à ces objectifs, mais aussi de proposer une solution durable à la problématique de cette veille technologique.
Nous devons donc dans un premier temps décidé de réaliser une recherche des outils présents sur le marché permettant un développement avec un niveau de sécurité supérieur à la normale. Une partie des outils nous a été donnée par le commanditaire afin de savoir le type de logiciel attendu, et aussi pour obtenir une analyse et un comparatif complet de ces outils. A cela, nous devons trouver d'autres outils complétant cette liste, en gardant en mémoire le fait que ces outils pourraient éventuellement être utilisés à l'avenir par Sogeti.
Ensuite, ces logiciels permettant le test du développement d'applications ne sont surement pas suffisants pour fournir une solution durable en ce qui concerne la sécurité des logiciels embarqués. Ainsi, nous avons choisi de prendre contact avec des laboratoires de recherches en sécurité informatique dans le but de comprendre les problèmes de sécurité actuels et à venir. En supposant que ces laboratoires vont publier des rapports et même contacter les sociétés de développement dans ce domaine, il est essentiel de savoir quels sont les projets sur lesquels ils travaillent pour pouvoir proposer des outils qui s'orientent plus vers l'avenir.
La question de sécurité d'un logiciel reflète la possibilité d'attaques ce qui est le point important sur lequel a insisté le commanditaire. Il paraît normal que les clients de Sogeti n'aient pas à se soucier des problèmes de sécurité. En effet, durant les 5 années précédentes, de nombreux groupes de pirates informatiques ont mis en place des fortes actions sur les systèmes embarqués.
On peut alors supposer que l'aspect juridique n'est pas négligeable en ce qui concerne ce projet. Nous allons ainsi réaliser des recherches sur les lois françaises et internationales qui gèrent ces attaques et sur les moyens qui existent pour gérer ce genre d'attaques.
Finalement, les outils de test de développement proposés dans notre premier axe utilisent des standards de programmation. Il faut que l'on s'informe sur les standards qui existent pour savoir précisément la façon dont les failles de sécurité sont détectées. On pourra donc savoir quels types de problèmes sont traités et définir un tri des outils de sécurité proposés.
Notre sujet de veille technologique va suivre les 4 axes suivants :
Grâce à nos recherches, nous avons pu remarquer que les systèmes embarqués étaient très présents dans le monde d’aujourd’hui. Ils vont prendre une place de plus en plus importante, ce qui souligne le fait que l’aspect sécuritaire est d’autant plus prépondérant. L’évolution des techniques et méthodes utilisées pour les attaques informatiques ne cessera pas d’évoluer. Il faudra donc s’adapter en fonction.
On a pu voir qu’il existe de grands enjeux concernant la sécurité dans les systèmes embarqués, car ils impliquent le transport d’informations confidentielles qui peuvent être critiques. Les clients des fournisseurs de logiciels demandent donc des applications dont l’aspect sécuritaire a été étudié. On peut voir apparaitre de plus en plus de contrats entre les clients et fournisseurs, mais aussi entre les fournisseurs de systèmes embarqués et les fournisseurs de solution de sécurité. Cela va permettre une assurance dans le cas où il persisterait des problèmes au niveau sécurité.
Les fournisseurs de solution de sécurité vont s’appuyer sur à la fois des listes de faiblesses et vulnérabilités du code afin de promouvoir leurs applications de vérification de code source, mais aussi sur de nombreuses normes de programmation spécifiques aux sous-domaines de l’embarqué (automobile, téléphonie, industrie, aéronautique…). Ces standards de programmation vont donc permettre la conception de logiciels de vérification de code.
Il existe deux types de logiciels permettant de mettre en place des systèmes embarqués sécurisés : les logiciels de vérification de code, qui interviennent très tôt dans le développement de l’application embarquée, et les logiciels qui s’installent au niveau du système embarqué qui permettent de bloquer directement les attaques. On peut citer Coverity et Fortify, pour les logiciels de vérification de code, ainsi que CodeMetter et McAffee Embedded Control pour les logiciels de contrôle. Afin s’assurer une sécurité optimale, il est conseillé d’utiliser un logiciel de chaque par système embarqué.
La prospective concernant les solutions de sécurité dans les logiciels embarqués tend à mettre en place plus de verrous au niveau matériel. Malgré cette tendance, des changements auront aussi lieu au niveau du code source en utilisant par exemple des technologies de cryptage et des systèmes d’extraction de données suite à une attaque.