
Quand les micro-ondes fonctionnent mal : pourquoi la sécurité des systèmes embarqués est la prochaine bataille des développeurs
Il existe de nombreuses références à la culture pop à des IA et à des robots malhonnêtes, ainsi qu'à des appareils qui s'en prennent à leurs maîtres humains. Il est fortement imprégné de science-fiction et de fantasy, mais l'IoT et les appareils connectés étant de plus en plus répandus dans nos foyers, il devrait en être de même pour les discussions sur la cybersécurité et la sécurité. Les logiciels sont omniprésents et il est très facile d'oublier à quel point nous nous appuyons sur des lignes de code pour effectuer toutes ces tâches intelligentes qui nous apportent tant d'innovation et de commodité. 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 dans la nature par un attaquant.
Bien qu'il soit peu probable qu'une armée de micro-ondes vienne asservir la race humaine (bien que le Robot Tesla est un peu préoccupant) car à la suite d'une cyberattaque, des cyberévénements malveillants sont toujours possibles. Certaines de nos voitures, avions et dispositifs médicaux s'appuient également sur un code de systèmes intégrés complexe pour effectuer des tâches clés, et la perspective que ces objets soient compromis est non seulement alarmante, mais potentiellement mortelle.
Comme tous les autres types de logiciels, les développeurs sont parmi les premiers à toucher au code, dès le début de la phase de création. Et comme tout autre type de logiciel, celui-ci peut être à l'origine de 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 s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être dotés d'un arsenal bien plus puissant pour faire face au type de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront utilisés de plus en plus fréquemment à mesure que nos besoins technologiques continuent d'évoluer, et une formation spécialisée en sécurité pour les développeurs sur les outils de cet environnement est essentielle.
Des friteuses à air qui explosent, des véhicules malhonnêtes... Sommes-nous des canards assis ?
Bien qu'il y ait quelques normes et réglementations relatives à tout développement sécurisé Pour assurer notre sécurité, nous devons faire des progrès bien plus précis et significatifs en matière de sécurité logicielle sous tous ses aspects. Il peut sembler exagéré de penser à un problème pouvant être causé par le piratage d'une friteuse à air, mais c'est arrivé sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'élever la température à des niveaux dangereux), tout comme les vulnérabilités conduisant à des prises de contrôle de véhicules.
Les véhicules, en particulier, sont particulièrement complexes, car ils sont dotés de multiples systèmes intégrés, chacun prenant en charge des microfonctions, des essuie-glaces automatiques aux capacités du moteur et du freinage. Associé à un ensemble croissant de technologies de communication telles que 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 devraient circuler dans le monde d'ici 2023, qui représente un monolithe de bases défensives à poser pour une véritable sécurité.
MISRA est une organisation clé qui lutte efficacement contre les menaces liées aux systèmes embarqués, ayant élaboré des directives visant à faciliter la sûreté, la sécurité, la portabilité et la fiabilité du code dans le contexte des systèmes embarqués. Ces directives constituent la pierre angulaire des normes que chaque entreprise doit respecter dans le cadre de ses projets de systèmes embarqués.
Cependant, pour créer et exécuter du code conforme à cette norme de référence, il faut des ingénieurs en systèmes embarqués qui ont confiance en ces outils, sans parler de leur niveau de sécurité.
Pourquoi le renforcement des compétences en matière de sécurité des systèmes embarqués est-il si spécifique ?
Les langages de programmation C et C++ sont gériatriques selon les normes actuelles, mais restent largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et Embedded C/C++ bénéficie d'une vie moderne et brillante dans le monde des appareils 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 tels que les failles d'injection et le dépassement de la mémoire tampon, pour que les développeurs réussissent réellement à atténuer les bogues de sécurité des systèmes embarqués, ils doivent se familiariser avec un code imitant les environnements dans lesquels ils travaillent. La formation générique en C sur les pratiques générales de sécurité ne sera tout simplement pas aussi efficace et mémorable que si vous consacriez plus de temps et de soin à travailler dans un contexte C intégré.
Avec une douzaine à plus d'une centaine de systèmes intégré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 y remédier, directement dans l'IDE.

