Vous êtes sur la page 1sur 17

Introduction aux concepts de base

et aux moyens
Généralités,
Définitions et notions de base (attributs, entraves),
Moyens (prévention, tolérance, élimination, prévision)
et mesures
B-1
Généralités
• Les systèmes industriels sont complexes et donc soumis à des
entraves de fonctionnement d’origine
— Physique, par exemple court circuit
— Logicielle, faute de programmation
• Deux approches:
— Zéro-défaut : qualité des processus de production des matériels et
des logiciels permettant de réaliser des composants parfaits
— Sûreté de fonctionnement:
» Les erreurs sont considérées comme des événements naturels et
inévitables dans les systèmes complexes
» L’objectif est de mettre en place des méthodes et des techniques
permettant de:
- Minimiser leur présence
- Tolérer leur occurrence
- Mesurer l’efficacité des techniques utilisées
B-2
Concepts
• Définition: Propriété d’un système informatique permettant à ses
utilisateurs de placer une confiance justifiée dans le
service qu’il leur délivre
• Attributs:
— Disponibilité:
» Capacité d’un système à être prêt à l’utilisation
— Fiabilité:
» Capacité d’un système à assurer la continuité de service
— Sécurité
» Innocuité: non-occurrence de défaillances catastrophiques
» Confidentialité: non-occurrence de divulgation non autorisée de
l’information
— Intégrité:
» Non-occurrence d’altération inappropriée de l’information
— Maintenabilité
» Capacité d’effectuer des réparations et des évolutions
• Quantités mesurables
— Disponibilité : moyenne du bon fonctionnement (Tok/Ttotal)
— Fiabilité: Sachant que le système est ok à T0, ProbOK(T0+δt)
B-3
Concepts
SURETE DE FONCTIONNEMENT
PROPRIETE D'UN SYSTEME TELLE QUE SES UTILISATEURS PUISSENT PLACER
UNE CONFIANCE JUSTIFIEE DANS LE SERVICE QU'IL LEUR DELIVRE
Prêt à Continuité Absence Absence Absence Aptitude aux
l'utilisation de service de conséquences de divulgations d'altérations réparations
catastrophiques non-autorisées inappropriées de et aux
pour de l'information l'information évolutions
l'environnement
DISPONIBILITE FIABILITE SECURITE- CONFIDENTIALITE INTEGRITE MAINTENABILITE
INNOCUITE
SECURITE-CONFIDENTIALITE B-4
Entraves et causalité
• Entraves
— défaillance:
» déviation du service délivré par rapport aux spécifications
— erreur:
» Partie du système susceptible de conduire à une défaillance
— faute:
» Cause adjugée ou supposée d’un erreur
• Chaîne causale faute-erreur-défaillance
Faute ➱ Erreur ➱ Défaillance
Origine Etat Service
• Modèle récursif:
... Défaillance ➠ Faute ➠ Erreur ➠ Défaillance ➠ Faute...
— Lorsque le système est composé de plusieurs composants, la
défaillance d’un composant due à une faute interne, est une faute
externe pour un autre composant avec lequel il interagit.
B-5
Entraves à la SdF
DEVIATION DU SERVICE DELIVRE DE
L'ACCOMPLISSEMENT DE LA FONCTION DU SYSTEME DEFAILLANCE
DEVIATION DE LA SERVICE CONFORME A PROPAGATION
CONFORMITE LA
A LA SPECIFICATION, MAIS
SPECIFICATION INACCEPTABLE
PARTIE DE L'ETAT DU SYSTEME SUSCEPTIBLE
D'ENTRAINER UNE DEFAILLANCE ERREUR
ACTIVATION (INTERNE) OU
OCCURRENCE (EXTERNE)
CAUSE SUPPOSEE OU ADJUGEE D'UNE ERREUR FAUTE
ERREUR : MANIFESTATION FAUTE DANS SYSTEME
DEFAILLANCE : MANIFESTATION ERREUR SUR SERVICE
B-6
Des entraves… aux méthodes
… Défaillances ➙ Fautes ➙ Erreurs ➙ Défaillances ➙ Fautes …
Disponibilité Fiabilité Sécurité- Integrité Confidentialité Maintenabilité
innocuité
Prévention Tolérance Elimination Prévision
de fautes aux fautes des fautes des fautes
B-7
Méthodes
• Le développement d’un système sûr de fonctionnement passe par
l’utilisation combinée d’un ensemble de méthodes qui peuvent
être classées en :
— prévention de fautes : Techniques de genie logiciel
» comment empêcher l’occurrence ou l’introduction de fautes ;
— tolérance aux fautes : Techniques de redondance
» comment fournir un service à même de remplir la fonction du système
en dépit des fautes ;
— élimination des fautes : Techniques de test, injection de fautes
» comment réduire la présence (nombre, sévérité) des fautes ;
— prévision des fautes : Techniques de modélisation, évaluation
» comment estimer la présence, la création et les conséquences des
fautes.
B-8
Sûreté de fonctionnement
• Entraves à la sûreté de fonctionnement :
» fautes, erreurs, défaillances ; elles sont les circonstances indésirables;
• Moyens pour la sûreté de fonctionnement :
» prévention de fautes,
» tolérance aux fautes,
» élimination des fautes,
» prévision des fautes ;
Il s’agit des méthodes et techniques permettant de fournir au
système l’aptitude à délivrer un service conforme à
l’accomplissement de sa fonction, et de donner confiance dans
cette aptitude ;
• Attributs de la sûreté de fonctionnement :
— disponibilité, fiabilité, sécurité_innocuité, confidentialité, intégrité,
maintenabilité ;
— ils permettent a) d’exprimer les propriétés qui sont attendues du
système, et b) d’apprécier la qualité du service délivré, telle que
résultant des entraves et des moyens de s’y opposer.
B-9
Arbre de la SdF
DISPONIBILITÉ
FIABILITÉ
SÉCURITÉ - INNOCUITÉ
ATTRIBUTS
CONFIDENTIALITÉ
INTÉGRITÉ
MAINTENABILITÉ
PRÉVENTION DE FAUTES
TOLÉRANCE AUX FAUTES
SÛRETÉ DE MOYENS
FONCTIONNEMENT ÉLIMINATION DES FAUTES
PRÉVISION DES FAUTES
FAUTES
ENTRAVES ERREURS
DÉFAILLANCES
B-10
A
T DISPONIBILITE / FIABILITE
T
SECURITE - INNOCUITE
R
I CONFIDENTIALITE
B
U INTEGRITE
T MAINTENABILITE
S
S PREVENTION
U DE FAUTES
R Détection
E Traitement
T d'erreurs Diagnostic Reprise
E Recouvrement Poursuite
TOLERANCE
Compensation
D AUX FAUTES
Diagnostic
E Traitement
Passivation
M de fautes
F O Reconfiguration
O Y
N E Analyse statique
C N Statique
S Preuve
T
Vérification Exécution Symbolique
I
O Conformité / Recherche de fautes
ELIMINATION Dynamique
N Fonctionnel / Structurel
N DES FAUTES Diagnostic Test
E Basé fautes / Basé critères
Modification Déterministe / Aléatoire
M
E Evaluation
N Ordinale
PREVISION
T DES FAUTES Evaluation Modélisation / Test
Probabiliste Fiabilité stabilisée / Fiabilité évolutive
Physiques / Dues à l'homme
Accidentelles / Intentionelles non-malveillantes / Malveillantes
E FAUTES De développement / Opérationelles
N Internes / Externes
T Permanentes / Temporaires
R ERREURS
A $ J.C. Laprie et al.,
V En valeur / Temporelles Guide de la Sûreté de Fonctionnement,
E Conhérentes / Inconhérentes
S
DEFAILLANCES Cépaduès Editions, 1995
Bénignes / Catastrophiques B-11
Classes de fautes
• Quatre grandes classes de fautes et d’erreurs :
— les fautes physiques
— les fautes de conception ;
— les erreurs de l’opérateur ;
— les intrusions.
• Notion de détection: barrières tentant d’empêcher que l’activation
d’une faute sous la forme d’une erreur ne conduise à la
défaillance du système par propagation.
— codes détecteurs d’erreur ;
— duplication et comparaison ;
— contrôles temporels et d’exécution ;
— contrôles de vraisemblance ;
— contrôles de données structurées.
• Notion de recouvrement d’erreur: tentative de restauration d’un
état exempt de faute
B-12
Pathologie des fautes
— Une faute est active lorsque l’erreur correspondante apparaît
— Une faute est dormante lorsque aucune erreur n’est observée
— Une erreur est latente tant qu’elle n’est pas détectée
Défaillance
Erreur
Erreur latente
Faute Correction
Faute dormante
Dormance de faute Latence d’erreur
temps
B-13
Phénomène de propagation
INTERFACE
DE
DEFAILLANCE SERVICE
MATERIEL
FAUTE ACTIVATION PROPAGATION PROPAG
DORMANTE ERREUR ERREUR . ERREUR
ERREUR
PROGRAMMEUR
PERTURBATION
ELECTROMAGNETIQUE
PROPAGATION PROPAG
ERREUR ERREUR . ERREUR
ERREUR
OPERATEUR
SERVICE
CORRECT DEFAILLANCE SERVICE
INCORRECT
B-14
Exemples de types de faute
— Court-circuit dans un circuit (e.g. stuck-at) ➠ défaillance du circuit
(faute physique) ➠ erreur dans des cellules mémoire ➠ défaillance
du système
— Défaillance d’un programmer (faute de conception dans un
programme) ➠ activation par un profil activation donné ➠ erreurs
en sortie (en valeur ou temporelles) ➠ défaillance
— Programmeur malicieux qui insère une bombe logique -cheval de
Troie (faute malicieuse) ➠ activation à une date, selon ceratines
conditions opérationnelles ➠ deny de service
— perturbations électromagnétiques (faute physique externe ) ➠
erreur mémoire/registres ➠ défaillance
— fautes d’opérateurs du système (faute d’interaction accidentelle)
— fautes de documentation (d’un composant) ➠ faute d’interaction ou
de conception dans les couches hautes du système ➠ défaillance
B-15
Fautes Erreurs

