Markus Jochim Universität Essen, Institut für Informatik Verlässlichkeit von Rechensystemen...
-
Upload
annikin-berger -
Category
Documents
-
view
107 -
download
0
Transcript of Markus Jochim Universität Essen, Institut für Informatik Verlässlichkeit von Rechensystemen...
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Pessimistische Fehlerinjektion für automatisch erzeugte virtuelle
Duplexsysteme
Markus Jochim
Universität Essen
2
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Virtuelles Duplexsystem (VDS) / DiversitätVirtuelles Duplexsystem (VDS) / Diversität
Source A,©2002 Schmidt
for (i=1; i<10; i++){ ... }
Compiler A
Source B,©2002 Müller
while (i++ <10){...}
Compiler B
ProgrammB
Eingabe
Ausgabe
Prozessor
VDS:1) Programm A2) Programm B3) Ergebnisvergleich
Problem:Identische fehlerhafte Ausgabewerte!
Fehler-injektor
ProgrammA
3
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
DIVERSI-ToolDIVERSI-Tool
4
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
DIVERSI-ToolDIVERSI-Tool
Eingabe:• Assembler Source (P0, P0)• Eingabewerte für P0• Fehlerspezifikation (FAIL)
Veränderungsregelauf VDS: (P0, Pi)
anwenden
Auswahlvon Veränderungs-
regel und VDS
Fehler inVDS: (P0, Pi+1)
injizieren
ErgebnisDatenbank
Ausgabe:• Erfolgreichstes VDS• erzielte Fehlererfassung
5
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
FehlerinjektionFehlerinjektion
Führe für jedes erzeugte VDS alle Injektions-Experimente für alle Eingabewerte aus.
Viele “jedes“ and “alle“ bedeutet:
"Fehlerinjektion muß sehr schnell sein !"
• Host & Target auf selbem System
• Einfügen von FI-Code in VDS
• Manipulation ausführbarer VDSe
• “Energiespar-Modus“
• Pessimistische Fehlerinjektion
Pessimistische Fehlerinjektion:• Beschleunigung der FI-Experimente• Konservative Bewertungsergebnisse
6
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Fehlerspezifikation (FAIL)Fehlerspezifikation (FAIL)
Stuck-at-Fehlerin Register
Prozessor-Statuswort
Speicher-fehler
EndAllEndAll
All myVar3 substitute by {Carry,Zero,Sign,Overflow} All myVar4 substitute by {cleared, inverted, set}
All myVar1 substitute by {%eax,%ecx,%edx,%edi,%ebp} All myVar2 substitute by {0,1,2,6,7,8,9,15,16,22,23,28,31}
Stuck-at dice{0,1} Bit myVar2 Register myVar1
EndAllEndAll
EndallEndall
All myVar5 substitute by {text,rodata} All myVar6 substitute by {1,3,5,9,20,30,40,50,60,75,95,100,200,300}
FlagProblemAfter dice {addl, subl, cmpl} Instruction myVar3 is myVar4
MemoryError randomly inject myVar5 Errors into myVar6 Segment
• Insgesamt 49 Fehlerarten sind spezifiziert.• Neue Fehlerarten mittels FAIL spezifizierbar.
7
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Harte Fehler / Weiche FehlerHarte Fehler / Weiche Fehler
• Abstürze• Timeouts• Falsche Ausgabeformat
• Fehlerhafte Ausgaben im richtigem Format
• Geringfügige Verzögerungen• Keine Fehlerwirkung
zu hart
zu weich
balanciert
8
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Pessimistische FehlerPessimistische Fehler
Idee:• Zu weiche Fehler verschärfen.• Zu harte Fehler abschwächen.
Mehr balancierte Fehler = Pessimistische Injektions-ergebnisse
Wie kann man Fehler abschwächen?Lösung: Nicht bei jeder Gelegenheit injizieren!
MOVL
ADDL
XORL
PUSHFL
JMP
ASL
MOVL
ADDL
XORL
PUSHFL
JMP
ASL
MP
MP
MP
MP
P0 P0
Markierungspaare !
Versuche mit Markierungspunkten statt Markierungs-paaren waren erfolglos!
MP 1
MP 2
Inst. 1
Inst. 2
Inst. 3
Inst. 4
Inst. 5
Inst. 6
Inst. 1
Inst. 2
Inst. 3
Inst. 4
Inst. 5
Inst. 6
MP
MP
MP
MP
MP 1
VDS 1
MP
MPMP 2
VDS 2
Inst. 1‘Inst. 1‘‘
Inst. 2
Inst. 3‘Inst. 3‘‘Inst. 3‘‘‘
Inst. 4
Inst. 5
Inst. 6‘Inst. 6‘‘
MP
MP
MP 3
MP 2
MP
Inst. 1
Inst. 2‘Inst. 2‘‘
Inst. 3
Inst. 4‘Inst. 4‘‘Inst. 4‘‘‘Inst. 4‘‘‘‘
Inst. 5
Inst. 6
MP 1
MP 3
DIVERSI
Markierungspaare über„VDS-Generationen“ hinweg pflegen !!!
10
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
Syntax-BeispielSyntax-Beispiel
Pair P1: (4*3m, 4*6m, 5*12m)Pair P2: (30*1m, 2*2) force "*esp*"
P1: <Beliebige FAIL-Anweisungsblöcke>
P2:<Beliebige FAIL-Anweisungsblöcke>
P_off
#-------------------------------# Fehler Nr. 128-151## Nr. 128-149:# MP-Forderung: 30 * 1M# MP-Realisierung: 22 * 1M (Reduziert!)## Nr. 150-151:# MP-Forderung: 2 * 2 M# MP-Realisierung: 2 * 2 M
Stuck-at 0 bit 0 register %ebx
FAIL-Spezifikation
Reduktion derAnforderungen
11
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
F-Typ Standard Pessimistisch
1 0 / 370 160 / 9250
2 0 / 360 90 / 4320
3 0 / 110 112 / 2200
4 0 / 110 66 / 2750
5 0 / 370 70 / 9250
6 0 / 130 129 / 3250
F-Typ Standard Pessimistisch
1 0 / 370 263 / 9250
2 0 / 360 132 / 3120
3 0 / 110 80 / 1650
4 0 / 110 63 / 2750
5 0 / 370 64 / 9250
6 0 / 130 228 / 2600
VDS: „CRC“ VDS: „Hanoi“
Ergebnisse (absolut)Ergebnisse (absolut)
160 / 9250 = 160 von 9250 Injektionsläufe überlisteten das VDS.Legende:
• Experimente mit 6 verschiedenen Fehlerarten der Kategorie „zu hart“.• Zwei verschiedene VDSe. • Keine Diversität !!!
12
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
F-Typ Standard Pessimistisch
1 0,00% 0,81% 1,51% 1,73% 1,97%
2 0,00% 0,83% 1,74% 2,08% 2,48%
3 0,00% 2,69% 4,34% 5,09% 5,93%
4 0,00% 2,69% 1,94% 2,40% 2,94%
5 0,00% 0,81% 0,61% 0,76% 0,92%
6 0,00% 2,28% 3,42% 3,97% 4,58%
F-Typ Standard Pessimistisch
1 0,00% 0,81% 2,56% 2,84% 3,14%
2 0,00% 0,83% 3,56% 4,23% 4,87%
3 0,00% 2,69% 4,01% 4,85% 5,81%
4 0,00% 2,69% 1,84% 2,29% 2,82%
5 0,00% 0,81% 0,56% 0,69% 0,85%
6 0,00% 2,28% 7,87% 8,77% 9,74%
VDS: „CRC“ VDS: „Hanoi“
Ergebnisse (relativ)Ergebnisse (relativ)
Pexp: 1,73% (= Anteil nicht aufgedeckter Fehler)Legende: 1,51% 1,73% 1,97%
Pmin: 1,51% Pmax: 1,97%
Falls Preal = 1,51% oder weniger: P (Pexp = 1,73%) 5%
13
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
ZusammenfassungZusammenfassung
Resümee: • Pessimistische Fehlerinjektion ist möglich!
• Anwendungsfall: VDS
• Anwendbarkeit für verschiedene Diversitätstechniken denkbar
• Anwendbar um:
1) Injektionsläufe zu beschleunigen!
2) Konservative Ergebnisse zu erzielen.
Weitere Ergebnisse:• Pessimistische Fehler bieten DIVERSI Widerstand!
• Bereits wirksame Fehler konnten gefährlicher gestaltet werden!
14
Markus JochimUniversität Essen, Institut für InformatikVerlässlichkeit von Rechensystemen
08.04.02
F-Typ Standard Pessimistisch
1 0,00% 0,81% 1,51% 1,73% 1,97%
2 0,00% 0,83% 1,74% 2,08% 2,48%
3 0,00% 2,69% 4,34% 5,09% 5,93%
4 0,00% 2,69% 1,94% 2,40% 2,94%
5 0,00% 0,81% 0,61% 0,76% 0,92%
6 0,00% 2,28% 3,42% 3,97% 4,58%
F-Typ Standard Pessimistisch
1 0,00% 0,81% 2,56% 2,84% 3,14%
2 0,00% 0,83% 3,56% 4,23% 4,87%
3 0,00% 2,69% 4,01% 4,85% 5,81%
4 0,00% 2,69% 1,84% 2,29% 2,82%
5 0,00% 0,81% 0,56% 0,69% 0,85%
6 0,00% 2,28% 7,87% 8,77% 9,74%
VDS: „CRC“ VDS: „Hanoi“
Ergebnisse (relativ)Ergebnisse (relativ)
Pexp: 1,73% (=Anteil nicht aufgedeckter Fehler)Legende: 1,51% 1,73% 1,97%
Pmin: 1,51% Pmax: 1,97%