Les systèmes numériques font partie intégrante de notre quotidien : systèmes d’information, automates programmables sur sites de production, transports, dispositifs de santé critiques, … Au cœur de ces dispositifs se trouvent les systèmes embarqués, petits ensembles matériels et logiciels (microcontrôleurs, FPGA, …) qui sont responsables de la gestion (acquisition, traitement, transmission, sauvegarde) des données.
Ces dispositifs, souvent indépendants, sont optimisés pour réaliser de façon stable et efficace des opérations dédiées en temps réel. Etant au cœur des systèmes car au cœur de gestion des données, ils sont la cible des cyberattaquants.
DES SYSTÈMES VULNÉRABLES
Les vulnérabilités des systèmes embarqués offrent à l’attaquant une chance de gagner un accès à des données confidentielles ou à prendre le contrôle du dispositif en vue de mener d’autres attaques pouvant entraîner l’indisponibilité du système (déni de service), sa destruction (cas des centrifugeuses iraniennes avec le ver Stuxnet) ou l’atteinte aux personnes (cas illustré par Charlie Miller et Chris Valasek sur le contrôle de la Jeep Cherokee en 2015 ou décès d’un patient à l’hôpital de Dusseldorf en 2020 conséquence indirecte d’une cyberattaque).
L’ensemble de ces vulnérabilités constitue la surface d’attaque du système embarqué mais elles contribuent aussi à augmenter la surface d’attaque du système dans lequel ils sont intégrés.
Prenons par exemple les télécommandes des voitures Tesla qui ont été à plusieurs reprises vulnérables (CVE-2020-29438, CVE-2020-29439, CVE-2020-29440 par exemple concernant le model X). Le système embarqué dans la télécommande permet d’assurer de façon sécurisée l’ouverture/fermeture du véhicule et le démarrage/arrêt du moteur. Exploiter la télécommande permet par rebond de prendre le contrôle de la voiture.
LES DÉFIS DE LA SÉCURISATION DES SYSTÈMES EMBARQUÉS
Sécuriser un système embarqué c’est limiter, voire empêcher un accès malveillant au dispositif en vue d’une exploitation frauduleuse. Cependant, sécuriser un tel dispositif comporte de nombreux défis à cause des limitations et des contraintes de l’architecture. D’une part, ces systèmes ont été développés en vue de réaliser une opération parfaitement ciblée. Par conséquent, l’architecture optimise et se fige autour de cette exigence fonctionnelle. Tout ajout de fonctionnalités de cybersécurité est contraint par un manque de ressources (puissance de calcul et/ou mémoire limitées par exemple).
D’autre part, une fois en base installée, il s’avère difficile de mettre en place une campagne de mise à jour à l’échelle soit par l’impossibilité d’ajouter simplement de nouvelles fonctionnalités (c’est le cas par exemple des mises à jour matérielles), soit par l’impossibilité d’accéder au dispositif, soit à cause d’une requalification complète du dispositif qui s’avère longue et coûteuse.
Il est par conséquent préférable de sécuriser ces dispositifs dès leur conception : on parle de sécurité par design. Cela permet de réduire les coûts induits par une sécurisation a posteriori, et de pouvoir allouer des ressources additionnelles permettant de mieux protéger le dispositif.
LES APPROCHES DE SÉCURISATION DES SYSTÈMES EMBARQUÉS
Pour faire face aux défis de sécurisation des systèmes embarqués, il est important d’inclure le traitement des exigences de sécurisation dans le cycle de développement projet. Une analyse de risques bien réalisée permet d’identifier des scenarii vraisemblables d’attaques devant être couverts par des fonctionnalités de sécurité intégrées aux dispositifs. La recherche d’un compromis entre la sécurité, les performances, les coûts et le calendrier projet est un point important du pilotage de ce type de projet.
Il est fondamental dans les phases de conception de pouvoir s’appuyer sur des bonnes pratiques de conception liées à l’état de l’art des techniques de cybersécurité.
LA FORMATION CONTINUE EST UN LEVIER IMPORTANT
La formation est un levier important de réussite dans l’objectif de protéger ses systèmes. Toutes les parties prenantes dans la conception et le suivi en opération sont ciblés dans ces formations. La conception sécurisée doit être un réflexe pour tous.
Les programmes de formation continue sont conçus en collaboration avec nos clients afin d’être aux plus proche de leurs préoccupations, du contexte opérationnel de leurs dispositifs et de la typologie des dispositifs eux-mêmes. Dans le but de toucher un maximum de personnes, ces formations sont dispensées en mode présentiel et en mode distanciel.
La meilleure façon de se protéger d’un risque cyber est de comprendre la démarche d’un attaquant et de mettre en œuvre des pratiques de tests incluant les tests d’intrusion. Pour atteindre cet objectif, les formations intègrent un grand nombre de cas pratiques en plus d’un contenu théorique à jour des connaissances actuelles en la matière :
- Des analyses de risques sur la base de la méthode Ebios visant à élaborer des scenarios vraisemblables, et identifier des fonctionnalités de sécurité (i.e. cyberattaques sur les systèmes GPS),
- Des études de cas basées sur des CVE récentes (i.e. Jeep Cherokee ou Tesla),
- Des exercices ciblés en mode résolution de défis ou tutoriel (i.e. exploitation de binaires),
- Des mises en œuvre de tests d’intrusion sur des dispositifs réalistes,
- Une expérience immersive appelée cyberlympics. Cette dernière consiste à cartographier la surface d’attaque d’un dispositif inconnu réaliste. Exploiter ses vulnérabilités et réfléchir à des contremesures permettant de protéger le dispositif. Cette approche permet de s’exercer sur l’exploitation de vulnérabilités matérielles et logicielles.