Académique Documents
Professionnel Documents
Culture Documents
Sû té de
Sûreté d fonctionnement
f ti t
Défaillances fautes,
Défaillances, fautes erreurs
Types
yp et sources de fautes
2
Sûreté de fonctionnement (dependability)
( p y)
Définition :
Propriété d’un système informatique permettant à ses utilisateurs
de placer une confiance justifiée dans le service que délivre le
système
Aspects :
Fiabilité (reliability)
Disponibilité (availability)
Sûreté (safety)
Maintenabilité (maintainability)
Sécurité (security)
3
Sûreté de fonctionnement (dependability)
( p y)
Fiabilité
La mesure dans
L d l
laquelle
ll un système
tè estt en état
ét t de
d rendre
d son
service (état opérationnel)
Quantification : probabilité de défaillance sur une période donnée
Pour systèmes à mission continue : MTTF (Mean Time To Failure),
MTBF (Mean Time Between Failure)
Maintenabilité
La mesure dans laquelle un système défaillant peut revenir à un
état opérationnel
Quantification : temps nécessaire au système pour revenir à un
état opérationnel (reprise). Mission continue : MTTR (Mean Time
To Repair)
4
Sûreté de fonctionnement (dependability)
( p y)
Disponibilité
La mesure dans laquelle un système alterne entre état
opérationnel et état défaillant
Quantification : probabilité que le système soit dans un état
opérationnel à un instant donné.
Mission continue : A = MTBF / (MTBF + MTTR)
• A = 99 % -> 4 jours d ’indisponibilité par an
• A = 99,9
99 9 % ->
> 9 heures
h par an
• A = 99,999 % -> 5 minutes par an
5
Sûreté de fonctionnement (dependability)
( p y)
Sûreté
La mesure dans laquelle un système défaille sans incidence
«catastrophique» sur son environnement
Sécurité
La mesure dans laquelle un système résiste à des fautes
intentionnelles
Aspects
Authentification
Contrôle d ’accès
accès
Intégrité
Confidentialité
6
Défaillances,, fautes,, erreurs
7
Défaillances,, fautes,, erreurs
Erreur : l’activation d’une faute durant l’exploitation du
système peut se manifester par la présence d’un état
interne erroné dans ce système.
y Sous des circonstances
particulières cet état interne erroné peut conduire à une
erreur cc’est-à-dire
erreur, est-à-dire, à un résultat incorrect ou imprécis.
imprécis
8
De la faute à la défaillance
la défaillance d’un système est la conséquence d’une
erreur, et l’erreur est la conséquence d’une faute activée.
9
De la faute à la défaillance
10
Types
yp de fautes
f t transitoires,
fautes t it i ett
fautes intermittentes
11
Types
yp de fautes
Une faute permanente se caractérise par sa durée
permanente, une fois activée, durant l’exploitation du
système. Elle persiste donc indéfiniment (jusqu’à
réparation)
é ti ) après
è son occurrence.
12
Types
yp de fautes
Une faute transitoire se caractérise par sa durée limitée,
une fois activée, durant l’exploitation du système.
Les fautes transitoires sont souvent observées dans les
systèmes de communication, où la présence des radiations
électromagnétiques peut corrompre les données envoyées sur
une liaison.
liaison physique de communication.
communication Ceci provoque une
faute transitoire qui ne dure que la période de la présence de
ces radiations.
13
Sources de fautes
Suivant les exigences fonctionnelles et temporelles d’un système,
la défaillance de ce système peut être la conséquence de deux
sources de fautes :
14
Méthodes p
pour sûreté de fonctionnement
Évitement (« fault avoidance »)
Vérification
Détecter et supprimer les fautes avant qu’elles aient pu produire
une erreur
Prévention
A l
Analyser l causes potentielles
les t ti ll de d fautes
f t
Prendre des mesures pour les éliminer (pas toujours possible) ou
réduire leur probabilité
Évaluation
Prévoir les fautes (et les mesures pour y faire face)
Prévision souvent statistique
15
Méthodes p
pour sûreté de fonctionnement
Tolérance aux fautes
Toutes les fautes ne peuvent être évitées
Quelles que soient les précautions prises, l’occurrence de fautes
est inévitable (erreur humaine, malveillance, vieillissement du
matériel, catastrophe naturelle, etc.). Cela ne veut pas dire qu’il ne
faut p
pas essayer
y de p prévenir ou d’éliminer les fautes,, mais les
mesures prises peuvent seulement réduire la probabilité de leur
occurrence
16
Méthodes p
pour sûreté de fonctionnement
Tolérance aux fautes
Par l’emploi de redondances
Spatiales (duplication de composants)
Temporelles (traitements multiples)
Informationnelles (codes et signatures)
17
Phases d’un algorithme
g de tolérance aux fautes
Détection des erreurs
La détection des erreurs permet d d’identifier
identifier le type et ll’origine
origine des
erreurs. Cette détection peut être faite soit au niveau de l’environnement
du système, soit au niveau de l’application du système.
Au niveau de ll’environnement
environnement, cc’est
est ll’exécutif
exécutif de ll’application
application qui se
charge de détecter certaines erreurs, qui peuvent être par exemple de
type : division par zéro, erreur d’entrée/sortie, accès interdit au
périphérique.
é i hé i
Au niveau de l’application, ce sont les composants redondants qui se
chargent
g de réaliser cette tâche de détection. Les techniques de
détection d’erreurs au niveau de l’application sont nombreuses. Parmi les
techniques de base, on trouve la comparaison des résultats de
composants répliqués et la vérification des temps de délivrance des
résultats. Enfin, la réussite d’une telle technique de détection des erreurs
dépend de deux paramètres qui sont la latence (délai entre la production
et la détection de ll’erreur)
erreur), et le taux de couverture (pourcentage
d’erreurs détectées).
18
Phases d’un algorithme
g de tolérance aux fautes
Traitement des erreurs
Cette phase consiste à traiter les états erronés (ou erreurs) détectés par
la première phase, à l’aide d’une des deux techniques de base suivantes:
recouvrement des erreurs : le recouvrement consiste à remplacer l’état
erroné par un état correct.
correct Il utilise soit la technique de la reprise,
reprise soit la
technique de la poursuite. La reprise consiste à mettre le système dans
un de ses états précédents corrects, et la poursuite consiste soit en la
reconstitution
tit ti d’un
d’ état
ét t correct,
t soitit en la
l reconstitution
tit ti partielle
ti ll d’un
d’ état
ét t
correct qui permet au système de fonctionner en mode dégradé.
compensation des erreurs : la compensation consiste en la
reconstruction totale d’un état correct en utilisant un ensemble
d’informations redondantes existantes dans le système.
19
Phases d’un algorithme
g de tolérance aux fautes
Exemple de compensation des erreurs vote majoritaire
20
Hypothèses
yp de défaillance
Systèmes à défaillances en valeur : ces systèmes supposent que les
valeurs sont délivrées à temps et qu
qu’ils
ils défaillent uniquement si les valeurs
délivrées sont fausses,
Systèmes
S tè à silence
il sur défaillances
déf ill : un système
tè à silence
il sur
défaillances soit fonctionne correctement (valeurs correctes et délivrées à
temps), soit est défaillant et il arrête alors de fonctionner.
21
Hypothèses
yp de défaillance
Systèmes à défaillances par omission : ces systèmes supposent que les
valeurs
l sontt correctes,
t ett qu’ils
’il défaillent
déf ill t uniquement
i t sii la
l valeur
l n’est
’ t jamais
j i
délivrée. Par exemple, un système perd des messages sortants (omission en
émission) ;
22
Couverture entre les hypothèses
yp de défaillance
23
Tolérance aux fautes logicielles
g
Les fautes logicielles sont dues aux erreurs de conception des composants
logiciels de l’algorithme. Un exemple très intéressant de faute logicielle est
l’explosion de la fusée Ariane 5 en juin 1996 à cause des erreurs de conception
du logiciel.
Uni-version du logiciel : utilise une seule version du logiciel. Pour tolérer la faute
de chaque uni-version du logiciel, le concepteur du système doit la modifier en
lui ajoutant des mécanismes de détection et de traitement d’erreurs. Exemple :
t it
traitementt d’exceptions,
d’ ti dét ti
détection d’
d’erreur, point
i t de
d reprise.
i
24
Tolérance aux fautes matérielles
Les fautes
L f t matérielles
té i ll sontt souventt dues
d soit
it aux fautes
f t d
de
conception et de fabrication des composants matériels du système,
soit à l’interaction du système
y avec l’environnement qqu’il contrôle.
25
Difficulté de la tolérance aux fautes
Les p
pièges
g sont nombreux …
Mauvaise analyse des fautes possibles
ne
e pas p
prévoir
é o des cas poss
possibles
b es de faute
au e
laisser passer des fautes sans réaction
Réaction
éact o inappropriée
app op ée due à des hypothèses
ypot èses mal
a formulées
o u ées
le “remède” peut aggraver la situation
Mise en oeuvre incorrecte de la redondance
les éléments redondants doivent avoir des modes de défaillance
différents
une mauvaise redondance donne un faux sentiment de sécurité
26
Exemple
p d’échec : Ariane 5
Le 4 juin 1996, le premier tir de la fusée Ariane 5 se
termina par l’explosion de l’engin environ 40 secondes
après le décollage.
L’enquête
q permit de déterminer les circonstances
p
précises de la catastrophe et mit en évidence plusieurs
erreurs de conception du logiciel de commande, et
notamment de son système de tolérance aux fautes, qui
conduisirent au déclenchement d’une réaction
inappropriée alors que les conditions de vol étaient
normales.
27
Exemple
p d’échec : Ariane 5
Le système de pilotage
28
Exemple
p d’échec : Ariane 5
Scénario (très) simplifié
29
Exemple
p d’échec : Ariane 5
Scénario (très) simplifié
30
Exemple
p d’échec : Ariane 5
Scénario (très) simplifié
31
Pourquoi
q l’échec : Ariane 5
à un système
tè d calibrage
de lib d
des i t
instruments
t utilisé
tili é avantt le
l décollage.
dé ll C
Ce
particulier
ti li sa vitesse
it d déplacement
de dé l t horizontale
h i t l était
ét it beaucoup
b plus
l élevée
él é
dé
dépassé
é les
l capacités
ité du
d convertisseur
ti
32
Pourquoi
q l’échec : Ariane 5
Pourquoi le convertisseur a-t-il réagi en envoyant un diagnostic d’erreur sur le bus
de données ?
Les instructions de conversion de données (écrites en Ada) n’étaient pas protégées par
un traitement d’exception (on n’avait pas prévu que la capacité d’entrée pouvait être
dépassée).
dépassée)
C’est le dispositif standard de réaction aux erreurs qui a été activé par défaut. La
centrale à inertie a déclaré son incapacité à fonctionner et a été mise hors service selon
le principe fail stop (arrêt du processeur).
processeur)
défaillance de probabilité très faible, traitée par redondance (on passe sur la centrale de
secours).
M i la
Mais l défaillance
déf ill ét t d’origine
étant d’ i i l i i ll les
logicielle, l même
ê causes ontt produit
d it des
d effets
ff t
identiques, et la centrale de secours s’est trouvée hors service pour les mêmes raisons
que la centrale active.
On se trouvait donc hors des hypothèses prévues pour le traitement des défaillances
(panne simultanée des deux unités). Ce cas étant supposé ne jamais se présenter, rien
n’était prévu pour le traiter et le diagnostic d’erreur a été envoyé sur le bus de données.
33
Ariane 501 : la morale de l’histoire
Le scénario de la catastrophe révèle plusieurs erreurs de conception
Analyse incorrecte de la transition Ariane 4 -> Ariane 5 (pour la centrale à inertie)
Un dispositif totalement inutile a été maintenu en fonction dans un équipement critique
Les conséquences du changement de conditions (vitesse différente) n’ont pas été analysées
Analyse
y incorrecte des hypothèses
yp de défaillance
Le dépassement de capacité n’a pas été prévu dans le convertisseur (pas de traitement
d’exception associé à l’opération de conversion).
L’hypothèse
yp à la base de la redondance a été incorrectement formulée ((la redondance ne vaut
que si les conditions de défaillance sont indépendantes pour les deux unités redondantes).
L’éventualité d’erreurs logicielles (qui précisément ne sont pas indépendantes, surtout si un
même algorithme sert dans les deux unités) n’a pas été prise en compte.
34