Entwicklung sicherheitskritischer Software · 2019. 9. 2. · beurteilung Phase 4 Festlegung von...

Post on 13-Mar-2021

1 views 0 download

transcript

Entwicklung sicherheitskritischer Software & HardwareEin Erfahrungsbericht

ECC 2019Michael Schuler

CSA Engineering AG

Agenda

Allgemeines und Vorgehen

Requirements Management

Verifikation & Validierung

Werkzeuge-Validierung

Normenumfeld

EN 50126 (RAMS)

EN 50128 (Software)

EN 50129 (System)

EN 50159 (Kommunikation)

Vom Produkt zur Applikation

Spezifische Applikation

Generisches Produkt

Generisches Produkt

Generisches Produkt

Generische Applikation

Generisches Produkt

Generisches Produkt

Generisches Produkt

Vorgehen im Projekt

Spezifische Applikation

Umfang Release 2

VerifkationRelease 2

SicherheitsplanRelease 2

ValidierungRelease 2

Spezifische ApplikationRelease 2

HW Release 1(generisches

Produkt)

SW Release 2(spezifische Applikation)

Phasen-VerifikationSystem

(EN 50126/29)

Phasen-VerifikationSoftware

(EN 50128)

Änderungsentwicklung

Neue Funktionalität

Neue Funktionalität

Neue Funktionalität

Spezifische ApplikationRelease 1

HW Release 1(generisches

Produkt)

SW Release 1(spezifische Applikation)

Change-Request

Change-Request

Change-Request

Änderungs-Auswirkungsnalyse

Learning Vorgehen

Mit generischen Applikationen arbeiten

Mehr Intialaufwand

Einfachere Änderung / Erweiterung

Tätigkeiten CSA

Testing

Sicherheitsnachweisführung

Verifikation und Validierung

Lebenszyklus EN 50126

Phase 7 Herstellung

Phase 8Integration

Phase 9Systemvalidierung

Phase 10Systemabnahme

Phase 11Betrieb, Instandhaltung und

Leistungsüberwachung

Phase 12Ausserbetriebnahme

Risikobewertung

Legende:

Implementierung und Nachweis der Übereinstimmungen mit den RAMS

Anforderungen

Betrieb, Instandhaltung und Ausserbetriebnahme

Phase 1Konzept

Phase 2Systemdefintionen und betrieblicher Kontext

Phase 3Risikoanalyse und

beurteilung

Phase 4Festlegung von

Systemanforderungen

Phase 5Architektur und Aufteilung von Systemanforderungen

Phase 6Entwurf und

Implementierung

Unabhängigkeiten der Rollen

EN 50129:2003

EN 50128:2011

Requirements Management

Requirements / V-ModellSystemanforderungs-

spezifikation Systemtest / Validation

Gefährdungsanalyse und Risikobewertung

Sicherheitsanforderungs-spezifikation

Funktionale Sicherheitsanforderungen

Sicherheitsintegritäts-anforderungen

Sicherheit gegen systematische Fehler

Sicherheit gegenzufällige Fehler

QualitätsmanagementberichtSicherheitsmanagement-

bericht

Technischer Sicherheitsbericht

Funktionaler Sicherheitstest/Validation

Systemarchitekturentwurf Integrations- und Installationstests

Hardware-EntwurfSoftware-Entwurf Hardware-Validation Software-Validation

Implementierung

EN 50129

Requirements / V-Modell

EN 50128

Softwareentwicklungsphase (extern)

SW-Begutachtungsphase

SW-Wartungphase

SW-Anforderungsphase SW-Validierungsphase

SW-Architektur- und Entwurfsphase SW-Integrationsphase

SW-Komponententestphase SW-Komponentenentwurfsphase

SW-Komponenten-implementierungsphase

Softwareentwicklungsphase (extern)

System-Anforderungs-spezifikationSystem-Sicherheits-

anforderungs-spezifikation

System-Architektur-beschreibung

System-Sicherheitsplan

SW-Anforderungsphase

SW-Anforderungs-spezifikation

Gesamtsoftware-Testspezifikation

SW-Anforderungs-verifikationsbericht

SW-Architektur- und Entwurfsphase

SW-Architektur-spezifikation

SW-Entwurfs-spezifikation

SW-Schnittstellen-spezifikation

SW-Integrationstest-

spezifikationSW/HW-

Integrationstest-spezifikation

Software-Architektur- und

Entwurfs-verifikationsbericht

