Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

65
Plan du cours : 1. 1. Introduction Introduction 2. Défaillances, Erreurs et Fautes 3. Evaluation quantitative 4. Analyse des défaillances 5. Arbres de défaillances 1 Master 1 - Sécurité des Systèmes Informatiques Cours de Sûreté de Fonctionnement Cours de Sûreté de Fonctionnement et Fiabilité des Logiciels et Fiabilité des Logiciels

Transcript of Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Page 1: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Plan du cours :1.1. IntroductionIntroduction2. Défaillances, Erreurs et Fautes3. Evaluation quantitative4. Analyse des défaillances5. Arbres de défaillances

1

Master 1 - Sécurité des Systèmes Informatiques

Cours de Sûreté de Fonctionnement Cours de Sûreté de Fonctionnement et Fiabilité des Logicielset Fiabilité des Logiciels

Page 2: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Master 1 - Sécurité des Systèmes Informatiques

Cours de Sûreté de Fonctionnement Cours de Sûreté de Fonctionnement et Fiabilité des Logicielset Fiabilité des Logiciels

2

Page 3: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

1) Notion de Système1) Notion de Système1. Introduction2. Qu’est ce qu’un système?3. Assurer des fonctions : Besoins fonctionnels et

non fonctionnels4. Exemple

3

Page 4: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

1.1) Introduction1.1) Introduction

La sûreté de fonctionnement consiste à atteindre lesobjectifs sacrés de la conception des systèmes :qzéro accident,qzéro arrêt,qzéro défautq(et même zéro maintenance).

4

Page 5: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Définition Définition de la de la sûreté sûreté de de fonctionnement fonctionnement

� La sûreté de fonctionnement (SdF) est l'aptitude d'une entité à satisfaire à une ou plusieurs fonctions requises dans des conditions données (selon Alain Villemeur, ).� Elle traduit la confiance qu'on peut accorder à un système,

la sûreté de fonctionnement étant, selon la définition proposée par Jean-Claude Laprie2, « la propriété qui permet aux utilisateurs du système de placer une confiance justifiée dans le service qu'il leur délivre ».

5

Page 6: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� La sûreté de fonctionnement peut donc désigner plusieurs choses :qL'aptitude d'une entité (organisation, système, produit,

moyen, etc.) d'une part, à disposer de ses performances fonctionnelles (fiabilité, maintenabilité, disponibilité) et d'autre part, à ne pas engendrer de risques majeurs (humains, environnementaux, financiers, etc.) (sécurité) ;qLes activités d'évaluation de cette aptitude (études de

sûreté de fonctionnement) ;qL'ensemble du personnel chargé de ces activités.

6

Page 7: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

HistoriqueHistorique

7

Page 8: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Bref historique de la sûreté de fonctionnement (1)Bref historique de la sûreté de fonctionnement (1)

8

Période AccidentsJusqu'aux années 30Jusqu'aux années 30Approche intuitive : renforcer l’élément le plus faiblePremiers systèmes parallèles et redondantsApproche statistique, taux de défaillancePremières estimation de probabilité d'accidents d'avionPugsley : premier objectif de safetytaux d'accident d'avion ≤10-5 per flight hour

Explosion poudrière (1794)Accident chemin de fer (1842)Titanic (1912). . .

Années 40Années 40Analyse des missiles allemands V1 (Robert Lusser)Loi de Murphy “If anything can go wrong, it will”Quantification de la disponibilité

Années 50Années 50Advisory Group on Reliability of Electronic Equipment (AGREE)- Réduction des coûts de maintenance- Augmentation de la fiabilité- MTBF

Tcheliabinsk 40 (1957)

Page 9: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Période AccidentsAnnées 60Années 60Analyses des modes de défaillance et de leurs effetsProgrammes de recherche spatiauxArbre de défaillance (missile Minuteman)Arbres des causes (Boeing - NASA)Livres sur la fiabilité (ex. Barlow and Proschan)

