FMDS/RAMS
22/11/2023

Sûreté Fonctionnelle d’un Produit : Méthodes Expert

La Sûreté d’un Produit: définition, explication et exemple, avec des méthodes Expert. Correspondant à la notion «Security» en Anglais, il s’agit de l’ensemble des dispositions assurant que votre Système reste fonctionnel, ne se dégrade pas ni ne blesse ses utilisateurs à la suite de dysfonctionnements volontaires/malicieux.

Sureté, Sécurité, Fiabilité, Résilience… Ces 4 mots ne désignent en fait pas les mêmes notions. Je traite dans cet article de la notion de Sûreté Système, et j'aborde cela avec les méthodes Expert de l'état de l'art.

Je vous conseille la lecture préalable des Méthodes Simples pour vous familiariser avec la problématique.

Définition et objectif

La Sûreté est la lutte contre les dysfonctionnements ou mauvaises utilisations volontaires d’un Système.

Le but est d’analyser les menaces externes (mais aussi internes) de votre Système, ses faiblesses, et de mitiger le Risque de défaillances induites. Et ce pendant toutes les phases de vie de votre Produit (conception, opérations, maintenance, démantèlement…)

Pour davantage de détails sur les objectifs et des exemples, voir l’article sur les Méthodes Simples.

Comment assurer la Sûreté de son produit ?

Il s’agit d’utiliser un mélange d’outils technologiques, de principes de management, et de principes de conception.

Par exemple :

  • Mise en place d’un VPN pour les connexions du produit à internet
  • Mise en place d’une démarche Projet avec Revues, et d'une démarche d’Ingénierie Système lors de la conception
  • Construction d’une architecture électronique rendant indépendantes au maximum les différentes fonctions

Concrètement comment faire, depuis la conception jusqu’au retrait de service pour assurer cette Sûreté ?

Listons ici les méthodes complémentaires aux méthodes Simples. Dans cet article, nous nous intéressons aux méthodes Expert. C’est-à-dire les méthodes avancées qui demandent déjà une base de pratique.

Impliquer le Client dans les exigences (de Besoin)

Les exigences initiales de FMDS (RAMS en Anglais), dont je considère la Sûreté comme partie intégrante, sont des exigences de Besoin. Elles sont donc exprimées par le Client, seul ou accompagné par l'industriel (vous). On peut aussi parler d'Objectifs FMDS.

Ce travail de collaboration est très important car d'une part le Client sait mieux que vous ce dont il a besoin, et d'autre part il ne sait peut-être pas l'exprimer sous forme d'exigences claires et éventuellement chiffrées.

Lors de cette collaboration/négociation, il faut aussi garder en tête que les RAMS doivent être exprimés en fonction des coûts induits dans le Projet. En effet, un effort RAMS est non négligeable dans la mise au monde d'un Produit. Cela vient avec des coûts dédiés et potentiellement élevés. Il faut que tout le monde (client, fournisseur) en ait conscience et adapte le degrés d’effort en fonction du budget autorisé.

FMDS RAMS budget costs couts projet argent
Combien pour Un Système Sans Soucis ?

Refaire des AdR via AMDEC sur les étages de spécification inférieurs, les spécifications d’interfaces etc.

Idem que pour la Sécurité : faire une Analyse de Risques (AdR) à chaque « étage » d’exigences lors de la conception du Produit va apporter un supplément de Sûreté qui peut être primordial selon le niveau de criticité de votre produit (Dispositif Médical, Armement, Aéronautique/Spatial).

Pour savoir comment faire une AMDEC de Sûreté, voir l'article sur les méthodes simples de Sûreté.

Distinguer les éléments « verts » et « rouges », et ne lésinez pas sur les « rouges »

Si vous estimez qu’une partie de votre logiciel est primordiale pour la Sûreté de votre Produit :

  • développez-la avec une équipe plus expérimentée,
  • en prenant davantage de temps pour la spécifier et tester,
  • et en utilisant des technologies qui ont fait leurs preuves.

On parlera de partie « Rouge » du logiciel. Le reste est considéré « Vert ».