La protection des systèmes embarqués depuis le rez-de-chaussée est la responsabilité de tous
Le statu quo dans de nombreuses organisations est que la rapidité du développement l'emporte sur la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Leur capacité à produire du code sécurisé est rarement évaluée, mais le développement rapide de fonctionnalités géniales constitue la référence absolue. La demande de logiciels ne fera qu'augmenter, mais cette culture nous a préparés à une bataille perdue 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, et c'est une lacune qu'un membre de l'équipe AppSec doit aider à combler en recommandant des programmes de renforcement des compétences adaptés et accessibles (pour ne pas dire évaluables) à l'ensemble de la communauté des développeurs. Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité, et chacun, en particulier les développeurs, doit avoir le rôle dont il a besoin pour jouer son rôle.
Résoudre les problèmes de sécurité des systèmes embarqués
Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.
Le débordement de mémoire tampon est particulièrement fréquent, et si vous souhaitez en savoir plus sur la façon dont cela a contribué à compromettre la friteuse à air dont nous avons parlé précédemment (permettant l'exécution de code à distance), consultez ce rapport sur CVE-2020-28592.
Il est maintenant temps de se familiariser avec une vulnérabilité de débordement de mémoire tampon, dans un véritable code C/C++ intégré. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvais modèles de codage à l'origine de ce bogue insidieux :
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.


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 dans la nature par un attaquant.
Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démoMatias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.
Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.
Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.


Il existe de nombreuses références à la culture pop à des IA et à des robots malhonnêtes, ainsi qu'à des appareils qui s'en prennent à leurs maîtres humains. Il est fortement imprégné de science-fiction et de fantasy, mais l'IoT et les appareils connectés étant de plus en plus répandus dans nos foyers, il devrait en être de même pour les discussions sur la cybersécurité et la sécurité. Les logiciels sont omniprésents et il est très facile d'oublier à quel point nous nous appuyons sur des lignes de code pour effectuer toutes ces tâches intelligentes qui nous apportent tant d'innovation et de commodité. 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 dans la nature par un attaquant.
Bien qu'il soit peu probable qu'une armée de micro-ondes vienne asservir la race humaine (bien que le Robot Tesla est un peu préoccupant) car à la suite d'une cyberattaque, des cyberévénements malveillants sont toujours possibles. Certaines de nos voitures, avions et dispositifs médicaux s'appuient également sur un code de systèmes intégrés complexe pour effectuer des tâches clés, et la perspective que ces objets soient compromis est non seulement alarmante, mais potentiellement mortelle.
Comme tous les autres types de logiciels, les développeurs sont parmi les premiers à toucher au code, dès le début de la phase de création. Et comme tout autre type de logiciel, celui-ci peut être à l'origine de 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 s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être dotés d'un arsenal bien plus puissant pour faire face au type de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront utilisés de plus en plus fréquemment à mesure que nos besoins technologiques continuent d'évoluer, et une formation spécialisée en sécurité pour les développeurs sur les outils de cet environnement est essentielle.
Des friteuses à air qui explosent, des véhicules malhonnêtes... Sommes-nous des canards assis ?
Bien qu'il y ait quelques normes et réglementations relatives à tout développement sécurisé Pour assurer notre sécurité, nous devons faire des progrès bien plus précis et significatifs en matière de sécurité logicielle sous tous ses aspects. Il peut sembler exagéré de penser à un problème pouvant être causé par le piratage d'une friteuse à air, mais c'est arrivé sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'élever la température à des niveaux dangereux), tout comme les vulnérabilités conduisant à des prises de contrôle de véhicules.
Les véhicules, en particulier, sont particulièrement complexes, car ils sont dotés de multiples systèmes intégrés, chacun prenant en charge des microfonctions, des essuie-glaces automatiques aux capacités du moteur et du freinage. Associé à un ensemble croissant de technologies de communication telles que 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 devraient circuler dans le monde d'ici 2023, qui représente un monolithe de bases défensives à poser pour une véritable sécurité.
MISRA est une organisation clé qui lutte efficacement contre les menaces liées aux systèmes embarqués, ayant élaboré des directives visant à faciliter la sûreté, la sécurité, la portabilité et la fiabilité du code dans le contexte des systèmes embarqués. Ces directives constituent la pierre angulaire des normes que chaque entreprise doit respecter dans le cadre de ses projets de systèmes embarqués.
Cependant, pour créer et exécuter du code conforme à cette norme de référence, il faut des ingénieurs en systèmes embarqués qui ont confiance en ces outils, sans parler de leur niveau de sécurité.
Pourquoi le renforcement des compétences en matière de sécurité des systèmes embarqués est-il si spécifique ?
Les langages de programmation C et C++ sont gériatriques selon les normes actuelles, mais restent largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et Embedded C/C++ bénéficie d'une vie moderne et brillante dans le monde des appareils 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 tels que les failles d'injection et le dépassement de la mémoire tampon, pour que les développeurs réussissent réellement à atténuer les bogues de sécurité des systèmes embarqués, ils doivent se familiariser avec un code imitant les environnements dans lesquels ils travaillent. La formation générique en C sur les pratiques générales de sécurité ne sera tout simplement pas aussi efficace et mémorable que si vous consacriez plus de temps et de soin à travailler dans un contexte C intégré.
Avec une douzaine à plus d'une centaine de systèmes intégré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 y remédier, directement dans l'IDE.