Torrey Canyon (1967)

Années 70Années 70Analyse des risquesCollecte de données REX

Années 80 àAnnées 80 à nos joursnos joursNouvelles techniques (simulation, réseaux de Petri,..)Modélisation

Tchernobyl (1986) Ariane V (1996)DART (NASA, 2005)Vol Rio Janeiro. . .

9

Bref historique de la sûreté de fonctionnement (2)Bref historique de la sûreté de fonctionnement (2)

Page 10: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

1.2) Qu’est ce qu’un système?1.2) Qu’est ce qu’un système?

� Des hommes� Des équipements� Des logiciels� Des techniques

10

Page 11: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Notions de base:Notions de base:

� Système : combinaison de parties qui se coordonnent pour concourir à un résultat� Service rendu par le système : son résultat, son

comportement tel qu'il est perçu par l'utilisateur.� Utilisateur : un autre produit, un autre procède , un

operateur

11

Page 12: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Notion de Système (1)Notion de Système (1)� Un système est un ensemble d’éléments (i.e., composants)

interagissant (interdépendants) entre eux selon certains principes ou règles. � Les éléments forment tout un tout intégré.� les relations entre ces éléments sont différentes des relations qui

peuvent exister entre l’ensemble ou ses éléments avec d’autres ensembles et éléments

� Beaucoup de systèmes sont ouverts, certains sont fermés ou isolés.

• Le terme système provient du mot latin systèma qui vient de l’ancien grec sustèma (συστηµα) signifiant un tout composé de plusieurs parties ou éléments, littéralement « composition, organisation, ensemble ».

• Exemples: Systèmes d’Exploitation, Systèmes Formels, Systèmes Biologiques, …

12

Page 13: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Notion de Système (2)Notion de Système (2)• Les systèmes partagent les caractéristiques suivantes :

– Un système a une structure; Il contient des éléments reliés les uns autres directement ou indirectement,

– Un système a un comportement; Il contient des processus qui transforment des entrées (hard ou soft) en sortie.

– Un système comporte interconnexions; les éléments et les processus sont interconnectés par des relations structurelles ou comportementales.

– La structure et le comportement d’un système peut être décomposé via des sous-systèmes (modules) et sous-processus en des éléments et des étapes plus simples

• Un système est déterminé par :– La nature de ses éléments constitutifs,– Le type des interactions entre ces derniers– Sa frontière, i.e., le critère d’appartenance au système déterminant

si une entité appartient au système ou bien à son environnement.

13

Page 14: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

En résumé :En résumé :

� Un système peut être décrit comme un ensemble d‘éléments en interaction entre eux et avec l'environnement dont le comportement dépend :� des comportements individuels des éléments qui le

composent,� des règles d'interaction entre éléments (interfaces,

algorithmes, protocoles),� de l'organisation topologique des éléments

(architectures).

14

Page 15: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

1.3) Assurer 1.3) Assurer les fonctionsles fonctions

� Tout système se définit par une ou plusieurs fonctions (ou missions) qu'il doit accomplir dans des conditions et dans un environnement donné. � L'objet d‘étude de la sûreté de fonctionnement est la

fonction. � Une fonction peut être définie comme l'action d'une

entité ou de l'un de ses composants exprimée en terme de finalité.

15

Page 16: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Fonctions d’un systèmeFonctions d’un système

� fonction principale : raison d‘être d'un système (pour un téléphone portable, la fonction principale est la communication entre 2 entités) ;� fonctions secondaires : fonctions assurées en plus de la

fonction principale (sms, horloge, réveil, jeux . . . ) ;� fonctions de protection : moyens pour assurer la

sécurité des biens, des personnes et environnement ;� fonctions redondantes : plusieurs composants assurent

la même fonction.

16

Page 17: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

DDescription escription fonctionnellefonctionnelle

17

Page 18: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Structure d’un systèmeStructure d’un système

18

Page 19: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

