www.uni-stuttgart.de
Sichere und zuverlässige Software-Systeme
Prof. Dr. Stefan WagnerInstitut für Softwaretechnologie
@prof_wagnerst
Wintersemester 2014/15
Sie dürfen diesen Vortrag
kopieren, teilen und verändern,
filmen und fotografieren,
bloggen, live-bloggen und twittern
unter der Voraussetzung, dass Sie ihn demAutor zuordnen und die Rechte undLizenzen der Teile respektieren.
basiert auf Vorlagen von @SMEasterbrook und @ethanwhite
Safety
System
Gefährdung
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.
Ein Flugzeug, das wegen einer Softwaresicherung nicht startet: sicher, aber nicht zuverlässig
Safety und Zuverlässigkeit
Neue Annahme 1: Eine hohe Zuverlässigkeit ist weder notwendig noch hinreichend für Safety.
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.
Heinrichs Dominomodell
Direkte Kausalität?
Subjektive Auswahl
Warum wird für viele Unfälle „menschliches Versagen“ des Operateurs, Fahrers oder Piloten als Ursache genannt?
Systemische Faktoren
Technologie hat immer einen Kontext, in dem sie existiert.Wieso betrachten Ereignisketten dann normalerweise nur technische Ereignisse?
Johnsons Drei-Ebenen-Modell
CONTRIBUTING FACTORS
DIRECT FACTORS
SYSTEMIC FACTORS
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.
Unfälle als eine Folge von Ereignissen
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
Emergenz und HierarchieZwiebelform
Ringform
Zellform
Eine Regelschleife
Controlled Process
Sensors
Controller
Actuators
Disturbances
Process OutputsProcess Inputs
MeasuredVariables
ControlledVariables
Control AlgorithmsSet Points,
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.
Einschränkung:Die Gegenschub-raketen bleiben eingeschalten,bis das Raumschiff dieOberfläche des Planetenerreicht.
Controlled Process
Sensors
Controller
Actuators
Disturbances
Process OutputsProcess Inputs
MeasuredVariables
ControlledVariables
Control AlgorithmsSet Points,
Sicherheit ist ein Regelungsproblem
Hall-Effekt-Sensor
Geräusch- lautstärke
Ausschalter Raketen
Gegen- schub
Software- Regler
Controlled Process
Sensors
Controller
Actuators
Disturbances
Process OutputsProcess Inputs
MeasuredVariables
ControlledVariables
Control AlgorithmsSet Points,
Sicherheit ist ein Regelungsproblem
Hall-Effekt-Sensor
Geräusch- lautstärke
Ausschalter Raketen
Gegen- schub
Regler
Automatischer Regler
Mensch Physisches Design
Soziale Regelung
Prozess
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
Controller 2
process changes,(Flaws in creation,
or adaptation)
Sensor
Component failures
Incorrect or no
Feedback Delays
missing feedbackInadequate or
control actionineffective or missing
Inappropriate,
Delayedoperation
Controller
Actuator
Controlled Process
extermal informationControl input or
wrong or missing
Changes over time
Measurement
Feedback delays
information provided
inaccuracies
InadequateOperationoperation
Inadequate
1
4
4 3
AlgorithmInadequate Control2
Process Modelinconsistent,
incomplete, orincorrect
3
Unidentified orout−of−range
Process outputcontributes to
disturbance
system hazard
Process inputmissing or wrong
Conflicting control actions
incorrect modification
Unsichere Eingaben von höheren
Ebenen
Unsichere Algorithmen
Falsches Modell des Prozesses
Falsche Prozess- ausführung
Feedback ChannelsContinual Improvement
and Assumptions
Safety Constraints,Operating Requirements,
AnalysisHazardDesign
Decisions
Leadership Culture Behavior PolicySafety Management PlanSafety Information System
Engineering Development
Investigation ReportsExperienceProblems,
Management
OperationsOperations Safety Management PlanOperational ControlsMaintenance PrioritiesChange Management
Hazard AnalysisAudits/Performance AssessmentsProblem Reporting System
Education and TrainingContinual Improvement
Accident/Incident Causal Analysis
Safety Requirements/ConstraintsDesign Rational, Assumptions
Hazards
Human Task Analysis
System Operations Analysis
PhysicalUsageOperational Environment
Hazard Analysis and
Safety Control Structure
Safety−Guided Design
Responsibility, Accountability, AuthorityControls
Notwendige Aktivitäten
• Definieren von Unfällen und unakzeptablen Verlusten
• Definieren von Gefährdungen (Hazards)• Definieren von Sicherheitsanforderungen und
Einschränkungen• Definieren der Sicherheitsregelstruktur
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)
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.
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) Condition(s)Event2 3
Event1
Event
Identifikation der Gefährdungen
Gefährdung (Hazard)
Verlust
führt zu wird ausgelöst durch
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.
Sicherheitsanforderungen
Gefährdung (Hazard)
Sicherheitsanforderungen und Einschränkungen
ableiten aus verhindern
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.
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
3
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
HAZARD
Train must not be capable of movingwith any door open.
Doors must remain closed while trainis in motion.
Door must be capable of opening onlyafter train is stopped and properly alignedwith platform unless emergency exists(see hazard 6 below)
Door closes while someoneis in the doorway.
Door areas must be clear beforedoor closing begins.
Door that closes on an obstructiondoes not reopen or reopened doordoes not reclose.
An obstructed door must reopen to permit removal of obstruction and thenautomatically reclose.
emergency evacuationDoors cannot be opened for Means must be provided to open doors
anywhere when the train is stopped foremergency evacuation.
6
5
4
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
Voraussetzungen schaffen• Unfälle definieren• Gefährdungen definieren• Gefährdungen zu Sicherheitseinschränkungen
umformulieren• Sicherheitsregelstruktur zeichnen
Schritt 1Identifikation 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.
Schritt 2Bestimmung, 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
Controller 2
process changes,(Flaws in creation,
or adaptation)
Sensor
Component failures
Incorrect or no
Feedback Delays
missing feedbackInadequate or
control actionineffective or missing
Inappropriate,
Delayedoperation
Controller
Actuator
Controlled Process
extermal informationControl input or
wrong or missing
Changes over time
Measurement
Feedback delays
information provided
inaccuracies
InadequateOperationoperation
Inadequate
1
4
4 3
AlgorithmInadequate Control2
Process Modelinconsistent,
incomplete, orincorrect
3
Unidentified orout−of−range
Process outputcontributes to
disturbance
system hazard
Process inputmissing or wrong
Conflicting control actions
incorrect modification
Unsichere Eingaben von höheren
Ebenen
Unsichere Algorithmen
Falsches Modell des Prozesses
Falsche Prozess- ausführung
(2) When the door is closed, turn on the power
PowerController
PowerHumanOperator
Actuator
Source
Sensors
Turn off powerTurn on power
Door position is openDoor position is closed
Open DoorClose Door
FUNCTIONAL REQUIREMENTS of the Power Controller:
HAZARD: Human exposed to high energy source
SYSTEM SAFETY CONSTRAINT: The energy source must be off wheneverthe door is not completely closed.
(1) Detect when the door is opened and turn off the power
Beispiel Verriegelung
Process Model
OnOffUnknown
Power
OnOffUnknown
Power
Fully ClosedUnknown
Open or partially openDoor Position
Power Controller
ActuatorSensors
SourcePower
Human Operator
Turn off powerTurn on power
Door position is open
Open DoorClose Door
Door position is closed
Process Model
Beispiel Verriegelung
not followed
Power off Power turned offwhen door closed Applicable
Not
Given IncorrectlyStoppedtoo soonWrong Timing or orderControl Action
ApplicableNot
openedwhen door closed orPower not turned onPower on
Power not turnedoff when door opened
Door opened, controllerwaits too long to turn
Power turned onwhile door opened
Power turned on tooearly; door not fully
closed
off power
Not Given or
Beispiel Verriegelung
executed in wrong order
Actuator failure Sensor failure
HAZARD: Door opened, power not turned off.
door open
Requirement not passed to designers/developersor incompletely specifiedRequirement not implemented correctly in softwareProcess model incorrect (says door closed and/or poweroff when it is not)
not received by actuator
Controller
state of door or power
Door opening not detected
Missing or spuriousfeedback about
or detection delayed
Power on;
Power off issued but
Actuator delays turning power off
Power on and power off commands
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
Werkzeugunterstützung
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
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/
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)