Quand les micro-ondes déraillent : pourquoi la sécurité des systèmes embarqués est le prochain défi majeur pour les développeurs

La culture populaire regorge de références à des IA rebelles, des robots et des appareils se retournant contre leurs maîtres humains. Bien que cela relève largement de la science-fiction et de la fantaisie, la prolifération de l'IdO et des objets connectés dans nos foyers impose d'élargir le débat à la cybersécurité et à la sûreté. Le logiciel est omniprésent, et il est facile d'oublier à quel point nous dépendons de lignes de code pour toutes ces fonctionnalités ingénieuses qui nous apportent innovation et confort. Tout comme les logiciels web, les API et les appareils mobiles, le code vulnérable des systèmes embarqués peut être exploité s'il est découvert par un attaquant dans la nature.
S'il est peu probable qu'une armée de micro-ondes cherche à asservir l'humanité (bien que le robot Tesla soit quelque peu préoccupant) à la suite d'une cyberattaque, des incidents malveillants restent possibles. Certains de nos véhicules, avions et dispositifs médicaux reposent également sur des systèmes embarqués complexes pour effectuer des tâches critiques, et la perspective de voir ces objets compromis est non seulement alarmante, mais potentiellement mortelle.
Comme pour tout autre type de logiciel, les développeurs sont les premiers à manipuler le code, dès la phase de création. Et comme pour tout autre logiciel, cela peut devenir un terreau fertile pour des vulnérabilités insidieuses et courantes qui pourraient passer inaperçues avant la mise en service du produit.
Les développeurs ne sont pas des experts en sécurité, et aucune entreprise ne devrait attendre d'eux qu'ils jouent ce rôle. En revanche, ils peuvent être dotés d'un arsenal bien plus robuste pour faire face aux menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront de plus en plus utilisés à mesure que nos besoins technologiques évoluent ; une formation spécialisée en sécurité sur les outils de cet environnement est donc essentielle.
Friteuses qui explosent, véhicules incontrôlables… Sommes-nous des cibles faciles ?
Bien qu'il existe certaines normes et réglementations en matière de développement sécurisé pour assurer notre protection, nous devons accomplir des progrès bien plus précis et significatifs vers tous les types de sécurité logicielle. Il peut sembler tiré par les cheveux d'imaginer un problème causé par le piratage d'une friteuse, mais c'est déjà arrivé sous la forme d'une attaque par exécution de code à distance (permettant à l'attaquant d'augmenter la température à des niveaux dangereux), tout comme des vulnérabilités ayant conduit à la prise de contrôle de véhicules.
Les véhicules, en particulier, sont extrêmement complexes, embarquant de multiples systèmes dédiés à des micro-fonctions, allant des essuie-glaces automatiques aux capacités de freinage et de moteur. Entremêlé à une pile croissante de technologies de communication comme le Wi-Fi, le Bluetooth et le GPS, le véhicule connecté représente une infrastructure numérique complexe exposée à de multiples vecteurs d'attaque. Et avec 76,3 millions de véhicules connectés attendus sur les routes mondiales d'ici 2023, cela représente un monolithe de fondations défensives à établir pour une véritable sécurité.
MISRA est une organisation clé dans la lutte contre les menaces pesant sur les systèmes embarqués, ayant développé des directives pour faciliter la sûreté, la sécurité, la portabilité et la fiabilité du code dans ce contexte. Ces directives constituent une référence incontournable pour les projets de systèmes embarqués de toute entreprise.
Cependant, créer et exécuter un code conforme à ce standard d'excellence nécessite des ingénieurs en systèmes embarqués qui maîtrisent parfaitement leurs outils, tout en étant sensibilisés à la sécurité.
Pourquoi la montée en compétences en sécurité des systèmes embarqués est-elle si spécifique ?
Les langages de programmation C et C++ sont gériatriques selon les standards actuels, et pourtant ils restent largement utilisés. Ils forment le cœur fonctionnel du code des systèmes embarqués, et le C/C++ embarqué connaît une seconde jeunesse dans le monde des objets connectés.
Bien que ces langages aient des racines assez anciennes — et présentent des comportements de vulnérabilité similaires en termes de problèmes courants comme les failles d'injection et les dépassements de tampon — pour que les développeurs réussissent réellement à atténuer les failles de sécurité dans les systèmes embarqués, ils doivent manipuler du code qui reproduit les environnements dans lesquels ils travaillent. Une formation générique aux pratiques de sécurité en C ne sera tout simplement pas aussi efficace et mémorable que si l'on consacre du temps et de l'attention à travailler dans un contexte de C embarqué.
Avec une douzaine à plus d'une centaine de systèmes embarqués dans un véhicule moderne, il est impératif que les développeurs reçoivent une formation précise sur ce qu'il faut rechercher et comment le corriger, directement dans l'IDE.

Protéger les systèmes embarqués dès la conception est la responsabilité de tous
Dans de nombreuses organisations, le statu quo veut que la vitesse de développement l'emporte sur la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Ils sont rarement évalués sur leur capacité à produire du code sécurisé, le développement rapide de fonctionnalités impressionnantes restant la norme. La demande en logiciels ne fera qu'augmenter, mais cette culture nous condamne à une bataille perdue d'avance contre les vulnérabilités et les cyberattaques qu'elles permettent.
Si les développeurs ne sont pas formés, ce n'est pas de leur faute. C'est une lacune que l'équipe AppSec doit aider à combler en recommandant des programmes de montée en compétences adaptés et accessibles pour toute la communauté des développeurs. Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité absolue, en donnant à chacun — et surtout aux développeurs — les moyens de jouer son rôle.
Se confronter aux problèmes de sécurité des systèmes embarqués
Le dépassement de tampon, les failles d'injection et les bugs de logique métier sont des pièges courants dans le développement de systèmes embarqués. Lorsqu'ils sont enfouis au cœur d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut mener au désastre sur le plan de la sécurité.
Le dépassement de tampon est particulièrement fréquent, et si vous souhaitez approfondir la manière dont il a permis de compromettre la friteuse dont nous avons parlé précédemment (en permettant l'exécution de code à distance), consultez ce rapport sur la CVE-2020-28592.
Il est temps de passer à la pratique avec une vulnérabilité de dépassement de tampon dans du code C/C++ embarqué réel. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvaises pratiques de codage à l'origine de ce bug insidieux :
.avif)
Comment vous en êtes-vous sorti ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.
Gouvernez le développement assisté par IA avant la mise en production
Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.
Explorer plus d'articles
Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Une culture de la sécurité : comment Sage a bâti son programme de champions
Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise
Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

Levier 8 : Valoriser votre programme
Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.
.avif)
Chaque employé est désormais en première ligne de la cybersécurité IA
Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.
Sécurisez le développement piloté par l'IA avant le déploiement
Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.
