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

December 6, 2017 | Author: Tarek Idres | Category: Technology, Computing, Computing And Information Technology, Science, Technology (General)
Share Embed Donate


Short Description

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

Description

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

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

Plan du cours : 1. 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 et Fiabilité des Logiciels

2

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

non fonctionnels 4. Exemple

3

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

4

Définition de la sûreté de 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

— La sûreté de fonctionnement peut donc désigner

plusieurs choses : q L'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é) ; q Les activités d'évaluation de cette aptitude (études de sûreté de fonctionnement) ; q L'ensemble du personnel chargé de ces activités. 6

Historique

7

Bref historique de la sûreté de fonctionnement (1) Période Jusqu'aux années 30 Approche intuitive : renforcer l’élément le plus faible Premiers systèmes parallèles et redondants Approche statistique, taux de défaillance Premières estimation de probabilité d'accidents d'avion Pugsley : premier objectif de safety taux d'accident d'avion £10-5 per flight hour

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

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

Années 50

Tcheliabinsk 40 (1957)

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

8

Bref historique de la sûreté de fonctionnement (2) Période Années 60

Accidents Torrey Canyon (1967)

Analyses des modes de défaillance et de leurs effets Programmes de recherche spatiaux Arbre de défaillance (missile Minuteman) Arbres des causes (Boeing - NASA) Livres sur la fiabilité (ex. Barlow and Proschan)

Années 70 Analyse des risques Collecte de données REX

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

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

9

1.2) Qu’est ce qu’un système? — Des hommes — Des équipements — Des logiciels — Des techniques

10

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

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 (susthma) 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

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

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

1.3) Assurer les 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

Fonctions 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

Description fonctionnelle

17

Structure d’un système

18

1.4) Exemple : Elaborer un système Un Tout-En-Un — Une société SAS souhaite mettre en vente un outil, offrant des

facilités de coordination avec ses autres produits : un portable faisant ouverture/verrouillage de portes-PDA-GPSté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

Exemple : Analyse 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

Exemple : Autres souhaits de SAS — Respect de la norme internationale CEI61508 (règles

— — — — —

appliquées en industrie: Functional Safety of Electrical/Electronic/Programmable Electronic Safetyrelated 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

Exemple : Donneur D'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

Exemple : Vue 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

Exemple : Vue 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

Exemple : Problèmes du 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

2) Présentation générale, Vocabulaire 1. Problématique de la sûreté de fonctionnement 2. Définition de la sûreté de fonctionnement 3. Importance de la sûreté de fonctionnement 4. Caractérisation de la sûreté de fonctionnement 5. Cycle de vie d’un système

26

2.1) Problématique de la sûreté : Position du problème (1) — Un système, dit encore produit produit, est construit pour rendre un

service service. — 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 (2) — 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 (3) — 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 (4) — Le produit possède un état interne interne. — 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 réel : doit être exécutée dans un intervalle de temps impose par l'environnement.

30

Position du problème (5) — 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 problème (6) — 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 problème (7) — 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 problème (8) — 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

Plusieurs vues de la 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

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

2.2) Définition de la sûreté de fonctionnement (SdF) : — Définition 1 : La sûreté de fonctionnement (dependability)

consiste à évaluer les risques potentiels, prévoir l'occurrence des défaillances et tenter de minimiser les conséquences des situations 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 leur connaissance, leur évaluation, leur prévision, leur mesure et leur maîtrise. — Il s'agit d'un domaine transverse qui nécessite une connaissance globale du système comme les conditions d'utilisation, les risques extérieurs, les architectures fonctionnelle et matérielle, la structure et fatigue des matériaux. Beaucoup d'avancées sont le fruit du retour d'expérience et des rapports d'analyse d'accidents. 37

Autres définitions — 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

Systè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

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

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

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

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

Exemple du distributeur de boissons (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

Exemple du distributeur de boissons (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

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

2.3) Importance de la sûreté de fonctionnement — 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

Différents aspects de la sûreté de fonctionnement — 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

Sûreté de fonctionnement Pas d ’arrêts de Production!

FIABILITE

Pas de Pannes!

SURETE DE FONCTIONNEMENT

Remise en Service immédiate!

MAINTENABILITE

Pas d ’événement Critique ou Catastrophique!

49

Coû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

51

2.4) Caractérisation de la sûreté de 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

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

53

54

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

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

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

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

2.5) Cycle de vie d'un système (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, ... 1.

59

Cycle de vie d'un système (2) Spécification du système, qui est une reformulation du cahier des charges par le constructeur du système: une trajectoire est définie par une suite de positions. Le système doit déterminer (suffisamment vite) les coordonnées de la prochaine position, celles-ci étant solution d'un certain système d‘équations aux dérivées partielles. L'avion ne peut pas effectuer un virage de plus de X degrés dans un changement de position élémentaire ... 4. Conception du système: établissement d'une réponse. Le calcul de la prochaine position se fera par telle méthode, sur tel matériel ... 3.

60

Cycle de vie d'un système (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 Tests 7. Mise en exploitation : utilisation, maintenance, évolution, tests en cours de fonctionnement, ... 61

Cycle de vie d'un système (4) — Plusieurs approches possibles : en V, en spirale, etc. — Chacune des étapes du cycle de vie peut être à l'origine de défaillances.

62

Cycle de vie d'un système (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

Cycle de vie d'un système (6) En résumé : Impératif Intégrer la problématique de la sûreté dès le début du cycle de développement

64

Liens 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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF