Partager

Cogito : sécuriser les logiciels embarqués

Cogito est une chaîne de compilation qui permet d’appliquer automatiquement des contre-mesures afin d’accroître la sécurité des logiciels et des données embarquées dans les systèmes électroniques contre les attaques par canal auxiliaire et par injection de fautes.

L’usage

Des contremesures logicielles dans les systèmes embarqués

Les logiciels embarqués dans les systèmes électroniques, tels que les cartes à puces, les objets connectés ou les smartphones, sont amenés à collecter, stocker et traiter des données sensibles. Or, ces logiciels se révèlent, en particulier, vulnérables à une classe d’attaques appelée attaques matérielles qui sont les attaques par canaux auxiliaires et celles par injection de fautes.

Les premières procèdent par l’observation du comportement physique du système (e.g., consommation électrique) lors de l’exécution du logiciel. Les deuxièmes provoquent des perturbations physiques, par exemple, en injectant des parasites sur le signal d’alimentation ou d’horloge du processeur. Ces attaques en fautes visent à détourner le logiciel de son fonctionnement normal dans le but de divulguer de l’information cachée ou de court-circuiter des protections.

Cogito sécurise les applications embarquées contre ce type d’attaques en intégrant automatiquement, lors de la phase de compilation, des contremesures dans les logiciels potentiellement vulnérables. Cette approche de sécurisation du logiciel lors de la compilation conduit à :

  • réduire les temps de développement liés à l’application de contremesures ;
  • industrialiser la démarche de sécurisation en la rendant à la fois plus économique et plus sûre.

 

Les contremesures proposées par Cogito sont variées et nombreuses. Le CEA-List a développé des briques logicielles reposant sur des techniques qu’il a lui-même brevetées, comme la sécurisation basée sur le polymorphisme de code. Cette technique consiste à générer des variations de comportement du logiciel sans modifier ses propriétés fonctionnelles afin de réduire fortement l’efficacité des attaques.

Cogito est une chaîne de compilation qui s’appuie sur la plateforme LLVM.

Ses atouts

Léger et portable

Les forces principales de l’outil sont :

  • une empreinte réduite en termes de coût et d’usage de ressources et un faible impact en performance qui le rend adapté aux systèmes embarqués contraints,
  • une portabilité sur des plateformes variées des composant IoT et mobiles vers les serveurs,
  • un positionnement de solution complémentaire aux techniques usuelles de protection,
  • l’écosystème du CEA-List, acteur reconnu dans la cybersécurité.

Banc de mesure de rayonnement électromagnétique observé avec une sonde et un oscilloscope. L’enjeu de Cogito est, par exemple, d’empêcher ce vecteur d’attaques.

Domaines d'application

  • IoT
  • Objets connectés basse consommation
  • Automobile
  • Industrie
  • Mobiles

Publications

À lire également

Domaines applicatifs

Cybersécurité : garantir la sécurité et la confidentialité par conception

Au cœur des enjeux de souveraineté numérique, la cybersécurité constitue aujourd’hui un pan essentiel de nos sociétés. Garante de l’autonomie et de la paix dans le cyberespace, elle est un ...
Lire la suite
Plateformes technologiques

Cybersécurité

Identifier les vulnérabilités de systèmes matériels et logiciels et développer des techniques de protection expertes.
Lire la suite