La protection des systèmes embarqués depuis le rez-de-chaussée est la responsabilité de tous
Le statu quo dans de nombreuses organisations est que la rapidité du développement l'emporte sur la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Leur capacité à produire du code sécurisé est rarement évaluée, mais le développement rapide de fonctionnalités géniales constitue la référence absolue. La demande de logiciels ne fera qu'augmenter, mais cette culture nous a préparés à une bataille perdue 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, et c'est une lacune qu'un membre de l'équipe AppSec doit aider à combler en recommandant des programmes de renforcement des compétences adaptés et accessibles (pour ne pas dire évaluables) à l'ensemble de la communauté des développeurs. Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité, et chacun, en particulier les développeurs, doit avoir le rôle dont il a besoin pour jouer son rôle.
Résoudre les problèmes de sécurité des systèmes embarqués
Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.
Le débordement de mémoire tampon est particulièrement fréquent, et si vous souhaitez en savoir plus sur la façon dont cela a contribué à compromettre la friteuse à air dont nous avons parlé précédemment (permettant l'exécution de code à distance), consultez ce rapport sur CVE-2020-28592.
Il est maintenant temps de se familiariser avec une vulnérabilité de débordement de mémoire tampon, dans un véritable code C/C++ intégré. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvais modèles de codage à l'origine de ce bogue insidieux :
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Il existe de nombreuses références à la culture pop à des IA et à des robots malhonnêtes, ainsi qu'à des appareils qui s'en prennent à leurs maîtres humains. Il est fortement imprégné de science-fiction et de fantasy, mais l'IoT et les appareils connectés étant de plus en plus répandus dans nos foyers, il devrait en être de même pour les discussions sur la cybersécurité et la sécurité. Les logiciels sont omniprésents et il est très facile d'oublier à quel point nous nous appuyons sur des lignes de code pour effectuer toutes ces tâches intelligentes qui nous apportent tant d'innovation et de commodité. 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 dans la nature par un attaquant.
Bien qu'il soit peu probable qu'une armée de micro-ondes vienne asservir la race humaine (bien que le Robot Tesla est un peu préoccupant) car à la suite d'une cyberattaque, des cyberévénements malveillants sont toujours possibles. Certaines de nos voitures, avions et dispositifs médicaux s'appuient également sur un code de systèmes intégrés complexe pour effectuer des tâches clés, et la perspective que ces objets soient compromis est non seulement alarmante, mais potentiellement mortelle.
Comme tous les autres types de logiciels, les développeurs sont parmi les premiers à toucher au code, dès le début de la phase de création. Et comme tout autre type de logiciel, celui-ci peut être à l'origine de 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 s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être dotés d'un arsenal bien plus puissant pour faire face au type de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront utilisés de plus en plus fréquemment à mesure que nos besoins technologiques continuent d'évoluer, et une formation spécialisée en sécurité pour les développeurs sur les outils de cet environnement est essentielle.
Des friteuses à air qui explosent, des véhicules malhonnêtes... Sommes-nous des canards assis ?
Bien qu'il y ait quelques normes et réglementations relatives à tout développement sécurisé Pour assurer notre sécurité, nous devons faire des progrès bien plus précis et significatifs en matière de sécurité logicielle sous tous ses aspects. Il peut sembler exagéré de penser à un problème pouvant être causé par le piratage d'une friteuse à air, mais c'est arrivé sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'élever la température à des niveaux dangereux), tout comme les vulnérabilités conduisant à des prises de contrôle de véhicules.
Les véhicules, en particulier, sont particulièrement complexes, car ils sont dotés de multiples systèmes intégrés, chacun prenant en charge des microfonctions, des essuie-glaces automatiques aux capacités du moteur et du freinage. Associé à un ensemble croissant de technologies de communication telles que 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 devraient circuler dans le monde d'ici 2023, qui représente un monolithe de bases défensives à poser pour une véritable sécurité.
MISRA est une organisation clé qui lutte efficacement contre les menaces liées aux systèmes embarqués, ayant élaboré des directives visant à faciliter la sûreté, la sécurité, la portabilité et la fiabilité du code dans le contexte des systèmes embarqués. Ces directives constituent la pierre angulaire des normes que chaque entreprise doit respecter dans le cadre de ses projets de systèmes embarqués.
Cependant, pour créer et exécuter du code conforme à cette norme de référence, il faut des ingénieurs en systèmes embarqués qui ont confiance en ces outils, sans parler de leur niveau de sécurité.
Pourquoi le renforcement des compétences en matière de sécurité des systèmes embarqués est-il si spécifique ?
Les langages de programmation C et C++ sont gériatriques selon les normes actuelles, mais restent largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et Embedded C/C++ bénéficie d'une vie moderne et brillante dans le monde des appareils 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 tels que les failles d'injection et le dépassement de la mémoire tampon, pour que les développeurs réussissent réellement à atténuer les bogues de sécurité des systèmes embarqués, ils doivent se familiariser avec un code imitant les environnements dans lesquels ils travaillent. La formation générique en C sur les pratiques générales de sécurité ne sera tout simplement pas aussi efficace et mémorable que si vous consacriez plus de temps et de soin à travailler dans un contexte C intégré.
Avec une douzaine à plus d'une centaine de systèmes intégré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 y remédier, directement dans l'IDE.