SW-Komponentenentwurfsphase

SW-Komponenten-entwurfs-

spezifikation

SW-Komponenten-testspezifikation

SW-Komponenten-entwurfs-

verifikationsbericht

Learnings Requirements & Traceability

Stufengerechte Erfassung

Zusammenfassende Dokumente

Reports in ALM-Tool generieren

Verifikation und Validierung

Verifikation / V-ModellSW-Komponententestphase

SW-Komponententest-

bericht

SW-Quellcode-verifikationsbericht

EN 50128

SW-Komponententestphase SW-Komponentenentwurfsphase

SW-Komponenten-implementierungsphase

SW-Architektur- und Entwurfsphase SW-Integrationsphase

SW-Anforderungsphase SW-Validierungsphase

Softwareentwicklungsphase (extern)

SW-Begutachtungsphase

SW-Wartungphase SW-Integrationsphase

SW-Integrations-testbericht

SW/HW-Integrations-testbericht

SW-Integrations-verifikationsbericht

SW-Validierungsphase

Gesamtsoftware-Testbericht

Software-Validierungsbericht

Werkzeuge-Validierungsbericht

Freigabemitteilung / Release Note

SW-Begutachtungsphase

SW-Begutachtungsplan

Software-Begutachtungs-

bericht

SW-Wartungphase

SW-Wartungsplan

SW-Änderungs-aufzeichnungen

SW-Wartungs-aufzeichnungen

SW-Wartungs-Verifikationsbericht

Verifikation / V-Modell

EN 50129

Hardware-EntwurfSoftware-Entwurf Hardware-Validation Software-Validation

Implementierung

Systemarchitekturentwurf Integrations- und Installationstests

Sicherheitsanforderungs-spezifikation

Funktionale Sicherheitsanforderungen

Sicherheitsintegritäts-anforderungen

Sicherheit gegen systematische Fehler

Sicherheit gegenzufällige Fehler

QualitätsmanagementberichtSicherheitsmanagement-

bericht

Technischer Sicherheitsbericht

Funktionaler Sicherheitstest/Validation

Systemanforderungs-spezifikation

Gefährdungsanalyse und Risikobewertung

Systemtest / Validation

Prüfkriterien

Vorgaben aus den Normen

Kriterienkatalog in ALM-Tool

Review-Berichte

Einfachheit Begutachtung

Erfüllung Prüfkriterien

Learnings Verifikation & Validierung

Review-Protokolle mit Erfüllung Kriterien

Konsequent im ALM-Tool

Einfacher Aufbau Review

Werkzeuge-Validierung

T1

T2

T3

Klassifizierung Werkzeuge T1

Keine Ausgaben die zum ausführbaren Code beitragen

Beispiel: Texteditor, MS-Office, Webbrowser

T1

T2

T3

Klassifizierung Werkzeuge T2

Unterstützt Test, Verifikation Entwurf oder Code

Fehler Werkzeug kann zu Nicht-Erkennung von Fehlern führen

Erzeugt keine Fehler in ausführbarer SW

Beispiel: ALM-Tool, Messung Testabdeckung, Testwerkzeuge

T1

T3

T2

Klassifizierung Werkzeuge T3

Erzeugt Ausgangsdaten die zum ausführbaren Code beitragen

Beispiel: Quellcodecompiler, Werkzeuge zur Veränderung von Sollwerten während des Systembetriebs

T1

T2

T3

Anforderungen Validierung T1

Werkzeug passend zum Entwicklungsprozess ausgewählt

Anforderungen Validierung T2

Auswahl begründen

Mögliche Fehler analysieren à Massnahmen

Handbuch / Spezifikation

Konfigurationsmanagement

Neue Version à Begründung

Anforderungen Validierung T3

Nachweis:

Ausgangsprodukt entspricht Spezifikation

Erfüllung Sicherheitshandbuch

Vollständiger Funktionstest

Zertifizierte Werkzeuge

Learnings Werkzeuge-Validierung

Fehleranalyse T2 Werkzeuge

Konfigurationsmanagement

Bedienungsanleitungen

Zertifizierte Werkzeuge

Vielen Dank !

Feel free to contact us:www.csa.chmichael.schuler@csa.ch

Referenzen

EN 50126-1:2017

EN 50126-2:2017

EN 50128:2011

EN 50129:2003

https://pixabay.com

https://www.iconfinder.com

https://unsplash.com

Siemens Polarion