Logo Parasoft
Image de la couverture du livre blanc

Livre blanc

Comment garantir la sécurité des logiciels pour les systèmes embarqués pilotés par l'IA/ML

Découvrez ci-dessous un aperçu des avancées majeures présentées dans notre livre blanc.

Vue d'ensemble

L’intelligence artificielle (IA) et l’apprentissage automatique (AA) transforment les systèmes embarqués critiques pour la sécurité dans des secteurs comme l’automobile, la santé et la défense. Des véhicules autonomes au diagnostic médical, ces technologies permettent des capacités révolutionnaires et des opérations autonomes. Cependant, leur intégration soulève d’importants défis.

L'intégration de l'IA/ML dans ces systèmes va bien au-delà du simple respect des normes. Elle exige un fonctionnement fiable malgré des contraintes importantes. Les modèles d'IA nécessitent une puissance de traitement et une mémoire considérables, souvent limitées dans les systèmes embarqués. Plus grave encore, le caractère imprévisible de certains modèles d'IA représente un risque direct pour les niveaux élevés de précision et de fiabilité requis par les applications critiques pour la sécurité.

Dans ce livre blanc, nous explorerons ces défis et les dernières avancées, en expliquant comment :

  • Assurance du système. Garantir la sûreté, la sécurité et la fiabilité des composants d'IA/ML.
  • Stabilité du modèle. Gel des modèles après l'entraînement pour garantir un comportement cohérent.
  • Conformité aux normes. Conformité aux normes ISO 26262 et IEC 62304 pour la certification.
  • Des tests rigoureux. Utilisation de l'analyse statique, des tests unitaires et des tests HIL pour la vérification.
  • La sécurité d'abord. Prioriser la sécurité et la conformité tout au long du cycle de vie de l'IA/ML.
Illustration de voitures détectant la présence d'autres voitures sur la chaussée.

Défis de l'IA/ML dans les systèmes embarqués critiques pour la sûreté et la sécurité

Les systèmes embarqués fonctionnent avec des contraintes strictes en matière d'énergie, de mémoire et de puissance de calcul. Parmi les exemples, citons les dispositifs médicaux, les véhicules autonomes et les systèmes de contrôle industriels. Il ne s'agit pas de simples projets logiciels, mais d'objets physiques dont les capacités sont limitées.

Dans la plupart des cas, il n'y a pas la place pour une puce informatique volumineuse ou un ventilateur pour refroidir le composant. La consommation d'énergie est un autre facteur important. De nombreux systèmes embarqués fonctionnent sur batteries qui doivent durer des années. Or, les modèles d'IA, surtout les plus complexes, sont extrêmement énergivores.

Même en miniaturisant le matériel et en optimisant la consommation d'énergie, l'exécution continue d'IA complexes peut entraîner une surchauffe. Or, la chaleur est néfaste pour les composants électroniques. Mais le problème ne se limite pas à l'appareil lui-même.

Systèmes embarqués Ces systèmes fonctionnent souvent dans des environnements extrêmes : froid glacial, chaleur torride, vibrations de machines, voire sous l’eau. Si le matériel ne résiste pas aux intempéries, l’IA devient inutilisable. Intégration de l'IA dans les systèmes embarqués Il ne s'agit pas seulement de programmer des algorithmes plus intelligents. C'est un bras de fer constant entre les besoins de l'IA et les limites du monde physique.

Pour concilier le potentiel de l'IA avec les réalités des systèmes embarqués, les développeurs déploient des stratégies visant à réduire efficacement la taille des modèles et la charge de calcul tout en préservant les performances critiques. Ces stratégies comprennent :

  • Élagage pour éliminer les voies neuronales les moins importantes.
  • La quantification, qui compresse les données numériques en formats à faible nombre de bits.

Nous aborderons ces deux stratégies plus en détail ultérieurement dans ce livre blanc.

De plus, le déterminisme, la certifiabilité et la résilience face aux conditions adverses posent des défis qui vont au-delà de l'optimisation des performances.

Stratégies qui concilient performance et fiabilité

L'intégration de l'IA/ML dans les systèmes embarqués critiques suit une progression structurée. Elle débute par la prise en compte des contraintes matérielles fondamentales grâce à l'optimisation des modèles, notamment par l'élagage et la quantification, afin d'en garantir l'efficacité. Ensuite, le déterminisme et la prévisibilité sont assurés par le gel des modèles et l'utilisation d'une allocation de mémoire statique.

Enfin, la sécurité et la certifiabilité sont obtenues en intégrant une IA explicable (XAI) pour la transparence et en enveloppant le modèle dans un système de garde-fous basés sur des règles pour la protection en temps réel, garantissant ainsi la conformité aux normes industrielles rigoureuses.

