Accueil🇫🇷Chercher

Système critique

Un système critique 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.

Domaines critiques

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

En fait, de par la diffusion généralisée des technologies logicielles 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é

Évaluation

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.

Cas particulier de l'aviation

En aviation, la norme DO-178B sépare les logiciels avioniques en 5 catégories :

  • niveau A : un dysfonctionnement du logiciel provoquerait ou contribuerait Ă  une condition de perte catastrophique de l'appareil ;
  • niveau B : un dysfonctionnement du logiciel provoquerait ou contribuerait Ă  une condition dangereuse ou un dysfonctionnement sĂ©vère et majeur de l'appareil ;
  • niveau C : un dysfonctionnement du logiciel provoquerait ou contribuerait Ă  un dysfonctionnement majeur de l'appareil ;
  • niveau D : un dysfonctionnement du logiciel provoquerait ou contribuerait Ă  un dysfonctionnement mineur de l'appareil ;
  • niveau E : aucun impact sur le fonctionnement de l'appareil ou la charge de travail du pilote.

Conséquences sur la sécurité

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é.

Logiciel critique

DĂ©finition, enjeux

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

Les précautions à prendre dans le développement sont généralement 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 :

  • 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 ;
  • d'utilisation d'outils de dĂ©veloppement et de vĂ©rification eux-mĂŞmes sĂ»rs.

Contraintes d'exploitation

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és. 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

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

L'usage de méthodes formelles pourra, à l'avenir, être encouragé, voire imposé.

Voir aussi

Bibliographie

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.