Un système critique, en anglais safety-critical system ou life-critical system, « système vital pour la sécurité » ou « pour la survie », est un système dont la panne peut avoir des conséquences dramatiques, comme des morts ou des blessés graves, des dégâts matériels importants, ou des conséquences graves pour l'environnement. L'analyse des systèmes critiques ne se limite pas à celle que permet, aujourd'hui de plus en plus, l'informatique de contrôle des processus, fussent-ils mécaniques ou humains.

Le Poste de pilotage d'un Lockheed C-141 Starlifter est un exemple de système critique.

Domaines critiques

modifier

Dans le monde de l'informatique, les systèmes qualifiés de « critiques » se retrouvent par exemple dans :

En fait, par la diffusion généralisée des technologies à base d'informatique et donc de l'impact plus massif d'un défaut quelconque, la notion de criticité tend à se diffuser, même s'il s'agit plus souvent d'un risque de désorganisation sur les plans économique, social ou financier.

Niveaux de criticité

modifier

Évaluation

modifier

Il existe différents niveaux de criticité d'un système, suivant l'impact possible des dysfonctionnements. On apprécie ainsi différemment, par exemple, un dysfonctionnement provoquant des pertes coûteuses, mais sans mort d'homme (cas des missions spatiales non habitées) et un dysfonctionnement provoquant des morts dans le grand public (cas des vols commerciaux). De même, on apprécie différemment des dysfonctionnements faisant courir un danger de mort ou de blessure à des humains, ou des dysfonctionnements augmentant la charge de travail et les risques d'erreur de pilotage des opérateurs humains.

Conséquences sur la sécurité

modifier

La criticité du système définit un niveau d'exigence par rapport à la tolérance aux pannes. Elle aura des conséquences sur l'évaluation des niveaux d'assurance pour la sécurité.

Cas particulier de l'aviation

modifier

