Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Le industrie automobile se transforme rapidement en un écosystème complexe de mobilité intelligente, introduisant de nouveaux niveaux de sophistication logicielle et des vulnérabilités potentielles. L'utilisation croissante de logiciels et de fonctionnalités de partage de données dans les véhicules routiers est un moteur de croissance notable dans le secteur automobile. Toutefois, des rapports montrent que de nouveaux vecteurs d'attaque capables de provoquer des perturbations à grande échelle pourraient mettre le secteur à genoux si des facteurs d'atténuation appropriés ne sont pas mis en place. en place. Les cyberattaques contre les véhicules peuvent compromettre la sécurité, la vie privée et les performances des conducteurs, des passagers et des autres usagers de la route.
L'une des initiatives clés pour répondre à ce besoin est le développement de ISO/SAE 21434, une norme internationale pour l’ingénierie de la cybersécurité dans les véhicules routiers. L'objectif principal de la norme ISO/SAE 21434 est de garantir que les constructeurs automobiles intègrent les mesures de cybersécurité depuis le début jusqu'au déclassement des véhicules routiers.
Les exigences de conformité ISO/SAE 21434 impliquent la mise en œuvre d'un système de gestion de la cybersécurité qui couvre toutes les étapes du cycle de vie du développement du produit. Les exigences incluent également la nécessité pour les systèmes logiciels équipant les véhicules routiers de subir des séries de tests rigoureux, une évaluation des risques, une surveillance et un examen, et bien plus encore.
Examinons les défis et les solutions courants pour la mise en œuvre de la norme ISO/SAE 21434, et comment les solutions de tests automatisés peuvent prendre en charge et faciliter le processus de conformité.
ISO/SAE 21434 est une norme pour l'ingénierie de cybersécurité dans les véhicules routiers publiée en septembre 2021. La norme a été développée par l'Organisation internationale de normalisation (ISO) en collaboration avec des experts de l'industrie automobile, du monde universitaire et des agences gouvernementales. Il s'appuie sur les meilleures pratiques et expériences de divers domaines, tels que les technologies de l'information, l'aérospatiale et la défense.
L'objectif principal de la norme ISO/SAE 21434 est de fournir un cadre complet et cohérent pour la gestion des activités de cybersécurité tout au long du cycle de vie des véhicules routiers et couvre tous les types de véhicules routiers, comme les voitures particulières, les camions, les bus, les motos et les remorques. ainsi que leurs composants, systèmes, logiciels et services. La norme s'applique également à toutes les parties prenantes impliquées dans le développement, la production, l'exploitation, la maintenance et l'élimination des véhicules routiers, tels que les constructeurs, les fournisseurs, les prestataires de services, les exploitants et les utilisateurs.
Les principaux objectifs de la norme ISO/SAE 21434 sont les suivants :
La mise en œuvre de la norme ISO/SAE 21434 n'est pas une tâche facile. Cela implique un certain nombre de défis. Si certains des problèmes connus incluent la diversité et l'hétérogénéité des véhicules routiers et la nature en constante évolution des cybermenaces, la complexité des logiciels requis pour alimenter les véhicules routiers modernes est également un facteur clé qui est souvent passé sous silence.
Selon McKinsey, la croissance complexité des applications logicielles automobiles est une question cruciale pour de nombreuses organisations. Ceci est démontré dans un rapport par le National Center for Manufacturing Sciences (NCMS) qui a montré que les véhicules avancés peuvent contenir entre 1,000 3,000 et 150 150 micropuces et jusqu'à XNUMX unités de commande électroniques (ECU) qui sont exploitées par un code logiciel comprenant jusqu'à XNUMX millions de lignes. Cela montre le niveau de complexité des véhicules modernes.
La complexité de l’intégration de lignes de code massives, de systèmes électroniques complexes, d’algorithmes d’intelligence artificielle (IA) et de liaisons de données externes dans les véhicules modernes offre aux attaquants d’innombrables points d’entrée à exploiter. Ces menaces deviennent de plus en plus urgentes à mesure que davantage de véhicules autonomes et connectés entrent sur le marché.
La gestion de la cybersécurité de ces systèmes massifs nécessite une approche holistique et systématique qui prend en compte les interactions, dépendances et interdépendances entre les différents éléments qui composent les logiciels qui alimentent ces véhicules.
Par conséquent, satisfaire à la rigueur des protocoles ISO/SAE 21434 dans des systèmes aussi complexes nécessitera des tests approfondis sur les logiciels qui sous-tendent les véhicules modernes. Les composants logiciels des applications automobiles s'exécutant dans des millions de codes, les constructeurs automobiles doivent mettre en œuvre des procédures de test robustes pour identifier les vulnérabilités sur l'ensemble de la surface d'attaque, segmenter les systèmes de conduite critiques, mener des audits et des analyses de cybersécurité réguliers et évaluer les capacités de détection des menaces.
Les tests logiciels complets impliquent également des tests d'intrusion approfondis, des révisions de code, une analyse statique et dynamique du code source, des tests de fuzz et d'autres méthodologies pour valider les normes des contrôles de sécurité. Les procédures de test doivent également tenir compte des risques potentiels liés aux composants logiciels tiers et aux services de véhicules connectés. Ce n’est que grâce à ces mesures approfondies et proactives que les constructeurs automobiles pourront renforcer les logiciels de leurs véhicules contre les cybermenaces croissantes ciblant les systèmes critiques pour la sécurité et les données sensibles des conducteurs.
Par conséquent, le chemin vers la conformité à la norme ISO/SAE 21434 commencera par désencombrer ce niveau de complexité inhérent aux logiciels du véhicule.
Dans la norme ISO/SAE 21434, les tests logiciels sont abordés dans le cadre du processus global d'ingénierie de cybersécurité. Au-delà du point de vue de la cybersécurité, des tests logiciels de cette envergure aident les ingénieurs à distinguer et à mieux comprendre le labyrinthe de complexité qui constitue les systèmes logiciels automobiles.
Ces tests s'appuient souvent sur la puissance de solutions d'automatisation de tests, telles que Parasoft C/C++test, Jtest et SOAtest. Les solutions de tests logiciels automatisés peuvent aider les constructeurs automobiles à atteindre la conformité des tests selon la norme ISO/SAE 21434, en fournissant les caractéristiques et fonctionnalités suivantes.
Ce type de test analyse le code source sans l'exécuter et identifie et signale des problèmes tels que des erreurs de codage, des vulnérabilités de sécurité et des écarts de conformité qui peuvent compromettre la qualité, la fiabilité ou la sécurité du logiciel. L'analyse statique aide les organisations du secteur automobile d'améliorer la qualité et la sécurité de leurs logiciels et d'adhérer aux normes de codage liées à la norme ISO/SAE 21434, telles que MISRA, CERT et CWE.
Tests unitaires d'applications C et C++ aide à vérifier et à valider la fonctionnalité, les performances et la sécurité des composants individuels du logiciel. Grâce aux tests unitaires, les organisations du secteur automobile peuvent garantir l'exactitude et la robustesse de leurs logiciels. Ce faisant, ils sont sur la bonne voie pour satisfaire aux exigences et aux critères de test de la norme ISO/SAE 21434.
Les tests d'intégration peuvent aider les constructeurs automobiles à garantir la compatibilité et l'interopérabilité de leurs logiciels. Les solutions de tests logiciels peuvent effectuer des tests d'intégration sur les interactions et les interfaces entre les unités ou modules d'applications logicielles, et vérifier et valider leur fonctionnalité, leurs performances et leur sécurité.
Dans les tests basés sur les exigences, les cas de test sont créés en se concentrant sur les objectifs et les conditions décrits dans les exigences qui ont été décomposées ou éliminées au cours des phases de développement dans le SDLC. Ces tests visent à couvrir des fonctions ou des aspects spécifiques tels que la sécurité, la sûreté, la fiabilité et la convivialité. Donc, fondamentalement, vous concevez des cas de test en fonction de ce que disent les exigences, en vous assurant que le logiciel répond aux critères spécifiés comme l'exige la norme ISO/SAE 21434.
Les constructeurs automobiles peuvent également mesurer et signaler la couverture du code des activités de test de logiciels et indiquer le pourcentage du code source qui a été testé ou analysé avec une solution de test de logiciel de qualité. Couverture de code garantit l'exhaustivité et l'exhaustivité des tests logiciels, qui sont l'un des critères essentiels pour disposer d'un logiciel de qualité. Pour être plus spécifique à la norme ISO/SAE 21434, la couverture de code est utilisée pour garantir que chaque branche et chemin MC/DC d'une exigence de sécurité ou d'une capacité fonctionnelle est entièrement testé.
La norme ISO/SAE 21434 n'est pas la seule norme ou réglementation qui affecte l'industrie automobile et ses pratiques d'ingénierie en matière de cybersécurité. Il existe des normes et réglementations spécifiques à la conduite autonome et à la sécurité. D'autres sont applicables aux processus généraux de développement et de production de logiciels. La compréhension de ces normes ouvre également la voie à la conformité ISO/SAE 21434.
Vous trouverez ci-dessous certaines de ces normes et réglementations et leur lien avec la norme ISO/SAE 21434.
Il s'agit d'une norme internationale pour la sécurité fonctionnelle des systèmes électriques et électroniques des véhicules routiers. La norme définit le processus, les exigences et les activités visant à garantir la sécurité fonctionnelle des véhicules routiers et de leurs éléments, tels que le matériel, les logiciels et les systèmes, tout au long de leur cycle de vie, depuis leur conception jusqu'à leur mise hors service.
La norme ISO 26262 couvre tous les types et niveaux d'automatisation des véhicules routiers, y compris la conduite autonome, et fournit des conseils et des méthodes pour effectuer l'analyse des dangers et l'évaluation des risques, les objectifs de sécurité, la conception de la sécurité, la validation et les tests de sécurité et la gestion de la sécurité.
Bien que la norme ISO 26262 se concentre sur la sécurité fonctionnelle des véhicules routiers et de leurs éléments, elle complète la norme ISO 21434. En tant que telles, elles doivent être appliquées ensemble pour obtenir une ingénierie de sécurité et de sûreté complète et cohérente des véhicules routiers et de leurs éléments.
Connue sous le nom de Sécurité de la fonctionnalité prévue (SOTIF), cette norme décrit les mesures visant à garantir la sécurité de la fonctionnalité prévue des véhicules routiers. Cela est particulièrement pertinent pour les systèmes exigeant des niveaux élevés de connaissance de la situation pour la sécurité, tels que les systèmes d'intervention d'urgence et les systèmes d'automatisation de la conduite allant des niveaux 1 à 5. ISO 21448 et ISO/SAE 21434 sont toutes deux des normes automobiles, chacune traitant d'un aspect unique de la sécurité des véhicules. et la sécurité globale.
Le Forum mondial de la CEE-ONU pour l'harmonisation des réglementations relatives aux véhicules (WP.29) établit des normes mondiales en matière de sécurité des véhicules et d'impact environnemental. Elle complète la norme ISO/SAE 21434 en obligeant les fabricants à démontrer un système de gestion de la cybersécurité (CSMS) approprié, conforme à la norme ISO/SAE 21434.
Les quatre normes et réglementations sont complémentaires, compatibles et doivent être appliquées ensemble pour parvenir à une ingénierie de sûreté et de sécurité complète et cohérente des véhicules routiers et de leurs éléments.
Bien que les normes évoquées ci-dessus soient cruciales pour créer des systèmes logiciels automobiles cyber-résilients, nous ne pouvons nier qu’il en faut beaucoup pour les satisfaire. Au fil des années, les sociétés de tests de logiciels comme Parasoft ont simplifié le processus permettant de répondre à ce spectre de conformité en les intégrant à leur solution de tests de logiciels. Vous trouverez ci-dessous quelques-unes des capacités.
Solutions de tests logiciels de Parasoft automatiser les tests de logiciels des flux de travail et des tâches comme les suivants pour réduire l'effort manuel et l'intervention requis pour les tests logiciels.
L'automatisation aide les organisations du secteur automobile à améliorer l'efficience et l'efficacité de leurs tests logiciels, économisant ainsi du temps, de l'argent et des ressources.
Il s’agit d’un autre ingrédient clé des tests de logiciels automobiles. Les outils de test de logiciels automobiles sont ancrés dans des techniques et des algorithmes avancés, tels que IA, apprentissage automatique (ML)et heuristiques, pour hiérarchiser, sélectionner et exécuter les tests logiciels les plus pertinents et les plus importants et pour fournir les résultats et les commentaires les plus précis et les plus exploitables. Grâce à cette fonctionnalité, les ingénieurs logiciels peuvent améliorer la qualité et la précision de leurs tests logiciels, ainsi que réduire le coût, les efforts et la durée des tests logiciels.
Certaines solutions de test de logiciels destinées à répondre aux normes de codage s'intègrent aux outils et environnements de développement et de production de logiciels existants, notamment :
Ils fournissent également des capacités et des fonctionnalités de test de logiciels transparentes et cohérentes pour les différents éléments et parties prenantes impliqués dans le développement de logiciels. Cette intégration aide les organisations du secteur automobile à améliorer la cohérence de leurs tests logiciels et à aligner leurs tests logiciels sur leur flux de développement logiciel et de production.
La collaboration est l’une des caractéristiques du développement logiciel moderne. Des solutions de tests logiciels de qualité facilitent la collaboration et la communication entre les différents éléments et parties prenantes impliqués dans le développement de logiciels. La collaboration apporte transparence et responsabilité dans les tests logiciels et garantit l'alignement et l'intégration des tests logiciels avec les exigences et les attentes logicielles. De nombreuses organisations ont adopté des méthodes Agile pour déployer et automatiser la collaboration.
La conformité à la norme ISO/SAE 21434 ne consiste pas seulement à suivre les exigences et les activités spécifiées par la norme, mais également à adopter et à appliquer les meilleures pratiques susceptibles de soutenir et d'améliorer cybersécurité pour l'industrie automobile.
Vous trouverez ci-dessous quelques-unes des meilleures pratiques pour répondre à la norme ISO/SAE 21434 et comment elles peuvent aider les organisations à améliorer la qualité, la fiabilité et la sécurité de leurs logiciels et autres systèmes embarqués.
La révision du code est le processus d'examen et d'évaluation du code source du logiciel et de fourniture de commentaires et de suggestions d'amélioration. La révision du code aide les ingénieurs logiciels à détecter et à corriger tout problème susceptible d'affecter la qualité, la fiabilité ou la sécurité de leur logiciel, notamment les suivants :
Les révisions de code peuvent être difficiles et longues, en particulier lorsque le logiciel est complexe, volumineux ou fréquemment mis à jour, comme ce que l'on peut obtenir dans l'industrie automobile. En tant que telles, les organisations doivent développer une culture de révision continue du code, qui consiste à effectuer une révision du code de manière régulière et cohérente, tout au long du cycle de vie du développement logiciel (SDLC).
L’une des meilleures pratiques en matière de normes de codage pour répondre à la norme ISO/SAE 21434 consiste à définir dès le départ des normes de codage telles que CERT et/ou MISRA. Les organisations peuvent tirer parti de solutions de tests logiciels automatisés telles que Parasoft C/C++test pour prendre en charge et simplifier la définition et les tâches des normes de codage, telles que la sélection, la personnalisation et la documentation des normes de codage, et réduire l'effort manuel, ce qui réduit les coûts.
Pour atténuer les risques de cybersécurité de la chaîne d'approvisionnement associés aux logiciels tiers, les constructeurs automobiles devraient imposer des exigences strictes en matière de développement, de livraison et de validation d'intégrité de codes sécurisés pour les fournisseurs.
Les fournisseurs doivent développer du code en toute sécurité en utilisant les meilleures pratiques telles que la modélisation des menaces, l'analyse statique et des langages sécurisés pour minimiser les vulnérabilités, puis approuver numériquement le logiciel. Un cryptage et des contrôles d'accès robustes doivent être appliqués pour sécuriser les canaux de distribution contre la falsification.
Une fois reçues, les OEM doivent authentifier les signatures, exécuter des sommes de contrôle pour valider l'exactitude et rechercher d'éventuels défauts ou logiciels malveillants avant l'intégration. Il est également important que les fournisseurs maintiennent la transparence sur leurs contrôles et processus de sécurité au moyen d'audits et de rapports pour une surveillance continue. De plus, ils doivent remédier rapidement à toutes les vulnérabilités identifiées conformément aux politiques de divulgation des OEM.
Test continu est une autre bonne pratique pour répondre à la norme ISO/SAE 21434. Il s'agit de la pratique consistant à effectuer des tests de manière régulière et cohérente, tout au long du SDLC.
Les tests continus facilitent l'identification et la résolution des défauts, erreurs ou vulnérabilités des logiciels dans les plus brefs délais. Cela permet également d’éviter l’accumulation et la propagation de défauts, d’erreurs ou de vulnérabilités qui peuvent devenir plus difficiles et plus coûteuses à corriger par la suite. La rapidité permet aux organisations du secteur automobile d'améliorer l'efficience et l'efficacité de leurs processus de développement et de production de logiciels et de réduire le temps, les efforts et les ressources nécessaires aux tests et au débogage des logiciels.
Les organisations automobiles devraient exiger que les fournisseurs de composants fournissent une documentation détaillée de leurs politiques, programmes et pratiques internes en matière de cybersécurité. Cette documentation doit être soigneusement examinée pour confirmer son alignement avec la liste de contrôle de sécurité du fabricant OEM. Toute lacune ou tout écart doit être comblé.
L'analyse des menaces et l'évaluation des risques (TARA) sont un autre élément clé du respect de la norme ISO/SAE 21434 pour la cybersécurité automobile. TARA fournit un moyen systématique d'identifier, d'analyser et d'évaluer les risques de cybersécurité pour les véhicules et les systèmes automobiles.
Exécuter la stratégie TARA fournit une contribution cruciale aux activités de cybersécurité automobile décrites dans la norme ISO/SAE 21434, comme les suivantes :
Parasoft C / C ++test fournit des solutions de tests logiciels automatisés pour aider les organisations à respecter la conformité ISO/SAE 21434.
Prise en charge complète des normes automobiles comme MISRA, CERT et AUTOSAR C++14. L'ensemble de règles packagées de vérificateurs de normes de codage automobile et de sécurité, ainsi que des rapports de conformité dédiés, aident les organisations automobiles à atteindre les niveaux requis de sûreté et de sécurité dans leurs systèmes.
Rapports de conformité personnalisés et analyses avancées avec PAO Parasoft, qui centralise, traite et présente les données liées à la qualité des logiciels. Il compile les résultats de diverses méthodes de test, permettant une surveillance continue des résultats des tests. DTP fournit un tableau de bord consolidé pour afficher les résultats de l'analyse statique, des tests unitaires, des tests manuels, de la couverture du code, de la traçabilité des exigences, etc. Il comprend également des widgets d'analyse prêts à l'emploi pour comprendre les risques et améliorer la productivité. Pour répondre aux besoins de conformité, DTP automatise la collecte de données de qualité pour toutes les méthodes de test.
Tests logiciels continus pour réduire le temps, les efforts et les coûts liés à la fourniture de logiciels sécurisés, fiables et conformes. Les capacités de test logiciel automatisé de C/C++test sont conçues pour les environnements Agile DevOps modernes d'aujourd'hui et s'intègrent dans l'IDE du développeur, le pipeline CI/CD et les déploiements conteneurisés pour détecter les défauts plus tôt dans le SDLC et assurer automatiquement la conformité aux normes de l'industrie.
Vérification automatisée des normes de codage internes avec l'éditeur de règles spécialisé de Parasoft. Les équipes peuvent créer des vérificateurs personnalisés pour étendre ou personnaliser les règles intégrées. Cela remplace le processus manuel de vérification de la conformité, en automatisant la vérification des normes de codage internes.
IA et ML pour une meilleure analyse du code et d’aider les organisations à adopter des solutions d'analyse statique avec succès. Un obstacle courant auquel les équipes sont confrontées est la gestion d'un grand nombre d'avertissements et la gestion des faux positifs perçus. Quelles que soient les exigences de conformité (MISRA, CWE, OWASP, etc.), la solution d'analyse statique automatisée de Parasoft signale et hiérarchise les violations de règles que l'équipe doit corriger en premier.
La solution améliorée par l'IA et le ML examine les nouveaux résultats d'analyse statique dans le contexte à la fois des interactions historiques avec la base de code et des résultats d'analyse statique antérieurs pour prédire la pertinence et hiérarchiser les nouveaux résultats. Un moteur de détection de points chauds fonctionne avec un modèle avancé basé sur l'IA pour attribuer les violations aux développeurs correspondant à leurs meilleures compétences et expériences, en tirant les leçons des violations qu'ils ont corrigées dans le passé.
Création automatisée de tests unitaires permet la génération de tests unitaires applicables aux tests à l’échelle du projet et aux tests spécifiques à un fichier. La procédure comprend la mise en place d'une infrastructure de test et la création de suites de tests. Les tests unitaires aident à garantir la sûreté, la sécurité et la fiabilité du code en testant de petites sections de manière indépendante. Pour ce faire, les développeurs et les testeurs utilisent une technique appelée stubbing, qui permet d'isoler des parties spécifiques du code appelées unité ou fonction. Ces stubs imitent le comportement d'autres parties du code ou servent de remplacement temporaire aux sections qui n'ont pas encore été développées.
L’industrie automobile doit garantir la cybersécurité des véhicules routiers, car ceux-ci deviennent de plus en plus dépendants des logiciels et plus exposés aux cyberattaques. La cybersécurité affecte la sécurité, la vie privée et les performances des conducteurs, des passagers et des autres usagers de la route, ainsi que l'innovation, la compétitivité et la conformité du secteur automobile.
Le respect des normes stipulées dans la norme ISO/SAE 21434 est l'un des moyens par lesquels les logiciels équipant les véhicules routiers sont protégés contre les cyberattaques. En plus de respecter la norme ISO/SAE 21434, les organisations doivent veiller à satisfaire aux normes connexes telles que ISO 26262, ISO 21448, UNECE WP.29, CERT, MISRA et OWASP.
La conformité à la norme ISO/SAE 21434 et à ces autres normes comporte des défis allant de la complexité, de la diversité et de la dynamique aux ressources utilisées pour coupler les systèmes logiciels automobiles. L'industrie automobile peut surmonter ces défis en adoptant les meilleures pratiques de codage et en automatisant les tests logiciels avec des solutions telles que Parasoft C/C++test pour bénéficier des avantages suivants :
« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.