Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15
1. www.uni-stuttgart.de
Sichere und zuverlässige
Software-Systeme
Prof. Dr. Stefan Wagner
Institut für Softwaretechnologie
@prof_wagnerst
Wintersemester 2014/15
2. Sie dürfen diesen Vortrag
kopieren, teilen und verändern,
filmen und fotografieren,
bloggen, live-bloggen und twittern
unter der Voraussetzung, dass Sie ihn dem
Autor zuordnen und die Rechte und
Lizenzen der Teile respektieren.
basiert auf Vorlagen von @SMEasterbrook und @ethanwhite
4. Safety und Zuverlässigkeit
Annahme 1: Safety erhöht man dadurch, indem
man System- oder Komponentenzuverlässigkeit
erhöht. Falls Komponenten oder Systeme nicht
ausfallen werden auch keine Unfälle passieren.
5. Ein Flugzeug, das wegen einer
Softwaresicherung nicht startet:
sicher, aber nicht zuverlässig
6. Safety und Zuverlässigkeit
Neue Annahme 1: Eine hohe Zuverlässigkeit ist
weder notwendig noch hinreichend für Safety.
7. Unfälle als eine Folge von Ereignissen
Annahme 2: Unfälle werden durch eine Folge
von direkt zusammenhängenden Ereignissen
ausgelöst. Wir können Unfälle verstehen und das
Risiko analysieren, indem wir diese Folge von
Ereignissen betrachten.
10. Subjektive Auswahl
Warum wird für viele Unfälle „menschliches
Versagen“ des Operateurs, Fahrers oder Piloten
als Ursache genannt?
11. Systemische Faktoren
Technologie hat immer einen Kontext, in dem sie
existiert.
Wieso betrachten Ereignisketten dann
normalerweise nur technische Ereignisse?
13. Unfälle als eine Folge von Ereignissen
Neue Annahme 2: Unfälle sind komplexe
Prozesse, die das ganze soziotechnische System
beinhalten. Traditionelle Ereignisfolge-Modelle
können diesen Prozess nicht adäquat
beschreiben.
14. Systemtheorie
• Betrachtet Systeme immer als Ganzes
• Annahme: manche System-Eigenschaften können
nur ganzheitlich betrachtet werden
• Verknüpft soziologische und technische Aspekte
• Damit kann organisierte Komplexität analysiert
werden
• Beruht auf zwei Ideenpaaren:
• Emergenz und Hierarchie
• Kommunikation und Regelung
16. Eine Regelschleife
Controlled Process
Sensors
Controller
Actuators
Process Inputs Process Outputs
Disturbances
Measured
Variables
Controlled
Variables
Control Algorithms
Set Points,
17. Systemtheorie und Sicherheit
• Unfälle entstehen aus der Interaktion der
Systemkomponenten untereinander und mit der
Umwelt.
• Sicherheit ist eine emergente Eigenschaft die in
dieser Interaktion entsteht.
• Sicherheit wird durch eine Menge an
Einschränkungen für das Verhalten der
Systemkomponenten geregelt.
19. Sicherheit ist ein Regelungsproblem
Controlled Process
Sensors
Controller
Actuators
Process Inputs Process Outputs
Disturbances
Measured
Variables
Controlled
Variables
Control Algorithms
Set Points,
Hall-Effekt-
Sensor
Geräusch-lautstärke
Ausschalter
Raketen
Gegen-schub
Software-
Regler
20. Sicherheit ist ein Regelungsproblem
Controlled Process
Sensors
Controller
Actuators
Process Inputs Process Outputs
Disturbances
Measured
Variables
Controlled
Variables
Control Algorithms
Set Points,
Hall-Effekt-
Sensor
Geräusch-lautstärke
Ausschalter
Raketen
Gegen-schub
Regler
Automatischer
Regler
Mensch Physisches
Design
Soziale
Regelung
Prozess
21. STAMP
• System-Theoretic Accident Model and Process
• Zur Beschreibung dieser Regelprozesse
• Zum Verständnis, warum die Regelung nicht
funktioniert hat
• Zur Erarbeitung, wie die Regelung funktionieren
sollte
• Drei Konstrukte:
• Sicherheitseinschränkungen
• Hierarchische Sicherheitsregelstrukturen
• Modelle des Prozesses
22. Inappropriate,
ineffective or missing
Controller 2
2 Inadequate Control
Algorithm
(Flaws in creation,
process changes,
incorrect modification
or adaptation)
Sensor
Control input or
extermal information
wrong or missing
4 3
Component failures
Inadequate or
missing feedback
Feedback Delays
Inadequate
Operation
Incorrect or no
control action
Inadequate
Delayed
operation
Controller
Actuator
Controlled Process
Changes over time
information provided
Measurement
inaccuracies
Feedback delays
operation
1
4
Process Model
inconsistent,
incomplete, or
incorrect
3
Unidentified or
out−of−range
Process output
contributes to
disturbance
system hazard
Conflicting control actions
Process input
missing or wrong
Unsichere
Eingaben von höheren
Ebenen
Unsichere
Algorithmen
Falsches Modell
des Prozesses
Falsche Prozess-ausführung
23. Feedback Channels
Continual Improvement
Leadership Culture Behavior
Policy
Safety Management Plan
Safety Information System
Safety Constraints,
Operating Requirements,
and Assumptions
Engineering Development
Hazards
Physical
Usage
Operational Environment
Design Hazard
Decisions
Analysis
Problems, Experience
Investigation Reports
Management
Operations
Operations Safety Management Plan
Operational Controls
Maintenance Priorities
Change Management
Hazard Analysis
Audits/Performance Assessments
Problem Reporting System
Accident/Incident Causal Analysis
Education and Training
Continual Improvement
Safety Requirements/Constraints
Design Rational, Assumptions
Human Task Analysis
System Operations Analysis
Hazard Analysis and
Safety Control Structure
Safety−Guided Design
Responsibility, Accountability, Authority
Controls
24. Notwendige Aktivitäten
• Definieren von Unfällen und unakzeptablen
Verlusten
• Definieren von Gefährdungen (Hazards)
• Definieren von Sicherheitsanforderungen und
Einschränkungen
• Definieren der Sicherheitsregelstruktur
25. Accident: An undesired or unplanned event
that results in a loss, including loss of human
life or human injury, property damage,
environmental pollution, mission loss, etc.
Leveson (2011)
26. Beispiel Explorer Spacecraft
A1. Menschen oder menschliche Güter auf der Erde werden getötet
oder beschädigt.
A2. Menschen oder menschliche Güter werden außerhalb der Erde
getötet oder beschädigt.
A3. Außerirdische Organismen werden getötet oder mutiert.
A4. Die wissenschaftlichen Daten für die Missionsziele werden nicht
erhoben.
A5. Die wissenschaftlichen Daten für die Missionsziele werden
unbrauchbar bevor sie untersucht werden können.
A6. Irdische Organismen werden mit außerirdischen Organismen
verwechselt.
A7. Ein Störfall stört zukünftige Missionen.
27. Systemgefährdungen
Hazard: A system state or set of conditions
that, together with a particular set of worst-case
environmental conditions, will lead to an
accident (loss).
Leveson (2011)
Condition(s) Event Condition(s) Event
...
2 3
Event
1
29. Beispiele
Unfall Gefährdung
Menschen sterben durch Kontakt zu
giftigen Chemikalien.
Giftige Chemikalien aus dem Chemiewerk
sind in der Atmosphäre.
Menschen sterben durch radioaktive
Verstrahlung.
Radioaktive Materialien des
Kernkraftwerks sind nicht abgeschottet.
Fahrzeug kollidiert mit anderem Fahrzeug. Fahrzeug hält nicht den minimalen
Abstand zum anderen Fahrzeug ein.
Menschen sterben durch
Lebensmittelvergiftung.
Verkaufte Lebensmittel enthalten
gefährliche Stoffe.
31. Beispiele
Gefährdung Systemsicherheitseinschränkung
Giftige Chemikalien aus dem Chemiewerk
sind in der Atmosphäre.
Giftige Chemikalien dürfen nicht aus dem
Chemiewerk in die Atmosphäre gelassen
werden.
Radioaktive Materialien des
Kernkraftwerks sind nicht abgeschottet.
Radioaktive Materialien des
Kernkraftwerks müssen abgeschottet sein.
Fahrzeug hält nicht den minimalen
Abstand zum anderen Fahrzeug ein.
Fahrzeug muss immer den minimalen
Abstand zum anderen Fahrzeug einhalten.
Verkaufte Lebensmittel enthalten
gefährliche Stoffe.
Lebensmittel mit gefährlichen Stoffen
dürfen nicht verkauft werden.
32. Aufgabe
Sie sind verantwortlich für die Entwicklung
von Türen einer neuen S-Bahn. Sammeln Sie
Gefährdungen und passende
Einschränkungen!
8 Minuten
33. 3
HAZARD
Train starts with door open.
SAFETY DESIGN CONSTRAINT
1
Door opens while train is in motion
Door opens while impropertly
2
aligned with station platform
Train must not be capable of moving
with any door open.
Doors must remain closed while train
is in motion.
Door must be capable of opening only
after train is stopped and properly aligned
with platform unless emergency exists
(see hazard 6 below)
Door closes while someone
is in the doorway.
Door areas must be clear before
door closing begins.
Door that closes on an obstruction
does not reopen or reopened door
does not reclose.
An obstructed door must reopen to
permit removal of obstruction and then
automatically reclose.
Doors cannot be opened for Means must be provided to open doors
emergency evacuation
anywhere when the train is stopped for
emergency evacuation.
4
5
6
34. System-Theoretic Process Analysis
(STPA)
• Methode zur Gefährdungsanalyse
• Erkennen von Szenarien, die zu Verlusten führen
• Einsatz möglichst früh in der Systementwicklung
• Basis für Systementwurf und Systemzertifizierung
• Herkömmliche Methoden zur
Gefährdungsanalyse
• Fehlerbaumanalyse
• HAZOP
• FMEA
36. Schritt 1
Identifikation des Potentials für inadäquate Regelung
des Systems, die zu einer Gefährdung führen kann
• Eine notwendige Regelungsaktion wird nicht
angeboten oder befolgt.
• Eine inkorrekte oder unsichere Regelungsaktion
wird angeboten.
• Eine potentiell sichere Regelungsaktion wird zur
falschen Zeit oder Reihenfolge angeboten.
• Eine richtige Regelungsaktion wird zu früh
beendet.
37. Schritt 2
Bestimmung, unter welchen Umständen jede
potentiell gefährliche Regelungsaktion auftreten
kann.
• Ergänzung der Regelstruktur um Prozessmodelle
für jede Komponente
• Überprüfung aller Teile der Regelschleife, ob sie
die unsichere Regelungsaktion verursachen
• Betrachtung, wie die Regelung über die Zeit
nachlassen kann und Einbau von
Schutzmaßnahmen
38. Inappropriate,
ineffective or missing
Controller 2
2 Inadequate Control
Algorithm
(Flaws in creation,
process changes,
incorrect modification
or adaptation)
Sensor
Control input or
extermal information
wrong or missing
4 3
Component failures
Inadequate or
missing feedback
Feedback Delays
Inadequate
Operation
Incorrect or no
control action
Inadequate
Delayed
operation
Controller
Actuator
Controlled Process
Changes over time
information provided
Measurement
inaccuracies
Feedback delays
operation
1
4
Process Model
inconsistent,
incomplete, or
incorrect
3
Unidentified or
out−of−range
Process output
contributes to
disturbance
system hazard
Conflicting control actions
Process input
missing or wrong
Unsichere
Eingaben von höheren
Ebenen
Unsichere
Algorithmen
Falsches Modell
des Prozesses
Falsche Prozess-ausführung
39. HAZARD: Human exposed to high energy source
SYSTEM SAFETY CONSTRAINT: The energy source must be off whenever
FUNCTIONAL REQUIREMENTS of the Power Controller:
(2) When the door is closed, turn on the power
Power
Controller
Power
Human
Operator
Actuator
Source
Sensors
Turn off power
Turn on power
Door position is open
Door position is closed
Open Door
Close Door
the door is not completely closed.
(1) Detect when the door is opened and turn off the power
40. Beispiel Verriegelung
Turn off power
Turn on power
Process Model
Power Controller
Door Position
Open or partially open
Power
On
Off
Unknown
Power
On
Off
Unknown
Fully Closed
Unknown
Actuator
Sensors
Power
Source
Human Operator
Door position is open
Open Door
Close Door
Door position is closed
Process Model
41. Beispiel Verriegelung
Control Action not followed
Given Incorrectly
Wrong Timing or order too soon
Power off Power turned off
Stopped
Not
when door closed Applicable
Not
Applicable
Power not turned
off when door opened
Power on Power not turned on
when door closed or
opened
Door opened, controller
waits too long to turn
Power turned on
while door opened
off power
Power turned on too
early; door not fully
closed
Not Given or
42. Beispiel Verriegelung
HAZARD: Door opened, power not turned off.
Controller
Requirement not passed to designers/developers
or incompletely specified
Requirement not implemented correctly in software
Process model incorrect (says door closed and/or power
off when it is not)
Missing or spurious
feedback about
Actuator failure Sensor failure
executed in wrong order
door open
not received by actuator
state of door or power
Door opening not detected
or detection delayed
Power on;
Power off issued but
Actuator delays turning power off
Power on and power off commands
43. Beispiel Verriegelung
• Lämpchen zeigt Energie an/aus → Audits prüft
Wissen und Verhalten der Bediener
• Verstärkung der Energiequelle →
Änderungsprozess mit Prüfung, ob Abschaltzeiten
ausreichen
• Ungewollter Energieaustritt → Analyse der
Gefährdung und Überarbeitung des Designs
45. Vergleich
• FMEA und Fehlerbäume vor allem für Ausfälle
(Failures) geeignet
• HAZOP betrachtet darüber hinaus auch
Gefährdungen (Hazards)
• STPA betrachtet Gesamtsystem und ist auch für
organisatorische Teile geeignet
• STPA hat klares Endekriterium (alle
Regelungsaktionen abgehandelt)
• STPA erlaubt Priorisierung darüber, welche
Regelungsaktionen die größte Rolle in einem
Übergang zu Gefährdungen spielen
46. Weiterführende Literatur
N.
Leveson.
Engineering
a
Safer
World.
Systems
Thinking
Applied
to
Safety.
MIT
Press,
2012
P.
Checkland.
Systems
Thinking,
Systems
Practice.
John
Wiley,
1999
W.
Young,
N.G.
Leveson.
An
integrated
approach
to
safety
and
security
based
on
systems
theory.
Communications
of
the
ACM,
2014
http://sourceforge.net/projects/astpa/
47. Verwendete Bilder in diesem Foliensatz
Weite
Teile
dieses
Foliensatzes
basieren
auf
dem
Buch
„Engineering
a
Safer
World“
von
Nancy
Leveson.
„Airasia
plane“
by
JohnIeemk
(http://commons.wikimedia.org/wiki/File:Airasia_plane.jpg)
„Red
onion
sliced
to
the
heart“
by
anolobb
(https://flic.kr/p/8Wxwmz)
„Red
Onion“
by
Like_the
Grand_Canyon
(https://flic.kr/p/8m2Pep)
„Red
onion
cells
-‐
in
a
salt
solution“
by
tjmwatson
(https://flic.kr/p/aiBUc9)