La protection des systèmes embarqués depuis le rez-de-chaussée est la responsabilité de tous
Le statu quo dans de nombreuses organisations est que la rapidité du développement l'emporte sur la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Leur capacité à produire du code sécurisé est rarement évaluée, mais le développement rapide de fonctionnalités géniales constitue la référence absolue. La demande de logiciels ne fera qu'augmenter, mais cette culture nous a préparés à une bataille perdue 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, et c'est une lacune qu'un membre de l'équipe AppSec doit aider à combler en recommandant des programmes de renforcement des compétences adaptés et accessibles (pour ne pas dire évaluables) à l'ensemble de la communauté des développeurs. Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité, et chacun, en particulier les développeurs, doit avoir le rôle dont il a besoin pour jouer son rôle.
Résoudre les problèmes de sécurité des systèmes embarqués
Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.
Le débordement de mémoire tampon est particulièrement fréquent, et si vous souhaitez en savoir plus sur la façon dont cela a contribué à compromettre la friteuse à air dont nous avons parlé précédemment (permettant l'exécution de code à distance), consultez ce rapport sur CVE-2020-28592.
Il est maintenant temps de se familiariser avec une vulnérabilité de débordement de mémoire tampon, dans un véritable code C/C++ intégré. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvais modèles de codage à l'origine de ce bogue insidieux :
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Afficher le rapportRéservez une démoMatias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.
Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.
Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.
Il existe de nombreuses références à la culture pop à des IA et à des robots malhonnêtes, ainsi qu'à des appareils qui s'en prennent à leurs maîtres humains. Il est fortement imprégné de science-fiction et de fantasy, mais l'IoT et les appareils connectés étant de plus en plus répandus dans nos foyers, il devrait en être de même pour les discussions sur la cybersécurité et la sécurité. Les logiciels sont omniprésents et il est très facile d'oublier à quel point nous nous appuyons sur des lignes de code pour effectuer toutes ces tâches intelligentes qui nous apportent tant d'innovation et de commodité. 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 dans la nature par un attaquant.
Bien qu'il soit peu probable qu'une armée de micro-ondes vienne asservir la race humaine (bien que le Robot Tesla est un peu préoccupant) car à la suite d'une cyberattaque, des cyberévénements malveillants sont toujours possibles. Certaines de nos voitures, avions et dispositifs médicaux s'appuient également sur un code de systèmes intégrés complexe pour effectuer des tâches clés, et la perspective que ces objets soient compromis est non seulement alarmante, mais potentiellement mortelle.
Comme tous les autres types de logiciels, les développeurs sont parmi les premiers à toucher au code, dès le début de la phase de création. Et comme tout autre type de logiciel, celui-ci peut être à l'origine de 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 s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être dotés d'un arsenal bien plus puissant pour faire face au type de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront utilisés de plus en plus fréquemment à mesure que nos besoins technologiques continuent d'évoluer, et une formation spécialisée en sécurité pour les développeurs sur les outils de cet environnement est essentielle.
Des friteuses à air qui explosent, des véhicules malhonnêtes... Sommes-nous des canards assis ?
Bien qu'il y ait quelques normes et réglementations relatives à tout développement sécurisé Pour assurer notre sécurité, nous devons faire des progrès bien plus précis et significatifs en matière de sécurité logicielle sous tous ses aspects. Il peut sembler exagéré de penser à un problème pouvant être causé par le piratage d'une friteuse à air, mais c'est arrivé sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'élever la température à des niveaux dangereux), tout comme les vulnérabilités conduisant à des prises de contrôle de véhicules.
Les véhicules, en particulier, sont particulièrement complexes, car ils sont dotés de multiples systèmes intégrés, chacun prenant en charge des microfonctions, des essuie-glaces automatiques aux capacités du moteur et du freinage. Associé à un ensemble croissant de technologies de communication telles que 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 devraient circuler dans le monde d'ici 2023, qui représente un monolithe de bases défensives à poser pour une véritable sécurité.
MISRA est une organisation clé qui lutte efficacement contre les menaces liées aux systèmes embarqués, ayant élaboré des directives visant à faciliter la sûreté, la sécurité, la portabilité et la fiabilité du code dans le contexte des systèmes embarqués. Ces directives constituent la pierre angulaire des normes que chaque entreprise doit respecter dans le cadre de ses projets de systèmes embarqués.
Cependant, pour créer et exécuter du code conforme à cette norme de référence, il faut des ingénieurs en systèmes embarqués qui ont confiance en ces outils, sans parler de leur niveau de sécurité.
Pourquoi le renforcement des compétences en matière de sécurité des systèmes embarqués est-il si spécifique ?
Les langages de programmation C et C++ sont gériatriques selon les normes actuelles, mais restent largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et Embedded C/C++ bénéficie d'une vie moderne et brillante dans le monde des appareils 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 tels que les failles d'injection et le dépassement de la mémoire tampon, pour que les développeurs réussissent réellement à atténuer les bogues de sécurité des systèmes embarqués, ils doivent se familiariser avec un code imitant les environnements dans lesquels ils travaillent. La formation générique en C sur les pratiques générales de sécurité ne sera tout simplement pas aussi efficace et mémorable que si vous consacriez plus de temps et de soin à travailler dans un contexte C intégré.
Avec une douzaine à plus d'une centaine de systèmes intégré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 y remédier, directement dans l'IDE.