1.4) Exemple 1.4) Exemple : Elaborer un : Elaborer un systèmesystème

Un Tout-En-Un� Une société SAS souhaite mettre en vente un outil, offrant des

facilitésfacilités de coordination avec ses autres produits : un portable faisant ouverture/verrouillage de portes-PDA-GPS-téléphone-caméra-WI-FI.� Elle fait d'abord :Ø une étude de définition du produit : quelles fonctionnalités?Ø une étude de marche : quels clients?Ø une évaluation des coûts : bénéfices attendus

� Elle effectue donc une analyse des besoins.

19

Page 20: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple : Exemple : Analyse des besoinsAnalyse des besoins

� micro-processeur(s) et logiciel embarqués rendant les services demandés:Ø bon fonctionnement, en particulier du système de verrouillage des

portes

� Mais aussi:Ø pas d‘échauffement excessif,Ø écran de bonne qualité résistant aux chocs,Ø poids le plus léger possible,Ø clavier agréable à utiliser et résistant aux petits incidents,Ø bonne isolation électrique, facilite de maintenance, ...

� Ces qualités sont des exigences du donneur d'ordre, qui doit satisfaire ses futurs acheteurs.

20

Page 21: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple Exemple : Autres souhaits de SAS: Autres souhaits de SAS

� Respect de la norme internationale CEI61508 (règles appliquées en industrie: Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems)� minimisation des coûts de production pour assurer une

commercialisation du produit dégageant des bénéfices ...� faible taux de pannes, � maintenance facile, � évolution possible� mise au rebut respectant les normes liées à l'environnement

21

Page 22: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple : Exemple : Donneur Donneur D'ordre / ConstructeurD'ordre / Constructeur

� Cette société SAS fait alors un appel d'offres accompagné d'un cahier des charges élaboré suite à l'analyse des besoins.� L'appel d'offres est attribué à l'entreprise HIGHTEC, bien

connue pour ses compétences en matière de développement de systèmes comportant matériel et logiciel.� La société SAS est le donneur d'ordre.� L'entreprise HIGHTEC est le

Concepteur/constructeur/commanditaire.� SAS est son client.

22

Page 23: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple Exemple : : Vue de l'utilisateurVue de l'utilisateur

� L'utilisateur achète le produit : une clé + un téléphone + ...+ un système d'exploitation + les logiciels fournis + la documentation� Qualités souhaitées par l'utilisateur:Ø fonctionnement correct du verrouillage, du GPS, du WI-FI, ...,Ø système d'exploitation sachant tirer parti des possibilités du

micro-processeur, permettant de se prémunir contre des attaques,

Ø logiciels fournis performants,Ø documentation claire, précise ... et adéquate ...Ø facilité de mise à jour, ....

23

Page 24: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple Exemple : : Vue de HIGHTECVue de HIGHTEC

� Tout-En-Un = ensemble de composants matériels dont certains supportent du logiciel� Satisfaire tous les interlocuteurs : le client et les utilisateurs

... et lui-même⇒� démontrer que le contrat qui le lie au client est

correctement rempli.� Mais aussi ...� Créer cet outil ... à moindre frais pour lui ⇒ réutiliser une

technologie connue, choisir du matériel connu, reprendre du logiciel déjà écrit

24

Page 25: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple : Problèmes Exemple : Problèmes du concepteur HIGHTECdu concepteur HIGHTEC

� Tenir les délais de conception pour une mise en fabrication à la date souhaitée par le donneur d'ordre :� donc se satisfaire de solutions qu'il sait être imparfaites

et aussi� Tenir compte de la rupture soudaine de stocks chez tel

fournisseur de microcontrôleurs:� donc modifier la conception \en cours de route"

� Tenir compte que tel protocole de communication n'a pas résisté aux dernières attaques, donc choisir un autre protocole :� modifier/réécrire des pilotes, s'assurer que les modifications

