Icônes SCW
héros bg sans séparateur
Blog

Quand les micro-ondes performantes deviennent problématiques : pourquoi la sécurité des systèmes embarqués représente le prochain défi majeur pour les développeurs

Matias Madou, Ph.D.
Publié le 30 août 2021
Dernière mise à jour le 8 mars 2026

Dans la culture populaire, il existe de nombreuses références à des IA et des robots rebelles, ainsi qu'à des appareils qui se retournent contre leurs maîtres humains. Ces références sont fortement imprégnées de science-fiction et de fantaisie, mais à mesure que l'Internet des objets et les appareils connectés prennent de plus en plus d'importance dans nos foyers, il convient également d'aborder la question de la cybersécurité et de la sécurité. Les logiciels sont omniprésents dans notre environnement, et il est facile d'oublier à quel point nous dépendons des lignes de code pour accomplir toutes ces tâches intelligentes qui nous apportent tant d'innovation et de confort. À l'instar des logiciels basés sur le Web, des API et des appareils mobiles, les codes vulnérables des systèmes embarqués peuvent être exploités s'ils sont découverts par un attaquant.

Il est certes peu probable qu'une armée de micro-ondes asservisse l'humanité (bien que Tesla-Bot soit quelque peu préoccupant), mais des cyberattaques malveillantes restent possibles. Certaines de nos voitures, avions et appareils médicaux dépendent également de codes informatiques embarqués complexes pour exécuter des tâches importantes. La perspective que ces objets soient compromis est non seulement alarmante, mais aussi potentiellement mortelle.

Comme pour tout autre type de logiciel, les développeurs sont parmi les premiers à manipuler le code dès le début de la phase de création. Et comme pour tout autre type de logiciel, cela peut constituer un terrain propice à l'apparition de failles de sécurité insidieuses et fréquentes, qui pourraient passer inaperçues avant la mise sur le marché du produit.

Les développeurs ne sont pas des experts en sécurité, et une entreprise ne devrait pas s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être équipés d'un arsenal beaucoup plus puissant pour lutter contre les types de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront de plus en plus utilisés à mesure que nos exigences techniques évolueront. Il est donc essentiel que les développeurs suivent des formations spécialisées en matière de sécurité concernant les outils utilisés dans cet environnement.

Friteuses à air chaud qui explosent, véhicules malveillants... Sommes-nous des proies faciles ?

Bien qu'il existe certaines normes et réglementations relatives au développement sécurisé dans son ensemble, nous devons réaliser des progrès beaucoup plus précis et significatifs en matière de sécurité logicielle afin de nous protéger. Il peut sembler exagéré d'envisager un problème pouvant être causé par le piratage d'une friteuse à air chaud, mais cela s'est produit sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'augmenter la température à un niveau dangereux), ainsi que de failles de sécurité conduisant à la prise de contrôle de véhicules.

Les véhicules sont particulièrement complexes, car ils embarquent plusieurs systèmes embarqués, chacun étant responsable de microfonctions, des essuie-glaces automatiques aux fonctions du moteur et des freins. Le véhicule connecté est relié à un nombre croissant de technologies de communication telles que le Wi-Fi, le Bluetooth et le GPS, et constitue une infrastructure numérique complexe exposée à de nombreux vecteurs d'attaque. D'ici 2023, on estime que 76,3 millions de véhicules connectés circuleront sur les routes du monde entier, ce qui représente un ensemble de bases de défense qui garantissent une sécurité réelle.

MISRA est une organisation importante qui lutte activement contre les menaces pesant sur les systèmes embarqués et qui a élaboré des directives visant à faciliter la sécurité, la portabilité et la fiabilité des codes liés aux systèmes embarqués. Ces directives constituent un élément essentiel des normes que chaque entreprise doit s'efforcer de respecter dans le cadre de ses projets liés aux systèmes embarqués.

Cependant, pour créer et exécuter un code conforme à cette norme d'excellence, il est nécessaire de disposer d'ingénieurs en systèmes embarqués qui maîtrisent les outils, sans oublier les outils de sécurité.

Pourquoi l'amélioration de la sécurité des systèmes embarqués est-elle si spécifique ?