La protection des systèmes embarqués depuis le rez-de-chaussée est la responsabilité de tous
Le statu quo dans de nombreuses organisations est que la rapidité du développement l'emporte sur la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Leur capacité à produire du code sécurisé est rarement évaluée, mais le développement rapide de fonctionnalités géniales constitue la référence absolue. La demande de logiciels ne fera qu'augmenter, mais cette culture nous a préparés à une bataille perdue 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, et c'est une lacune qu'un membre de l'équipe AppSec doit aider à combler en recommandant des programmes de renforcement des compétences adaptés et accessibles (pour ne pas dire évaluables) à l'ensemble de la communauté des développeurs. Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité, et chacun, en particulier les développeurs, doit avoir le rôle dont il a besoin pour jouer son rôle.
Résoudre les problèmes de sécurité des systèmes embarqués
Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.
Le débordement de mémoire tampon est particulièrement fréquent, et si vous souhaitez en savoir plus sur la façon dont cela a contribué à compromettre la friteuse à air dont nous avons parlé précédemment (permettant l'exécution de code à distance), consultez ce rapport sur CVE-2020-28592.
Il est maintenant temps de se familiariser avec une vulnérabilité de débordement de mémoire tampon, dans un véritable code C/C++ intégré. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvais modèles de codage à l'origine de ce bogue insidieux :
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.
Table des matières
Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démoTéléchargerRessources pour vous aider à démarrer
Sujets et contenus de formation sur le code sécurisé
Notre contenu de pointe évolue constamment pour s'adapter à l'évolution constante du paysage du développement de logiciels tout en tenant compte de votre rôle. Des sujets couvrant tout, de l'IA à l'injection XQuery, proposés pour une variété de postes, allant des architectes aux ingénieurs en passant par les chefs de produit et l'assurance qualité. Découvrez un aperçu de ce que notre catalogue de contenu a à offrir par sujet et par rôle.
Threat Modeling with AI: Turning Every Developer into a Threat Modeler
Walk away better equipped to help developers combine threat modeling ideas and techniques with the AI tools they're already using to strengthen security, improve collaboration, and build more resilient software from the start.
Ressources pour vous aider à démarrer
Cybermon est de retour : les missions d'IA Beat the Boss sont désormais disponibles à la demande
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Déployez des défis de sécurité avancés liés à l'IA et au LLM pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyberrésilience : ce que cela signifie pour le développement de logiciels sécurisés dès la conception
Découvrez ce que la loi européenne sur la cyberrésilience (CRA) exige, à qui elle s'applique et comment les équipes d'ingénieurs peuvent se préparer grâce à des pratiques de sécurité dès la conception, à la prévention des vulnérabilités et au renforcement des capacités des développeurs.
Facilitateur 1 : Critères de réussite définis et mesurables
Enabler 1 donne le coup d'envoi de notre série en 10 parties intitulée Enablers of Success en montrant comment associer le codage sécurisé à des résultats commerciaux tels que la réduction des risques et la rapidité pour assurer la maturité à long terme des programmes.




%20(1).avif)
.avif)
