Aérospatial & défense : l’exigence du logiciel embarqué sûr
trait de séparation
Temps de lecture : 5 minutes
Le terme « aérospatiale et défense » (souvent abrégé en A&D) englobe une grande variété d'activités, tant civiles que militaires.
Malgré cette diversité, ces activités partagent le besoin commun de logiciels essentiels à la sécurité.
Développement de logiciels embarqués sécurisés de l'aviation civile
Les autorités de l'aviation civile traitent les problèmes de cybersécurité dans les systèmes embarqués en appliquant des normes de sécurité des logiciels avioniques qui offrent une approche holistique et cohérente de la sécurité dès la conception dans l'ensemble du secteur.

La norme DO-178C/ED-12C est le principal document de référence utilisé par les autorités de certification pour approuver tous les systèmes d'aviation civile commerciaux basés sur des logiciels. Elle est complétée par plusieurs documents, dont beaucoup soutiennent l'utilisation d'approches ou de technologies de développement particulières.
Voici quelques exemples de documents justificatifs :
- DO-330/ED-215 : Un document autonome traitant de la qualification des outils logiciels.
- DO-331/ED-216 : Un supplément à la norme DO-178C traitant du développement basé sur des modèles.
- DO-332/ED-217 : Un supplément à DO-178C traitant de la technologie orientée objet.
- DO-333/ED-218 : Un supplément à DO-178C traitant des méthodes formelles.
- CAST-32A & A(M)C 20-193 : Relever les défis de certification uniques associés à l'utilisation de processeurs multicœurs.
- AC 20-148 : Traite des logiciels destinés à être réutilisés sur plusieurs systèmes.
Développement de logiciels embarqués sécurisés dans la défense
Différents pays ont leurs propres normes de sécurité relatives aux équipements de défense, notamment :
- MIL-HDBK-516C : États-Unis : « Critères de certification de navigabilité »
- MIL-STD-883E : États-Unis : « Méthode de test des microcircuits »
- DEF STAN 00-55 : Royaume-Uni : « Exigences de sécurité des éléments programmables (EP) dans les systèmes de défense »
- DEF STAN 00-56 : Royaume-Uni : « Exigences de gestion de la sécurité pour les systèmes de défense »
- Plusieurs initiatives visent également à harmoniser ces normes nationales, notamment celles de l' UE et de l'OTAN . Dans de nombreux cas, les développeurs de logiciels de défense doivent également se conformer aux normes civiles. Citons par exemple les normes DO-178C/ED-12C et DO-278A/ED-190D pour l'aviation, et la norme ISO 26262 pour les véhicules terrestres.
Développement de logiciels embarqués sécurisés dans le spatial
Les normes de sécurité des logiciels sont cruciales en raison des enjeux importants impliqués dans le secteur spatial.
Les documents d'orientation de la NASA relatifs au développement de logiciels embarqués se divisent en deux groupes : les normes et les exigences procédurales. Les NPR garantissent l'alignement des processus et des aspects de gestion sur les objectifs de la NASA, tandis que les STD définissent les normes techniques et d'ingénierie pour atteindre ces objectifs. La norme NP 7150.2D Exigences d'ingénierie logicielle est le document le plus pertinent pour le développement de logiciels embarqués critiques pour la sécurité.
De plus, la série de normes ECSS, publiée par la Coopération européenne pour la normalisation spatiale (ECSS), couvre tous les aspects de l'ingénierie logicielle spatiale, notamment la définition des exigences, la conception, la production, la vérification, la validation et la maintenance. Elles mettent l'accent sur la rigueur des tests, de la validation et de la gestion des risques afin de prévenir les défaillances susceptibles de compromettre les missions ou la sécurité, en accordant une attention particulière à la traçabilité du code source au code objet pour les systèmes les plus critiques.
Les documents d'orientation de la NASA relatifs au développement de logiciels embarqués se divisent en deux groupes : les normes et les exigences procédurales. Les NPR garantissent l'alignement des processus et des aspects de gestion sur les objectifs de la NASA, tandis que les STD définissent les normes techniques et d'ingénierie pour atteindre ces objectifs. La norme NP 7150.2D Exigences d'ingénierie logicielle est le document le plus pertinent pour le développement de logiciels embarqués critiques pour la sécurité.
De plus, la série de normes ECSS, publiée par la Coopération européenne pour la normalisation spatiale (ECSS), couvre tous les aspects de l'ingénierie logicielle spatiale, notamment la définition des exigences, la conception, la production, la vérification, la validation et la maintenance. Elles mettent l'accent sur la rigueur des tests, de la validation et de la gestion des risques afin de prévenir les défaillances susceptibles de compromettre les missions ou la sécurité, en accordant une attention particulière à la traçabilité du code source au code objet pour les systèmes les plus critiques.
Développement de logiciels embarqués sécurisés dans le secteur l'aérospatiale, la défense et le spatial
La suite d'outils LDRA offre une gamme de fonctionnalités de tests dynamiques conçues pour améliorer la qualité des logiciels et garantir la conformité aux normes de sécurité. Parmi les principales fonctionnalités de tests dynamiques, on peut citer :
Ces fonctionnalités aident les développeurs à identifier et à résoudre les problèmes dès le début du processus de développement, améliorant ainsi la fiabilité et la sécurité globales du logiciel.
- Test unitaire, système et d'intégration : génère des faisceaux de tests et des programmes pilotes pour faciliter les tests unitaires et d'intégration sur l'hôte, la cible et les simulateurs.
- Analyse de la couverture du code : fournit des mesures détaillées de la couverture du code pour identifier les parties non testées du code et pour démontrer la traçabilité des exigences.
- Analyse du couplage des données et du couplage des commandes : Fournit une analyse du degré de dépendance d'un module par rapport à un autre, en vue d'optimiser cette dépendance.
- Analyse du temps d'exécution (WCET) : inclut la prise en charge des processeurs multicœurs, y compris la possibilité d'analyser les interférences.
- Traçabilité du code source au code objet : fournit les moyens de confirmer que le compilateur a créé un code objet exécutable qui reproduit fidèlement ce que les développeurs avaient prévu.
Ces fonctionnalités aident les développeurs à identifier et à résoudre les problèmes dès le début du processus de développement, améliorant ainsi la fiabilité et la sécurité globales du logiciel.