• Keine Ergebnisse gefunden

Softwareengineering f¨ur Sicherheitssysteme

N/A
N/A
Protected

Academic year: 2021

Aktie "Softwareengineering f¨ur Sicherheitssysteme"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Softwareengineering f¨ ur Sicherheitssysteme

Florian Pitzl

12. November 2012

(2)

Inhaltsverzeichnis

Einleitung

Normen und Einstufungen

Fehlerbetrachtung

Softwareentwicklung

(3)

Einleitung

Normale Entwicklung

Eine gegeben Funktion erf¨ullen

Entwicklung sicherheitsgerichtete Systeme

Nicht nur geforderte Funktion realisieren, sondern auch sicherstellen, dass die L¨osung immer richtig

”funktioniert“

In der Sicherheitstechnik ist ein verantwortungsbewusstes Handeln notwendig!

(4)

Wichtige Normen und Einstufungen

Relevante Normen

Norm Anwendungsbereich

DIN EN61508

”Grundnorm“, u.a. Maschinenbau RTCA DO178B Luftfahrt

DIN EN60601 Medizintechnik

Einstufungen nach EN61508

SIL Folgen bei Versagen Gef¨ahrlicher

Ausfall nach [Jahre]

SIL1 Kleine Sch¨aden an Anlagen und Eigentum 10 SIL2 Große Sch¨aden an Anlagen, Personenverletzung 100 SIL3 Verletzung von Personen, einige Tote 1000 SIL4 Katastrophen, viele Tote und gravierende Um-

weltverschmutzung

10000

Die notwendige Einstufung erfolgt anhand der Eintrittswahrscheinlichkeit und den m¨oglichen Folgen. Die erreichte Einstufung ergibt sich aus der Fehlerbetrachtung.

(5)

Fehlerbetrachtung

Theorem

Es gibt kein System ohne Fehler. Die Eintrittswahrscheinlichkeit kann aber durch geeignete Maßnahmen begrenzt werden.

Ziel der Entwicklung ist es, die gef¨ahrlichen, nicht aufdeckbaren Fehler auf den nach der Risikoanalyse notwendigen SIL-Grad zu begrenzen.

(6)

Fehlerbetrachtung Hardware

In der Hardware k¨onnen neben systematischen Fehlern auch stochastische Fehler auftreten.

Die systematischen Fehler k¨onnen durch geeignete

Entwicklungsmaßnahmen

weitestgehend vermieden werden.

Es wird eine Analyse zur Fehlereintrittswahrscheinlichkeit und ihrer Auswirkung ¨uber Fehlermodelle wie z.B.

Fehlerbaum, FMEA, etc.

gemacht.

Abbildung :Fehlerbaum

(7)

Fehlerbetrachtung Systemstruktur

Zur Erreichung der geforderten Ausfallsicherheit kann es notwendig sein die Systemstruktur wie folgt auszulegen:

I mit Diagnosepfad

I teilweise redundant

I redundant

I teilweise diversit¨ar

I diversit¨ar

if(!comCopy((uint8_t*)&ownTime.syncId, (uint8_t*)&otherTime, (uint8_t)(sizeof(ownTime)), TIMEOUT_SHORT))

{

setError(ERR_CYCLE_TIME, TYPE_FATAL);

}

else if (otherTime.syncId != syncId.cycleTimeSyncId) {

setError(ERR_CYCLE_TIME_SYNC_ID, TYPE_FATAL);

}

else if (ownTime.time != otherTime.time) {

setError(ERR_CYCLE_TIME_DIFF, TYPE_FATAL);

} ...

Abbildung :1oo2 Systemstruktur

Abbildung :1oo2D Systemstruktur

(8)

Fehlerbetrachtung Software

In der Software k¨onnen nur systematische Fehler vorkommen. Diese werden durch entsprechende Entwicklungsabl¨aufe so weit wie m¨oglich vermieden.

In der Regel muss die Software auch Maßnahmen beinhalten um Hardwarefehler aufzudecken.

z.B. Maßnahmen f¨ur Stuck-At-0 in Speicherzelle:

I Ramtest

I Redundante Datenhaltung

I Diversit¨are Datenhaltung

I Blockinverse Datenhaltung

(9)

Ablauf Softwareentwicklung

Die Normen fordern die Einhaltung und Verwendung formaler

Entwicklungsmethoden wie z.B. dem V-Model. Dieser Prozess wird durch externe Zertifizierungsstellen wie z.B.

dem T ¨UV-S¨ud ¨uberwacht.

Abbildung :V-Model Abbildung :Ablauf nach EN61508

(10)

Entwicklungstechniken Softwareentwicklung

Anforderungen - je nach SIL

I Programmierrichtlinen (z.B.

MISRA)

I Eingeschr¨ankter

Sprachumfang (C/C++)

I Defensive Programmierung

I Testdriven development

Pr¨ ufungen je nach Kritikalit¨ at

I Review durch SW-Walkthrough

I SW-Modultest (Blackbox / Whitebox)

I SW-Integrationstests

I SW-Fehlerversuche

uint8_t Dis_itoa(uint16_t val, char_t *pBuffer, uint8_t size) {

static uint8_t retVal;

retVal = (uint8_t)ERR_NO_ERROR;

if (size == (uint8_t)0U) {

retVal = (uint8_t)ERR_DIS_PAR_INVALID;

}

else if (pBuffer == NULL) {

retVal = (uint8_t)ERR_DIS_PAR_POINTER;

} ...

return retVal;

Abbildung :Relativer Aufwand

(11)

Vielen Dank f¨ur die Aufmerksamkeit!

Quellen

I VDE, DIN EN61508, 2001

I Josef B¨orcs¨ok, Funktionale Sicherheit, 2008, ISBN 978-3-7785-4051-0

Abbildung

Abbildung : Fehlerbaum
Abbildung : V-Model Abbildung : Ablauf nach EN61508
Abbildung : Relativer Aufwand

Referenzen

ÄHNLICHE DOKUMENTE

Bei einer Multipliktion wird das wahre Er- gebnis wenig verf¨alscht, wenn man den einen Faktor etwas aufrundet und den anderen zum Ausgleich etwas abrundet.. Dagegen bei der

• platzieren die zu sortierenden Werte in den Knoten von oben nach unten und in jeder Ebene von links nach rechts. • Wir ¨uberpr¨ufen die Heap-Definition von unten nach oben und

Da die Translationsinvarianz und Homogenit¨ at der Norm nicht ben¨ otigt wird, kann man kx − yk durch eine allgemeine Abstandsfunktion d (x,

die

Stichtenoth 11.01.2006. Mathematik f¨ ur

Zeiterfassung (2 Punkte) Deklarieren und definieren Sie eine Funktion time, die aus einer Sequenz von Auf- tr¨ agen, die Summe der Wartezeiten f¨ ur alle Schalter liefert.. Benutzen

dividiert werden, wenn sie entweder dieselbe Basis und/oder denselben Exponenten

Welche Rechnungen kann man mit Wurzeln ausf¨ uhren.. Addition