Innocuité
Exemples de cas

Fiabilité

Confidentialité
Disponibilité/
Conception

Distribuées
Interaction

Localisées
Physiques

Sécurité-
réels observés
Juin 1980 : Fausses alertes à des attaques
✔ ✔ ✔
massives de fus ées soviétiques au NORAD
Juin 1985 - Janvier 1987 : Doses excessives de
radiothérapie (Therac -25)
✔ ✔ ✔
Août 1986 - 1987 : Le "Wily hacker" p énètre des
dizaines de centres informatiques sensibles
✔ ✔ ✔ ✔
15 Janvier 1990 : Indisponibilité totale du téléphone
✔ ✔ ✔
interurbain aux Etats -Unis , pendant 9 heures
Fé vrier 1991 : Scud raté par un Patriot à Dhahran ✔ ✔ ✔ ✔ ✔
Novembre 1992 : Ecroulement des communications
✔ ✔ ✔ ✔ ✔
du service d'ambulances de Londres
26 et 27 Juin 1993 : Refus des cartes de cr édit
dans les distributeurs de monnaie en France
✔ ✔ ✔ ✔
4 Juin 1996 : Défaillance du vol 501 d'Ariane 5 ✔ ✔ ✔
17 Juillet 1997: Mélange des adresses du ✔ ✔ ✔
domaine internet .com
13 Avril 1998 : Ecroulement du réseau de
données d'AT &T ✔ ✔ ✔ ✔
Fé vrier 2000 : Engorgement portails Web ✔ ✔ ✔ ✔
B-16
Coût de la non SdF
• Coût moyen d’indisponibilité (CA perdu dans les banques,
assurances, assurance maladie, commerce de gros, bourse,
réservations, etc.): 78000 $/h
• Coût des défaillances informatiques
— Fautes accidentelles $ France: 0,9 G € USA: 4 G $
— Malveillances $ France: 1 G € UK: 1,25 G £
• Cout de la maintenance:
— Logiciel embarqué de la navette spatiale: 100 M $ / an
• Coût des logiciels abandonnés
— Aux USA, de l’ordre de 80 G $
— Exemple: FAA AAS (contrôle aérien)
» 1983: 1 G$ - 1988: 4G$ - 1994: 7G$
» Dérapage temporel estimé en 1994 de l’ordre de 6-8 ans
B-17
Classification des fautes
FAUTES DE DEVELOPPEMENT Conception, réalisation
PHASE DE CREATION
OU D'OCCURENCE FAUTES OPERATIONNELLES En exploitation
FAUTES INTERNES Etat interne du système
FRONTIERES SYSTEME
FAUTES EXTERNES Provenant de l’environnement
FAUTES MATERIELLES Composants, liens physiques
DIMENSION
FAUTES LOGICIELLES Programmes ou données
FAUTES
CAUSE FAUTES NATURELLES Aggression, usure…
PHENOMENOLOGIQUE FAUTES DUES A L'HOMME Nobody’s perfect…
FAUTES ACCIDENTELLES OU DELIBEREES SANS MALVEILLANCE
INTENTION
FAUTES DELIBEREMENT MALVEILLANTES Bad Guys…
FAUTES PERMANENTES Non liées à des conditions
PERSISTENCE
FAUTES TEMPORAIRES Dépendantes de conditions
B-18
FAUTES FAUTES FAUTES
DE CONCEPTION PHYSIQUES D'INTERACTION
FAUTES DE DEVELOPPEMENT ! ! ! ! !
FAUTES OPERATIONELLES ! ! ! ! ! ! ! ! ! !
FAUTES INTERNES ! ! ! ! ! ! !
FAUTES EXTERNES ! ! ! ! ! ! ! !
FAUTES MATERIELLES ! ! ! ! ! ! ! ! ! !
FAUTES LOGICIELLES ! ! ! ! !
FAUTES NATURELLES ! ! ! ! !
FAUTES DUES A L'HOMME ! ! ! ! ! ! ! ! ! !
FAUTES ACCIDENTELLES OU ! ! ! ! ! ! ! ! !
DELIBEREES SANS MALVEILLANCE
FAUTES DELIBEREMENT
MALVEILLANTES ! ! ! ! ! !
FAUTES PERMANENTES ! ! ! ! ! ! ! ! !
FAUTES TEMPORAIRES ! ! ! ! ! !
DEFAULT
DEFAUT DETERIORATION VIRUS ENTREE
DEFAUT INTRUSION
LOGICIEL
LOFICEL MATERIEL PHYSIQUE & VER ERRONEE
LOGIQUE DEFAUT DE INTERFERENCE
ATTAQUE
MALIGNE PRODUCTION PHYSIQUE B-19
Les modes de défaillance
• Le système ne défaille pas toujours de la même façon
➠ modes de défaillance
DEFAILLANCES EN VALEUR
Factorielle de 3 = 975
DOMAINE
DEFAILLANCES TEMPORELLES
Déclenchement airbag 1h après choc
DEFAILLANCES CONTROLEES
Error status, exception, alarme
CONTROLABILITE
DEFAILLANCES INCONTROLEES
J’AI RIEN VU! Non détection!
DEFAILLANCES
DEFAILLANCES COHERENTES
Mode de défaillance admissible
COHERENCE
DEFAILLANCES INCOHERENTES
Mode de défaillance INadmissible
DEFAILLANCES BENIGNES