Les langages de programmation C et C++ sont considérés comme anciens selon les normes actuelles, mais ils sont toujours largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et le C/C++ embarqué connaît une nouvelle vie dans le monde des appareils connectés.

Bien que ces langages aient des origines assez anciennes et présentent un comportement similaire en matière de sécurité par rapport à des problèmes courants tels que les erreurs d'injection et les dépassements de tampon, les développeurs doivent acquérir une expérience pratique du code qui imite les environnements dans lesquels ils travaillent afin de corriger efficacement les failles de sécurité dans les systèmes embarqués. Une 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 l'on consacrait davantage de temps et d'attention au travail dans un contexte C embarqué.

Avec une douzaine, voire plus d'une centaine de systèmes embarqués dans un véhicule moderne, il est essentiel que les développeurs soient formés directement dans l'IDE sur les points auxquels ils doivent prêter attention et sur la manière de résoudre les problèmes.

À quoi ressemble une erreur dans la logique métier en C/C++ intégré ? Veuillez examiner attentivement et voir si vous pouvez l'identifier et la corriger de manière professionnelle.

La protection des systèmes intégrés au rez-de-chaussée relève de la responsabilité de tous.

Dans de nombreuses organisations, la priorité est donnée à la rapidité de développement plutôt qu'à la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Ceux-ci sont rarement évalués sur leur capacité à créer un code sécurisé, mais le développement rapide de fonctionnalités exceptionnelles est considéré comme la norme. La demande en logiciels ne fera qu'augmenter, mais cette culture nous a préparés à un combat difficile contre les failles de sécurité et les cyberattaques qui en découlent.

Si les développeurs ne sont pas formés, ce n'est pas de leur faute, et c'est une lacune que quelqu'un de l'équipe AppSec doit combler en recommandant à l'ensemble de la communauté des développeurs des programmes de formation continue adaptés, accessibles (sans oublier évaluables). Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité absolue, et chacun, en particulier les développeurs, doit savoir ce dont il a besoin pour apporter sa contribution.

Gestion pratique des problèmes de sécurité des systèmes embarqués

Les dépassements de tampon, les erreurs d'injection et les erreurs dans la logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Lorsqu'ils sont profondément enfouis dans un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut constituer un problème de sécurité.