Exemple : Un logiciel de monitoring qui surveille que le fonctionnement du Produit est OK, et qui prend des mesures (passage en mode dégradé, ou buzz d’alerte) si jamais ce n'est pas le cas. Ce logiciel ne doit pas défaillir car c'est lui qui assure la mise en sécurité s'il y a un problème.

Procéder de même pour l’électronique : redondez davantage les parties Rouges, rendez la carte difficile d’accès physique ou impossible à griller via ondes EM, mettez une équipe expérimentée sur le coup, spécifiez de la manière la plus exhaustive possible etc.

Il est toujours possible de scinder votre produit entre ces éléments« verts » (ceux qui ne sont pas responsables d’une fonction Sûreté) et ces éléments « rouge » (ceux qui n’ont absolument pas droit à un problème).

Cela se fait de manière plutôt conceptuelle pour le logiciel ; mais pour l’électronique cette distinction peut par exemple se matérialiser par :

  • La délimitation de 2 zones distinctes sur une même carte ("zone rouge" et "zone verte" – avec leurs particularités de protections appliquées)
  • La séparation sur 2 cartes séparées des fonctions (une "carte Rouge" et une "carte Verte").
rouge vert security sureté de fonctionnement architecture systèmes
Force Rouge et Force Verte !

NOTA : ce concept de zones Rouge et Verte peut tout à fait s'appliquer également à la Sécurité !

Faire intervenir un expert

Ces personnes ont l’habitude et vont vous aider à rendre votre Système sûr et inviolable en analysant de fond en comble le Produit et proposant des barrières :

  • Cartes électroniques
  • Logiciels et plus globalement systèmes informatiques et réseaux
  • Procédures de montage
  • etc.

Toutes les phases de vie du Produit seront étudiées, en tenant compte du Produit lui-même mais aussi de ce qui l’entoure (Personnes, Sollicitations thermiques, mécaniques, électromagnétiques, chimiques, autres systèmes, …).

Michael Scott expert security sureté de fonctionnement
L'expertise, c'est important

Maintenir son Produit au top… Mais anticiper le pire !

Parmi les Méthodes Simples, je parle de maintenir à jour son Système face aux menaces qui elles-mêmes évoluent. Il est fort probable que malgré tous vos efforts pour rendre votre Système sûr, un pépin arrive tout de même.

Il faut donc prévoir un Plan de Continuité de l’Activité (PCA) et un Plan de Reprise de l’Activité (PRA).

Sur internet, plusieurs ressources peuvent vous aider à les construire. Un guide du Gouvernement existe également.

Exemple :

Imaginons que vous proposez à vos clients un robot chirurgien qui, pour fonctionner, a besoin d’infrastructures au sein de l’hôpital: des serveurs (que vous fournissez aussi), qui monitorent le bon fonctionnement du robot et enregistrent les évènements essentiels lors des opérations sur patients. Imaginons que le robot puisse fonctionner en autonome même si ces serveurs sont down.
Que se passe-t-il si vos serveurs dysfonctionnent un jour du fait d’une malveillance et qu’une opération est en cours avec ledit robot ? Comment assurer de terminer l’opération sans dégâts ni blessures ? Comment assurer la remise en route de ces serveurs (pendant ou après l’opération) ?
C’est à ce genre de questions que doivent répondre les PCA et PRA. Le jour où les pépins (volontaires) identifiés se produisent, vous savez comment agir et restaurer la situation à la normale.

Attention, avoir un PCA/PRA ne veut pas dire qu’on peut se passer de la Sûreté de base de notre Système ! La Sûreté réduit considérablement la probabilité d’avoir à se servir des PCA/PRA… Mieux vaut prévenir comme on dit.

PCA PRA sureté de fonctionnement security
Les PCA et PRA sont des parachutes de secours : c'est bien de les avoir, c'est mieux de ne pas avoir à s'en servir

Pensez long terme

Si votre Produit est destiné à être utilisé « longtemps » (c’est à dire pendant une durée supérieure à 2 ans), alors il faut bien garder en tête que les menaces vont évoluer entre la mise sur le marché et la fin d’utilisation de votre produit.

