SCW Icons
hero bg no divider
Blog

Quand les micro-ondes fonctionnent mal : pourquoi la sécurité des systèmes embarqués est la prochaine bataille des développeurs

Matias Madou, Ph.D.
Published Aug 30, 2021
Last updated on Mar 06, 2026

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.

À quoi ressemble une faille de logique métier dans le C/C++ intégré ? Jetez un œil et voyez si vous pouvez l'identifier et le réparer comme un pro.

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 :

Créez un historique des dépassements de mémoire tampon.



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.

Afficher la ressource
Afficher la ressource

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.

Vous souhaitez en savoir plus ?

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.

learn more

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émo
Partagez sur :
linkedin brandsSocialx logo
Auteur
Matias Madou, Ph.D.
Published Aug 30, 2021

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.

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.

Partagez sur :
linkedin brandsSocialx logo

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.

À quoi ressemble une faille de logique métier dans le C/C++ intégré ? Jetez un œil et voyez si vous pouvez l'identifier et le réparer comme un pro.

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 :

Créez un historique des dépassements de mémoire tampon.



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.

Afficher la ressource
Afficher la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions avoir votre autorisation pour vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
scw success icon
scw error icon
Pour soumettre le formulaire, veuillez activer les cookies « Analytics ». N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.

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.

À quoi ressemble une faille de logique métier dans le C/C++ intégré ? Jetez un œil et voyez si vous pouvez l'identifier et le réparer comme un pro.

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 :

Créez un historique des dépassements de mémoire tampon.



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.

Afficher le webinaire
Commencez
learn more

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émo
Télécharger le PDF
Afficher la ressource
Partagez sur :
linkedin brandsSocialx logo
Vous souhaitez en savoir plus ?

Partagez sur :
linkedin brandsSocialx logo
Auteur
Matias Madou, Ph.D.
Published Aug 30, 2021

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.

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.

Partagez sur :
linkedin brandsSocialx logo

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.

À quoi ressemble une faille de logique métier dans le C/C++ intégré ? Jetez un œil et voyez si vous pouvez l'identifier et le réparer comme un pro.

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 :

Créez un historique des dépassements de mémoire tampon.



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

Télécharger le PDF
Afficher la ressource
Vous souhaitez en savoir plus ?

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.

learn more

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écharger
Partagez sur :
linkedin brandsSocialx logo
Centre de ressources

Ressources pour vous aider à démarrer

Plus de posts
Centre de ressources

Ressources pour vous aider à démarrer

Plus de posts