Les débordements de tampon sont particulièrement fréquents. Si vous souhaitez en savoir plus sur la manière dont ils ont contribué à compromettre la friteuse à air chaud dont nous avons parlé précédemment (permettant l'exécution de code à distance), veuillez consulter ce rapport sur CVE-2020-28592.

Il est maintenant temps de mettre en pratique une vulnérabilité de type débordement de tampon dans du code C/C++ embarqué réel. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvaises pratiques de codage qui ont conduit à cette erreur insidieuse :

Veuillez générer le journal des dépassements de mémoire tampon.



Wie hast du dich geschlagen? Besuchen www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Consulter la ressource
Consulter la ressource

À l'instar des logiciels basés sur le Web, des API et des appareils mobiles, le code vulnérable des systèmes embarqués peut être exploité s'il est découvert par un attaquant dans la nature.

Souhaitez-vous en savoir davantage ?

Matias Madou 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 les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui 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 en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstration
Partager sur :
marques LinkedInSocialLogo x
Auteur
Matias Madou, Ph.D.
Publié le 30 août 2021

Matias Madou 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 les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui 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 en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.

Partager sur :
marques LinkedInSocialLogo x

Dans la culture populaire, il existe de nombreuses références à des IA et des robots rebelles, ainsi qu'à des appareils qui se retournent contre leurs maîtres humains. Ces références sont fortement imprégnées de science-fiction et de fantaisie, mais à mesure que l'Internet des objets et les appareils connectés prennent de plus en plus d'importance dans nos foyers, il convient également d'aborder la question de la cybersécurité et de la sécurité. Les logiciels sont omniprésents dans notre environnement, et il est facile d'oublier à quel point nous dépendons des lignes de code pour accomplir toutes ces tâches intelligentes qui nous apportent tant d'innovation et de confort. À l'instar des logiciels basés sur le Web, des API et des appareils mobiles, les codes vulnérables des systèmes embarqués peuvent être exploités s'ils sont découverts par un attaquant.

Il est certes peu probable qu'une armée de micro-ondes asservisse l'humanité (bien que Tesla-Bot soit quelque peu préoccupant), mais des cyberattaques malveillantes restent possibles. Certaines de nos voitures, avions et appareils médicaux dépendent également de codes informatiques embarqués complexes pour exécuter des tâches importantes. La perspective que ces objets soient compromis est non seulement alarmante, mais aussi potentiellement mortelle.

Comme pour tout autre type de logiciel, les développeurs sont parmi les premiers à manipuler le code dès le début de la phase de création. Et comme pour tout autre type de logiciel, cela peut constituer un terrain propice à l'apparition de failles de sécurité insidieuses et fréquentes, qui pourraient passer inaperçues avant la mise sur le marché du produit.

Les développeurs ne sont pas des experts en sécurité, et une entreprise ne devrait pas s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être équipés d'un arsenal beaucoup plus puissant pour lutter contre les types de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront de plus en plus utilisés à mesure que nos exigences techniques évolueront. Il est donc essentiel que les développeurs suivent des formations spécialisées en matière de sécurité concernant les outils utilisés dans cet environnement.

Friteuses à air chaud qui explosent, véhicules malveillants... Sommes-nous des proies faciles ?

Bien qu'il existe certaines normes et réglementations relatives au développement sécurisé dans son ensemble, nous devons réaliser des progrès beaucoup plus précis et significatifs en matière de sécurité logicielle afin de nous protéger. Il peut sembler exagéré d'envisager un problème pouvant être causé par le piratage d'une friteuse à air chaud, mais cela s'est produit sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'augmenter la température à un niveau dangereux), ainsi que de failles de sécurité conduisant à la prise de contrôle de véhicules.

Les véhicules sont particulièrement complexes, car ils embarquent plusieurs systèmes embarqués, chacun étant responsable de microfonctions, des essuie-glaces automatiques aux fonctions du moteur et des freins. Le véhicule connecté est relié à un nombre croissant de technologies de communication telles que le Wi-Fi, le Bluetooth et le GPS, et constitue une infrastructure numérique complexe exposée à de nombreux vecteurs d'attaque. D'ici 2023, on estime que 76,3 millions de véhicules connectés circuleront sur les routes du monde entier, ce qui représente un ensemble de bases de défense qui garantissent une sécurité réelle.

MISRA est une organisation importante qui lutte activement contre les menaces pesant sur les systèmes embarqués et qui a élaboré des directives visant à faciliter la sécurité, la portabilité et la fiabilité des codes liés aux systèmes embarqués. Ces directives constituent un élément essentiel des normes que chaque entreprise doit s'efforcer de respecter dans le cadre de ses projets liés aux systèmes embarqués.

Cependant, pour créer et exécuter un code conforme à cette norme d'excellence, il est nécessaire de disposer d'ingénieurs en systèmes embarqués qui maîtrisent les outils, sans oublier les outils de sécurité.

Pourquoi l'amélioration de la sécurité des systèmes embarqués est-elle si spécifique ?

Les langages de programmation C et C++ sont considérés comme anciens selon les normes actuelles, mais ils sont toujours largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et le C/C++ embarqué connaît une nouvelle vie dans le monde des appareils connectés.

Bien que ces langages aient des origines assez anciennes et présentent un comportement similaire en matière de sécurité par rapport à des problèmes courants tels que les erreurs d'injection et les dépassements de tampon, les développeurs doivent acquérir une expérience pratique du code qui imite les environnements dans lesquels ils travaillent afin de corriger efficacement les failles de sécurité dans les systèmes embarqués. Une 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 l'on consacrait davantage de temps et d'attention au travail dans un contexte C embarqué.

Avec une douzaine, voire plus d'une centaine de systèmes embarqués dans un véhicule moderne, il est essentiel que les développeurs soient formés directement dans l'IDE sur les points auxquels ils doivent prêter attention et sur la manière de résoudre les problèmes.

À quoi ressemble une erreur dans la logique métier en C/C++ intégré ? Veuillez examiner attentivement et voir si vous pouvez l'identifier et la corriger de manière professionnelle.

La protection des systèmes intégrés au rez-de-chaussée relève de la responsabilité de tous.

Dans de nombreuses organisations, la priorité est donnée à la rapidité de développement plutôt qu'à la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Ceux-ci sont rarement évalués sur leur capacité à créer un code sécurisé, mais le développement rapide de fonctionnalités exceptionnelles est considéré comme la norme. La demande en logiciels ne fera qu'augmenter, mais cette culture nous a préparés à un combat difficile contre les failles de sécurité et les cyberattaques qui en découlent.

Si les développeurs ne sont pas formés, ce n'est pas de leur faute, et c'est une lacune que quelqu'un de l'équipe AppSec doit combler en recommandant à l'ensemble de la communauté des développeurs des programmes de formation continue adaptés, accessibles (sans oublier évaluables). Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité absolue, et chacun, en particulier les développeurs, doit savoir ce dont il a besoin pour apporter sa contribution.

Gestion pratique des problèmes de sécurité des systèmes embarqués

Les dépassements de tampon, les erreurs d'injection et les erreurs dans la logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Lorsqu'ils sont profondément enfouis dans un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut constituer un problème de sécurité.

Les débordements de tampon sont particulièrement fréquents. Si vous souhaitez en savoir plus sur la manière dont ils ont contribué à compromettre la friteuse à air chaud dont nous avons parlé précédemment (permettant l'exécution de code à distance), veuillez consulter ce rapport sur CVE-2020-28592.

Il est maintenant temps de mettre en pratique une vulnérabilité de type débordement de tampon dans du code C/C++ embarqué réel. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvaises pratiques de codage qui ont conduit à cette erreur insidieuse :

Veuillez générer le journal des dépassements de mémoire tampon.



Wie hast du dich geschlagen? Besuchen www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Consulter la ressource
Consulter la ressource

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

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

Soumettre
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « Analytics ». Une fois que vous avez terminé, vous pouvez les désactiver à tout moment.

Dans la culture populaire, il existe de nombreuses références à des IA et des robots rebelles, ainsi qu'à des appareils qui se retournent contre leurs maîtres humains. Ces références sont fortement imprégnées de science-fiction et de fantaisie, mais à mesure que l'Internet des objets et les appareils connectés prennent de plus en plus d'importance dans nos foyers, il convient également d'aborder la question de la cybersécurité et de la sécurité. Les logiciels sont omniprésents dans notre environnement, et il est facile d'oublier à quel point nous dépendons des lignes de code pour accomplir toutes ces tâches intelligentes qui nous apportent tant d'innovation et de confort. À l'instar des logiciels basés sur le Web, des API et des appareils mobiles, les codes vulnérables des systèmes embarqués peuvent être exploités s'ils sont découverts par un attaquant.

Il est certes peu probable qu'une armée de micro-ondes asservisse l'humanité (bien que Tesla-Bot soit quelque peu préoccupant), mais des cyberattaques malveillantes restent possibles. Certaines de nos voitures, avions et appareils médicaux dépendent également de codes informatiques embarqués complexes pour exécuter des tâches importantes. La perspective que ces objets soient compromis est non seulement alarmante, mais aussi potentiellement mortelle.

Comme pour tout autre type de logiciel, les développeurs sont parmi les premiers à manipuler le code dès le début de la phase de création. Et comme pour tout autre type de logiciel, cela peut constituer un terrain propice à l'apparition de failles de sécurité insidieuses et fréquentes, qui pourraient passer inaperçues avant la mise sur le marché du produit.

Les développeurs ne sont pas des experts en sécurité, et une entreprise ne devrait pas s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être équipés d'un arsenal beaucoup plus puissant pour lutter contre les types de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront de plus en plus utilisés à mesure que nos exigences techniques évolueront. Il est donc essentiel que les développeurs suivent des formations spécialisées en matière de sécurité concernant les outils utilisés dans cet environnement.

Friteuses à air chaud qui explosent, véhicules malveillants... Sommes-nous des proies faciles ?

Bien qu'il existe certaines normes et réglementations relatives au développement sécurisé dans son ensemble, nous devons réaliser des progrès beaucoup plus précis et significatifs en matière de sécurité logicielle afin de nous protéger. Il peut sembler exagéré d'envisager un problème pouvant être causé par le piratage d'une friteuse à air chaud, mais cela s'est produit sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'augmenter la température à un niveau dangereux), ainsi que de failles de sécurité conduisant à la prise de contrôle de véhicules.

Les véhicules sont particulièrement complexes, car ils embarquent plusieurs systèmes embarqués, chacun étant responsable de microfonctions, des essuie-glaces automatiques aux fonctions du moteur et des freins. Le véhicule connecté est relié à un nombre croissant de technologies de communication telles que le Wi-Fi, le Bluetooth et le GPS, et constitue une infrastructure numérique complexe exposée à de nombreux vecteurs d'attaque. D'ici 2023, on estime que 76,3 millions de véhicules connectés circuleront sur les routes du monde entier, ce qui représente un ensemble de bases de défense qui garantissent une sécurité réelle.

MISRA est une organisation importante qui lutte activement contre les menaces pesant sur les systèmes embarqués et qui a élaboré des directives visant à faciliter la sécurité, la portabilité et la fiabilité des codes liés aux systèmes embarqués. Ces directives constituent un élément essentiel des normes que chaque entreprise doit s'efforcer de respecter dans le cadre de ses projets liés aux systèmes embarqués.

Cependant, pour créer et exécuter un code conforme à cette norme d'excellence, il est nécessaire de disposer d'ingénieurs en systèmes embarqués qui maîtrisent les outils, sans oublier les outils de sécurité.

Pourquoi l'amélioration de la sécurité des systèmes embarqués est-elle si spécifique ?

Les langages de programmation C et C++ sont considérés comme anciens selon les normes actuelles, mais ils sont toujours largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et le C/C++ embarqué connaît une nouvelle vie dans le monde des appareils connectés.

Bien que ces langages aient des origines assez anciennes et présentent un comportement similaire en matière de sécurité par rapport à des problèmes courants tels que les erreurs d'injection et les dépassements de tampon, les développeurs doivent acquérir une expérience pratique du code qui imite les environnements dans lesquels ils travaillent afin de corriger efficacement les failles de sécurité dans les systèmes embarqués. Une 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 l'on consacrait davantage de temps et d'attention au travail dans un contexte C embarqué.

Avec une douzaine, voire plus d'une centaine de systèmes embarqués dans un véhicule moderne, il est essentiel que les développeurs soient formés directement dans l'IDE sur les points auxquels ils doivent prêter attention et sur la manière de résoudre les problèmes.

À quoi ressemble une erreur dans la logique métier en C/C++ intégré ? Veuillez examiner attentivement et voir si vous pouvez l'identifier et la corriger de manière professionnelle.

La protection des systèmes intégrés au rez-de-chaussée relève de la responsabilité de tous.

Dans de nombreuses organisations, la priorité est donnée à la rapidité de développement plutôt qu'à la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Ceux-ci sont rarement évalués sur leur capacité à créer un code sécurisé, mais le développement rapide de fonctionnalités exceptionnelles est considéré comme la norme. La demande en logiciels ne fera qu'augmenter, mais cette culture nous a préparés à un combat difficile contre les failles de sécurité et les cyberattaques qui en découlent.

Si les développeurs ne sont pas formés, ce n'est pas de leur faute, et c'est une lacune que quelqu'un de l'équipe AppSec doit combler en recommandant à l'ensemble de la communauté des développeurs des programmes de formation continue adaptés, accessibles (sans oublier évaluables). Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité absolue, et chacun, en particulier les développeurs, doit savoir ce dont il a besoin pour apporter sa contribution.

Gestion pratique des problèmes de sécurité des systèmes embarqués

Les dépassements de tampon, les erreurs d'injection et les erreurs dans la logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Lorsqu'ils sont profondément enfouis dans un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut constituer un problème de sécurité.

Les débordements de tampon sont particulièrement fréquents. Si vous souhaitez en savoir plus sur la manière dont ils ont contribué à compromettre la friteuse à air chaud dont nous avons parlé précédemment (permettant l'exécution de code à distance), veuillez consulter ce rapport sur CVE-2020-28592.

Il est maintenant temps de mettre en pratique une vulnérabilité de type débordement de tampon dans du code C/C++ embarqué réel. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvaises pratiques de codage qui ont conduit à cette erreur insidieuse :

Veuillez générer le journal des dépassements de mémoire tampon.



Wie hast du dich geschlagen? Besuchen www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Veuillez consulter le webinaire.
Veuillez commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Consulter le rapportRéserver une démonstration
Télécharger le PDF
Consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
Auteur
Matias Madou, Ph.D.
Publié le 30 août 2021

Matias Madou 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 les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui 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 en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.

Partager sur :
marques LinkedInSocialLogo x

Dans la culture populaire, il existe de nombreuses références à des IA et des robots rebelles, ainsi qu'à des appareils qui se retournent contre leurs maîtres humains. Ces références sont fortement imprégnées de science-fiction et de fantaisie, mais à mesure que l'Internet des objets et les appareils connectés prennent de plus en plus d'importance dans nos foyers, il convient également d'aborder la question de la cybersécurité et de la sécurité. Les logiciels sont omniprésents dans notre environnement, et il est facile d'oublier à quel point nous dépendons des lignes de code pour accomplir toutes ces tâches intelligentes qui nous apportent tant d'innovation et de confort. À l'instar des logiciels basés sur le Web, des API et des appareils mobiles, les codes vulnérables des systèmes embarqués peuvent être exploités s'ils sont découverts par un attaquant.

Il est certes peu probable qu'une armée de micro-ondes asservisse l'humanité (bien que Tesla-Bot soit quelque peu préoccupant), mais des cyberattaques malveillantes restent possibles. Certaines de nos voitures, avions et appareils médicaux dépendent également de codes informatiques embarqués complexes pour exécuter des tâches importantes. La perspective que ces objets soient compromis est non seulement alarmante, mais aussi potentiellement mortelle.

Comme pour tout autre type de logiciel, les développeurs sont parmi les premiers à manipuler le code dès le début de la phase de création. Et comme pour tout autre type de logiciel, cela peut constituer un terrain propice à l'apparition de failles de sécurité insidieuses et fréquentes, qui pourraient passer inaperçues avant la mise sur le marché du produit.

Les développeurs ne sont pas des experts en sécurité, et une entreprise ne devrait pas s'attendre à ce qu'ils jouent ce rôle, mais ils peuvent être équipés d'un arsenal beaucoup plus puissant pour lutter contre les types de menaces qui les concernent. Les systèmes embarqués, généralement écrits en C et C++, seront de plus en plus utilisés à mesure que nos exigences techniques évolueront. Il est donc essentiel que les développeurs suivent des formations spécialisées en matière de sécurité concernant les outils utilisés dans cet environnement.

Friteuses à air chaud qui explosent, véhicules malveillants... Sommes-nous des proies faciles ?

Bien qu'il existe certaines normes et réglementations relatives au développement sécurisé dans son ensemble, nous devons réaliser des progrès beaucoup plus précis et significatifs en matière de sécurité logicielle afin de nous protéger. Il peut sembler exagéré d'envisager un problème pouvant être causé par le piratage d'une friteuse à air chaud, mais cela s'est produit sous la forme d'une attaque par exécution de code à distance (permettant à l'auteur de la menace d'augmenter la température à un niveau dangereux), ainsi que de failles de sécurité conduisant à la prise de contrôle de véhicules.

Les véhicules sont particulièrement complexes, car ils embarquent plusieurs systèmes embarqués, chacun étant responsable de microfonctions, des essuie-glaces automatiques aux fonctions du moteur et des freins. Le véhicule connecté est relié à un nombre croissant de technologies de communication telles que le Wi-Fi, le Bluetooth et le GPS, et constitue une infrastructure numérique complexe exposée à de nombreux vecteurs d'attaque. D'ici 2023, on estime que 76,3 millions de véhicules connectés circuleront sur les routes du monde entier, ce qui représente un ensemble de bases de défense qui garantissent une sécurité réelle.

MISRA est une organisation importante qui lutte activement contre les menaces pesant sur les systèmes embarqués et qui a élaboré des directives visant à faciliter la sécurité, la portabilité et la fiabilité des codes liés aux systèmes embarqués. Ces directives constituent un élément essentiel des normes que chaque entreprise doit s'efforcer de respecter dans le cadre de ses projets liés aux systèmes embarqués.

Cependant, pour créer et exécuter un code conforme à cette norme d'excellence, il est nécessaire de disposer d'ingénieurs en systèmes embarqués qui maîtrisent les outils, sans oublier les outils de sécurité.

Pourquoi l'amélioration de la sécurité des systèmes embarqués est-elle si spécifique ?

Les langages de programmation C et C++ sont considérés comme anciens selon les normes actuelles, mais ils sont toujours largement utilisés. Ils constituent le cœur fonctionnel de la base de code des systèmes embarqués, et le C/C++ embarqué connaît une nouvelle vie dans le monde des appareils connectés.

Bien que ces langages aient des origines assez anciennes et présentent un comportement similaire en matière de sécurité par rapport à des problèmes courants tels que les erreurs d'injection et les dépassements de tampon, les développeurs doivent acquérir une expérience pratique du code qui imite les environnements dans lesquels ils travaillent afin de corriger efficacement les failles de sécurité dans les systèmes embarqués. Une 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 l'on consacrait davantage de temps et d'attention au travail dans un contexte C embarqué.

Avec une douzaine, voire plus d'une centaine de systèmes embarqués dans un véhicule moderne, il est essentiel que les développeurs soient formés directement dans l'IDE sur les points auxquels ils doivent prêter attention et sur la manière de résoudre les problèmes.

À quoi ressemble une erreur dans la logique métier en C/C++ intégré ? Veuillez examiner attentivement et voir si vous pouvez l'identifier et la corriger de manière professionnelle.

La protection des systèmes intégrés au rez-de-chaussée relève de la responsabilité de tous.

Dans de nombreuses organisations, la priorité est donnée à la rapidité de développement plutôt qu'à la sécurité, du moins en ce qui concerne la responsabilité des développeurs. Ceux-ci sont rarement évalués sur leur capacité à créer un code sécurisé, mais le développement rapide de fonctionnalités exceptionnelles est considéré comme la norme. La demande en logiciels ne fera qu'augmenter, mais cette culture nous a préparés à un combat difficile contre les failles de sécurité et les cyberattaques qui en découlent.

Si les développeurs ne sont pas formés, ce n'est pas de leur faute, et c'est une lacune que quelqu'un de l'équipe AppSec doit combler en recommandant à l'ensemble de la communauté des développeurs des programmes de formation continue adaptés, accessibles (sans oublier évaluables). Dès le début d'un projet de développement logiciel, la sécurité doit être une priorité absolue, et chacun, en particulier les développeurs, doit savoir ce dont il a besoin pour apporter sa contribution.

Gestion pratique des problèmes de sécurité des systèmes embarqués

Les dépassements de tampon, les erreurs d'injection et les erreurs dans la logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Lorsqu'ils sont profondément enfouis dans un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut constituer un problème de sécurité.

Les débordements de tampon sont particulièrement fréquents. Si vous souhaitez en savoir plus sur la manière dont ils ont contribué à compromettre la friteuse à air chaud dont nous avons parlé précédemment (permettant l'exécution de code à distance), veuillez consulter ce rapport sur CVE-2020-28592.

Il est maintenant temps de mettre en pratique une vulnérabilité de type débordement de tampon dans du code C/C++ embarqué réel. Relevez ce défi pour voir si vous pouvez localiser, identifier et corriger les mauvaises pratiques de codage qui ont conduit à cette erreur insidieuse :

Veuillez générer le journal des dépassements de mémoire tampon.



Wie hast du dich geschlagen? Besuchen www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Table des matières

Télécharger le PDF
Consulter la ressource
Souhaitez-vous en savoir davantage ?

Matias Madou 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 les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui 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 en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstrationTélécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus d'articles
Centre de ressources

Ressources pour débuter

Plus d'articles