L’architecture complète du Système doit être pensée :

  • pour être Sûre dès le début (Security by Design),
  • mais aussi pour être évolutive de manière maîtrisée.

Une bonne pratique est de considérer que toutes les parties de votre système (tous les composants logiciels et/ou cartes électroniques etc.) doivent être des composants totalement indépendants et qu’ils doivent être sûrs à chacune de leurs frontières.

Exemple :

  • Considérez toutes les données qui sont communiquées par la partie A du logiciel à la partie B de ce même logiciel comme pouvant être corrompues lors de la communication entre A et B.
  • Considérez que des perturbations électriques peuvent se propager d’une carte A vers une carte B alors qu’il n’y a pas de raisons apparentes que la carte A « essaie de griller » la carte B.

La Sûreté by Design permet, si un composant est attaqué/contrôlé de manière malveillante, de ne pas rendre attaquables plus facilement les autres composants par rebond. Les éléments doivent « ne pas se faire confiance » les uns les autres ; plutôt que de supposer que le danger sera « en dehors du système ».

L’évolutivité assure de rendre modifiables de manière claire et circonscrite les différents composants de son Produit, afin de les changer facilement pour faire face aux évolutions des menaces. Les changements seront plus faciles si ces composants sont bien séparés et indépendants car ils seront modifiables de manière maîtrisée.

Si votre architecture ne présente que des circuits électroniques et composants logiciels qui sont enchevêtrés les uns aux autres sans délimitations claires des fonctions et interfaces, il y a d'une part des chances pour qu’une faille se cache dans ce plat de spaghetti sans même que vous ne vous en rendiez compte, et d'autre part cette architecture sera très complexe à faire évoluer pour contrer les menaces.

spaghetti code refactoring security sureté de fonctionnement
Un beau code méritant un bon refactoring

BONUS : Ne pensez pas qu’à votre produit, mais tout ce qui est plus au moins en contact avec lui !

  • les moyens de production
  • les moyens de support
  • Procédures de Production
  • Procédures de Maintenance
  • Supply Chain
  • La gestion de l’information de conception (où vous rangez vos plans, codes, spec etc.)
  • Etc.

Tout ceci doit rentrer dans la réflexion de Sûreté !

Medical Device Manufacturing usine dispositif médical sureté security
L'usine peut également être un point de défaillance pour votre produit

Quelques mots pour terminer

Une bonne pratique est d’engager un expert ou au moins une personne dont c’est le rôle à part entière dans la société : son œil extérieur et son expérience transverse sur ces sujets sera toujours d’une grande aide.

La Sécurité et la Sûreté se traitent de manière relativement proche. Lisez les articles sur la Sécurité en mode facile et mode expert pour vous en convaincre et consolider vos connaissances.

Penser long terme (évolutivité du Produit) facilitera grandement l’exploitation et la maintenance du Système... Et impactera positivement vos coûts sur la vie du Produit !

Tous ces travaux de Security By Design et d'Evolutivité ont généralement du sens car l'investissement initial consenti (travailler davantage les exigences, faire des AdR...) est inférieur aux coûts d'exploitation nécessaires ensuite sur la vie du Système si on n'a rien fait pour le rendre Sûr. Il s'agit de dépenser 1€ maintenant pour en économiser 10 plus tard !

Aurélien NARDINI

Un Système Sans Problème est une ressource de connaissances et de savoir-faire pratiques, avec exemples concrets.

Que vous soyez Chef de Programme, Chef de Projet, Architecte Système, Ingénieur, Manager dans l'Industrie, Etudiant ou Curieux de l'Ingénierie, vous êtes au bon endroit.

Au travers d'articles publiés régulièrement, découvrez ou révisez les Processus, Méthodes, Outils et Astuces utiles pour concevoir et piloter dans les domaines du Software, Firmware, de l’Électronique, et de la Mécanique.
 
Parce-qu'un produit fiable et industrialisable ne s'improvise pas !