effectuées n'introduisent pas d'incohérences ...

25

Page 26: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2) Présentation générale, 2) Présentation générale, VocabulaireVocabulaire

1. Problématique de la sûreté de fonctionnement2. Définition de la sûreté de fonctionnement3. Importance de la sûreté de fonctionnement4. Caractérisation de la sûreté de fonctionnement5. Cycle de vie d’un système

26

Page 27: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2.1) Problématique de la sûreté :2.1) Problématique de la sûreté :

� Un système, dit encore produitproduit, est construit pour rendre un serviceservice.� Le service est décrit par une certaine mission à réaliser dans

un certain environnement par un certain acteur pendant un certain temps.� Les constituants d'un système peuvent être des composants

matériels, des composants logiciels et aussi des êtres humains.� La granularité peut varier suivant l'observateur du système

(boîte blanche/boîte noire).

27

Position du problème (1)Position du problème (1)

Page 28: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Le service délivré peut être :Øune action (freiner)Ø la délivrance d'un produit (machine à café)Øune nouvelle configuration du système (feux tricolores)Øune modification de l'environnement (mise en route

d'un éclairage)Ø la garantie d'une propriété (confidentialité de données),

....

28

Position du problème (2)Position du problème (2)

Page 29: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� L'environnement est composé de :Øun ensemble d'entités auxquelles le produit est relié :

autres produits, capteurs, opérateur humain, etc. qui est nommé procédé (ou environnement fonctionnel).Ø l'univers extérieur au couple produit-procédé,

définissant des contraintes d'utilisation et certains paramètres non fonctionnels (température, vibrations, ...). Il est nommé environnement non fonctionnel ou environnement.

29

Position du problème (3)Position du problème (3)

Page 30: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Le produit possède un état état interneinterne.� L'environnement peut/doit évoluer au cours de la mission.� Le produit interagit avec le procédé par modification de

celui-ci et de son état interne.� L'environnement peut modifier le produit et/ou le procédé.� Le comportement du produit dépend donc de

l'environnement et de son état interne. La notion de temps utilisée dans une observation dépend de l'observateur et de la propriété à observer.� Fonction temps temps réel réel : doit être exécutée dans un intervalle

de temps impose par l'environnement.

30

Position du Position du problème (4)problème (4)

Page 31: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Dans le contrat qui lie donneur d'ordre/concepteur:ØLa frontière entre produit et procédé doit être clairement

définie.ØLa frontière entre procédé et environnement non

fonctionnel doit être clairement définie.

31

Position du Position du problème (5)problème (5)

Page 32: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Plusieurs intervenants autour d'un même système:Ø Donneur d'ordre,Ø Concepteur,Ø Fabricant,Ø Evaluateur,Ø Autorite de surete ou de securité,Ø Utilisateurs.

� Aux exigences différentes et parfois incompatibles.

32

Position du Position du problème (6)problème (6)

Page 33: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Plusieurs familles d'exigences :ØCoût de production,ØErgonomie,ØAdaptation aux besoins,ØFiabilité,ØFacilite de maintenance,ØDesign du produit (critères esthétiques),ØSécurité,Ø ...

33

Position du Position du problème (7)problème (7)

Page 34: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

� Il n'est pas toujours possible de classer ces exigences par ordre d'importance.� Il n'est pas toujours possible de ne considérer que la

satisfiabilité d'une partie de ces exigences, pour concevoir/réaliser le système.� Il est en général difficile d'appréhender les interactions

entre toutes ces exigences.

34

Position du Position du problème (8)problème (8)

Page 35: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Plusieurs vues de la Plusieurs vues de la qualitéqualité

� qualités externes au produit : celles auxquelles le client/l'utilisateur est sensible (poids, consommation, performance, fiabilité, etc.)� qualités internes au produit:Øconception bien structuréeØcode sans astucesØcomposants fortement indépendants (bus unique dans

les automobiles?)

35

Page 36: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

