Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Sû
reté de fo
nctio
nn
emen
td
es systèmes in
form
atiqu
esin
du
striels
Jean-C
harles F
abre
Méthodes et techniques perm
ettant de considérer les fautescom
me des événem
ents naturels et prévisibles!
Tel: 05 61 33 62 36
-F
ax: 05 61 33 64 11-
E-m
ail: [email protected]
Delta4
! S
ystèmes répartis
Μk T
-R !
Systèm
es embarqués
Airbus A
3*, B777
! A
vioniqueE
lektra !
Ferroviaire
Nucléaire
! contrôle de procédé
Ballista
! U
nixM
afalda!
Μk T
-RC
oFF
EE!
Corba
Plan
•C
on
cepts d
e base
—D
éfinitions et notions de base (attributs,entraves),
—M
oyens (prévention, tolérance, élimination,
prévision) et mesures
•T
echn
iqu
es de to
l érance au
x fautes
—H
ypothèses de fautes,—
Techniques de base, stratégies de réplication
—S
olutions architecturales et exemples
•T
echn
iqu
es de caractérisatio
n—
Injection de fautes (principes, techniques)—
Analyse de robustesse, m
odes de défaillance—
Exem
ples d'outils et de résultatsexpérim
entaux
•S
ynth
èse et con
clusio
n.
B-1
Intro
du
ction
aux co
ncep
ts de b
aseet au
x mo
yens
Gén
éralités,D
éfinitio
ns et n
otio
ns d
e base (attrib
uts, en
traves),M
oyen
s (préven
tion
, toléran
ce, élimin
ation
, prévisio
n)
et mesu
res
B-2
Gén
éralités•
Les systèm
es ind
ustriels so
nt co
mp
lexes et do
nc so
um
is à des
entraves d
e fon
ction
nem
ent d
’orig
ine
—P
hysique, par exemple court circuit
—Logicielle, faute de program
mation
•D
eux ap
pro
ches:
—Z
éro-défaut : qualité des processus de production des matériels et
des logiciels permettant de réaliser des com
posants parfaits—
Sûreté de fonctionnem
ent:»
Les erreurs sont considérées com
me des événem
ents naturels etinévitables dans les systèm
es complexes
»L’objectif est de m
ettre en place des méthodes et des techniques
permettant de:
-M
inimiser leur présence
-T
olérer leur occurrence
-M
esurer l’efficacité des techniques utilisées
B-3
Co
ncep
ts•
Défin
ition
: P
ropriété d’un système inform
atique permettant à ses
utilisateurs de placer une confiance justifiée dans le service qu’il leur délivre
•A
ttribu
ts:—
Disponibilité: »
Capacité d
’un système à être prêt à l’utilisation
—F
iabilité:»
Capacité d
’un système à assurer la continuité de service
—S
écurité»
Innocuité: non-occurrence de défaillances catastrophiques
»C
onfidentialité: non-occurrence de divulgation non autorisée del’inform
ation—
Intégrité:»
Non-occurrence d
’altération inappropriée de l’information
—M
aintenabilité»
Capacité d
’effectuer des réparations et des évolutions•
Qu
antités m
esurab
les—
Disponibilité : m
oyenne du bon fonctionnement (T
ok /Ttotal )
—F
iabilité: Sachant que le systèm
e est ok à T0 , P
robO
K (T0 +δt)
B-4
Co
ncep
ts
PR
OP
RIE
TE
D'U
N S
YS
TE
ME
TE
LL
E Q
UE
SE
S U
TIL
ISA
TEU
RS
PU
ISS
EN
T P
LA
CE
R U
NE
CO
NF
IAN
CE
JUS
TIF
IEE
DA
NS
LE
SE
RV
ICE
QU
'IL L
EU
R D
EL
IVR
E
SE
CU
RIT
E-C
ON
FID
EN
TIA
LIT
E
SU
RE
TE
DE
FO
NC
TIO
NN
EM
EN
T
Absence
de conséquences catastrophiques
pour l'environnem
ent
Continuité
de serviceP
rêt à l'utilisation
Absence
de divulgations non-autorisées de l'inform
ation
Absence
d'altérations inappropriées de
l'information
Aptitude aux
réparations et aux
évolutions
SE
CU
RIT
E-
INN
OC
UIT
EF
IAB
ILIT
EC
ON
FID
EN
TIA
LIT
ED
ISP
ON
IBIL
ITE
INT
EG
RIT
EM
AIN
TE
NA
BIL
ITE
B-5
En
traves et causalité
•E
ntraves
—défaillance:
»déviation du service d
élivré par rapport aux spécifications
—erreur:
»P
artie du système susceptible de conduire à une d
éfaillance
—faute:
»C
ause adjugée ou supposée d’un erreur
•C
haîn
e causale fau
te-erreur-d
éfaillance
Faute
➱E
rreur➱
D
éfaillanceO
rigineE
tatS
ervice•
Mo
dèle récu
rsif:... D
éfaillance ➠ F
aute ➠ E
rreur ➠ D
éfaillance ➠ F
aute...—
Lorsque le système est com
posé 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-6
En
traves à la Sd
F
ER
RE
UR
: MA
NIF
ES
TA
TIO
N F
AU
TE
DA
NS
SY
ST
EM
ED
EF
AIL
LA
NC
E : M
AN
IFE
ST
AT
ION
ER
RE
UR
SU
R S
ER
VIC
E
DE
FA
ILL
AN
CE
DE
VIA
TIO
N D
U S
ER
VIC
E D
EL
IVR
E D
E
L'A
CC
OM
PL
ISS
EM
EN
T D
E L
A F
ON
CT
ION
DU
SY
ST
EM
E
PA
RT
IE D
E L
'ET
AT
DU
SY
ST
EM
E S
US
CE
PT
IBL
E
D'E
NT
RA
INE
R U
NE
DE
FA
ILL
AN
CE
CA
US
E S
UP
PO
SE
E O
U A
DJU
GE
E D
'UN
E E
RR
EU
R
AC
TIV
AT
ION
(INT
ER
NE
) OU
O
CC
UR
RE
NC
E (E
XT
ER
NE
)
PR
OP
AG
AT
ION
DEVIATION DE LA
CONFO
RMITE
A LA
SPECIFICATION
SERVICE CONFO
RME A
LA
SPECIFICATION, M
AISINACCEPTABLE
ER
RE
UR
FA
UT
E
B-7
Des en
traves… au
x méth
od
es
… D
éfaillances ➙
Fautes ➙
Erreurs
➙ D
éfaillances ➙
Fautes …M
aintenabilitéC
onfidentialitéIntegrité
FiabilitéD
isponibilitéS
écurité-innocuité
Préventionde fautes
Toléranceaux fautes
Elim
inationdes fautes
Prévision
des fautes
B-8
Méth
od
es•
Le d
évelop
pem
ent d
’un
système sû
r de fo
nctio
nn
emen
t passe p
arl’u
tilisation
com
bin
ée d’u
n en
semb
le de m
étho
des q
ui p
euven
têtre classées en
:—
prévention de fautes :»
comm
ent emp
êcher l’occurrence ou l’introduction de fautes ;
—tolérance aux fautes :»
comm
ent fournir un service à mêm
e de remplir la fonction du systèm
een dépit des fautes ;
—élim
ination des fautes :»
comm
ent réduire la présence (nombre, sévérité) des fautes ;
—prévision des fautes :»
comm
ent estimer la présence, la création et les conséquences des
fautes.
Techniques de
genie logiciel
Techniques de redondance
Techniques de test, injection de fautes
Techniques de m
odélisation, évaluation
B-9
Sû
reté de fo
nctio
nn
emen
t•
En
traves à la sûreté d
e fon
ction
nem
ent :
»fautes, erreurs, d
éfaillances ; elles sont les circonstances indésirables;
•M
oyen
s po
ur la sû
reté de fo
nctio
nn
emen
t :»
prévention de fautes,
»tolérance aux fautes,
Ȏlim
ination des fautes,
»prévision des fautes ;
Il s’agit des méthodes et techniques perm
ettant de fournir ausystèm
e l’aptitude à délivrer un service conforme à
l’accomplissem
ent de sa fonction, et de donner confiance danscette aptitude ;
•A
ttribu
ts de la sû
reté de fo
nctio
nn
emen
t :—
disponibilité, fiabilité, sécurité_innocuité, confidentialité, intégrité,m
aintenabilité ;
—ils perm
ettent 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-10
Arb
re de la S
dF
SÛ
RE
TÉ
DE
FO
NC
TIO
NN
EM
EN
T
AT
TR
IBU
TS
DIS
PO
NIB
ILITÉ
FIA
BILIT
É
SÉ
CU
RIT
É - IN
NO
CU
ITÉ
CO
NF
IDE
NT
IALIT
É
INT
ÉG
RIT
É
MA
INT
EN
AB
ILITÉ
PR
ÉV
EN
TIO
N D
E F
AU
TE
S
TO
LÉR
AN
CE
AU
X F
AU
TE
S
ÉLIM
INA
TIO
N D
ES
FA
UT
ES
PR
ÉV
ISIO
N D
ES
FA
UT
ES
MO
YE
NS
EN
TR
AV
ES
FA
UT
ES
ER
RE
UR
S
DÉ
FA
ILLAN
CE
S
B-11
DIS
PO
NIB
ILIT
E / F
IAB
ILIT
E
SE
CU
RIT
E - IN
NO
CU
ITE
CO
NF
IDE
NT
IAL
ITE
ER
RE
UR
S
FA
UT
ES
Ph
ysiqu
es / Du
es à l'ho
mm
eA
cciden
telles / Inten
tion
elles no
n-m
alveillantes / M
alveillantes
De d
évelop
pem
ent / O
pératio
nelles
Intern
es / Extern
esP
erman
entes / T
emp
oraires
DE
FA
ILL
AN
CE
S
En
valeur / T
emp
orelles
Co
nh
érentes / In
con
héren
tesB
énig
nes / C
atastrop
hiq
ues
PR
EV
EN
TIO
N
DE
FA
UT
ES
TO
LE
RA
NC
EA
UX
FA
UT
ES
EL
IMIN
AT
ION
DE
S F
AU
TE
S
PR
EV
ISIO
ND
ES
FA
UT
ES
Evalu
ation
Ord
inale
Evalu
ation
Pro
bab
ilisteM
od
élisation
/ Test
Fiab
ilité stabilisée / F
iabilité évo
lutive
MA
INT
EN
AB
ILIT
E
INT
EG
RIT
E
SURETEDEFONCTIONNEMENT
Co
nfo
rmité / R
echerch
e de fau
tesF
on
ction
nel / S
tructu
relB
asé fautes / B
asé critèresD
étermin
iste / Aléato
ire
Traitem
ent
d'erreu
rs
Détectio
n
Traitem
ent
de fau
tes
Diag
no
stic
Passivatio
n
Reco
nfig
uratio
n
Vérificatio
n
Diag
no
stic
Mo
dificatio
n
Statiq
ue
An
alyse statiqu
e
Preu
ve
Dyn
amiq
ue
Exécu
tion
Sym
bo
liqu
e
Test
Diag
no
stic
Reco
uvrem
ent
Rep
riseP
ou
rsuite
Co
mp
ensatio
n
ATTRIBUTSMOYENSENTRA
VES
J.C. Laprie et al.,
Guide de la S
ûreté de Fonctionnem
ent, C
épaduès Editions, 1995
$
B-12
Classes d
e fautes
•Q
uatre g
rand
es classes de fau
tes et d’erreu
rs :—
les fautes physiques
—les fautes de conception ;
—les erreurs de l’opérateur ;
—les intrusions.
•N
otio
n d
e détectio
n: b
arrières tentan
t d’em
pêch
er qu
e l’activation
d’u
ne fau
te sou
s la form
e d’u
ne erreu
r ne co
nd
uise à la
défaillan
ce du
système p
ar pro
pag
ation
.—
codes détecteurs d’erreur ;—
duplication et comparaison ;
—contrôles tem
porels et d’exécution ;—
contrôles de vraisemblance ;
—contrôles de données structurées.
•N
otio
n d
e recou
vremen
t d’erreu
r: tentative d
e restauratio
n d
’un
état exemp
t de fau
te
B-13
Path
olo
gie d
es fautes
—U
ne faute est active lorsque l’erreur correspondante apparaît
—U
ne faute est dormante lorsque aucune erreur n’est observée
—U
ne erreur est latente tant qu’elle n’est pas détectée
temps
Faute
Erreur
Défaillance
Correction
Faute dorm
ante
Erreur latente
Latence d’erreurD
ormance de faute
B-14
Ph
éno
mèn
e de p
rop
agatio
n
FAUTEDO
RMANTE
ACTIVATION
DEFAILLANCEM
ATERIEL
ERREURPRO
GRAM
MEUR
PERTURBATION
ELECTROM
AGNETIQ
UE
ERREURO
PERATEUR
ERREUR
SERVICECO
RRECTSERVICE
INCORRECT
DEFAILLANCE
PROPAG
ATION
ERREURERREUR
PROPAG
.
INTERFACEDE
SERVICE
ERREUR
PROPAG
ATION
ERREURERREUR
PROPAG
.
B-15
Exem
ples d
e types d
e faute
—C
ourt-circuit dans un circuit (e.g. stuck-at) ➠ défaillance du circuit
(faute physique) ➠ erreur dans des cellules m
émoire ➠
défaillancedu systèm
e
—D
éfaillance d’un programm
er (faute de conception dans unprogram
me) ➠
activation par un profil activation donné ➠ erreurs
en sortie (en valeur ou temporelles) ➠
défaillance
—P
rogramm
eur malicieux qui insère une bom
be logique -cheval deT
roie (faute malicieuse) ➠
activation à une date, selon ceratinesconditions opérationnelles ➠
deny de service
—perturbations électrom
agnétiques (faute physique externe ) ➠erreur m
émoire/registres ➠
défaillance
—fautes d’opérateurs du systèm
e (faute d’interaction accidentelle)
—fautes de docum
entation (d’un composant) ➠
faute d’interaction oude conception dans les couches hautes du systèm
e ➠ défaillance
B-16
Exem
ples d
e casréels o
bservés
massives
de
fus
ées soviétiq
ues
au N
OR
AD
✔✔
✔Ju
in 1985 -
Janvier
1987 : Do
ses excessives
de
radio
thérap
ie (T
herac
-25)
✔✔
✔✔
Ao
ût 1986 - 1987 : L
e "Wily h
acker" p
énètre
des
dizain
es d
e cen
tres info
rmatiq
ues sen
sibles
✔✔
✔15
Janvier
1990 : In
disp
on
ibilité
totale d
u télép
ho
ne
interu
rbain
aux
Etats
-Un
is, p
end
ant 9 h
eures
✔✔
✔✔
✔F
évrier 1991 : S
cud
raté p
ar un
Patrio
t à D
hah
ran
✔✔
✔✔
✔N
ovem
bre
1992 : E
crou
lemen
t d
es com
mu
nicatio
ns
du
service d
'amb
ulan
ces d
e L
on
dres
✔F
évrier 2000 : E
ng
org
emen
t po
rtails W
eb✔
✔✔
17 Ju
illet 1997: M
élan
ge d
es ad
resses du
d
om
aine
intern
et .com
✔✔
✔
✔13
Avril 1998 :
Ecro
ulem
ent d
u réseau
de
do
nn
ées d'A
T&
T✔
✔✔
4 Ju
in 1996 :
Défaillan
ce du
vol
501 d
'Arian
e 5
✔✔
✔ ✔✔
✔✔
26 et 27 Ju
in 1993 : R
efus
des
cartes d
e créd
it d
ans
les d
istribu
teurs
de
mo
nn
aie en
Fran
ce
✔✔
✔Ju
in 1980 :
Fau
sses alertes à d
es attaq
ues
Fau
tesE
rreurs
Physiques
Conception
Interaction
Localisées
Distribuées
Disponibilité/ Fiabilité
Sécurité- Innocuité
Confidentialité
B-17
Co
ût d
e la no
n S
dF
•C
oû
t mo
yen d
’ind
ispo
nib
ilité (CA
perd
u d
ans les b
anq
ues,
assuran
ces, assuran
ce malad
ie, com
merce d
e gro
s, bo
urse,
réservation
s, etc.): 78000 $/h
•C
oû
t des d
éfaillances in
form
atiqu
es—
Fautes accidentelles $
F
rance: 0,9 G €
U
SA
: 4 G $
—M
alveillances $
F
rance: 1 G €
UK
: 1,25 G £
•C
ou
t de la m
ainten
ance:
—Logiciel em
barqué de la navette spatiale: 100 M $ / an
•C
oû
t des lo
giciels ab
and
on
nés
—A
ux US
A, de l’ordre de 80 G
$
—E
xemple: F
AA
AA
S (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-18
Classificatio
n d
es fautes
PERSISTEN
CE
FAU
TES PER
MA
NEN
TES
FAU
TES TEM
POR
AIR
ES
DIM
EN
SIO
NFA
UTES
MA
TERIELLES
FAU
TES LO
GIC
IELLES
FAU
TES N
ATUR
ELLES
FAU
TES D
UES A
L'HO
MM
E
CA
US
EPH
ENO
MEN
OLO
GIQ
UE
FRO
NTIER
ES SYSTEME
FAU
TES IN
TERN
ES
FAU
TES EXTER
NES
PHA
SE DE C
REA
TION
O
U D
'OC
CU
RE
NC
EFA
UTES
DE D
EVELOPPEM
EN
T
FAU
TES O
PERATIO
NN
ELLES
FAU
TES
FAU
TES D
ELIBER
EMEN
T MA
LVEILLAN
TES
FAU
TES A
CC
IDE
NTELLE
S OU
DELIB
EREE
S SAN
S M
ALVEILLA
NC
E IN
TENTIO
N
Conception, réalisation
En exploitation
Etat interne du systèm
e
Provenant de l’environnem
ent
Com
posants, liens physiques
Program
mes ou donn
ées
Aggression
, usure…
No
bo
dy
’s perfect…
Bad
Gu
ys…
Non liées à des conditions
Dépendantes de conditions
B-19
FA
UT
ES
PH
YS
IQU
ES
FA
UT
ES
D'IN
TE
RA
CT
ION
FA
UT
ES
DE
CO
NC
EP
TIO
N
FA
UT
ES
NA
TU
RE
LL
ES
FA
UT
ES
DU
ES
A L
'HO
MM
E
FA
UT
ES
EX
TE
RN
ES
FA
UT
ES
INT
ER
NE
S
FA
UT
ES
PE
RM
AN
EN
TE
S
FA
UT
ES
TE
MP
OR
AIR
ES
FA
UT
ES
LO
GIC
IEL
LE
S
FA
UT
ES
MA
TE
RIE
LL
ES
FA
UT
ES
OP
ER
AT
ION
EL
LE
S
FA
UT
ES
DE
DE
VE
LO
PP
EM
EN
T
FA
UT
ES
DE
LIB
ER
EM
EN
T
MA
LV
EIL
LA
NT
ES
FA
UT
ES
AC
CID
EN
TE
LL
ES
OU
D
EL
IBE
RE
ES
SA
NS
MA
LV
EIL
LA
NC
E
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!
!! !!
!! !!
!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!!! !!
!! !!!! !!
!! !!
!! !! !! !!!! !! !! !! !! !!!! !!!! !!
!! !!!! !!
!! !!
!! !!
!! !!!! !!
!! !!!! !!
!! !!!! !!IN
TR
US
ION
AT
TA
QU
EL
OG
IQU
EM
AL
IGN
E
DE
FA
UT
LO
FIC
EL
DE
FA
UT
M
AT
ER
IEL
INT
ER
FE
RE
NC
EP
HY
SIQ
UE
DE
FA
UT
DE
PR
OD
UC
TIO
N
EN
TR
EE
ER
RO
NE
ED
ET
ER
IOR
AT
ION
PH
YS
IQU
EV
IRU
S&
VE
R
DE
FA
UL
TL
OG
ICIE
L
B-20
Les m
od
es de d
éfaillance
•L
e système n
e défaille p
as tou
jou
rs de la m
ême faço
n➠
mo
des d
e défaillan
ce
Déclen
chem
ent airb
ag 1h
après ch
oc
DO
MA
INE
DE
FA
ILL
AN
CE
S E
N V
AL
EU
R
DE
FA
ILL
AN
CE
S T
EM
PO
RE
LL
ES
DE
FA
ILL
AN
CE
S C
AT
AS
TR
OP
HIQ
UE
S
CO
NS
EQ
UE
NC
ES
SU
R E
NV
IRO
NN
EM
EN
T
DE
FA
ILL
AN
CE
S B
EN
IGN
ES
•• •
CO
NT
RO
LA
BIL
ITE
DE
FA
ILL
AN
CE
S C
ON
TR
OL
EE
S
DE
FA
ILL
AN
CE
S IN
CO
NT
RO
LE
ES
CO
HE
RE
NC
E
DE
FA
ILL
AN
CE
S C
OH
ER
EN
TE
S
DE
FA
ILL
AN
CE
S IN
CO
HE
RE
NT
ES
DE
FA
ILL
AN
CE
S
Facto
rielle de 3 =
975
Erro
r status
, exceptio
n, alarm
e
J’AI R
IEN
VU
! No
n d
étection
!
Mo
de d
e défaillan
ce adm
issible
Mo
de d
e défaillan
ce INad
missib
le
Pas g
rave!
DE
GR
OS
DE
GA
TS
!!!!!
B-21
Les m
od
es de d
éfaillance
•L
e système n
e défaille p
as tou
jou
rs de la m
ême faço
n➠
mo
des d
e défaillan
ce
DO
MA
INE
DE
DE
FA
ILL
AN
CE
Valeu
r et tem
po
risation
Tem
po
risation
(valeur
correcte)
Service
interro
mp
u
DE
FA
ILL
AN
CE
S
PA
R A
RR
ET
Service
erratiqu
e
DE
FA
ILL
AN
CE
S
ER
RA
TIQ
UE
S
Service en
avan
ce
DE
FA
ILL
AN
CE
S
TE
MP
OR
EL
LE
S
AV
AN
CE
Service en
retard
DE
FA
ILL
AN
CE
S
EN
P
ER
FO
RM
AN
CE
Valeu
r(tem
po
risation
correcte)
DE
FA
ILL
AN
CE
S
EN
VA
LE
UR
B-22
Les m
od
es de d
éfaillance
•L
e système n
e défaille p
as tou
jou
rs de la m
ême faço
n➠
mo
des d
e défaillan
ce
CO
NT
RO
LA
BIL
ITE
DE
S D
EF
AIL
LA
NC
ES
Dé
failla
nc
es
dé
tec
tée
sD
éfa
illan
ce
sn
on
dé
tec
tée
s
DE
FA
ILL
AN
CE
S
CO
NT
RO
LE
ES
Se
rvic
e s
elo
n m
od
es
d
éfa
illan
ce
a
dm
iss
ible
s
Se
rvic
e s
elo
n m
od
es
d
éfa
illan
ce
in
ad
mis
sib
les
DE
FA
ILL
AN
CE
S
SIG
NA
LE
ES
DE
FA
ILL
AN
CE
S
NO
N S
IGN
AL
EE
SF
AU
SS
EA
LA
RM
E
Se
rvic
e
inc
orre
ct
Se
rvic
ec
orre
ct
B-23
Systèm
es à défaillan
ce con
trôlée
SY
ST
EM
ES
A D
EF
AIL
LA
NC
ES
CO
NT
RO
LE
ES
DE
FA
ILL
AN
CE
SC
OH
ER
EN
TE
SD
EF
AIL
LA
NC
ES
BE
NIG
NE
S
SY
ST
EM
E S
UR
EN
PR
ES
EN
CE
DE
D
EF
AIL
LA
NC
E
FA
IL-SA
FE
SY
ST
EM
DE
FA
ILL
AN
CE
SP
AR
AR
RE
T
SY
ST
EM
EA
SIL
EN
CE
SU
R
DE
FA
ILL
AN
CE
ST
OP
PIN
GF
AILU
RE
FA
IL-SILE
NT
S
YS
TE
M
FIG
EM
EN
TE
TA
T S
OR
TIE
S
SILE
NC
E(A
BS
EN
CE
EV
EN
EM
EN
T)
SY
ST
EM
EA
AR
RE
T S
UR
DE
FA
ILL
AN
CE
FA
IL-HA
LTS
YS
TE
M
SY
ST
EM
EA
FIG
EM
EN
TS
UR
DE
FA
ILL
AN
CE
FA
IL-PA
SS
IVE
S
YS
TE
MS
YS
TE
ME
A
DE
FA
ILL
AN
CE
SC
OH
ER
EN
TE
S
Com
ment rendre un service acceptable
en dépit de l’occurrence de fautes?-A
rrêt sur défaillance-D
éfaillance contrôlée (mode dégradés)
-Sûreté en présence de défaillance
B-24
Statistiq
ues d
e défaillan
ces•
Défaillan
ces acciden
telles—
Causes
—F
réquences
—D
ensité de fautes de conception»
Fautes crées durant le d
éveloppement: 10-300 / kLoC
»F
autes résiduelles en opération: 0,01 - 10 / kLoC
•M
alveillances [E
rnst &
Yo
un
g 1998; 1200 so
ciétés dan
s 32 pays]
—S
ociétés ayant souffert d’au moins un fraude en un an: 66%
—S
ociétés ayant souffert de plus de 5 fraudes en un an: 17%»
85% de fraudes perp
étrées par des employés
Fautes physiques internes
≈10%F
autes physiques environnementales
≈10%F
autes d’interaction homm
e/système
≈20%F
autes de conception≈60%
Co
mp
osan
t in
form
atiqu
eS
ystème to
lérant
les fautes
Fau
tes ph
ysiqu
es perm
anen
tes≈1 an
20-100 ansF
autes in
termitten
tes qq.h /qq sem
.>
10 ans
B-25
Les m
oyen
s
B-26
Les m
oyen
s•
Préven
tion
des fau
tes»
Toutes les m
éthodes pour améliorer les processus de production du
logiciel et du matériel
•T
oléran
ce aux fau
tes»
Mécanism
es pour assurer un service correct en présence de fautes
•E
limin
ation
des fau
tes:»
Techniques perm
ettant de réduire la présence des fautes
•P
révision
des fau
tes:»
Techniques pour estim
er le nombre et les conséquences de fautes
« résiduelles ».
B-27
La to
lérance au
x fautes
•D
eux n
otio
ns essen
tielles—
Le traitemen
t d’erreu
r: éliminer l’erreur avant défaillance
—Le traitem
ent d
e faute: éviter la ré-activation des fautes
Faute
Erreur
Défaillance
Traitem
ent d’erreur
Latence de faute
Latenced’erreur
Traitem
ent d
’erreur + traitem
ent d
e faute = to
lérance au
x fautes
{détection
recouvrement
B-28
Traitem
ent d
’erreur
•D
étection
,—
Identification d’un état erroné dans le système
•D
iagn
ostic,
—A
nalyse permettant de déterm
iner les causes et les domm
agescausés par l’erreur
•R
ecou
vremen
t»
Recouvrem
ent arrière:
-R
amener le systèm
e dans un état antérieur exempt de faute,obtenu
avant l’occurrence de l’erreur (notion de points de reprise)
»R
ecouvrement avant:
-D
éterminer un nouvel état à partir duquel on sait que le systèm
e peutfonctionner (notion de m
ode dégradé)
•C
om
pen
sation
:—
Disposer de suffisam
ment de redondance en dépit de l’état erroné
pour le transformer en un état exem
pt d’erreur (techniques dem
asquage de faute, par vote majoritaire, par exem
ple)
B-29
Traitem
ent d
’erreur
Reco
uvrem
ent arrière
Reco
uvrem
ent avan
tC
om
pen
sation
Service O
K
Décision
Service O
K
Point de
reprise
Etat de
reprise?
Service O
K
Nouvel
État de
reprise
B-30
No
tion
de m
od
èle de fau
te•
Qu
elles son
t les fautes q
ue l’o
n so
uh
aite traiter?—
Physiques, C
onception, Malicieuses
—Q
uels sont leurs effets, c’est-à-dire les erreurs qu’elles provoquent
•E
xemp
les vis-à-vis de fau
tes ph
ysiqu
es—
Arrêt sur défaillance
—O
missions
—E
rreurs en valeur
•E
xemp
les vis-à-vis de fau
tes du
log
iciel—
Erreur de conception
—E
rreur de codage
—E
rreur de ressources
L’erreu
r a con
du
it a l’arrêt d
u co
mp
osan
t ➠b
asculem
ent su
r un
com
po
sant id
entiq
ue co
rrect
L’erreu
r a con
du
it à la p
erte d’u
n m
essage ➠
pro
toco
le de rép
étitio
n o
u d
e diffu
sion
fiable
L’erreu
r a con
du
it à la co
rrup
tion
d’u
ne valeu
r enso
rtie ➠ m
écanism
e de co
mp
ensatio
n d
’erreur
Fau
te de co
ncep
tion
par rap
po
rt aux sp
écification
s“co
rrectes” ➠
diversificatio
n
Fau
te de p
rog
ramm
ation
➠ d
iversification
Défau
t de resso
urce ➠
ré-exé
cutio
n su
r autre
sup
po
rt d’exé
cutio
n
B-31
Tech
niq
ues classiq
ues
•A
rchitectu
re du
plex
PS
Fonctionnem
ent normal
crash
Fonctionnem
ent après basculement
PS
basculement
•R
emarq
ues im
po
rtantes su
r les hyp
oth
èses:—
Les sorties du primaire P
sont considérées comm
e correctes tantqu’un crash n’a pas été détecté
—S
i un crash est détecté, on considère que le composant P
est àsilence sur défaillance, c’est-à-dire sans propagation d’erreur
—C
eci impose :
»que toute erreur interne est confin
ée dans P (idem
S)
»un protocole de surveillance signalant à S
le crash de P
B-32
Tech
niq
ues classiq
ues
•A
rchitectu
re TM
R (T
riple Modular R
edundancy)
C1
C2
Fonctionnem
ent normal
crash
•R
emarq
ues im
po
rtantes su
r les hyp
oth
èses :—
Les entées sont identiques: valeurs et séquence d’entrée
—Le crash est considéré com
me une absence de réponse
—P
armi les réponses fournies, la valeur m
ajoritaire est considéréecom
me le résultat correct
—S
i les composants sont identiques, vote=
comparaison
—S
i les composants sont diversifiés, vote=
algorithme de décision
C3
V
XY
Y
Y
B-33
Elim
inatio
n d
es fautes
•M
étho
des d
e test—
Identification des fautes dans le composants m
atériels et logiciels
—A
pproches
»D
éterministes
: choix sélectif pour couvrir un critère
»A
léatoires: tirage aléatoire des valeurs d
’entrées, selon un critère
•N
otio
n d
e critère :—
modèle structurel ou fonctionnel +
—élém
ents du modèle à activer
•G
énératio
n d
es vecteurs d
e test—
Exem
ple de critère: « toutes les branches »»
Cas d
éterministe
: choix « a priori » des valeurs d’entrées qui
permettent de passer dans chaque branche
»C
as aléatoire: génération de valeurs d’entrée (e.g. branches
équiprobables) et analyse de la couverture (toutes les branches)
—O
bservation des sorties»
Com
paraison avec une référence ➠ N
otion d’O
racle de test
B-34
Tech
niq
ues d
e vérification
•A
pp
lication
à la vérification
du
log
iciel: pratiq
ues actu
elles—
Revue de code, inspections à l’aide d’outils (com
pilateurs,analyseurs de code,etc.) ➠
identification d’erreur (var. non init.,interfaces incom
patibles, code mort, etc.)
—S
pécification formelle +
spécification formelle langage +
règlesd’inférences
—A
utomates à états finis, réseaux de P
etri, StateC
harts
—Le test (en particulier du logiciel)
vérification
statique
dynamique
Analyse statique (du code)
Preuve m
athématique
Analyse du com
portement
Exécution sym
bolique
Test
B-35
Test d
u lo
giciel
•C
ritères test structu
rel:—
Technique s’appuyant sur le graphe de contrôle du program
me
—A
u moins une fois, toutes les instructions, toutes les branches
•C
ritère test fon
ction
nel:
—N
otion de classes d’équivalence des entrées (valides/invalides)
—V
aleurs aux limites
—M
achines à états finis: couvrir les états, les transitions, les deux
déterministe
statistique
déterministe
statistique
Structurel
Boîte blanche
Fonctionnel
Boîte noire
Choix
sélectif
Choix
aléatoire
Complémentaire
Selon com
plexité du programm
e
Le test est plus facilement autom
atisable si l’on dispose d’un modèle
comportem
ental du système ou de la fonction
B-36
Test d
u lo
giciel
•T
ypes d
e tests—
Test unitaire: application de séquences de test à un com
posantisolé
—T
est d’intégration: agrégation progressive des composants
—Le problèm
e de l’Oracle: décision O
K / non O
K»
Test dos-à-dos basé sur les d
éveloppements diversifiés (pb. fautes
corrélées)
»S
pécifications form
elles exécutables, mod
èles comportem
entaux,sim
ulation
Em
ulation de l’environnem
ent(bouchons)
Driver de test
Oracle
Com
posant sous test
Entrées de test
Sortie
B-37
Driver.output
Au
mo
ins u
ne fo
is To
utes les b
ranch
es
Fu
nctio
n L
and
ing
Co
ntro
l (integ
er: speed
; integ
er: alt)
B1
Speed >
400
B2
B2
Alt >
1000
B3
yes
yes
no
no
Engines
Alt.
Control
Stub
Engines
Stub
AltC
ontrol
Driver.input
speed=300; alt=
900
Oracle:
Ab
ort
Landing
speed=500; alt=
*
speed=300; alt=
1200
Test structurel
Déterm
inisteB
oîte blancheB-38
Test d
e la toléran
ce aux fau
tes•
Les m
écanism
es de to
lérance au
x fautes so
nt à la fo
is—
Faillibles (fautes de conception et/ou de réalisation)
—C
onçus pour traiter des entrées spécifiques: les fautes!$
leur vérificatio
n est essen
tielle!•
L’ap
pro
che exp
érimen
tale par in
jection
de fau
tes—
Sim
ulation des fautes, ou plutôt de leurs effets, les erreurs»
physiques (bit-flip) ou du logiciel (mutation d
’instruction)
—C
ibles: un composant logiciel équipé de son m
écanisme de T
AF
»B
oite blanche: visibilité structurelle (comm
ent il est fait) etcom
portementale (com
ment il agit/ré-agit)
»B
oite noire: aucune connaissance, seules les interfaces sont visibles
—Les types d’injection:
»niveau physique(stuck-at), m
odèle (V
HD
L) ou par logiciel (SW
IFI)
—Les problèm
es:»
Représentativité des fautes
»O
bservation et analyse des résultats.
B-39
Lo
giq
ue &
Info
rmatio
n
Ph
ysiqu
e
SY
ST
ÈM
E C
IBL
E
Mo
dèle
Pro
totyp
e
MOYEN
injectio
n
en sim
ulatio
n
≈
injectio
n
en lo
giciel
injectio
np
hysiq
ue
Nœ
uds ➠ O
RC
HE
STR
Atâche ➠
FIAT
instr. ➠ FE
RR
AR
Im
ém. ➠
DE
F.I, DIT
A,
MA
FAL
DA
Reg. ➠
Xception
ions lourds ➠ U
niversité Chalm
ersperturbations E
M ➠
TU
Vienne
broches ➠ M
ESSA
LIN
E, Scorpion,
DE
FOR
, RIFL
E, A
FIT,...
système ➠
DE
PEN
D, R
EA
CT
, ...niveau R
TL
➠ A
SPHA
LT
, ...porte logique ➠
Zycad, T
echnost, ...circuit ➠
FOC
US, ...
...large spectre ➠ M
EFIST
O,
VE
RIFY
(VH
DL
)
Les tech
niq
ues d
’injectio
n d
e fautes
B-40
Prévisio
n d
es fautes
•T
echn
iqu
es classiqu
es: AM
DE
(C) – A
nalyse d
es Mo
des d
eD
éfaillance et leu
r Effet (et d
e leur C
riticité)—
Analyse pour chaque com
posant de l’effet des erreurs
—Identification des m
odes de défaillance—
Conséquence des défaillance au niveau systèm
e•
Prin
cipe
—É
tudier la structure du fonctionnelle du système
—A
u plus tôt dans le processus de développement (représentation
abstraite )—
Pour chaque com
posant:»
Causes possibles de d
éfaillance
»E
ffet sur le composant lui-m
ême et les canaux de propagation
»Identification des m
oyens de détection
»A
ctions correctrice ( en particulier si les conséquences sont catastrophiques)
—A
vantages: Identifier et modifier des lacunes conceptuelles
—Inconvénients: m
ultiplicité? Exhaustivité? C
omplexité?
B-41
Prévisio
n d
es fautes
•A
MD
EC
app
liqu
é au lo
giciel (A
EE
L: A
nalyse d
es Effets d
e Erreu
rsd
u L
og
iciel)—
Bâtie sur la spécification et la conception prélim
inaire
—Intérêts:
»G
uide pour la stratégies de détection et de tolérance aux fautes
»O
rientation des tests sur certains modules ou m
odes de défaillance
»C
ompréhension en exploitation de l’origine d’une défaillance
•N
otio
n d
’arbre d
e fautes
—R
echerche des combinaison possible d’événem
ents conduisant àun événem
ent indésirable, tel qu’un défaillance catastrophique—
Com
binaison des événements par des opérateurs logiques
—Intérêt: Identification des com
posants critiques sur lesquels detechniques de tolérance aux fautes du logiciel sont nécessaires
B-42
Exem
ple
X
YZO
U
ET
X
YZ
•S
oit le systèm
e S, fo
rmé d
es com
po
sants X
, Y et Z
selon
un
schém
a d’in
tercon
nexio
n (in
terdép
end
ance)
•S
défaille si:
—X
défailleO
U—
Y E
T Z
défaillent
•D
eux rep
résentatio
ns éq
uivalen
tes
B-43
Evalu
ation
de la S
dF
Distrib
utio
ns en
fon
ction
du
temp
s, temp
s mo
yens,...
•R
eliability (fiab
ilité) ➡ co
ntin
uité d
u service (sonde spatiale,...)
—M
TF
F ➡
temps m
oyen avant la 1ère défaillance,...
•A
vailability (d
ispo
nib
ilité) ➡ p
aré à assurer le service
•S
afety (sécurité-in
no
cuité) ➡
no
n o
ccurren
ce de d
éfaillances
catastrop
hiq
ues (transport,...)
Service
correct
Service
inco
rrect
Défaillan
ce
Restau
ration
Service
correct
Service
inco
rrect(benign)
Défaillan
ce bén
ign
e
Restau
ration
Service
inco
rrect(catastr.)
Défaillan
ce catastrop
hiq
ue
B-44
Su
r les types d
e mo
dèles
•D
iagram
mes d
e fiabilité A
rbres d
e fautes
•C
haîn
es Marko
v con
t. Rés. P
etri Sto
chastiq
ues g
énéralisé
λ = taux d
e défaillan
ce =
1/ temp
s mo
yen en
tre défaillan
ce
µ = taux d
e restauratio
n
= 1/ tem
ps m
oyen
de rép
aration
XYZ
OU
ET X
YZ
21
0µ
µ 2 λλ
M[P
1]*λ
P1
P2
µ
B-45
Intro
du
ction
aux m
esures d
e base
•F
iabilité (R
eliability):—
Mesure de la délivrance continue d’un service correct, donc du
temps jusqu’à défaillance
•D
ispo
nib
ilité (Availability):
—M
esure de la délivrance d’un service correct par rapport àl’alternance « service correct – service incorrect », donc de lasuccession des défaillances et des restaurations
•D
es exemp
les de sym
bo
les—
MT
FF
: Mean T
ime to F
irst Failure, M
TT
F: M
ean Tim
e To F
ailure—
MT
BF
: Mean T
ime B
etween F
ailures
—M
TT
R : M
ean Tim
e to Repair
•D
es estimateu
rs statistiqu
es (mo
yenn
es arithm
étiqu
es)—
N(0): nb de systèm
es de l’échantillon
—N
(t): nb de systèmes non défaillants à l’instant t
—N
1 (t): nb de systèmes n’ayant pas défaillis depuis l’instant initial
B-46
Mesu
res / estimateu
rs statistiqu
es•
Fiab
ilité (Reliability):
R(t) =
probabilité{S non d
éfaillant sur [0,t]}F
onction non croissante sur [0, ∞[
Estim
ateur statistique de R(t) =
N1 (t)/ N
(0)
•D
ispo
nib
ilité (Availability):
A(t) =
probabilité{S non d
éfaillant à l’instant t}La disponibilité concerne les systèm
es réparables
Estim
ateur statistique de R(t) =
N(t)/ N
(0)
•M
ainten
abilité (M
aintainability)
M(t) =
1- probabilité {S non réparé sur [0,t]}
Sachant qu’il est défaillant à l’instant t=
0
•C
alcul d
es MT
TF
et MT
TRMT
TF
= ∫0 ∞
R(t) dt
MT
TR
= ∫0 ∞ M
(t) dt
Nb
de systèm
es n’ayan
tp
as défaillis d
epu
is t0
Nb
total
de systèm
es
Nb
de systèm
es no
nd
éfaillants à l’in
stant t
Nb
total
de systèm
es
B-47
Fiab
ilité•
Le tau
x de d
éfaillance d
’un
système à l’in
stant t est d
éfini p
ar:
Λ(t)=
lim∆
t➝0 P
robabilité { }
La connaissance de la fonction Λ(t) est équivalente à celle de R
(t)
par :R
(t)= exp
∫0 t Λ(u) du
En considérant que Λ
(t) se réduit à une constante notée λalors :
R(t)=
e-λt
•A
llure typ
iqu
e de la fiab
ilité (stabilisée)
Prob {k+
1ièm
edef.<u}=
Prob {k
ièmedef.<
u}
Le systèm
e tombe en panne entre t et t+∆
tS
achant qu’il n
’y a pas eu de défailance sur [0,t]
10
R(u
)
u
du
plex
simp
lex
TM
R
t1t2
t3
B-48
Fiab
ilité•
Le tau
x de d
éfaillance d
’un
système à l’in
stant t est d
éfini p
ar:
Λ(t)=
lim∆
t➝0 P
robabilité { }
La connaissance de la fonction Λ(t) est équivalente à celle de R
(t)
par :R
(t)= exp
∫0 t Λ(u) du
En considérant que Λ
(t) se réduit à une constante notée λalors :
R(t)=
e-λt
•A
llure typ
iqu
e de la fiab
ilité (stabilisée)
Le systèm
e tombe en panne entre t et t+ ∆
tS
achant qu’il n
’y a pas eu de défailance sur [0,t]
10
R(u
)
u
du
plex
simp
lex
TM
R
t1t2
t3
21
2 λλ
1λ
du
plex
simp
lex
TM
R
MT
FF
5/6λ
3/2λ
λ
32
3 λ2 λ
B-49
No
tion
de co
uvertu
re•
Efficacité d
e la toléran
ce et fautes
Notion de couverture C
= P
rob
{traitemen
t correct | erreu
r}
Sach
ant q
u’il y a eu
un
e erreur, q
uelle est la p
rob
abilité d
’ob
tenir u
ntraitem
ent co
rrect?
Su
pp
oso
ns q
u’il y ait 10 erreu
rs dan
s un
système p
arfaitemen
to
bservab
le, ou
bien
qu
e l’on
ait injecté 10 fau
tes qu
i on
t été activéeset o
nt co
nd
uit à 10 erreu
rs:
• si on
détecte 10/10 alo
rs
C=
1 (100% d
e résultats co
rrects)
• si on
détecte 9/10 alo
rs
C=
0.9 (90% d
e résultas co
rrects)
Qu
elle est l’influ
ence d
e C (la cap
acité de d
étecter des erreu
rs) sur la
fiabilité d
’un
système d
up
lex?
2 λλ
12
3µ
Ch
aîne d
e Marko
v
Détectio
n p
arfaite
B-50
Cas d
’un
système d
up
lex•
Efficacité d
e la toléran
ce et fautes
Notion de couverture C
= P
rob
{traitemen
t correct | erreu
r}
2 c λλ
2 (1-c) λ
12
3µ
xS
2
S1
Systèm
e « du
plex »
Ch
aîne d
e Marko
v
210-4
10-3
10-2
c = .95
c = .9
c = .99
c = .995
c = .999
c = 1
101
10 10 104
1
3M
TT
F Syst.
MT
TF C
om
p.
λµM
TT
R
MT
TF
Co
mp
.=
Co
mp
.
$ S
i C est proche de 1 alors la fiabilité du systèm
e duplex/simplex est
bonne ➠ M
TT
F(S
ystème) ≈ 1000*M
TT
F(C
om
po
sant) si µ >> λ.
$ S
i C est proche de 0.9 alors la fiabilité du systèm
e duplex…..!!!!!!!
1/λ est grand (e.g. des mois) devant
1/µ (1 heure), donc λ/µ est petit
B-51
Cas d
’un
système T
MR—
4 CT,1 λ
N
12
3
4
µµ 2 λ
4 λ +H
4 C
T λ N
3 λ +H
3 CT
λ N
4 ( C —T,2 +
C —T,3 ) λ N
N3 C —
T λ
N
Mo
dèle
NA
CN
AC
NA
CN
AC
"en réserve"
Anneau à jeton
Hôte
Hôte
Hôte
Hôte
Arch
itecture
MT
FF
réseauM
TF
F statio
n
10 10 10
λ/µ
+1 +2
+310-4
10-3
10-2
NA
C V
2
NA
C V
1
NA
C V
3
NA
C D
up
lex - V4
La d
étection
-extraction
esteffectu
ée par les N
AC
avecu
ne co
uvertu
re imp
arfaite
Facteu
rs de co
uvertu
rem
esurés exp
érimen
talemen
tsu
r le système p
ar des
techn
iqu
es d’in
jection
de
fautes
Mo
délisatio
nE
xpérien
ce
B-52
La su
ite•
Arch
itecture d
es systèmes to
lérant au
x fautes
—T
echniques de base
—S
olutions architecturales—
Exem
ples de systèmes
•C
aractérisation
de la sû
reté de fo
nctio
nn
emen
t des systèm
es—
Techniques de base
—O
utillages
—E
xemple de résultats expérim
entaux
C-1
Tech
niq
ues d
e toléran
ce aux
fautes
Hyp
oth
èses de fau
tes,tech
niq
ues d
e base et stratég
ies de rép
lication
etso
lutio
ns arch
itecturales
C-2
La to
lérance au
x fautes
•D
eux n
otio
ns essen
tielles—
Le traitemen
t d’erreu
r: éliminer l’erreur avant défaillance
—Le traitem
ent d
e faute: éviter la ré-activation des fautes
Faute
Erreur
Défaillance
Traitem
ent d’erreur
Latence de faute
Latenced’erreur
Traitem
ent d
’erreur + traitem
ent d
e faute = to
lérance au
x fautes
{détection
recouvrement
Rappel
C-3
Traitem
ent d
’erreur
•D
étection
,—
Identification d’un état erroné dans le système
•D
iagn
ostic,
—A
nalyse permettant de déterm
iner les causes et les domm
agescausés par l’erreur
•R
ecou
vremen
t»
Recouvrem
ent arrière:
-R
amener le systèm
e dans un état antérieur exempt de faute, obtenu
avant l’occurrence de l’erreur (notion de points de reprise)
»R
ecouvrement avant:
-D
éterminer un nouvel état à partir duquel on sait que le systèm
e peutfonctionner (notion de m
ode dégradé)
•C
om
pen
sation
:—
Disposer de suffisam
ment de redondance en dépit de l’état erroné
pour le transformer en un état exem
pt d’erreur (techniques dem
asquage de faute, par vote majoritaire, par exem
ple)
Rappel
C-4
Hyp
oth
èses de fau
tes•
Fau
tes acciden
telles—
Fautes physiques et leur effets»
Silence sur d
éfaillance: toute faute d’un com
posant conduit à un arrêtsur d
éfaillance (silence), c’est-à-dire sans propagation d’inform
ationerron
ée à l’extérieur du composant (valeurs en retour, m
essages émis,
actions sur l’environnement)
»E
rreur en valeur: une valeur de sortie peut être corrompue
—F
autes du logiciel»
Fautes de d
éveloppement (conception ou codage) d
’un composant
»F
autes liés au support d’exécution d’un com
posant au niveau de lagestion de ressource
•F
autes in
tentio
nn
elles (malveillantes)
—T
entatives d’attaque: écoute passive, corruption d’information, sur
les données échangés par deux composants (en particulier
répartis)—
Mécanism
es de cryptographie et de tolérance aux intrusions
C-5
Stratég
ie de to
lérance au
x fautes
•M
écanism
es po
ur la to
lérance au
x fautes p
hysiq
ues
»M
1: disques miroir
»M
2: réplication passive
»M
3: réplication semi-active
»M
4: réplication active
client
serveur
requêteréponse
requêteréponse
requêteréponse
requêteréponses
point dereprise
copierequête
M1
M2
M3
M4
C-6
Disq
ues m
iroir
•P
rincip
es—
les processus d’application effectuent le traitement des requêtes de leur
clients et sauvegardent l’état courant de leur calcul (points de reprise)sur des disques m
iroir :»
les points de reprise sont écrits sur les deux disques simultan
ément
»lors de la rem
ise en service, le processus relit son contexte sur disque
client
serveur
requêteréponse
client
serveur
Crash
client
serveur
lecture
po
int d
e reprise
C-7
Disq
ues m
iroir
•C
om
men
taires—
Une seule unité de traitem
ent est utilisée»
la réparation doit intervenir avant la remise en service, c’est-à-dire le
redémarrage d’un service op
érationnel. Il y a donc interruption de servicependant la durée de réparation
—D
ifférentes unités ont accès au support de mém
oire stable»
redémarrage d’un service op
érationnel avant terminaison de la réparation
client
serveur
requêteréponse
client
serveur
Crash
client
serveur
lecture
po
int d
e reprise
C-8
Rép
lication
passive
•P
rincip
es—
Chaque processus
d’application (primaire)
possède un processusde secours (secondaire) sur unsite distinct de celui duprim
aire.—
Le processus primaire effectue
le traitement des requêtes de
ses clients et transmet
périodiquement une im
age deson état au secondaire.
—Le secondaire m
et à jour sonétat (contenu de ses variables)sur réception des points dereprise.
—S
eul le primaire retourne une
réponse au client.
requêteréponse
point dereprise
client
serveur
requêteréponse
Crash
Prim
ary……
……
……
…B
ackup
C-9
Rép
lication
passive
•C
om
men
taires—
L’hypothèse de base est quetoute réponse à une requêteest correcte.
—N
otion de silence surdéfaillance ➠
composant
autotestable + couverture de
détection de 100%
—U
n point de reprise implique la
capture d’un état complet pour
la reprise après basculement
(processus + exécutif)
—La détection correspond à unesurveillance m
utuelle—
La durée d’interruption deservice est due à larestauration d’un service actif
requêteréponse
point dereprise
client
serveur
requêteréponse
Crash
Prim
ary……
……
……
…B
ackup
C-10
Rép
lication
semi-active
•P
rincip
e—
Chaque processus
d’application (primaire)
possède un processus desecours (secondaire) sur unsite distinct de celui duprim
aire.—
Le processus primaire effectue
le traitement des requêtes de
ses clients et transmet au
secondaire la requête qu’ilvient de traiter.
—Le secondaire traite à son tourla requête pour m
ettre à jourson état.
—S
eul le primaire retourne une
réponse au client.
requêteréponse
copierequête
client
serveur requête
réponse
Crash
Leader……
……
……
…F
ollower
C-11
Rép
lication
semi-active
•C
om
men
taires—
L’hypothèse de base est quetoute réponse à une requêteest correcte.
—N
otion de silence surdéfaillance ➠
composant
autotestable + couverture de
détection de 100%
—Il n’y a pas de point de reprise:l’état est reconstruit par letraitem
ent de la requête
—La détection correspond à unesurveillance m
utuelle
—La durée d’interruption deservice est due à au seulchangem
ent de mode
requêteréponse
copierequête
client
serveur requête
réponse
Crash
Leader……
……
……
…F
ollower
C-12
Rép
lication
et vote m
ajoritaire
•P
rincip
e—
Chaque processus d’application est répliqué en trois exem
plairessur des sites distincts.
—Les trois répliques reçoivent des requêtes au travers d’un systèm
ede com
munication de groupe et effectuent le traitem
entcorrespondant.
—C
haque réplique transmets une réponse au client qui effectue
un vote majoritaire :
»la d
éfaillance d’un processus est d
étectéepar l’absence de réponse
»une erreur de valeur sur l’une desréponses est d
étectée par vote majoritaire
client
serveur requête
réponses
C-13
Rép
lication
et vote m
ajoritaire
•C
om
men
taires—
La diffusion des requêtes d’entrée:»
Toutes les requ
êtes, quelle que soit leur source, doivent être reçues
dans le mêm
e ordre»
Une copie de chaque requête est re
çue par toutes les répliques ouaucune n
’en reçoit de copie»
Notion de diffusion de groupe atom
ique
—Les copies doivent être déterm
inistes»
Les mêm
es entrées produisent les mêm
es sorties
—La décision:
»R
épliques identiques: vote bit-à-bit»
Répliques sim
ilaires: algorithme de d
écision
client
serveur requête
réponsesC-14
Syn
thèse (1)
StratégiesH
ypothèse en
présence de
faute
Fautetolérée
Déterm
inisme
des répliquesC
oût en
Ressources
Coût
enC
omm
unicationC
oût lors
duR
ecouvrement
Passive
Silence sur
défaillanceC
rashN
on1 serveuractif
haut (checkpoints)M
oyen (re-
exécution)
Semi-active
Silence sur
défaillanceC
rashN
on2 serveursactifs
bas (notifications)bas (sw
itch)
Active
Défaillance
arbitraireV
aleurO
ui3 serveursactifs
moyen
(duplicationm
essages)
Nul
Rép
licatio
np
assiv
eE
ntités
Actio
nM
otiv
ation
Mo
yens
Co
mm
unic
atio
nR
equ
êtes/répo
nses
Em
ission
/réceptio
nS
yn
chro
nisatio
n en
tre répliq
ues.
Interc
eptio
n
Exéc
utio
nP
oin
tsd
’inte
rrup
tion
asynch
ron
e du
flot
de co
ntrô
le
activatio
n
/co
ntin
uatio
n
/te
rmin
aison
Captu
re /
restau
ration
du
contrô
le lo
rs du
traitemen
t des
requ
êtes
dans
des
com
po
sants
concu
rrents.
Interc
eptio
nIn
strum
entatio
nd
e la
plate-
form
e
Eta
tD
on
née
s in
ternes,
état pla
te-form
eM
ise-à-jou
r de
don
nées
intern
es,in
teractio
ns
avec
la
plate
-form
e exéc
utiv
elo
cale
Restau
ration coh
érente
de
l’étatp
ou
r u
n
reco
uvrem
ent
transp
arent
aux
co
mp
osan
tsap
plicatifs clien
ts.
Imag
e mém
oire
Sérialisatio
nIn
teractio
ns
Jou
rnau
x
C-15
Syn
thèse (2)
Réplication
semi-active
Entités
Action
Motivation
Moyens
Com
munication
idem passive
idem passive
Contrôle des notifications
idempassive
Exécution
idem passive +
points dedécision
non-déterm
inistes
idem passive + points de
décision non-
déterministes
Décisions non-déterm
inistesidempassive
Etat
idem passive
idem passive
Contrôle
des interactions
avec la
plate-forme
produisant des résultats non-déterm
inistes
idempassive
Réplication
Active
(TM
R)
Entités
Action
Motivation
Moyens
Com
munication
idem passive
validation & propagation des réponses
idem passive
Exécution
Pas nécessaire (déterm
inisme im
posé de l’exécution des répliques)
Etat
Pas nécessaire (si clonage à chaud non considéré)
C-16
No
tion
de co
mp
osan
t auto
testable
•D
éfinitio
n—
L’ajout de capacités de détection d’erreur à un composant conduit
à la notion de composant autotestable (self-cheking com
ponent)
—C
ette notion peut s’appliquer à des composants logiciels et
matériels
•C
om
men
taires—
Avantage: lim
itation de la propagation d’erreur ➠ zone de
confinement (error confinem
ent area)
—C
omposant autotestable +
couverture 100% ➠
composant à silence
sur défaillance (fail silent component).
—A
pproche récursive: contrôleur = com
posant autotestable
functioninputs
outputs
controllererrors
C-17
Reco
uvrem
ent « arrière »
•P
rincip
e—
Ram
ener le système dans un état précédem
ment occupé par le
calcul avant l’occurrence de l’erreur
—C
et état est suffisamm
ent complet pour redém
arrer l’exécution et aété préalablem
ent sauvé (disques miroir ou backup)
•P
rob
lèmes co
ncep
tuel:
—E
tablissement des points de reprise recovery points
»E
tat: interne, messages non traités, contexte de l’exécutif, etc.
»Q
uand? Périodique ou ap
ériodiques?
—La définition des instants ou ces points de reprise sont établisdépend de l’interaction des processus entr’eux.
C-18
Le p
rob
lème d
e l’effet do
min
o•
Pro
cessus co
ncu
rrents co
mm
un
icants
—dom
ino effect
P1
P2
P3
crash de P2
P1
P2
P3
??
? m2
m1
m4
m3
m2
m1
m4
m3
Rem
arqu
e: les interactions sont représentées ici par des messages,
Mais pourraient être de toute autre nature (e.g. partage de m
émoire)
?
Mais, o
ù est d
on
c ce m
essage…
q
ui n
e vient jam
ais?
C-19
Le p
rob
lème d
e l’effet do
min
o•
Pro
cessus co
ncu
rrents co
mm
un
icants
—S
i un IPC
coupe une ligne de recouvrement, alors « effet dom
ino »
P1
P2
P3
crash de P2
m2
m1
m4
m3
•N
otio
n d
e con
versation
—D
éfinir a priori un découpage des processus pour éviter leproblèm
e
—S
ynchroniser la prise d’état sur ce principe Ligne de recouvrement
P1
P2
P3
m2
m1
m4
m3
C-20
Le p
rob
lème d
e l’effet do
min
o•
Pro
cessus co
ncu
rrents co
mm
un
icants
—S
i un IPC
coupe une ligne de recouvrement, alors « effet dom
ino »
P1
P2
P3
crash de P2
m2
m1
m4
m3
•S
ynch
ron
isation
« po
int d
e reprise » / « récep
tion
messag
e »
Ligne de recouvrement
P1
P2
P3
m2
m1
m4
m3
?
Hip
s!…
J’ai le messag
e!
C-21
Co
mb
inaiso
n d
e techn
iqu
es•
Reco
uvrem
ent « arrière » p
uis « avan
t »—
Le recouvrement « arrière » est la prem
ière tentative de traitement
de l’erreur
—S
i l’erreur persiste, alors, une action de recouvrement « avant »
peut être entreprise en définissant un état des processus cohérent.C
et état est souvent dépendant de l’application.
•A
spect tem
po
rel—
Lors d’un recouvrement, la surcharge tem
porelle (et donc le temps
de réponse) est plus important quand il y a erreur que quand il n’y
en a pas.—
Dans le cas du recouvrem
ent « arrière » la surcharge temporelle en
l’absence de faute correspond à l’établissement des points de
reprise.—
Dans le cas de la com
pensation, la surcharge temporelle
correspond aux algorithmes de décision, le tem
ps de réponserestant à peu près constant.
C-22
No
tion
de p
roto
coles d
e gro
up
e•
Basic p
roto
cols
—G
roupes (groups):»
une adresse correspond à un ensemble de destinataires
—A
ppartenance (mem
bership):»
liste des mem
bres du groupe
»notion de vues (view
s, view-change
)
—D
iffusion (broadcast): send (M, G
)
—C
onsensus (Consensus): vision uniform
e d’une information
•P
rop
riétés
• Un
anim
ité: tout M
reçu par un R correct est reçu par tous les R
corrects• N
on
-trivialité: tout M
délivré a été émis par un processus correct
• Accessib
ilité: tout M
délivré à un processus correct est accessible• D
élivrance:
tout M est délivré tant que S
non-défaillant ou R non-accessible
• Ord
re: tous les M
sont délivrés à tous les mem
bres correct de G dans le
mêm
e ordre
G
γ αβ
C-23
No
tion
d’o
rdre
•C
ausal
•T
otal
M1
M2 S
R1
R2
R3
M2
R1
R2
R3
M1
M3 S
1S
2
Num
éro de séquence géré à l’émission
3637S
,36
S,37
C-24
Imp
lémen
tation
Niveau délivrance
Niveau réception
R1
R2
R3
M2
M1
M3 S
1S
2
M1
M2
M3
M1
M2
M3
M1
M2
M3
(1,2,3)(1,2,3)
(1,2,3)o
rdre
causal
M1
M2
M3
M1
M2
M3
M1
M2
M3
Niveau
Ap
plicatio
n
Niveau
OS
Niveau
Réseau
•O
rdre to
tal
C-25
Imp
lémen
tation
Niveau délivrance
Niveau réception
R1
R2
R3
M1
M2
M3
M1
M2
M3
M1
M2
M3
(1,2,3)(1,2,3)
(1,2,3)o
rdre
causal
M1
M2
M3
M1
M2
M3
M1
M2
M3
•O
rdre to
tal: Co
mm
entaires
—Il faut assurer unecom
munication fiable sur des
liaisons bi-point entre le leader
et les mem
bres du groupe
—Le lead
er ne doit pas êtrebyzantin, c’est-à-dire envoyerdes inform
ations non-uniformes
aux mem
bres du groupe
➠ silence sur défaillance
—M
ême en cas de défaillance du
leader, tous les mem
bres dugroupe doivent décider lam
ême valeur (vecteur)
➠ notion de consensus
—La perte du leader im
posel’élection d’un nouveau leader
C-26
Imp
lémen
tation
Niveau délivrance
Niveau réception
R1
R2
R3
M1
M2
M3
M1
M2
M3
M1
M2
M3
(1,2,3)(1,2,3)
(1,2,3)o
rdre
causal
M1
M2
M3
M1
M2
M3
M1
M2
M3
•O
rdre to
tal: Co
mm
entaires
—Il faut assurer unecom
munication fiable sur des
liaisons bi-point entre le leader
et les mem
bres du groupe
—Le lead
er ne doit pas êtrebyzantin, c’est-à-dire envoyerdes inform
ations non-uniformes
aux mem
bres du groupe
➠ silence sur défaillance
—M
ême en cas de défaillance du
leader, tous les mem
bres dugroupe doivent décider lam
ême valeur (vecteur)
➠ notion de consensus
—La perte du leader im
posel’élection d’un nouveau leader
Utilisation de protocoles avec contrôle
d’erreur et garantie de séquencement (type T
CP
)
Com
posant logiciel/matériel de gestion
Des m
essages doit être autotestable
1) Détection de la d
éfaillance du leader2) P
rotocole à deux phases: 2.1) transm
ission M +
ack des mem
bres 2.2) confirm
ation/abort
1) Statique: séquence pré-déterm
inée
2) Dynam
ique: chaque mem
bre vivant génère une
Valeur aléatoire α
i que l’on range par ordre croissant. La valeur la plus grande déterm
ine le leader.
C-27
Hyp
oth
èses: Syn
chro
ne v.s. A
synch
ron
e
•H
ypo
thèse syn
chro
ne:
—T
out message ém
is par un processus correct vers une destinationcorrecte est 1) reçu
et 2) traité dans un intervalle de temps connu.
—P
our du temps-réel dur il faut déterm
iner»
WC
ET
(Worst C
ase Execution T
ime
) des tâches
»Les bornes sup
érieures de transmission de m
essage,
»La fréquence m
aximale des d
éfaillances
—M
asquage des fautes transitoires: redondance temporelle -
répétition systématique.
Hyp
oth
èse asynch
ron
e:—
Pas de borne sup ➱
impossibility result (F
isher, Lynch & P
aterson):“In
distrib
uted
asynch
ron
ou
s systems
, it is im
po
ssible to
detect a
failed p
rocess fro
m a
very slow
pro
cess”.
—E
n pratique»
On se ram
ène à borner les temps de transm
ission de message
»D
éfinition de ∆T
avec une certaine couverture
C-28
Qu
elqu
es exemp
les
C-29
So
lutio
ns à m
icron
oyau
temp
s-réel•
Micro
no
yau tem
ps-réel
—S
ervices OS
de base (synchronisation, gestion mém
oire,ordonnancem
ent, comm
unication,etc.)
—N
ouvelle tendance: “Open” m
icrokernels ➠ spécialisation
•O
bjet m
od
el—
objets interagissant par messages
—objets com
posés de thread
s de control concurrents—
objets encapsulant un état
•E
xemp
le: Ch
oru
s—
Concepts de base:»
actors : objets actifs m
ulti-theraded
»p
orts : boites à m
essage
—Le noyau peut être spécialisé
—N
otion de personnalité, UN
IX par exem
ple
C-30
Micro
kernel tech
no
log
y
IPC
(messages / ports)
Real-T
ime
executiveM
emory
managem
ent
IT, traps, M
MU
...m
icro-core executive (machine dependent)
Multi-threaded
active objects
port
message S
ubsystem
C-31
Un
exemp
le simp
le de rép
lication
•T
hread
s et des p
orts
—S
ynchronization: gestion de la synchronisation (semi-actif)
—H
andle_State: gestion des m
essages de points de reprise(passif)—
Recovery: m
ise-à-jour état, changement m
ode, re-nomm
age ports,clonage
•F
on
ction
s:—
Save_S
tate, Send_C
heckpoint, Send_N
otification, Clone_R
eplica
p1p2p2
Site 2
Site 1
Site 3
Object crash
checkpointing
C-32
PB
RS
ite 1S
ite 2
p = service port
pp = prim
ary portbp =
backup portrp =
recovery portT
= service thread
H =
Handling_S
tate threadR
= R
ecovery thread
H
R
T
state
detection
p
ipcReceive
p
ipcReply
request
reply
TS
aveState
ppbprp
Send_C
heckpoint
« Perio
dic I’am
alive m
essages
»
C-33
Syn
thèse
•S
aveState
—S
auvegarde de l’état interne de l’objet
•S
end
_Ch
eckpo
int
—P
ropagation de l’état interne au backup
•T
hread
H—
Mise-à-jour de l’état interne de l’objet à l’aide de l’inform
ationcontenue dans le point de reprise
•T
hread
R—
Activation par le signal de détection : “prim
ary crash”.—
Restauration port de service et clonage nouvelle réplique
—T
raitement des requêtes:
»Lorsque un protocole de groupe n
’est pas utilisé, il peut y avoir perte dem
essages donc un protocole de bout-en-bout est nécessaire
C-34
So
lutio
ns à in
tergiciel (M
idd
leware)
•L
es app
roch
es—
Par interception d’appels systèm
e (system calls)
»fork/exec : création de copie m
ultiples
»send
/receive(socket): m
ulticast de messages à un groupe
»open/read/w
rite(file) : gestion de copies m
ultiple copies
—Intergiciel à objet
»creation
/init : création de copie multiples d
’objets
»m
ethod call : multicast des requ
êtes d’invocation
»state
access : l’état doit comprendre id
éalement
-Les variables internes
-Les donn
ées de niveau intergiciel
-Les donn
ées de niveau noyau de système
•P
rop
erties—
Transparence et séparation entre application et m
écanismes
—Q
uelques difficultés de ré-utilisation et de spécialisation
C-35
Le p
rojet D
EL
TA
-4 (Esp
rit #2252)D
efinitio
n an
d D
esign
of an
op
en D
epen
dab
le Distrib
uted
architectu
re
« L'objectif com
mercial de ce projet est de créer une capacité européenne de
produire des systèmes inform
atiques tolérant les fautes qui soient compétitifs
au niveau mondial pour leur coût, leur sûreté de fonctionnem
ent et leursperform
ances. Les applications visées sont celles des systèm
es d'information à
large échelle, y compris ceux qui ont des exigences tem
ps-réel : productique,banques, centrales électriques, contrôle de trafic aérien, systèm
es d'aide aucom
mandem
ent militaires, etc. »P
artenaires
Ferran
ti CS
L, U
KB
ull S
A, F
CA
, FIF
hG
-IITB
, GIE
I-CN
R, I
INE
SC
, P
LA
AS
-CN
RS
, FL
GI-IM
AG
,FM
AR
I Ad
. Electo
nics, U
KN
CS
R-A
EA
, UK
Ren
ault, F
SE
MA
Gro
up
, FU
niv. N
ewcastle, U
K
C-36
DE
LT
A-4
•O
bjectifs: T
oléran
ce aux fau
tes distrib
uée fo
r “$-critical” systems
•A
rchitectu
re à base d
e—
Stations de travail C
OT
S (C
omm
ercial Off-T
he-Shelf) sous U
NIX
—C
ontrôleur d’accès au réseau spécifique (Netw
ork Attachem
entC
ontroller)
•S
tratégies rép
lication
: passive, sem
i-active, active (s)
•A
pp
roch
e Mid
dlew
are—
modèle objet, an ID
L (Interface Definition Language) +
services—
CO
RB
A-like
•E
fforts d
e validatio
n sig
nificatifs p
ar injectio
n d
e faute
C-37
Arch
itecture ➠
T-à-F
HostN
AC
HostN
AC
HostN
AC
HostN
AC
HostN
AC
Local Area N
etwork
off-the-shelf processeurs + U
nix
« Netw
ork A
ttachm
ent C
on
troller » à silen
ce sur
défaillan
ce
• Autotests logiciels
•P
rotection mém
oire
•D
uplication-comparaison
LAN
standard
• 802.4 token bus
•802.5 token ring
Unités de réplication ➙
objets
C-38
Pro
toco
les•
Ato
mic M
ulticast P
roto
col (A
MP
)—
implém
enté niveau 2 (au dessus du MA
C)
—data fram
es envoyées à des portes logiques identifiant les groupes—
Assurance de l’unanim
ité, ordre et appartenance—
Protocole d’acceptation à deux phases
—D
étection par timeout
—R
épétition pour tolérer un nombre fini de fautes d’om
ission
•In
ter-replica P
roto
col (IR
P)
—S
erveurs répliqués transparents aux clients (transparent multicast)
—R
éplication à la source (clients) caché aux destinations»
arbitration entre événements ém
is ➱ m
essage unique
»com
paraison de signature ➱ d
étection et compensation
C-39
Traitem
ent d
’erreur
Rép
lication
Active
•T
raitement déterm
iniste des messages
•S
ilence sur défaillance — l’un quelconque des m
essages
•D
éfaillance incontrôlée — détection d’erreur et com
pensation (IRp)
Rép
lication
Passive
•U
n primaire et plusieurs backups
•C
heckpointing systématique lors de l’ém
ission d’un message du prim
aire
•N
écessite le silence sur défaillance mais pas le déterm
inisme
•M
ulticast atomique des m
essages et des points de reprise
Rép
lication
Sem
i-active•
Un leader et plusieurs follow
ers - le leader produit les messages
•N
on-déterminism
e résolu par des notifications leader-to-follower
•E
xtension à l’hypothèse de défaillance incontrôlée (comparaison-arrêt)
C-40
PB
R
grouprequest m
essage
message copies delivery
to all correct mem
bers
checkpointmessages
updating theobject state
PR
IMA
RY
BA
CK
UP
(S)
reply message
active m
ode
passive m
ode
À toutes les répliques: A
MP
Au client et à toutes les répliques: A
MP
CK
P
CK
P
CK
PO
/P m
sg
O/P
msg
O/P
msg
I/P m
sg
C-41
LF
Rsynchronisation messages
LE
AD
ER
FO
LL
OW
ER
(S)
grouprequest m
essage
message copies delivery
to all correct mem
bers
updating theobject state
reply message
active m
ode
passive m
ode
Notification à toutes les répliques: A
MP
Au client et à toutes les répliques: A
MP
O/P
msg
I/P m
sg
C-42
TM
R
•P
rop
agate-b
efore-valid
ate—
Toutes les copies traitent les
messages d’entrée et produisent
un message de résultat
—Le vote à lieu à la destination
•V
alidate-b
efore -p
rop
agate
—T
outes les copies traitent lesm
essages d’entrée et produisentun m
essage de résultat—
Validation entre les serveurs»
Échange de signatures
électroniques
»N
otion de leader qui vote sur lessignatures sur le N
AC
»E
mission d
’un seul message au
client
grouprequest m
essage
reply messages
M1
M2
M3
Fail-silen
t NA
C
S2
S3
M1
Si S
ig(M
1 )= S
2 ou
S3 alo
rs sen
d (M
1 )S
ino
n g
et(M2 ) o
u lead
er(2) sen
d (M
2 )fin
si
C-43
Valid
ation
expérim
entale
!
Errors tolerated,
but not detected
Errors detected,
but not tolerated
Mean L
atency and dormancy
12%1%
Non significant
experiments
94%F
DT
85%99%
87 ms
1,8 s
Failu
re
6%3%
E
!?
Injection Physique
(Pin-L
evel fault injection) –M
ESSA
LIN
E–
1) “Stan
dard
” [au
totest lo
giciel]
2) Du
plex A
rch.
[du
plicatio
n/co
mp
araison
]
0%
20%
40%
60%
80%10ms
100ms
1s10s
100s
NA
C"d
up
lex"
100%D
Pred
.T
Pred
.
NA
C S
td
Std
Duplex
D P
redicate:
Auto-extraction
de la station injectée
T P
redicate:
Protocole de réplication O
K(tolérance et confinem
ent d’erreur)
C-44
Leço
ns
•L
eçon
1—
Réplication active et connexion au m
onde réel
—V
ote sur senseurs ou pilotage par vote d’actuateurs—
I/O sur nœ
ud unique ➱ fail silence
—C
ouverture faible ➱ non disponibilité, etc.
•L
eçon
2—
autotest duplex et comparaison ➱
couverture de détection 96%—
Difficulté m
ajeure: low-level LA
N controller chips
•L
eçon
3—
implém
entation AM
P niveau 2 ➱
rapide
—im
plémentation A
MP
niveau 2 ➱ non distribution de D
elta-4.•
Leço
n 4
—D
émonstration en vrai grandeur S
oftware-im
plemented distributed F
T—
Problèm
e de performance / solutions m
atérielles
—Intérêt économ
ique et flexibilité de la solution
C-45
To
lérance au
x fautes d
u lo
giciel
•R
edo
nd
ance tem
po
relle—
Répétition de l’exécution pour tolérer les fautes tem
poraires dusupport d’exécution
—E
xemple: exception “no m
ore mem
ory buffers is available at the time
of the call”.
—D
eux types de répétition»
Répétition locale (fautes tem
poraires de ressources)
»R
épétition sur autre support d’exécution pour des fautes persistantes
Tim
e
node 1node 2
Executive support
Executive support
processingstep
recoverypoint
exception orerror status
checkpoints!
re-startexecution
!
C-46
Red
on
dan
ce temp
orelle
•D
étection
—m
écanismes de détection d’erreur internes au com
posant,conduisant à des exceptions
—assertions exécutables externes analysant la validité des résultatsproduits et de leur cohérence vis-à-vis des entrées et du contexteopérationnel.
•R
é-executio
n et to
lérance au
x fautes
—E
n fait, la ré-exécution s’effectue sous des conditionsopérationnelles différentes
—N
e tolère pas les fautes dures de conception•
Exem
ple
—C
ette approche à été développée par AT
&T
Labs sous la forme
d’une bibliothèque de fonctions libft et d’un processus systèm
eU
nix watch
d, et appliquée en particulier dans des systèm
es detélécom
.
C-47
To
lérance au
x fautes d
e con
ceptio
n
•R
ecovery b
locks [R
and
ell 1975]—
variantes sont appelées des « alternats »
—algorithm
e de décision ou « test d’acceptation » (acceptance test)est appliqué séquentiellem
ent aux résultats produits par lesalternats.
—S
i le test d’acceptation déclare que les résultats sont erronés, lesecond alternat est exécuté, ainsi de suite, jusqu’à épuisem
ent desalternats disponibles. D
ans ce cas extrême, le bloc de
recouvrement est déclaré défaillant.
A1
A2
A3
Test d’acceptation
OK
Non
OK
C-48
To
lérance au
x fautes d
e con
ceptio
n
•R
ecovery b
locks [R
and
ell 1975]—
variantes sont appelées des « alternats »
—algorithm
e de décision ou « test d’acceptation » (acceptance test)est appliqué séquentiellem
ent aux résultats produits par lesalternats.
—S
i le test d’acceptation déclare que les résultats sont erronés, lesecond alternat est exécuté, ainsi de suite, jusqu’à épuisem
ent desalternats disponibles. D
ans ce cas extrême, le bloc de
recouvrement est déclaré défaillant.
A1
A2
A3
Test d’acceptation
OK
Non
OK
C-49
To
lérance au
x fautes d
e con
ceptio
n
•R
ecovery b
locks [R
and
ell 1975]—
variantes sont appelées des « alternats »
—algorithm
e de décision ou « test d’acceptation » (acceptance test)est appliqué séquentiellem
ent aux résultats produits par lesalternats.
—S
i le test d’acceptation déclare que les résultats sont erronés, lesecond alternat est exécuté, ainsi de suite, jusqu’à épuisem
ent desalternats disponibles. D
ans ce cas extrême, le bloc de
recouvrement est déclaré défaillant.
A1
A2
A3
Test d’acceptation
OK
Non
OK
?D
éfaillance
C-50
To
lérance au
x fautes d
e con
ceptio
n
•N
-version
pro
gram
min
g [C
hen
& A
vizienis 1978]
—variantes sont dites des « versions »
—algorithm
e de décision = un vote sur les résultats produits par les
versions.—
Les algorithmes de décision effectuent, par exem
ple, des calculsde m
édiane en rejetant les valeurs aberrantes.
A1
A2
A3
Algorithm
e de décision
Valeur
C-51
To
lérance au
x fautes d
e con
ceptio
n
•N
-self-checkin
g p
rog
ramm
ing
[Lap
rie et al. 1990],»
au moins deux com
posants logiciels auto testables sont exécutés enparallèle, chaque com
posant étant construit,
»soit sous la form
e d’une variante et de son test d
’acceptation,
»soit de deux versions avec un test de com
paraison.
•R
emarq
ue
—D
ans ce second cas, une seule variante peut être écrite dans le but de fournir desré
sultats, l’autre effectuant la fonctions avec une précision plus faible, ou bien le calculinverse quand cela est possible, ou encore la vérification de résultats interm
édiaires dela variante principale (C
ertification P
ath Approach
[Sullivan &
Masson
1990]).
A1
A2
comparaison
Valeur O
K
A1
A2
comparaison
Valeur O
Ksélection
C-52
2 x EL
AC
EL
evator an
dA
ileron
Co
mp
uter
T
homson-C
SF
68000
3 x SE
CS
po
iler and
Elevato
r Co
mp
uter
S
FE
NA
/Aé
rospatiale
80186
2 x SF
CC
Slats an
d F
laps
Co
mp
uter
G
EC
Marconi
80C
88 / 68000
2 x FA
CF
ligh
tA
ug
men
tation
Co
mp
uter
S
FE
NA
8086
E/S
Pro
cesseur
Mém
oire
Alim
entatio
n
E/S
Mém
oire
Alim
entatio
n
28 V D
C
Co
mm
and
e
Su
rveillance
Pro
cesseur A
irbu
s 320
C-53
Ailero
ns
Plan
ho
rizon
tal
Go
uvern
es de
pro
fon
deu
r
SF
CC
1
SF
CC
2
Go
uvern
ed
e directio
n
Becs et
volets
FA
C1
FA
C2
Sp
oilers
SE
C1
SE
C2
SE
C3
EL
AC
1
EL
AC
2
Airb
us 320
C-54
Bo
eing
777•
Prim
ary Flig
ht C
om
pu
ter (PF
C)
du
système d
e com
man
de d
e vol
électriqu
e du
Bo
eing
777—
Ce systèm
e comporte trois P
FC
identiques dans uneconfiguration à vote m
ajoritaire.—
Un P
FC
est basée surl’utilisation de trois voiesutilisant des processeurs C
OT
Sdiversifiés (en l’occurrence, unA
MD
29050, un Motorola 68040
et un Intel 486).
—C
es trois processeursexécutent un m
ême program
me
applicatif»
écrit en Ada,
»com
pilé par trois com
pilateursA
da différents,
➠ program
mes exécutables et
des exécutifs (run
-times A
da)différents pour les 3 proc.
Pro
gram
me so
urce
So
rties
Éq
uip
e de
pro
gram
meu
rs
Exécu
table A
Exécu
tion
A
Co
mp
ilateur A
Pro
cesseur A
Exécu
tif A
Co
mp
araison
Erreu
r
Exécu
table B
Exécu
tion
B
Co
mp
ilateur B
Pro
cesseur B
Exécu
tif B
Co
mp
araison
Exécu
table C
Exécu
tion
C
Co
mp
ilateur C
Pro
cesseur C
Exécu
tif C
Erreu
r
Sp
écification
fon
ction
nelle
Ou
tils etrègles
C-55
Bo
eing
777•
Prim
ary Flig
ht C
om
pu
ter (PF
C)
du
système d
e com
man
de d
e vol
électriqu
e du
Bo
eing
777
•E
n fo
nctio
nn
emen
t no
rmal,
—l’une des voies du P
FC
joue lerôle de voie de com
mande (une
voie différente est choisie danschaque P
FC
),—
les deux autres étant des voiesde surveillance.
•E
n cas d
e désacco
rd,
—la voie fautive peut êtrelocalisée et
—inhibée du fait de la présencede deux voies de surveillance.
Pro
gram
me so
urce
So
rties
Éq
uip
e de
pro
gram
meu
rs
Exécu
table A
Exécu
tion
A
Co
mp
ilateur A
Pro
cesseur A
Exécu
tif A
Co
mp
araison
Erreu
r
Exécu
table B
Exécu
tion
B
Co
mp
ilateur B
Pro
cesseur B
Exécu
tif B
Co
mp
araison
Exécu
table C
Exécu
tion
C
Co
mp
ilateur C
Pro
cesseur C
Exécu
tif C
Erreu
r
Sp
écification
fon
ction
nelle
Ou
tils etrègles
C-56
EL
EK
TR
A•
Th
e Elektra R
ailway S
ign
alling
System—
Ce systèm
e est basé surl’utilisation de deux chaînes detraitem
ent en tout pointidentiques aux niveaux m
atérielet exécutif
—U
ne des chaînes de traitement,
appelée « interlockingprocessor » supporte letraitem
ent fonctionnel designalisation
—L’autre chaîne, appelée« safety bag processor »,exécute le traitem
ent decontrôle: assertionsexécutables déduites desrègles de sécurité ferroviaires.
Exécu
table
fon
ction
nel
Exécu
tion
fon
ction
nelle
Co
mp
araison
So
rtiesE
rreur
Exécu
table de
con
trôle
Exécu
tion
deco
ntrô
le
Co
mp
ilateur A
Pro
cesseur
Exécu
tif
Co
mp
ilateur B
Pro
cesseur
Exécu
tif
Pro
gram
me so
urce
fon
ction
nel
Éq
uip
e dep
rog
ramm
eurs A
Sp
écification
fon
ction
nelle
Ou
tils etrègles A
Pro
gram
me so
urce
de con
trôle
Règ
les de sécu
rité
Éq
uip
e dep
rog
ramm
eurs B
Ou
tils etrègles B
x 3x 3
C-57
EL
EK
TR
A•
Th
e Elektra R
ailway S
ign
alling
System—
Toute com
mande élaborée par
la chaîne fonctionnelle esttransm
ise vers la périphérie etvers la chaîne de contrôle.
—C
ette dernière transmet aussi la
comm
ande vers la périphérieaprès avoir vérifié la conform
itéde la com
mande par rapport
aux règles de sécurité.—
L’action correspondante n’estexécutée qu’en cas d’accordentre les deux com
mandes
transmises vers la périphérie.
•E
n p
ratiqu
e,—
TM
R Interlocking processor
—T
MR
Safety B
ag
Exécu
table
fon
ction
nel
Exécu
tion
fon
ction
nelle
Co
mp
araison
So
rtiesE
rreur
Exécu
table de
con
trôle
Exécu
tion
deco
ntrô
le
Co
mp
ilateur A
Pro
cesseur
Exécu
tif
Co
mp
ilateur B
Pro
cesseur
Exécu
tif
Pro
gram
me so
urce
fon
ction
nel
Éq
uip
e dep
rog
ramm
eurs A
Sp
écification
fon
ction
nelle
Ou
tils etrègles A
Pro
gram
me so
urce
de con
trôle
Règ
les de sécu
rité
Éq
uip
e dep
rog
ramm
eurs B
Ou
tils etrègles B
x 3x 3
C-58
Exécu
tion
N
Co
mp
araison
Sp
écification
no
min
ale
So
urce 0
Exécu
table 0
Exécu
tion
0
So
rties 0
Éq
uip
e de
pro
gram
meu
rs 0
So
urce 1
Exécu
table 1
Co
mp
ilateur 0
Pro
cesseur 0
Exécu
tif 0
Co
mp
ilateur 1
Pro
cesseur 1
Exécu
tif 1
Ou
tils etrèg
les 0É
qu
ipe d
ep
rog
ramm
eurs 1
Ou
tils etrèg
les 1
Sp
écification
niveau
défen
se 1
Exécu
tion
1
Co
mp
araison
So
rties 1
Erreu
r
So
urce N
Exécu
table N
Co
mp
ilateur N
Pro
cesseur N
Exécu
tif N
Éq
uip
e de
pro
gram
meu
rs NO
utils et
règles N
Sp
écification
niveau
défen
se N
So
rties N
•••
•••
N-1
Erreu
r
PR
OC
ÉD
É
Erreu
r
Systèm
e de co
ntrô
le – Nu
cléaire•
Niveau
0 ➠ application
nominale
•N
iveaux 1..N
➠hiérarchie
de défenses.
•D
éfense n
iveau k ➠
contrôle dufonctionnem
ent desniveaux 0,…
, k-1, et mise
en œuvre par une
comm
ande simplifiée
mais plus fiable, voire
seulement la m
ise à l’étatsûr, en cas de d
éfaillanced’un niveau inférieur.
•C
on
trôle d
es niveau
x0,…
, k-1 est en fait
ind
irect ➠ m
is en œuvre
au moyen de la
surveillance de variablespertinentes du procéd
écom
mand
é.
$C
ette approche constitue, en quelque sorte, une gé
néralisation de la technique du « safety bag »
. La principaledifférence consiste en l’observation indirecte des sorties du niveau inférieur, au travers du procé
dé comm
andé.
C-59
To
lérance au
x intru
sion
s•
Pro
blém
atiqu
e—
Garantir l’intégrité et la confidentialité de l’inform
ation
—La redondance est une entrave à la garantie de ces propriétés
—F
ragmenter l’inform
ation de façon à produire des fragments non
significatifs (non-confidentiel)—
Disperser l’inform
ation de façon redondante sur un réseau decalculateurs
•A
pp
lication
—À
la messagerie: fragm
enter et router les fragments par des liens
différents (fragmentation des com
munications de K
oga)—
Aux clés: fragm
enter les clés de façon à ce qu’un sous-ensemble
seulement soit nécessaire pour reconstruire une clé secrète
(notion de schémas à seuil de S
hamir)
—A
ux fichiers, à la gestion des autorisations, aux traitements (notion
de Fragm
entation-Redondance-D
issémination)
L’idée
C-60
Sch
éma à seu
il de S
ham
ir•
Le p
rob
lème :
—stockage de clés secrètes ➠
confidentialité, disponibilité
•U
ne so
lutio
n q
ui n
’est est pas u
ne!
—plusieurs zone protégées dans lesquelles on réplique la clé
$violation d’une zone ➠
perte du secret
•L
’idée d
es schém
as à seuil:
—S
tocker K sous la form
e d’un ensemble de valeur K
i (appeléesim
ages), telles que:»
S im
ages permettent de reconstruire le secret
»S
-1 images n
’apportent aucune information
—S
i l’on sait générer N im
ages, avec N>
S alors, N
-S im
ages peuventêtre perdues
C-61
xx
xx
y
x01
23
4
0
yy
yy
12
34
On
sait gé
nérer au
tant d
e valeurs q
ue l’o
n veu
t!
Sch
éma à seu
il de S
ham
ir•
Exem
ple sim
ple (S
=2)
$ y =
a x + b =
P(x)
»y
0 = a x
0 + b
»y
1 = a x
1 + b
•••
»y
n = a x
n + b
$P
osons a, b secrets et x1 , x
2 ,…x
n fixés
•G
énéralisatio
n ➠
po
lynô
me d
ed
egré S
:
P(x) =
y i 1 ≤ i ≤ k
∑
( x − xj ) ( xi − xj )
1 ≤ j ≠ i ≤ k ∏
m
od q (
)
Interpolation polynomiale de Lagrange
C-62
Sitesutilisateurs
Sites d
'archivage
Sites de
sécurité Sites d
etraitem
ents
Réseaux d
ecom
munication
...
??
? ?
? ?
??
? ?
? ?
......
Frag
men
tation
-Red
on
dan
ce-Dissém
inatio
n
C-63
FR
D (F
ichiers)
•••
Fragm
entationR
éplicationD
issémination
Site utilisateurR
éseau à diffusionSites d'archivage
Fichier
Fragm
ents
Chiffrem
ent
Nom
mage
Chiffrem
ent (F) ➠
distribution ➠ chiffrem
ent des noms ➠
dissémination aléatoire (R
copies)
s2drtz9t
nu
azt8zt
ado
dh
23e
h4sfg
6g1
C-64
Serveu
r de sécu
rité toléran
t aux in
trusio
ns
AU
TH
EN
TIF
ICA
TIO
N
AU
TO
RISA
TIO
N
GE
STIO
N des IN
FO
SSE
NSIB
LE
S
AU
DIT
RE
CO
UV
RE
ME
NT
SE
RV
EU
R
SE
RV
EU
RSIT
E
UT
ILISA
TE
UR
C-65
Au
then
tification
Site de sécurité
Site de sécurité
Site de sécurité
Vote
C-66
Au
torisatio
n
Serveur de SécuritéServeur Sécurisé
(1) RE
QU
ET
E(2) V
OT
E(3) T
ICK
ET
U
TIL
ISAT
EU
R(4) AU
TH
EN
TIF
IEU
R
DE
SESSIO
N
(5) TIC
KE
T
SER
VE
UR
(6) SESSIO
N
Site de sécurité
Site de sécurité
Site de sécurité
C-67
La to
lérance au
x intru
sion
sU
n su
jet d’actu
alité…
•D
es pro
gram
mes g
igan
tesqu
es:O
rganically Assured and S
urvivable Information S
ystems (O
AS
IS)
Defense A
dvanced Research P
rojects Agency (D
AR
PA
)
•D
es exemp
les de p
rojets d
ans ce cad
reD
AR
PA
ISO
Sponsored R
esearch2000 P
roject Sum
mary
« Dependable Intrusion T
olerance »« Intrusion T
olerant Softw
are Architectures »
« Intrusion Tolerant D
istributed Object S
ystems »
« Intrusion Tolerance U
sing Masking, R
edundancy and Dispersion »
Tolérance aux fautes, tolérance aux intrusions, détection d
’intrusions,etc.
SR
I,D
raper L
abs,
Etc.
C-68
Résu
mé
•D
ifférentes tech
niq
ues p
ermetten
t de to
lérer des fau
tes, en fait
l’effet de ces fau
tes sur le co
mp
ortem
ent d
u systèm
e (les erreurs)
•F
autes p
hysiq
ues ➠
techn
iqu
es de rép
lication
—H
ypothèses de fautes—
Couverture des hypothèses
—N
otion de composant autotestable
—T
echniques de réplication passive, semi-active, active
•F
autes d
u lo
giciel ➠
techn
iqu
es de d
iversification
—R
edondance temporelle (fautes transitoires de support) ➠
AT
&T
—R
ecovery blocks
—N
-Version program
ming ➠
Airbus 320, 330, 340, B
oeing 777—
N-S
elf Checking program
ming ➠
Elektra
•In
trusio
ns ➠
fragm
entatio
n-red
on
dan
ce-dissém
inatio
n
D-1
Tech
niq
ues d
e caractérisation
Tech
niq
ues d
e base,
en p
articulier p
ar injectio
n d
e fautes,
An
alyse de ro
bu
stesse,exem
ples d
'ou
tils et de résu
ltats expérim
entau
x
D-2
Test d
e la toléran
ce aux fau
tes•
Les m
écanism
es de to
lérance au
x fautes so
nt à la fo
is—
Faillibles (fautes de conception et/ou de réalisation)
—C
onçus pour traiter des entrées spécifiques: les fautes!!
leur vérificatio
n est essen
tielle!•
L’ap
pro
che exp
érimen
tale par in
jection
de fau
tes—
Sim
ulation des fautes, ou plutôt de leurs effets, les erreurs»
physiques (bit-flip) ou du logiciel (mutation d
’instruction)
—C
ibles: un composant logiciel équipé de son m
écanisme de T
AF
»B
oite blanche: visibilité structurelle (comm
ent il est fait) etcom
portementale (com
ment il agit/ré-agit)
»B
oite noire: aucune connaissance, seules les interfaces sont visibles
—Les types d’injection:
»niveau physique(stuck-at), m
odèle (V
HD
L) ou par logiciel (SW
IFI)
—Les problèm
es:»
Représentativité des fautes
»O
bservation et analyse des résultats.
Rappel
D-3
Lo
giq
ue &
Info
rmatio
n
Ph
ysiqu
e
SY
ST
ÈM
E C
IBL
E
Mo
dèle
Pro
totyp
e
MOYEN
injectio
n
en sim
ulatio
n
≈
injectio
n
en lo
giciel
injectio
np
hysiq
ue
Nœ
uds ➠ O
RC
HE
STR
Atâche ➠
FIAT
instr. ➠ FE
RR
AR
Im
ém. ➠
DE
F.I, DIT
A,
MA
FAL
DA
Reg. ➠
Xception
ions lourds ➠ U
niversité Chalm
ersperturbations E
M ➠
TU
Vienne
broches ➠ M
ESSA
LIN
E, Scorpion,
DE
FOR
, RIFL
E, A
FIT,...
système ➠
DE
PEN
D, R
EA
CT
, ...niveau R
TL
➠ A
SPHA
LT
, ...porte logique ➠
Zycad, T
echnost, ...circuit ➠
FOC
US, ...
...large spectre ➠ M
EFIST
O,
VE
RIFY
(VH
DL
)
Les tech
niq
ues d
’injectio
n d
e fautes
Rappel
D-4
#Im
pact su
r mesu
res Sd
F
#C
alibratio
n d
es mo
dèles
#L
imites ap
pr. fo
rmelles
#E
ntrave évén
emen
t rare
#T
F co
nstru
ction
faillible
#E
stimatio
n co
uvertu
re TF
#A
pp
roch
e expérim
entale
#E
xpérien
ces con
trôlées
Injectio
n d
e fautes
Sû
reté de fo
nctio
nn
emen
t (S
dF
)T
oléran
ce aux fau
tes (T
F)
Evalu
ation
expérim
entale
D-5
Les attrib
uts d
e l'injectio
n d
efau
tes#
Test d
es mécan
ismes d
e TF
vis-à-vis d'en
trées spécifiq
ues : les
fautes
#S
équ
ence d
e test = série d'exp
ériences élém
entaires
#C
aractérisation
d'u
ne exp
érience
Do
main
e d'en
tréeD
om
aine d
e sortie
• f ∈ F
F
autes à injecter
• a ∈ A
D
onnées d'entrée destinéesà activer le systèm
e
• r ∈ R
Relevés et observations des
prédicats caractérisant : - les m
écanismes de T
F - le systèm
e cible
Élaboration de m
esures expérimentales : l'en
semb
le M
Fau
teE
rreur
Défaillan
ce
tFtE
Do
rman
ceL
atence
tD
Traitem
ent E
rreur/F
aute ap
pro
prié (P
rédicat P
)
D-6
Caractérisatio
n d
es préd
icats de
la TF
•D
éfinitio
n d
e préd
icats et d'u
n en
semb
le d'états
Fau
te
tF
Assertio
n d
e P
tP
∅∅
P = fau
x P
= vrai
Do
main
e d'o
bservatio
n : T
tF
∅∅
P = vrai
v1
v0
v0
v1
tMax
tMax
P = vrai
P = fau
x
P = fau
xP
= vrai
•T
est des p
rédicats
FE
DT
Défaillan
ce
OK
D-7
Prévisio
n d
es fautes
(mesu
res de la S
dF
) É
limin
ation
des fau
tes(d
éficiences) d
e la TF
Test d
e l'adéq
uatio
n ...
... par rap
po
rt aux h
ypo
thèses d
efau
tes
Estim
ation
de l'efficacité...
facteur d
e cou
verture,
do
rman
ce faute, laten
ce erreur, ...
ÉV
AL
UA
TIO
NV
ÉR
IFIC
AT
ION
... de la co
ncep
tion
et/ou
mise en
œu
vre d
es algo
rithm
es/mécan
ismes d
e toléran
ce aux fau
tes ...
Rô
le de l’in
jection
de fau
tes
D-8
Elim
inatio
n d
es fautes d
ans les M
TF
Fin
j
Hp
re
Hp
ost
Déficien
ceF
ausse
alarme ?
Co
uvertu
reN
om
inale
Déficien
ce C
ou
v. hyp
.[atten
du
?]
“Bo
nu
s” de
cou
verture
Co
mp
ort.
no
min
al
Tests
sans in
jection
d
e fautes
Tests
avec injectio
n
de fau
tes
Déficien
ceco
uvertu
re
D-9
Distrib
utio
n tem
po
relle de la
cou
verture
E[T
MTF]
facteur d
eco
uvertu
reasym
pto
tiqu
e
Fau
teT
raitemen
t E
rreur/F
aute
Su
ccès
Éch
ec2èm
e Fau
te
Défaillan
ceD
éfaillance
temps de
latence
Couverture
C(t)
100%
]t f
T[
Dom
aine d'observation
C ≈ C
(T) < C
(∞)
D-10
MT
Fs
Var. aléato
ire TP :
instan
t d’assertio
nd
u p
rédicat P
nExp.
T0
P
tf
tp
tm
ax
G
FA X
(tP ≤ T
)
y(tP , G
) =1 0
d
événements
significatifs
n d
n2
•• •
n1n
M
d1d
2di
dM
•• •Gi
ni
GM
G2
G1
t
ˆ C
1 (t,G) =
1ny(t,G
i)i= 1 n
∑=
N(t)n
➢ D
istribu
tion
de la co
uvertu
re :
➢ V
aleur asym
pto
tiqu
e (facteur d
e cou
verture) :
C(∞
,G)=
C(G
)≈C
1(T,G
)=N
(T)
n
dn=
Exp
ériences ≈
Ép
reuves d
e Bern
ou
illi
Estim
ation
de la co
uvertu
re
D-11
Influ
ence d
u facteu
r de co
uvertu
re
2 un
ités actives
Défaillan
cesystèm
e
1 un
ité active
1ère défaillan
ce (n
on
cou
verte)
1ère défaillan
ce (cou
verte)
réparatio
n2èm
e défaillan
ce
C 1
C 2
ES
210-4
10-3
10-2
c = .95
c = .9
c = .99
c = .995
c = .999
c = 1
101
10 10 104
1
3
MT
TF S
yst.
MT
TF C
om
p.
MT
TR
MT
TF
Co
mp
.
Co
mp
.
D-12
Evalu
ation
de la ro
bu
stesse
D-13
Arch
itecture d
es systèmes
Objets d
’applicationInteragissant par m
essages
IntergicielIntergiciel (e.g. C
OR
BA
)supportant la distributiontransparente des objets
Systèm
e opératoireS
ystème op
ératoire (e.g. P
OS
IX)
Micro-noyau tem
ps-réelM
icro-noyau T
emps-réel
D-14
Interg
iciels
Evalu
ation
de la ro
bu
stesse des In
tergiciels
par in
jection
de fau
tes
D-15
Interg
iciel• In
jection
avant en
capsu
lation
par T
CP
. ➣
Sim
ulatio
n d
e la pro
po
rtion
de p
aqu
ets erron
és d
élivré
s par T
CP
D-16
Co
mp
araison
d’in
tergiciels C
OR
BA
Bit flip
dan
s les requ
êtes IIOP
No
n R
epo
rted
Failu
reR
epo
rted F
ailure
(CO
RB
A E
xceptiio
n raised
)
Percentage per SUB
(No
diagnosis)
D-17
Systèm
e op
ératoire
Evalu
ation
de la ro
bu
stesse des exécu
tifs PO
SIX
Avec B
allista
D-18
BA
LL
IST
A•
Ob
jectif—
Test autom
atique des fonctions d’un système opératoire (A
PI)
—La cible est l’ensem
ble des appels système invoqués par les
applications
Carn
egie M
ellon
Un
iversity, US
A
Esp
aced
’entrée
Esp
ace répo
nse
Entrées
valides
Entrées
invalides
Co
mp
ortem
ent
attend
uC
orrect
Indéfini
Incorrect➠
erreur code
Opération robuste
Défaillance
répétable
Défaillance
Non répétable
UN
IX
posix
Ballista effectue l’injection de faute au niveau A
PI en
utilisant un combinaison de param
ètres valides et invalides
D-19
L’éch
elle CR
AS
H•
Rép
on
ses inco
rrectes regro
up
ées selon
5 niveau
x
—C
- Catastrophic: la défaillance n’est pas confinée à une seule
tâche (i.e., l’appel à une fonction de l’ OS
a causé le crash ou lehang d’une autre tâche ou du systèm
e)
—R
- Restart: la tâche est bloquée et doit être re-dém
arrée
—A
- Abort: term
inaison anormale de tâche (e.g., segm
entationviolation)
—S
- Silent: la tâche term
ine sans signaler d’erreur (e.g., un appel àopenfile avec un nom
de fichier NU
LL devrait retourner une erreur)
—H
- Hindering: la tâche renvoie un code d’erreur incorrect
D-20
Exp
ériences
Tests ap
pliq
ué à 175-233 d
es app
els PO
SIX
sur ch
aqu
e OS
•E
xemp
les de p
aramètres in
valides
—T
ype integer et descripteurs de fichier :»
not in range,0,1,-1,+m
axint, -maxint
—T
ype pointer : »
null, -1, hors zone d’adressage de buffer m
émoire
—T
ype string :»
large (64K), form
at incorrect (filenames, m
odes, printf)
•R
ésultats
—C
omparaison sur l’échelle C
-R-A
-S-H
—E
xemples de situations surprenantes :
»m
map
sur HP
-UX
(dirty parameters) -->
system panic
»setpgid
sur LynxOS
(parameters com
bination) -->
system crash
—S
eulement entre 37%
et 58% des cas de test n’entraînent pas de
défaillance
D-21
Systèm
e op
ératoires P
OS
IX
0%10%
20%30%
40%50%
SunOS 5.5
unOS 4.13
QNX 4.24
QNX 4.22
OSF-1 4.0
OSF-1 3.2
NetBSD
Lynx
Linux
Irix 6.2
Irix 5.3
PUX 10.20
HPUX 9.05
FreeBSD AIX
Abort % Silent % Restart %
Catastrophic
No
rmalized
failure rate (%
)
AIX
FreeB
SD
HP
-UX
B.10.20
Lin
ux
Lyn
xOS
QN
X 4.24
Su
nO
S 5.5
NetB
SD
Irix 6.2
Irix 5.3
HP
-UX
B.9.05
OS
F-1 3.2
OS
F-1 4.0
QN
X 4.22
SunO
S 4.13
Ab
ort
Silen
t
Restart
Catastrophic
010
2030
4050
9
15 « (C)O
TS
» OS
s[K
oopman &
DeV
ale 99 (FT
CS
-29)]
Paramètre invalide dans les appels systèm
es POSIX
D-22
Micro
-no
yaux tem
ps-réel
Evalu
ation
de la ro
bu
stesse de m
icro-n
oyau
x temp
s-réelA
vec Mafald
a
D-23
Prin
cipe
Assessm
ent by Fault injection
Design A
id
AnaLysis
Microkernel
Detection
Propagation
Failures
Execution traces
MAFA
LDA
Functional models
Executables assertions
Wrappers
Reflexive im
plementation
D-24
Descrip
tion
-1
Graph
mgr.
Machine contrôleur
Cam
paign_FD
Workload_FD
controler
Machines cibles
Reflection
Wp1
Wp2
Wp3
CO
TS
Microkernel
metakernel
Wrapping
InterceptionInjection
InternalFunctionC
all
Exp. results
Log. files
Modes de
défaillance
Information de
trace pour analysea posteriori
Tableur
Pilote de toutes les étapes:1) G
énération Oracle
2*) Série d’expériences
3) Analyse
D-25
Descrip
tion
-2
Vérification des
assertions exécutables
IntrospectionIntercession
Interceptiondes system
calls,de leurs param
èters,et de quelques fonctions internes
Bit-flip:
parameters,
segments code
& data
Graph
mgr.
Machine contrôleur
Cam
paign_FD
Workload_FD
controler
Machines cibles
Exp. results
Log. files
Reflection
Wp1
Wp2
Wp3
CO
TS
Microkernel
metakernel
Wrapping
InterceptionInjection
InternalFunctionC
all
D-26
An
alyse des m
od
es de d
éfaillance
• Robustesse de l’interface
• Mécanism
es de détection
• Corruption données d’entrée
• Corruption du m
icronoyau (segm
ents code & data)
• Com
portement d’un m
odule • P
ropagation inter-module
Evalu
ation
Mo
dèle d
e faute
Cib
les de l’in
jection
Ob
servation
Erro
r
Fau
lt
micro
kernel in
terface
SY
NC
OM
ME
M
SY
NC
OM
ME
M
Fau
lt
pro
pag
ation
Micro
kernel co
mp
on
ents
Ap
plicatio
n
...
...
Wo
rkload
• Appels systèm
e• C
omposants noyau
Typ
e de fau
te
• Bit-flip
• Aléatoire
• Statistiques
• Analyse de trace a posteriori
Résu
ltats
D-27
Co
mp
ortem
ent en
présen
ce de fau
tes
µkC
jµ
kCi M
icrokern
el
Ap
plicatio
n / m
idd
leware
Co
rrup
tion
intern
e
Erreu
r
!S
ign
al (détectio
n)
"E
rror S
tatus
"E
xceptio
ns
!B
locag
e no
yau
Pro
pag
ation
Erreu
r
Co
rrup
tion
externe
(Ap
plicatio
n)
AP
I
!D
éfaillance A
pp
lication
(valeur et o
rdo
nn
ancem
ent)
Pro
pag
ation
!A
pp
lication
Han
g
D-28
MA
FA
LD
A
Micro
-no
yaux C
ho
rus an
d L
ynxO
S
Caractérisatio
n d
e micro
no
yaux tem
ps-réels
0 5 10 15 20 25 30 35 40 45
Ap
pli.
Failu
reA
pp
li.H
ang
Kern
elH
ang
Excep
tion
Erro
rS
tatus
No
Ob
s
% Bit flip
s dan
s les segm
ents d
e cod
e du
no
yau
Ch
oru
s
Lyn
xOS
D-29
Exem
ple d
e mesu
res
D-30
Catég
ories d
’ob
servation
com
po
rtemen
tale
Non
Sig
nifican
t E
xperim
ents
28.5%
3010 E
xp.
SY
SH
AN
G1,4%
EX
CE
PT
ION
38,1%
AP
PH
AN
G6,0%K
DB
13,9%
AP
PF
AIL
9,0%
ER
RO
R
ST
AT
US
3,0%
NO
OB
S.
28,5%
DE
TE
CT
ION
41.1%
HA
NG
21.3%
FA
ILU
RE
9%
D-31
Distrib
utio
n d
’erreur
ME
MO
RY
2924 exp
.
CO
MM
UN
ICA
TIO
N
2970 exp
.
SY
NC
HR
ON
ISA
TIO
N
3010 exp
.
No
n sig
n.
33%
DE
TE
CT
ION
57.7%
HA
NG
7%
FA
ILU
RE
2.4%
No
n sig
n.
28.5%
DE
TE
CT
ION
41.1%
HA
NG
21.3%
FA
ILU
RE
9%
No
n sig
n.
31.3%
DE
TE
CT
ION
55%
HA
NG
10.3%
FA
ILU
RE
3.6%
Kernel code
D-32
Pro
pag
ation
d’erreu
r
(30/3010)
36.7 %
CO
M84,2%
AF
Application Failure
0% E
XC
Exception15,8%
ES Error Status
SYN
ME
M
63.3 %
100%A
F0%
EX
C0%
ES
44,2 %
CO
M8,9%
AF
77,2%E
XC
13,9%E
S
SYN
ME
M
55,8 %
32,5%A
F61,3%
EX
C6,2%
ES
(26/2970)57.7 %
CO
M
100%A
F0%
EX
C0%
ES
SYN
ME
M
43.3 %
100%A
F0%
EX
C0%
ES
(181/2924)
Kernel code
D-33
Laten
ce des excep
tion
s
12
34
56
78
9
0
100 200 300 400
010
# EXceptions
0% 20% 40% 60% 80% 100%
Cumulative Distr.
micro
secon
ds
>10
Kernel code
D-34
MA
FA
LD
A in
action
D-35
Th
e Oracle
D-36
Fau
lt Injectio
n
D-37
Résu
ltats
D-38
Syn
thèse (1)
•D
éfinitio
n d
e la charg
e app
licative et Oracle
—O
ption 1: charge applicative indépendante d’une application»
Principes-
Activation de toutes les fonctions
-S
éparation / partitionnement pour d
étecter la propagation d’erreur
-C
onçu pour pouvoir obtenir un Oracle
»Intérêt
-Identifier des fautes de conception/program
mation
-Identification de com
portements/m
odules faibles»
Inconvénient-
Ne reflète pas le com
portement / profil typique d
’une application
—O
ption 2:»
Définition d
’un profil d’application (application elle-m
ême?)
»D
éfinition de l’Oracle?
D-39
Syn
thèse (2)
•In
jection
de fau
tes—
Principes»
Sélection aléatoire du bit inversé (bit-flip)
—Injecteurs
»N
oyau-
Utilisation des m
oyens de debug des processeurs modernes
-O
ctet aléatoire et sélection bit-
Optim
isation:!
Frontière des com
posants!
Flot de contrôle du noyau
»P
aramètres
-Interception des appels noyau (librairies &
trap)-
Octet aléatoire et sélection bit
—S
élection pré-définie d’adresses, de valeurs, de différentescom
binaisons possibles
D-40
Syn
thèse (3)
•A
ssertion
s et wrap
pers d
e con
finem
ent
—F
ormalisation des com
portements corrects attendus
—Im
plémentation: vérification en-ligne
»D
érivation d’assertions exécutables
»D
érivation de AF
SM
(Abstract F
inite State M
achine)
—E
fficacité»
Précision du m
odèle
»T
ype de formalism
e
—P
erformance
»C
omprom
is entre mod
élisation et surcharge temporelle
—E
xpressions en logique temporelle interprétées par un R
untime
checker -> M
AF
AL
DA
-RT
D-41
Syn
thèse (4)
•A
nalyse d
e l’info
rmatio
n b
rute o
bservée
—Les résultats statistiques procurent des inform
ations significativespour la sélection d’un candidat
—L’inform
ation détaillée permet:
»Identification des fautes de conception / program
mation
»C
ompréhension du com
portement réel en présence de fautes :
-P
ourquoi une erreur conduit à la défaillance ?
-P
ourquoi a-t-on observé un executive hang?
-P
ourquoi l’erreur s’est-elle propagée d’un com
posant à un autre?
—S
cripts permettant de filtrer les inform
ation brutes obtenir par lesm
écanismes de traçage
—Les utilisateurs peuvent eux-m
ême définir les m
odes dedéfaillance.
D-42
Syn
thèse (5-6)
•In
terprétatio
n d
es résultats
—U
ne campagne cible :
»U
ne seule instance d’un m
icro-noyau temps-réel
»U
n certain profil d’activation
—V
ariabilité des résultats»
Version S
tand Alone
vs. version P
osix
»A
pplication réactive vs. Application static
•E
volu
tion
des systèm
es cibles
—N
ouvelle instance -> N
ouvelle campagne ?
—E
st-ce que la nouvelle instance est compatible avec la solution
architecturale ?
D-43
Mafald
a-RT
Assessm
ent by Fault injection
Design A
id
AnaLysis
Microkernel
Limitation of
temporal intrusiveness
Detection
Propagation
Failures(value & tim
e)
Execution traces
Temporal
characteristicsof kernel
(e.g., switching time)
Analysis of schedulingof captured events
Formal spécification
(temporal logic)
Aut. translation
On-line Checking
Wrapping
mechanism
s • detection • recovery
Reflective im
plementation
Explicit analysis of tem
poral overhead
for Real-Time system
s
D-44
Em
paq
uettag
e
No
tion
de w
rapp
ers
D-45
Prin
cipe d
u w
rapp
ing
—M
écanismes d’encapsulation (w
rappers), par classes fonctionnelles
—M
odélisation du comportem
ent de fonctions/services de base d’unm
icro-noyau temps-réel en l’ absence de faute
➠ notion d’assertion exécutables, de prédicat vérifié en-ligne»
Observation de donn
ées et événements internes
»C
ontrôle de certaines actions du noyau
—N
écessité de mécanism
es d’observation et de contrôle étendus ➠notion d’im
plémentation réflexive (instrum
entation)
—M
esure de l’efficacité des wrappers par injection de faute
wrap
per
Ou
tpu
t In
pu
tM
icrokern
elm
od
ule
D-46
Exem
ple d
e wrap
per fo
nctio
nn
el: Syn
chro
nizatio
n
Sém
aphores :
- integer s.val- process queue s.q
ueu
e
Opérations:
- Init: I(s) - G
et: P(s)
- Release:V
(s)
Valeur init
init_value
Soit#P
(s) et #V
(s) le nombre total d’appels à
P(s) et V
(S)
s.val = in
it_value - #P
(s) + #V
(s)
Soit
#Su
spen
ded
(s) le nom
bre de threads dans s.queue
#Su
spen
ded
(s)=
max(0,-s.val)
Un prédicat peut être défini com
me suit:
Wrap
per
Micro
no
yau S
YN P
(s)V
(s)
[s.val = in
it_value
- #P(s) +
#V(s)] ξ
[#Su
spen
ded(s) = m
ax(0, -s.val) ]
D-47
Read
y to R
un
Sto
pp
ed
Waitin
g
CR
EA
TE
(Read
y)
Ru
nn
ing
DE
LA
Y(N
oD
elay)S
ET
PR
IOR
ITY
()
SE
MP
()D
EL
AY
(Tim
eDelay)
RE
CE
IVE
()
ST
OP
()
ST
AR
T ()
CR
EA
TE
(Sto
pp
ed)
SE
MV
()
Tim
e-Ou
tE
vent-M
essage
Intern
al preem
ptio
n
t ∉ W
(s) ∧t ∈
R ∧
P
_Sch
ed (•)
Po
st-con
ditio
n asso
ciéeà u
ne tran
sition
correcte
After S
EM
V(S
) :P
olitiq
ue p
réemp
tif FIF
O
P_S
ched
(•) =L
a tâche en
cou
rs est tou
jou
rs la prem
ièred
e celles de p
lus h
aute p
riorité d
ans la file
ready_to
_run
Exem
ple d
e wrap
per co
mp
ortem
ental: S
ched
ulin
g
D-48
Imp
act de l’en
capsu
lation
87%
0%
9%2.2%
0.5%0%
20%
40%
60%
80%
100%
Standard
SY
N W
rapperS
YN
& S
CH
Wrappers
External errors
Internal errors
Application failure
Mo
du
le de S
YN
CH
RO
NIS
AT
ION
~ 3000 expérien
ces
Intérêt…
.
• emp
êche la co
rrup
tion
de p
aramètres
• rédu
it le nb
d’erreu
rs no
n-d
étectées et leur p
rop
agatio
n
D-49
5%
15%
3%2%
4%
1%
7%
23%
0% 5%
10%
15%
20%
25%
Applicationfailure
Application
hangS
ystem hang
To
tal
Standard m
oduleW
rapped module
Mo
du
le de S
CH
ED
UL
ING
~ 3000 expérien
ces
Imp
act de l’en
capsu
lation
Cau
se des d
éfaillances résid
uelles
• mau
vaise prio
rité• n
on
-captu
re d’évén
emen
t• th
read h
ang
• flot d
’exécutio
n in
correct
Efficacité d
es wrap
pers
• tâches n
on
réveillées• vio
lation
de règ
le de p
réemp
tion
• violatio
n d
e règle d
’élection
• m
anip
ulatio
n in
correcte d
e files
D-50
Etalo
nn
age d
e la Sd
FDependability
Benchmarking
≈
Agreem
ent/Acceptance
UsefulnessFairnessUsability
Portabilityetc.
DependabilityAssessm
ent
Performance
Benchmarking
Desired Properties
D-51
Cad
re con
ceptu
el
An
alyse
Exp
érimen
tation
Systèm
ecible
Fautes
Charge
Mesures expérim
entales
AM
esures de laS
dFM
od
élisation
B
DB
ench
D
epen
dab
ility Ben
chm
arking
IST
2000 25425
http://www.laas.fr/dbenchD-52
Résu
mé d
es techn
iqu
es de b
ase
DB
enchD
ependability Benchm
arking
Bit-flip dsparam
ètre
Paramètre
d’appel invalide
Bit-flip dsParam
ètre Fonct. Int.
Fautes dsDrivers
-> Fautes du logiciel (O
S, micronoyau)
Mutation
Bas-niveauM
utationhaut-niveau
-> Fautes du logiciel (N
iveau application)
Script d’ém
ulation
Fautes réelles
(field data)
-> Fautes d’opérateur & et d’adm
inistrateur
Simulation
VHDL
Analyse
-> Fautes physiquesPropag. Φ
-device level ➠ RTL
E-1
Sû
reté de fo
nctio
nn
emen
t
Résu
mé et co
nclu
sion
Jean-C
harles F
abre
Méthodes et techniques perm
ettant de considérer les fautescom
me des événem
ents naturels et prévisibles!
Tel: 05 61 33 62 36
-F
ax: 05 61 33 64 11-
E-m
ail: [email protected]
E-2
Info
rmatiq
ue sû
re de fo
nctio
nn
emen
t•
To
lérance au
x fautes : «zéro
défau
t » « zéro d
éfaillance »
• É
merg
ence d
’autres classes d
e fautes :
—de C
onception—
Interactions Hom
me-S
ystème
—M
alveillances
•C
om
pro
mis en
tre [coû
t + fon
ction
nalité]
et sûreté d
e fon
ction
nem
ent
—H
iérarchie de la tolérance aux fautes + confinem
ent des erreurs—
Équilibre m
atériel/logiciel
—T
ransparence—
Généricité et réutilisation (com
posants “OT
S”)
•É
valuatio
n an
alytiqu
e & exp
érimen
tale du
com
po
rtemen
ten
présen
ce de fau
tes “Ben
chm
arking
” de la S
dF
E-3
Mécan
isme d
e TA
F
Syn
thèse
Tech
niq
ues d
e réplicatio
n
Hyp
oth
èses et mo
dèle d
e faute
Co
mp
osan
t auto
testable
Diversificatio
n
Ou
tillage d
e caractérisation
Mo
dèle, P
roto
type
Typ
e de F
autes
Mesu
res (cou
verture,
mo
des d
e défaillan
ce)E-4
Sû
reté de fo
nctio
nn
emen
td
es systèmes in
form
atiqu
esin
du
striels
Jean-C
harles F
abre
Méthodes et techniques perm
ettant de considérer les fautescom
me des événem
ents naturels et prévisibles!
Tel: 05 61 33 62 36
-F
ax: 05 61 33 64 11-
E-m
ail: [email protected]