ISO/SAE® 21434:2021 est une norme internationale de l’industrie automobile concernant les risques de cybersécurité dans les systèmes des véhicules routiers modernes. Cette norme spécifie les exigences relatives à la construction de systèmes électriques et électroniques (E/E) sécurisés, y compris leurs composants et interfaces, et au maintien de leur niveau de sécurité tout au long de leur cycle de vie. La norme ISO 21434 offre une implémentation de référence pour le CSMS (Cyber Security Management System) de la réglementation UN-ECE R.155. À ce titre, elle décrit les prérequis techniques pour l’homologation des véhicules routiers.
Cette norme accompagne l’ISO 26262, la norme concernant la sécurité fonctionnelle pour les véhicules routiers. Elle aborde également les risques de cyberattaques malveillantes contre les systèmes E/E et leurs interactions. Les facteurs de risques évoluent rapidement. Ces risques doivent donc être identifiés et gérés en continue pour assurer la sécurité du véhicule, du conducteur et des autres usagers de la route. L’ISO 21434 n’impose aucune méthode ni de contre-mesure particulière. En revanche, elle définit les activités et les éléments à produire et à mettre à jour en continu en tant que preuve d’une gestion appropriée des risques.
Construire des systèmes sûrs grâce à l’approche Model-Based Design
L’approche Model-Based Design avec MATLAB et Simulink permet de respecter ces deux normes ISO avec une seule chaîne d’outils. Cette approche permet aux développeurs et aux professionnels de construire des systèmes sûrs, de générer les éléments nécessaires et de mettre rapidement à jour les designs en cas de problèmes de sécurité. Ce workflow offre une traçabilité complète des exigences et du design, du premier concept à l’implémentation finale. Grâce aux améliorations hiérarchiques des spécifications et des métadonnées, les développeurs peuvent évaluer l’exhaustivité de l’architecture de sécurité, déterminer l’impact des modifications apportées au design et vérifier la cohérence globale. Les méthodes de vérification avancées détectent les vulnérabilités avant la mise en production, permettant ainsi d’éviter l’ouverture d’une surface d’attaque. Ces fonctionnalités permettent aux ingénieurs de détecter les contremesures manquantes et de concevoir des solutions sécurisées. Une fois qu’ils ont évalué les risques de sécurité, les ingénieurs peuvent implémenter la solution rapidement et avec précision avec la génération automatique de code.
Détecter les vulnérabilités avec l’analyse statique de code
L’analyse statique de code est une autre méthode d’évaluation des risques recommandée par les normes de sureté et de cybersécurité. Les ingénieurs peuvent appliquer cette méthode au code généré ou écrit manuellement afin de vérifier la conformité aux règles de codage (notamment CERT C/C++, MISRA© security et CWE) et identifier d’autres anomalies comme les défauts d’intégration, les menaces de confidentialité et les problèmes de performance. L’analyse profonde des données et des flux de contrôles basée sur des méthodes formelles peut révéler des défauts difficiles à trouver avec des méthodes conventionnelles (comme les tests dynamiques), et peut même prouver l’absence de vulnérabilités critiques.
L’ensemble de la documentation du workflow, les rapports, les suites de test et les artefacts de certification supplémentaires sont proposés dans l‘IEC Certification Kit (for ISO 21434, ISO 26262, ASPICE, and IEC 61508).
« Sans l’approche Model-Based Design, il nous aurait fallu au moins 30 % de temps supplémentaire pour développer et certifier le logiciel d'application ESCL. Nous avons économisé du temps et des efforts en générant un code efficace qui satisfaisait toutes nos exigences en termes de vitesse et de mémoire. »
Cheng Hui, responsable de la plateforme et des processus, KOSTAL
Utiliser les produits MATLAB et Simulink pour l’ISO 21434
Les produits clés pour développer des applications conformes à l'ISO 21434 :
- IEC Certification Kit (for ISO 21434, ISO 26262 and ASPICE)
- Simulink
- System Composer
- Embedded Coder
- Simulink Check
- Simulink Coverage
- Requirements Toolbox
- Simulink Design Verifier
- Simulink Test
- Polyspace Bug Finder
- Polyspace Code Prover