En résumé :En résumé :� Construire un système ayant toutes les qualités

souhaitées par tous les acteurs est une utopie.� Loi de Murphy : si tout va bien, vous avez certainement

oublié quelque chose ...� Se restreindre à une classe de propriétés assurant au

moins l'innocuité du produit ?

36

Page 37: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2.2) Définition 2.2) Définition de la de la sûreté sûreté de de fonctionnement (SdF) :fonctionnement (SdF) :

37

�� DéfinitionDéfinition 11 : La sûreté de fonctionnement (dependability)consiste à évaluer les risques potentiels, prévoir l'occurrencedes défaillances et tenter de minimiser les conséquences dessituations catastrophiques lorsqu'elles se présentent.� La sûreté de fonctionnement peut également être appelée la

science des défaillances et des pannes; elle inclut leurconnaissance, leur évaluation, leur prévision, leur mesure etleur maîtrise.� Il s'agit d'un domaine transverse qui nécessite une

connaissance globale du système comme les conditionsd'utilisation, les risques extérieurs, les architecturesfonctionnelle et matérielle, la structure et fatigue desmatériaux. Beaucoup d'avancées sont le fruit du retourd'expérience et des rapports d'analyse d'accidents.

Page 38: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Autres définitionsAutres définitions

�� Définition 2 :Définition 2 : La sûreté de fonctionnement d'un système informatique est la propriété qui permet de placer une confiance justifiée dans le service qu'il délivre.� Défaillance : service délivré non acceptable (par

rapport à la fonction attendue du système)

38

Page 39: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Systèmes considérésSystèmes considérés

� Systèmes informatiques: ensemble de composants matériels ou logiciels, avec une prédominance des composants logiciels et/ou automates programmables

Exemples� systèmes industriels de contrôle-commande et de

supervision (transports, spatial, nucléaire), robots, automatismes ordinateurs et réseaux, systèmes de télécommunication, systèmes d'information)

39

Page 40: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons (1)Exemple du distributeur de boissons (1)

� Donneur d'ordre : celui qui donne l'ordre de construire le distributeur� Concepteur : celui qui crée le distributeur� Utilisateur : celui qui achète le distributeur� Expression des besoins de l'utilisateur :� Soit faire un profit sur la vente de boissons� Soit disposer d'un distributeur de boissons gratuit.

40

Page 41: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons (2)Exemple du distributeur de boissons (2)

� Donneur d'ordre : celui qui donne l'ordre de construire le distributeur, afin de faire un profit en vendant des boissons� Concepteur : celui qui crée le distributeur� Utilisateur : celui qui achète la boisson� Expression des besoins de l'utilisateur :� Acheter facilement une boisson de qualité, sans

mauvaise surprise, en utilisant un appareil qui fonctionne bien

41

Page 42: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons (3)Exemple du distributeur de boissons (3)

� Quelles sont les différences entre les deux points de vue? � Quelles sont les conséquences sur le cahier des

charges?

42

Page 43: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons (4)Exemple du distributeur de boissons (4)

� Spécification du distributeur de boissons� Doit gérer le choix d'une boisson, le paiement et la

distribution d'une boisson (gobelet, liquide, sucre, cuillère).� La boisson choisie n'est délivrée que si son paiement

complet a été effectué.� L'utilisateur doit avoir la possibilité d'annuler sa

commande.� L'argent en trop est rendu.� Le gérant de l'appareil assure la récupération de l'argent

et fournit les doses de boisson.

43

Page 44: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons Exemple du distributeur de boissons (5)(5)

� Produit : distributeur de boissons� Procédé : utilisateurs + gérant� Plusieurs points de vue dans la spécification :� le distributeur est une boîte noire interagissant avec le

procédé,� le distributeur est vu comme un système

comportemental ...

44

Page 45: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exemple du distributeur de boissons Exemple du distributeur de boissons (6)(6)

