"Il faut inventer de nouveaux concepts pour la protection du code logiciel et des IP dans les systèmes embarqués"

[TRIBUNE d’Hervé Roche, TRUSTED OBJECTS] Pour la protection des logiciels et des IP dans les systèmes embarqués, il devient nécessaire se développer de nouveaux concepts en étant capable de prendre en compte leurs contraintes sans compromettre leur sécurité, avec une “chaîne de confiance” d’un produit de bout en bout. Explications de Hervé Roche, le vice-président marketing de la société française Trusted Objects...

L’expression “Software & IP Protection”, souvent utilisée dans la littérature, fait référence à la protection du code logiciel OEM contre les failles de sécurité. C’est une préoccupation majeure pour les dirigeants des entreprises qui conçoivent et fabriquent des équipements embarqués. ...Alors que les risques d'atteinte à la sécurité augmentent, il n'est pas surprenant dans ce cadre que la gestion et la protection des logiciels et des IP soient un point crucial pour ces OEM car la perte de revenu directe moyenne par violation de sécurité dépasse désormais les 3 millions de dollars (*). Perte à laquelle il faut ajouter des dommages indirects tels que l’érosion de la réputation de la marque de l'entreprise ou la moindre efficacité des services par manque de sécurité.

En ce qui concerne la protection des logiciels et des IP, les principales vulnérabilités se produisent avant tout à trois moments de la vie d’un produit : pendant le processus de fabrication de l'équipement, sur l'équipement en fonctionnement, et pendant la mise à jour du logiciel via une technologie OTA (Over The Air). Pendant le processus de fabrication, dans de nombreux cas, les logiciels et les IP sont programmés dans les équipements en clair, sans aucune protection. Très souvent, le code, les données et les clés secrètes sont envoyés en clair au système de programmation ou chiffrés avec une clé facilement récupérable. De plus, le code, les données et les clés secrètes sont généralement stockés dans la machine de programmation, parfois pour une durée illimitée.

Au niveau du produit final, une fois commercialisé et installé, des acteurs malveillants peuvent tirer parti des vulnérabilités logicielles et utiliser des techniques de piratage, notamment le reverse engineering, l’extraction de code ou l'altération de code pour créer des produits clonés. Par exemple, le reverse engineering, fondé sur des attaques par canaux auxiliaires, peut être mis en œuvre avec un simple appareil du commerce payé moins de 500 $ avec des instructions de base disponibles sur le Web.

Pendant la mise à jour du logiciel OTA enfin, il est nécessaire qu’un canal sécurisé soit établi entre les serveurs et les équipements à mettre à jour. Malheureusement, de nombreux produits logiciels n'utilisent toujours pas l'authentification appropriée, laissant ce canal ouvert à l'exploitation.

Une sécurité à trois niveaux pour une vraie “chaîne de confiance”

Face à ces problématiques, des technologies de sécurité ont été déployées pendant des décennies pour protéger les données et les logiciels, dont la cryptographie, la signature numérique, le démarrage sécurisé, l’obfuscation (ou obscurcissement) des exécutables, pour ne citer que quelques exemples. Cependant, il existe encore des lacunes notoires avec ces solutions existantes pour les systèmes embarqués. Le problème de la sécurité en silos en est une. En effet, une chaîne de sécurité est aussi faible que son élément le plus faible. Si les mesures de sécurité ne corrigent pas les trois vulnérabilités mentionnées plus haut, comme la sécurité au niveau de la fabrication par exemple, alors il existe un “trou” dans la chaîne de sécurité, une zone de faiblesse pour protéger l'IP logicielle.

Au niveau de l’impact sur les performances de l’équipement, il faut noter que la plupart des solutions de sécurité ont été mises en œuvre pour des systèmes à hautes capacités tels des serveurs, des PC, des smartphones, etc. Or les systèmes embarqués ont des contraintes spécifiques en termes de performances de traitement, de taille de code, de consommation d'énergie. Conséquence : les nombreuses solutions existantes, adaptées à des systèmes informatiques classiques, dégradent considérablement les performances du système embarqué, en particulier en termes de vitesse et de consommation électrique.

Enfin, la sécurité est toujours un compromis entre le coût et le risque. Les risques n'étant pas toujours bien identifiés, les OEM cherchent naturellement la solution la moins chère, ce qui n’est pas forcément une bonne attitude à adopter. Il faut donc développer de nouveaux concepts pour la protection des logiciels et des IP au niveau des équipements eux-mêmes en étant capable de prendre en compte les contraintes des systèmes embarqués sans compromettre leur sécurité. Dans ce cadre, certains acteurs sont désormais capables de fournir un ensemble complet de solutions de sécurité garantissant une protection totalement intégrée tout au long de la “chaîne de confiance” d’un produit. Des bibliothèques sécurisées fondées sur des techniques de cryptographie et d’obfuscation se sont par exemple révélées efficaces contre le “reverse engineering”, tout en étant faciles à mettre en œuvre.

Parallèlement, les solutions centralisées de programmation sécurisée deviennent conviviales et plus aisées à mettre en œuvre que par le passé, pour un coût maîtrisé. Autant de briques technologiques – bibliothèques logicielles sécurisées, programmation et démarrage sécurisés - que Trusted Objects a mis au point pour la protection des logiciels et des IP notamment lors des opérations de mise à jour logicielle à distance Over The Air. Autre exemple, Trusted Objects s'est associé à la société System General pour que TOPS, sa solution de programmation sécurisée, soit qualifiée directement sur les équipements de programmation de System General.

(*) Etude Accenture 2019

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à la sécurité dans les systèmes embarqués : Embedded-SEC