Pas grave!
CONSEQUENCES •
SUR ENVIRONNEMENT •
DEFAILLANCES CATASTROPHIQUES
DE GROS DEGATS!!!!! B-20
Les modes de défaillance
• Le système ne défaille pas toujours de la même façon
➠ modes de défaillance
DOMAINE DE DEFAILLANCE
Valeur Valeur et Temporisation
(temporisation temporisation (valeur
correcte) correcte)
Service Service Service en Service en
interrompu erratique avance retard
DEFAILLANCES DEFAILLANCES DEFAILLANCES DEFAILLANCES DEFAILLANCES
EN VALEUR PAR ARRET ERRATIQUES TEMPORELLES EN
AVANCE PERFORMANCE
B-21
Les modes de défaillance
• Le système ne défaille pas toujours de la même façon
➠ modes de défaillance
CONTROLABILITE DES DEFAILLANCES
Défaillances Défaillances
détectées non détectées
Service Service
correct incorrect
Service Service
selon modes selon modes
défaillance défaillance
admissibles inadmissibles
FAUSSE DEFAILLANCES DEFAILLANCES DEFAILLANCES
ALARME CONTROLEES SIGNALEES NON SIGNALEES
B-22
Systèmes à défaillance contrôlée
SYSTEMES A DEFAILLANCES CONTROLEES
DEFAILLANCES STOPPING DEFAILLANCES DEFAILLANCES
PAR ARRET FAILURE COHERENTES BENIGNES
FIGEMENT
ETAT SORTIES
SYSTEME FAIL-PASSIVE
A FIGEMENT SYSTEME A SYSTEME SUR
SYSTEM FAIL-SAFE
SUR DEFAILLANCE DEFAILLANCES EN PRESENCE DE
SYSTEM
COHERENTES DEFAILLANCE
SILENCE
(ABSENCE EVENEMENT)
SYSTEME FAIL-SILENT
A SILENCE SUR
DEFAILLANCE
SYSTEM Comment rendre un service acceptable
en dépit de l’occurrence de fautes?
SYSTEME
A ARRET SUR DEFAILLANCE
FAIL-HALT
SYSTEM
-Arrêt sur défaillance
-Défaillance contrôlée (mode dégradés)
-Sûreté en présence de défaillance
B-23
Statistiques de défaillances
• Défaillances accidentelles
— Causes Fautes physiques internes ≈10%
Fautes physiques environnementales ≈10%
Fautes d’interaction homme/système ≈20%
Fautes de conception ≈60%
Composant Système tolérant
— Fréquences
informatique les fautes
Fautes physiques permanentes ≈1 an 20-100 ans
Fautes intermittentes qq.h /qq sem. > 10 ans
— Densité de fautes de conception
» Fautes crées durant le développement: 10-300 / kLoC
» Fautes résiduelles en opération: 0,01 - 10 / kLoC
• Malveillances [Ernst &Young 1998; 1200 sociétés dans 32 pays]
— Sociétés ayant souffert d’au moins un fraude en un an: 66%
— Sociétés ayant souffert de plus de 5 fraudes en un an: 17%
» 85% de fraudes perpétrées par des employés
B-24
Les moyens
B-25
Les moyens
• Prévention des fautes
» Toutes les méthodes pour améliorer les processus de production du
logiciel et du matériel
• Tolérance aux fautes
» Mécanismes pour assurer un service correct en présence de fautes
• Elimination des fautes:
» Techniques permettant de réduire la présence des fautes
• Prévision des fautes:
» Techniques pour estimer le nombre et les conséquences de fautes
« résiduelles ».
B-26
La tolérance aux fautes
• Deux notions essentielles
— Le traitement d’erreur: éliminer l’erreur avant défaillance
détection
Traitement d’erreur
Latence
{ recouvrement
d’erreur
Faute Erreur Défaillance
Latence de faute
— Le traitement de faute: éviter la ré-activation des fautes
Traitement d’erreur + traitement de faute = tolérance aux fautes
B-27
Traitement d’erreur
• Détection,
— Identification d’un état erroné dans le système
• Diagnostic,
— Analyse permettant de déterminer les causes et les dommages
causés par l’erreur
• Recouvrement
» Recouvrement arrière:
- Ramener le système dans un état antérieur exempt de faute,obtenu
avant l’occurrence de l’erreur (notion de points de reprise)
» Recouvrement avant:
- Déterminer un nouvel état à partir duquel on sait que le système peut
fonctionner (notion de mode dégradé)
• Compensation:
— Disposer de suffisamment de redondance en dépit de l’état erroné
pour le transformer en un état exempt d’erreur (techniques de
masquage de faute, par vote majoritaire, par exemple)
B-28
Traitement d’erreur
Recouvrement arrière Recouvrement avant Compensation
Point de
reprise
Etat de
reprise
?
Nouvel Décision
État de
reprise
Service OK Service OK Service OK
B-29
Notion de modèle de faute
• Quelles sont les fautes que l’on souhaite traiter?
— Physiques, Conception, Malicieuses
— Quels sont leurs effets, c’est-à-dire les erreurs qu’elles provoquent
• Exemples vis-à-vis de fautes physiques
— Arrêt sur défaillance L’erreur a conduit a l’arrêt du composant ➠
basculement sur un composant identique correct
— Omissions L’erreur a conduit à la perte d’un message ➠
protocole de répétition ou de diffusion fiable
L’erreur a conduit à la corruption d’une valeur en
— Erreurs en valeur sortie ➠ mécanisme de compensation d’erreur
• Exemples vis-à-vis de fautes du logiciel
— Erreur de conception Faute de conception par rapport aux spécifications
“correctes” ➠ diversification
— Erreur de codage Faute de programmation ➠ diversification
— Erreur de ressources Défaut de ressource ➠ ré-exécution sur autre
support d’exécution
B-30
Techniques classiques
• Architecture duplex
crash
P S basculement P S
Fonctionnement normal Fonctionnement après basculement
• Remarques importantes sur les hypothèses:
— Les sorties du primaire P sont considérées comme correctes tant
qu’un crash n’a pas été détecté
— Si un crash est détecté, on considère que le composant P est à
silence sur défaillance, c’est-à-dire sans propagation d’erreur
— Ceci impose :
» que toute erreur interne est confinée dans P (idem S)
» un protocole de surveillance signalant à S le crash de P
B-31
Techniques classiques
• Architecture TMR (Triple Modular Redundancy)
crash
X
C1 Y
C2 Y
C3
V
Y
Fonctionnement normal
• Remarques importantes sur les hypothèses :
— Les entées sont identiques: valeurs et séquence d’entrée
— Le crash est considéré comme une absence de réponse
— Parmi les réponses fournies, la valeur majoritaire est considérée
comme le résultat correct
— Si les composants sont identiques, vote=comparaison
— Si les composants sont diversifiés, vote=algorithme de décision
B-32
Elimination des fautes
• Méthodes de test
— Identification des fautes dans le composants matériels et logiciels
— Approches
» Déterministes: choix sélectif pour couvrir un critère
» Aléatoires: tirage aléatoire des valeurs d’entrées, selon un critère
• Notion de critère :
— modèle structurel ou fonctionnel +
— éléments du modèle à activer
• Génération des vecteurs de test
— Exemple de critère: « toutes les branches »
» Cas déterministe: choix « a priori » des valeurs d’entrées qui
permettent de passer dans chaque branche
» Cas aléatoire: génération de valeurs d’entrée (e.g. branches
équiprobables) et analyse de la couverture (toutes les branches)
— Observation des sorties
» Comparaison avec une référence ➠ Notion d’Oracle de test
B-33
Techniques de vérification
Analyse statique (du code)
statique Preuve mathématique
Analyse du comportement
vérification
Exécution symbolique
dynamique
Test
• Application à la vérification du logiciel: pratiques actuelles
— Revue de code, inspections à l’aide d’outils (compilateurs,
analyseurs de code,etc.) ➠ identification d’erreur (var. non init.,
interfaces incompatibles, code mort, etc.)
— Spécification formelle + spécification formelle langage + règles
d’inférences
— Automates à états finis, réseaux de Petri, StateCharts
— Le test (en particulier du logiciel)
B-34

Vous aimerez peut-être aussi