� Conception du distributeur de boissons� Un composant assurant la gestion des pièces� Un composant assurant la distribution de la boisson� Des communications entre les composants eux-mêmes

et entre les composants et le procédé.

45

Page 46: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Exercice :� Rédiger une spécification informelle du cahier de

charges du distributeur de boissons.� Spécifier ensuite ce distributeur en utilisant un langage

formel : Automates à états finis, Réseaux de Petri, …

46

Page 47: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2.3) Importance 2.3) Importance de la de la sûreté sûreté de de fonctionnementfonctionnement� Informatisation croissante,� Croissance des délégations de responsabilité à des

systèmes informatiques, � Nécessité de réduire les coûts et les délais de

production,� Innovation réclamée par les consommateurs,� Exigence sur la qualité du service rendu.⇒� De plus en plus de normes garantissant la qualité de

certains services.

47

Page 48: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Différents Différents aspects de la aspects de la sûreté sûreté de de fonctionnementfonctionnement� Répondre à temps à une situation donnée. Comment?� Correction des résultats/informations

fournies/modification effectuées: comment la définir?� gestion des défaillances dues à l'environnement,

pouvant conduire à des évènements redoutés� maintenir des propriétés (confidentialité, intégrité des

données, etc.)

48

Page 49: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

FIABILITE

MAINTENABILITE

SURETEDE

FONCTIONNEMENT

Pas d ’arrêts de Production!

Pas dePannes!

Remise en Service immédiate!

Pas d ’événementCritique ou

Catastrophique!

Sûreté de fonctionnementSûreté de fonctionnement

49

Page 50: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Coût de la sûreté de fonctionnementCoût de la sûreté de fonctionnement� Le coût d'un haut niveau de sûreté de fonctionnement

est très onéreux. � Le concepteur doit faire des compromis entre les

mécanismes de sûreté de fonctionnement nécessaires et les coûts économiques. � Les systèmes qui ne sont pas sûrs, pas fiables ou pas

sécurisés peuvent être rejetés par les utilisateurs. � Le coût d'une défaillance peut être extrêmement élevé. � Le coût de systèmes avec un faible niveau de sûreté de

fonctionnement est illustré dans les figures ci-dessous :

50

Page 51: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

51

Page 52: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2.4) Caractérisation 2.4) Caractérisation de la de la sûreté sûreté de de fonctionnement (1)fonctionnement (1)� Plusieurs facettes:� Fiabilité (Reliability)� Disponibilité (Availability) : fait d‘être prêt à l'utilisation� Maintenabilité (Maintainability)� Sécurité (Safety) : non-occurrence de conséquences

catastrophiques pour l'environnement� Acronyme : FMDS en français ou RAMS en Anglais

(Reliability, Availability, Maintenability, Safety).

52

Page 53: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Caractérisation Caractérisation de la de la sûreté sûreté de de fonctionnement (2)fonctionnement (2)� et aussi :� Confidentialité (Privacy)� Authentification (Authenthication)� Intégrité (Integrity)� Non-répudiation� Audibilité� Testabilité

53

Page 54: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

54

Page 55: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

FiabilitéFiabilité

� Définie à priori pour des systèmes physiques. Mesure la continuité du service.� Donc soumise à la loi de l'entropie croissante: les

systèmes physiques ont tendance à se dégrader au cours du temps.� La fiabilité est une fonction du temps qui estime, de

manière probabiliste, l'aptitude d'un dispositif à accomplir une fonction requise dans des conditions données et pour un intervalle de temps donné.

55

Page 56: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

MaintenabilitéMaintenabilité

� Aptitude aux réparations et aux évolutions (être entretenu ou remis en marche). Du vocabulaire:� Maintenance corrective : préserve ou améliore l'aptitude à

délivrer le service.� Maintenance adaptative : adapter le système aux

modifications de son environnement.� Maintenance perfective : améliorations.