Déterminisme

Les systèmes critiques pour la sécurité, tels que le freinage automobile et les commandes de vol, exigent un comportement déterministe, c'est-à-dire des sorties cohérentes et prévisibles pour des entrées données, dans des délais garantis. Or, les modèles d'IA/ML, notamment les réseaux de neurones, sont intrinsèquement probabilistes et présentent souvent des sorties non déterministes. Prenons l'exemple des véhicules autonomes, qui nécessitent une détection d'obstacles en une fraction de seconde. Toute latence imprévisible pourrait retarder le freinage de quelques millisecondes, compromettant ainsi les capacités de freinage. Normes de sécurité ISO 26262.

Le gel des modèles entraînés (verrouillage des poids pour éviter toute dérive temporelle) et l'utilisation d'une allocation statique de mémoire pour éliminer les variations de temps d'exécution garantissent le déterminisme. Ceci assure, par conséquent, des réponses prévisibles en temps réel.

Loupe sur le mot déterminisme

Certification

Les systèmes critiques pour la sécurité doivent se conformer à des normes de certification rigoureuses telles que l'ISO 26262 (automobile) ou la CEI 62304 (dispositifs médicaux). Cependant, la nature opaque de nombreux modèles d'IA/ML, avec leurs processus de décision opaques, constitue un défi majeur, rendant difficile la traçabilité des décisions et la démonstration de leur robustesse.

Pour remédier à cela, les équipes de développement de systèmes embarqués peuvent renforcer la sécurité et la certification des systèmes en mettant en œuvre des architectures de garde-fous. Dans cette approche, le modèle d'IA est considéré comme un composant d'un système plus vaste et géré. Ce système est alors conçu avec des couches de sécurité explicites qui surveillent et contraignent le comportement de l'IA.

Cela peut inclure:

  • Vérificateurs basés sur des règles. Valider les résultats de l'IA par rapport à un ensemble de règles de sécurité et de lois physiques prédéfinies avant leur exécution.
  • Méthodes de vérification formelle. Utilisation de techniques mathématiques pour encadrer de manière prouvée le comportement du modèle dans des limites de fonctionnement sûres.

En intégrant l'IA dans un cadre de protection de ce type, les équipes peuvent créer un système globalement plus sûr, plus prévisible et plus facilement certifiable, permettant la conformité à des normes telles que l'ISO 26262 ou les directives de la FDA.

Résilience face aux conditions adverses

Les systèmes embarqués fonctionnent souvent dans des environnements non contrôlés, comme les robots industriels et les drones. Ils sont exposés à des attaques adverses, notamment des entrées malveillantes conçues pour tromper les modèles d'apprentissage automatique, telles que des données de capteurs perturbées entraînant des erreurs de classification. À titre d'exemple, l'algorithme de dosage d'une pompe à insuline piratée pourrait administrer une surdose aux patients si des entrées adverses contournent les contrôles de sécurité.

Pour renforcer la résilience face aux conditions difficiles, il existe plusieurs façons de durcir les modèles.

  • L'entraînement adverse consiste à les exposer à des données perturbées pendant leur développement.
  • Des techniques de nettoyage des entrées, telles que le filtrage du bruit, sont utilisées, tandis que des moniteurs d'exécution détectent les anomalies, comme les chutes de confiance soudaines, afin de signaler les attaques potentielles.

Les équipes peuvent atténuer davantage les risques en sécurisant les protocoles de mise à jour, tels que les correctifs OTA signés cryptographiquement, et en mettant en place une redondance, par exemple des systèmes de vote répartis sur plusieurs modèles. Ces mesures créent une défense multicouche qui concilie la flexibilité de l'IA/ML et les exigences strictes de sûreté et de sécurité des systèmes embarqués.

Acceptation du risque

La nature probabiliste des résultats de l'IA/ML, tels que les intervalles de confiance, reflète les mesures de fiabilité statistique utilisées pour les composants matériels. Bien que les sources de risque diffèrent, les principes fondamentaux de l'atténuation des risques s'appliquent de la même manière. Ces principes fondamentaux sont les suivants :

  • Redondance
  • Vérification
  • Transparence
  • mécanismes de protection adaptatifs

Les organisations établissent des critères d'acceptation des risques liés aux défaillances matérielles dans les systèmes critiques pour la sécurité, par exemple en définissant des taux de défaillance tolérables pour des composants tels que les capteurs ou les processeurs. De même, elles doivent définir des seuils de risque pour les systèmes pilotés par l'IA/l'apprentissage automatique.

