Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der...

47
www.uni-stuttgart.de Sichere und zuverlässige Software-Systeme Prof. Dr. Stefan Wagner Institut für Softwaretechnologie @prof_wagnerst Wintersemester 2014/15

description

Die Vorlesung vom 20.10.2014 über die auf Systemtheorie basierende Sicherheitsanalysetechnik STAMP und STPA.

Transcript of Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der...

Page 1: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

www.uni-stuttgart.de

Sichere und zuverlässige Software-Systeme

Prof. Dr. Stefan WagnerInstitut für Softwaretechnologie

@prof_wagnerst

Wintersemester 2014/15

Page 2: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart 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

Page 3: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Safety

System

Gefährdung

Page 4: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 5: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Ein Flugzeug, das wegen einer Softwaresicherung nicht startet: sicher, aber nicht zuverlässig

Page 6: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Safety und Zuverlässigkeit

Neue Annahme 1: Eine hohe Zuverlässigkeit ist weder notwendig noch hinreichend für Safety.

Page 7: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 8: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Heinrichs Dominomodell

Page 9: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Direkte Kausalität?

Page 10: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Subjektive Auswahl

Warum wird für viele Unfälle „menschliches Versagen“ des Operateurs, Fahrers oder Piloten als Ursache genannt?

Page 11: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Systemische Faktoren

Technologie hat immer einen Kontext, in dem sie existiert.Wieso betrachten Ereignisketten dann normalerweise nur technische Ereignisse?

Page 12: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Johnsons Drei-Ebenen-Modell

CONTRIBUTING FACTORS

DIRECT FACTORS

SYSTEMIC FACTORS

Page 13: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 14: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 15: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Emergenz und HierarchieZwiebelform

Ringform

Zellform

Page 16: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Eine Regelschleife

Controlled Process

Sensors

Controller

Actuators

Disturbances

Process OutputsProcess Inputs

MeasuredVariables

ControlledVariables

Control AlgorithmsSet Points,

Page 17: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 18: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Einschränkung:Die Gegenschub-raketen bleiben eingeschalten,bis das Raumschiff dieOberfläche des Planetenerreicht.

Page 19: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 20: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 21: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 22: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 23: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 24: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Notwendige Aktivitäten

• Definieren von Unfällen und unakzeptablen Verlusten

• Definieren von Gefährdungen (Hazards)• Definieren von Sicherheitsanforderungen und

Einschränkungen• Definieren der Sicherheitsregelstruktur

Page 25: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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)

Page 26: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 27: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 28: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Identifikation der Gefährdungen

Gefährdung (Hazard)

Verlust

führt zu wird ausgelöst durch

Page 29: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 30: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Sicherheitsanforderungen

Gefährdung (Hazard)

Sicherheitsanforderungen und Einschränkungen

ableiten aus verhindern

Page 31: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 32: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 33: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 34: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 35: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Voraussetzungen schaffen• Unfälle definieren• Gefährdungen definieren• Gefährdungen zu Sicherheitseinschränkungen

umformulieren• Sicherheitsregelstruktur zeichnen

Page 36: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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.

Page 37: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 38: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 39: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

(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

Page 40: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 41: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 42: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 43: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 44: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

Werkzeugunterstützung

Page 45: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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

Page 46: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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/

Page 47: Vorlesungsfolien "STAMP/STPA" zur Vorlesung "Sichere und zuverlässige Softwaresysteme" an der Universität Stuttgart Wintersemester 2014/15

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)