En aéronautique, le niveau de criticité d'un système critique est calculé pour chaque « événement redouté » (terme que l'on peut traduire de l'anglais failure condition[Note 1]) du système. Il existe cinq niveaux, qui sont détaillés dans ARP4761A/ED-135[1]. Pour chaque fonction que doit remplir ce système, les événements redoutés sont évalués en fonction de leur effet[2] :

  • Le niveau CAT (catastrophique) : la survenue de l'événement redouté provoquerait ou contribuerait à une condition de perte catastrophique de l'aéronef, à de nombreuses morts de personnes.
  • Le niveau HAZ (hazardous, dangereux) : la survenue de l'événement redouté provoquerait ou contribuerait à une condition dangereuse ou un dysfonctionnement sévère de l'aéronef, à de multiples blessures graves ou à la mort d'un nombre limité de personnes.
  • Le niveau MAJ (major, majeur) : la survenue de l'événement redouté provoquerait ou contribuerait à un dysfonctionnement majeur de l'aéronef, ou à une surcharge importante d'activité du personnel navigant.
  • Le niveau MIN (minor, mineur) : la survenue de l'événement redouté provoquerait ou contribuerait à un dysfonctionnement mineur de l'aéronef.
  • Le niveau no effect (pas d'effet) : La survenue de l'événement redouté ne provoquerait ou ne contribuerait à aucun impact sécurité sur le fonctionnement de l'aéronef ou la charge de travail du pilote.

Ces niveaux se déclinent en deux types d'obligations : des obligations qui concernent la fiabilité et la tolérance aux pannes, d'une part et des obligations au niveau de la qualité en développement, d'autre part[2].

Fiabilité et la tolérance aux pannes

modifier

En ce qui concerne le niveau de fiabilité du système, le taux de panne toléré est donné suivant le niveau de l'événement redouté le plus élevé. Il est donné en nombre de pannes par heure de vol (valeur bien inférieure à un). Dans la dernière colonne, cette valeur est mise sous forme de nombre d'heures de vol requis sans que la panne apparaisse (valeur statistique)[2].

Niveau de l'événement redouté

le plus élevé.

Taux de pannes toléré Nombre d'heures de vol requis

sans pannes

CAT 1 * 10 -9 1 000 000 000 heures de vol
HAZ 1 * 10 -7 10 000 000 heures de vol
MAJ 1 * 10 -5 100 000 heures de vol
MIN 1 * 10 -3 1 000 heures de vol
No Effect Non spécifié Non spécifié

Pour obtenir ces valeurs de fiabilité, les systèmes sont souvent constitués de composants (ou items) redondants et indépendants pour les systèmes supportant les événements redoutés les plus élevés.

Par exemple, en ce qui concerne les avions Airbus, le système le plus critique, les commandes de vol électrique, inclus trois calculateurs redondants (les PRIM). Si ces trois calculateurs sont simultanément en panne, en redondance, deux autres calculateurs (les SEC) peuvent prendre le relais. Un seul de ces cinq calculateurs suffit pour assurer la fonction, le fait de ces redondances ne fait qu'assurer la contrainte de robustesse aux pannes. Il n'est jamais arrivé que les cinq calculateurs tombent en panne en même temps, malgré le nombre très important d'heures de vol cumulées[3].

Niveau qualité en développements

modifier

En ce qui concerne le second point, la norme ARP4754/ED-79 sépare les systèmes avioniques en 5 catégories de DAL (Design Assurance Level, en anglais)[2] :

Niveau de l'événement redouté

le plus élevé.

DAL associé.
CAT A
HAZ B
MAJ C
MIN D
No Effect E

Cette norme identifie, en fonction du niveau de sécurité requis pour le système (appelé le FDAL, pour Functionnal Design Assurance Level, en anglais) et en fonction de l'architecture du système (simplex, redondant, dissymétriques ...), pour les items organiques du système, les niveaux nécessaires pour chacun d'eux (appelé le IDAL, pour Item Design Assurance Level, en anglais), en suivant les normes spécifiques : DO-178/ED-12 pour les logiciels, DO-254/ED-80 pour le matériel (hardware, en anglais)[4].

Logiciel critique

modifier

Définition, enjeux

modifier

Un logiciel critique est un logiciel dont le mauvais fonctionnement aurait un impact important sur la sécurité ou la vie des personnes, des entreprises ou des biens.

L'ingénierie logicielle pour les systèmes critiques est particulièrement difficile, dès lors que les systèmes sont complexes, mais l'industrie aéronautique, ou plus généralement l'industrie du transport de passagers, a réussi à définir des méthodes pour réaliser des logiciels critiques. Des méthodes formelles peuvent servir à améliorer la qualité du logiciel des systèmes critiques. Le coût de réalisation d'un logiciel de « système critique » est beaucoup plus élevé que celui d'un logiciel ordinaire.

Contraintes particulières de développement

modifier

Les précautions à prendre dans le développement sont habituellement fixées par une norme, et dépendent du domaine d'application et surtout de la criticité du logiciel. Généralement, on trouve des impératifs[5] :

  • de planification : Le développement devra être planifié en différentes phases, et les transitions de phase doivent être sanctionnées par une revue.
  • de documentation : tous les composants doivent être documentés, notamment dans l'interface qu'ils présentent aux autres composants ;
  • de traçabilité : le système doit répondre à chaque spécification, soit dans sa mise en œuvre, soit dans des spécifications intermédiaires (auquel il faudra aussi répondre) ; on doit donc avoir une chaîne complète de traçabilité entre les spécifications fonctionnelles et la mise en œuvre du système ;
  • de limitation des pratiques dangereuses : certaines techniques de programmations, sources possibles de problèmes, sont interdites, ou du moins leur usage doit être justifié par des raisons impératives (ex. : allocation dynamique de mémoire, procédures récursives... ) ;
  • de test : on devra essayer le logiciel dans un grand nombre de configurations, qui couvrent tous les points et un maximum des chemins de fonctionnement du programme. Les critères d'arrêt des tests sont définis (par exemple : couverture fonctionnelle, couverture structurelle...) et l'achèvement devra être démontrés.
  • d'utilisation d'outils de développement et de vérification qualifiés, et eux-mêmes sûrs.

Dans le milieu aéronautique, les contraintes de développement des logiciels critiques sont données par le standard DO-178/ED-12, en accord avec le niveau de DAL associé[5],[6].

Contraintes d'exploitation

modifier

La mise en œuvre de systèmes critiques implique une adaptation de l'architecture physique dans une optique de fiabilité et de sécurisation. L'architecture doit répondre aux risques identifiés.

La fiabilité passe par un plan de continuité d'activité et des infrastructures adaptées. Des exemples de mesure sont :

La sécurité peut être renforcée par :

  • l'emploi de systèmes d'authentification forte,
  • l'isolation des systèmes critiques, par l'usage d'une architecture VPN, voire « air gap »,
  • la protection physique des équipements (bâtiments sécurisés, contrôle des accès physiques...).

Certification

modifier

Les systèmes les plus critiques sont majoritairement soumis à des autorités de certification, qui vérifient que les impératifs prévus par la norme ont été remplis.

Dans le cas de l'aviation commerciale, la certification des aéronefs est régie en Europe par les réglementations CS-23 Normal, Utility, Aerobatic and Commuter Aeroplanes, CS-25 Large Aeroplanes, CS-27 Small Rotorcraft, CS-29 Large Rotorcraft de l'EASA[7], ou de leurs équivalents américains, 14 CFR Parts 23[8], 25[9], 27[10] et 29[11], de la FAA.

Notes et références

modifier
  1. Sur cette page, nous associons le terme « événement redouté » à « failure condition », en accord avec la pratique du milieu.

Références

modifier
  1. (en-US) SAE International, « ARP4761A - Guidelines for Conducting the Safety Assessment Process on Civil Aircraft, Systems, and Equipment » Accès payant [PDF], sur sae.org, (consulté le )
  2. 1 2 3 4 Marc Gatti, « Évolution des Architectures des Systèmes Avioniques Embarqués » Accès libre [PDF], sur theses.hal.science, (consulté le ), p. 92-94
  3. « Technique : ADIRU Airbus | Sécurité Aérienne », sur www.securiteaerienne.com (consulté le )
  4. SAE/EUROCAE, « ARP4754B - Guidelines for Development of Civil Aircraft and Systems » Accès payant, sur www.sae.org, (consulté le )
  5. 1 2 (en-US) « DO-178C Guidance: Introduction to RTCA DO-178 certification | Rapita Systems » Accès libre, sur rapitasystems.com (consulté le )
  6. (en-US) « RTCA DO-178C » Accès payant, sur store.accuristech.com, (consulté le )
  7. (en) EASA, « Certification Specifications (CSs) / Detailed Specifications (DSs) » Accès libre, sur easa.europa.eu (consulté le )
  8. (en) FAA, « 14 CFR Part 23 -- Airworthiness Standards: Normal Category Airplanes » Accès libre, sur ecfr.gov (consulté le )
  9. (en) FAA, « 14 CFR Part 25 -- Airworthiness Standards: Transport Category Airplanes » Accès libre, sur ecfr.gov (consulté le )
  10. (en) FAA, « 14 CFR Part 27 -- Airworthiness Standards: Normal Category Rotorcraft » Accès libre, sur ecfr.gov (consulté le )
  11. (en) FAA, « 14 CFR Part 29 -- Airworthiness Standards: Transport Category Rotorcraft » Accès libre, sur ecfr.gov (consulté le )

Voir aussi

modifier

Bibliographie

modifier