� Maintenabilité : Aptitude d'un système à être maintenu ou rétabli dans un état dans lequel il peut accomplir une fonction requise lorsque la maintenance est accomplie dans des conditions données avec des procédures et des moyens prescrits.

56

Page 57: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Sécurité/SûretéSécurité/Sûreté

� Aptitude d'un système à respecter l'utilisateur et son environnement� Aptitude à éviter de faire apparaitre, dans des

conditions données, des évènements critiques ou catastrophiques.

57

Page 58: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

DisponibilitéDisponibilité� Aptitude d'un système à fonctionner lorsqu'on le

sollicite� Aptitude d'une entité à être en état d'accomplir une

fonction requise dans des conditions données à un instant donne.

58

Page 59: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

2.5) Cycle 2.5) Cycle de vie d'un de vie d'un système système (1)(1)

1. Expression des besoins : création d'un système embarqué de séparation de trajectoires d'avions. Elle est faite par le client, s'appuyant sur les éventuelles demandes des utilisateurs.

2. Cahier des charges, fourni par le client qui définit les fonctionnalités du système : distance verticale minimale autorisée entre deux avions, conditions de déclenchement d'une commande de freinage, nature des alarmes a mettre en œuvre, ...

59

Page 60: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Cycle de vie d'un Cycle de vie d'un système système (2)(2)

3. Spécification du système, qui est une reformulation ducahier des charges par le constructeur du système: unetrajectoire est définie par une suite de positions. Lesystème doit déterminer (suffisamment vite) lescoordonnées de la prochaine position, celles-ci étantsolution d'un certain système d‘équations aux dérivéespartielles. L'avion ne peut pas effectuer un virage de plusde X degrés dans un changement de position élémentaire...

4. Conception du système: établissement d'une réponse. Lecalcul de la prochaine position se fera par telle méthode,sur tel matériel ...

60

Page 61: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Cycle de vie d'un Cycle de vie d'un système système (3)(3)

5. Réalisation du système : du logiciel implanté sur un système matériel comportant plusieurs cartes électroniques, ordinateur de bord, moyens de communication avec le sol, GPS, etc.

6. Production : Détection des éléments matériels défectueux, ...

3-4-5-6 Tests7. Mise en exploitation : utilisation, maintenance,

évolution, tests en cours de fonctionnement, ...

61

Page 62: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Cycle de vie d'un Cycle de vie d'un système système (4)(4)

� Plusieurs approches possibles : en V, en spirale, etc.

� Chacune des étapes du cycle de vie peut être à l'origine de défaillances.

62

Page 63: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Cycle de vie d'un Cycle de vie d'un système système (5)(5)

� Trop souvent :� Pas de considération de la sûreté de fonctionnement

dans l'expression des besoins,� Spécification essentiellement fonctionnelle

(fonctionnement nominal),� Conception puis réalisation sans prise en compte de la

sûreté,� Adjonction de la problématique de la sûreté en fin de

cycle de développement.� Mauvaise approche, coûteuse et inefficace

63

Page 64: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Cycle de vie d'un Cycle de vie d'un système système (6)(6)

En résumé : En résumé : ImpératifIntégrer la problématique de la sûreté dès le début du

cycle de développement

64

Page 65: Cours N° 01 - Sûreté de Fonctionnement et Fiabilité de Logiciel - M1 SSI.pdf

Liens avec d’autres coursLiens avec d’autres cours

� Modélisation de systèmes et de propriétés pour dire précisément ce qui est attendu, ce qui est fourni: logiques et conception formelle , sémantiques des langages séquentiels, synchrones, concurrents� Mise en œuvre : temps-réel asynchrone et synchrone, étude

de la redondance, codes détecteurs/correcteurs, tolérance aux fautes� Validation de propriétés : interprétation abstraite,

utilisation de systèmes d'aide a la preuve, vérification, tests.� Evaluation : Lecture critique de code, Revue de la

documentation, Analyses des différentes étapes de développement qualitatives, quantitatives.

65