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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et 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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une 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 Icons
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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une 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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et 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