Ce processus consiste à quantifier et à qualifier les risques introduits par l'IA/ML au regard des objectifs de sécurité du système, des exigences réglementaires et des attentes sociétales. Par exemple, un développeur de véhicule autonome pourrait déterminer que le taux d'erreur de classification d'un réseau neuronal ne doit pas dépasser un certain seuil afin de respecter les objectifs globaux de sécurité du système. Cette démarche est comparable à la limitation du taux de défaillance d'un composant matériel.

Il existe toutefois des différences importantes dans la manière dont les équipes évaluent et gèrent les risques. La dégradation physique, les défauts de fabrication ou les contraintes environnementales sont souvent à l'origine des pannes matérielles. Ces pannes sont probabilistes, mais relativement bien caractérisées grâce aux données historiques et aux tests standardisés, comme le temps moyen entre les pannes (MTBF).

Les risques liés à l'IA/ML, en revanche, proviennent de l'incertitude algorithmique, des dépendances des données et des comportements émergents qui peuvent échapper à toute analyse déterministe. Par exemple, un modèle d'apprentissage automatique peut fonctionner parfaitement lors des tests, mais échouer de manière imprévisible face à des scénarios inédits et concrets, non présents dans ses données d'entraînement.

Malgré ces différences, le principe fondamental reste le même : les organisations doivent définir des niveaux de risque acceptables en fonction du contexte opérationnel du système, des dommages potentiels et des capacités d'atténuation.

Les normes réglementaires comme ISO 26262 pour les systèmes automobiles ou Norme CEI 61508 pour la sécurité industrielle Les normes exigent déjà une classification rigoureuse des risques pour le matériel et les logiciels. Les niveaux d'intégrité de sécurité automobile (ASIL) en sont un exemple.

Des cadres analogues émergent dans le domaine de l'IA et de l'apprentissage automatique. La norme ISO 21448, relative à la sécurité des fonctionnalités prévues (SOTIF) pour les systèmes autonomes, traite des limitations de performance des composants pilotés par l'IA. Ces cadres soulignent que les risques liés à l'IA et à l'apprentissage automatique doivent être circonscrits, validés et surveillés en permanence afin de garantir qu'ils restent dans des limites acceptables, au même titre que les risques matériels.

Concrètement, cela signifie que les organisations devraient :

Image IA circulaire avec des lignes et une IA au centre

Aligner les critères de risque liés à l'IA/ML sur les objectifs de sécurité du système.

Définir des probabilités de défaillance acceptables pour les résultats de l'IA/ML, telles que les erreurs de détection d'objets dans les voitures autonomes, qui correspondent aux objectifs de sécurité globaux du système.

Icône d'une ampoule

Tirer parti de l'expertise interdisciplinaire.

Combiner l'ingénierie de sécurité traditionnelle (AMDEC, analyse par arbre de défaillance) avec des méthodes spécifiques à l'IA (outils d'explicabilité, tests de robustesse) pour évaluer les risques de manière holistique.

icône bleue avec triangle et point d'explication au centre

Adoptez une gestion dynamique des risques.

Contrairement aux composants matériels statiques, les systèmes d'IA/ML peuvent évoluer par le biais de mises à jour ou de réentraînements, par exemple, ce qui nécessite une réévaluation continue des risques.

Synthèse

L'intégration de l'IA et du ML dans les systèmes embarqués critiques pour la sécurité présente à la fois des opportunités et des défis. Automatisation basée sur l'IA L'amélioration des capacités du système introduit également des complexités telles que le non-déterminisme, des obstacles à la conformité et des failles de sécurité. Garantir la fiabilité exige une combinaison de techniques d'optimisation de modèles, de matériel spécialisé et de méthodologies de vérification rigoureuses.

Des techniques comme l'élagage, la quantification et le matériel spécialisé permettent à l'IA de fonctionner efficacement malgré les contraintes des systèmes embarqués. Cependant, la sécurité et la conformité exigent des mesures supplémentaires :

  • Modèles de congélation.
  • Mise en œuvre de mécanismes de protection fondés sur des règles.
  • Appliquer des pratiques de vérification telles que l'analyse statique, les tests unitaires et l'analyse de couverture.

Ces stratégies contribuent à atténuer l'imprévisibilité inhérente à l'IA et sont conformes aux normes de sécurité telles que l'ISO 26262 et la CEI 62304. En définitive, le succès du déploiement de l'IA dans les systèmes embarqués repose sur un équilibre entre innovation et conformité réglementaire. À mesure que les méthodes de vérification spécifiques à l'IA évoluent, l'intégration des pratiques traditionnelles de sécurité logicielle aux techniques prenant en compte l'IA sera essentielle pour garantir que les systèmes embarqués pilotés par l'IA restent sûrs, fiables et certifiables dans les applications réelles.

Équipe de développeurs

Prêt à plonger plus profondément ?

Téléchargez le livre blanc complet