• Keine Ergebnisse gefunden

Modellbasierte Softwaretechnikenfür sichere Systeme

N/A
N/A
Protected

Academic year: 2022

Aktie "Modellbasierte Softwaretechnikenfür sichere Systeme"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Willkommen zur Vorlesung

Modellbasierte Softwaretechniken für sichere Systeme

im Sommersemester 2012 Prof. Dr. Jan Jürjens

TU Dortmund, Fakultät Informatik, Lehrstuhl XIV

(2)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

4. Modell-basierte Sicherheit mit UML

(3)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Anforderungen an die UML Extension für Security I

Stellt grundlegende Sicherheitsanforderungen wie secrecy, integrity, authenticity bereit.

Ermöglicht die Erwägung verschiedener

Bedrohungsszenarios abhängig von den Fähigkeiten des Gegenspielers.

Ermöglicht das Einfügen wichtiger Sicherheitskonzepte (wie z.B. tamper-resistant hardware).

Ermöglicht das Aufnehmen von Sicherheitsmechanismen

(wie z.B. access control).

(4)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Anforderungen an die UML Extension für Security II

Stellt grundlegende Sicherheit bereit (z.B. mit (a)symmetrischer Verschlüsselung).

Ermöglicht die Begutachtung der physikalischen Sicherheit.

Ermöglicht das Einbeziehen des

Sicherheitsmanagement (z.B. secure workflow).

Also: Fügt domain-spezifisches Sicherheitswissen

(5)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Modell-basierte Sicherheit mit UMLsec

Erweiterung der Unified Modeling Language (UML) für sichere Systementwicklung.

• Evaluiert UML Modelle auf ihre Sicherheit.

• Fasst bestehende Regeln des gewissenhaften sicheren Entwickelns zusammen.

• Macht diese Entwicklern zugänglich die nicht auf sichere Systeme spezialisiert sind.

• Diskutiert Sicherheitsanforderungen aus frühen Designphasen im Systemkontext.

• Kann auch in der Zertifizierung benutzt

werden.

(6)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

UMLsec

Fügt wiederkehrende Sicherheits- anforderungen, feindliche

Szenarios, und Sicherheit-

mechanismen als vordefinierte Marker hinzu.

Nutzt verknüpfte logische

constraints um die Spezifikation zu

verifizieren. Dabei kommen Model-Checker und ATPs, die auf formalen Semantiken basieren, zum Einsatz.

Stellt sicher das die die Modellspezifikation in UML die

(7)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Was deckt UMLsec ab ?

Sicherheitsanforderungen: <<secrecy>>,…

Bedrohungsszenarien: Vewende Threats

adv

(ster).

Sicherheitskonzepte: Zum Beispiel <<smart card>>.

Sicherheitsmechanismen: Z.B. <<guarded access>>.

Grundlegende Sicherheit: eingebaute Verschlüsselung Physikalische Sicherheit: Im Verteilungsdiagramm.

Sicherheitsmanagement: Im Aktivitätsdiagramm.

Technologie spezifisch: Java, CORBA Sicherheit.

(8)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

UMLsec: Generelle Ideen

Aktivitätsdiagramm: Sicherer Kontrollfluss, Koordination Klassendiagramm: Austausch von Daten

hält Sicherheitslevel bereit

Sequenzdiagramm: Sicherheitskritische Interaktion

Zustandsdiagramm: Sicherheit innerhalb eines Objekts Verteilungsdiagramm: Physikalische Sicherheits-

anforderungen

Package: Ganzheitliche Betrachtung der Sicherheit

(9)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

UMLsec Profile (Auszug)

Zugangskontrolle durch „guard objects“

guarded objects acc.

through guards.

Subsystem guarded

access

Erzwingt einen fairen Handel

after start eventually reach stop

start, stop package

fair exchange

grundlegende Daten- sicherheitsanforderung provides secrecy,

integrity subsystem

data security

Informationsfluss prevents down-flow

high subsystem

no down-flow

strukturelle Interaktion Datengeheimhaltung call, send respect

data security subsystem

secure

dependency

gewährl. Geheimhaltung dependency

secrecy

erzwingt sichere

Kommunikationsverbind.

dependency security matched by links subsystem

secure links

Internetverbindung link

Internet

Erläuterung Bedingungen

(Constraints)

Tags Basisklasse

Stereotyp

(10)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

UMLsec als integriertes formales Framework

Basiert auf Formalisierung der wichtigsten

Sicherheitsanforderungen in einer integrierten Notation.

Erlaubt es, Anforderungen zu ordnen / kombinieren;

ermöglicht Modularität / Komponierbarkeit, hierarchische Zerlegung, Verfeinerung, … :

Zum Beispiel:

Wenn das System <<secure links>> und das Subsystem <<data security>> genügt,

dann erfüllt das System auch <<data security >>.

(11)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Anforderungen mit

Anwendungsfall-Diagrammen

Erfasst Sicherheitsanforderungen in Anwendungsfalldiagrammen.

Das relevante Stereotyp muss ebenfalls im

dazugehörigen Aktivitätsdiagramm auftauchen.

(12)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Fairer Handel

Ein Kunde kauft Ware bei einem Händler.

Wie kann man einen fairen Handel

erzwingen ?

Nach der Bezahlung muss der Kunde bis zur Lieferfrist warten und kann dann die

Zahlung zurückziehen.

(13)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

<<fair exchange>>

Sichert generisch die Bedingungen für fairen Handel.

Bedingung: Wenn in einem Aktivitätsdiagramm ein {start} Punkt erreicht wurde, wird letzten Endes immer ein {stop} Punkt erreicht.

(Das kann nicht für ein System sichergestellt

werden, das durch einen Angreifer komplett lahm

gelegt werden kann.)

(14)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel

<<fair exchange>>

Erfüllt, wenn kein

Angreifer das System stoppen kann: Nach der Zahlung kann der Kunde entweder die

angelieferte Ware in

Empfang nehmen, oder

hat die Möglichkeit, die

(15)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

<<Internet>>, <<encrypted>>, …

Arten von Kommunikationsverbindungen (Links) oder Systemknoten (Nodes).

Für Angreiferart A, Stereotyp s, gibt es eine Menge Threats (s) ∊ {delete, read, insert, access}

von Aktionen, die der Angreifer ausführen kann.

Standardangreifer:

Internet encrypted LAN

smart card

{delete, read, insert}

{delete}

Threats () Stereotype

A

d efa u lt

(16)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Frage

Architektur sicher gegen Standardangreifer ?

(17)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

<<secure links>>

Stellt sicher, dass die physikalische Ebene die

Sicherheitsbestimmungen bei der Kommunikation gegen einen gegebenen Angreifer des Typs A einhält.

Bedingung: Für jede Abhängigkeit d mit Stereotyp s ∊

{<<secrecy>>, <<integrity>>} zwischen Komponenten auf Knoten n≠m verläuft die Kommunikation über eine

Kommunikationsverbindung l zwischen n und m mit Stereotyp t sodass:

• Wenn s = <<secrecy>>: habe read Threats ∉ (t).

• Wenn s = <<integrity>>: habe insert Threats ∉ (t).

A

A

(18)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure links>>

Angreifer darf nicht lesen

(19)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure links>>

Angreifer kann lesen

(20)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure links>>

Angreifer darf nicht lesen Angreifer kann lesen

(21)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure links>>

Standard-Angreifertyp gegeben, Bedingung für Stereotyp

<<secure links>> verletzt:

In Bezug auf das Threats

default

(Internet) Szenario, bietet

<<Internet>> keine Sicherheit gegen den Standard Angreifer.

(22)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Frage

}

(23)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

<<Secure dependency>>

Stellt sicher, dass <<call>>- und <<send>>-Abhängigkeiten zwischen Komponenten die Sicherheitsanforderungen für versendete Daten respektieren. Das geschieht mit den Tags {secrecy}, {integrity}.

Bedingung: Für <<call>>- oder <<send>>-Abhängigkeiten von C nach D (und genauso für {integrity}):

Nachricht in D ist markiert {secrecy} in C genau dann wenn auch in D.

Wenn Nachricht in D als {secrecy} in C markiert ist, dann ist

Abhängigkeit mit <<secrecy>> markiert.

(24)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure dependency>>

}

(25)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure dependency>>

random() ist nicht geheim (secret)

}

(26)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure dependency>>

}

(27)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure dependency>>

call-Abhängigkeit stellt

keine Geheimhaltung (secrecy) bereit random() nicht geheim (secret)

+ random() muss geheim

(secret) sein

}

(28)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Beispiel <<secure dependency>>

Verletzt <<secure dependency>>: Random und die

}

(29)

Modellbasierte Software- Modellbasierte Software-

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Zusammenfassung

Idee hinter UMLsec

Übersicht UMLsec Stereotypen

Fair exchange

Secure links

Secure dependency

Referenzen

ÄHNLICHE DOKUMENTE

Durch einen Fehler in Suns Java Plug-ins für Browser können Angreifer mit präparierten Java Applets aus der Sandbox ausbrechen und die Kontrolle über den Rechner erlangen..

− Für die Modellierung reaktiver Systeme sollten lieber Zustandsautomaten verwendet werden. − Verzweigungen und deren Bedingungen sollten immer exakt

Mobile Objekte ausreichend geschützt (Schritt 5), da Objekte, die über das Internet gesendet werden signiert und versiegelt sind... techniken für sichere

Änderung: asymmetrischer Schlüssel in , Signatur für. Modifizierte Version sicher laut Analyse... Modellbasierte Software- Modellbasierte Software-. techniken für sichere

● Für alle Maßnahmen sind die einmaligen und wiederkehrenden Kosten zu berücksichtigen. ● Diesen Kosten wird der Nutzen gegenübergestellt, der sich durch die Risikoreduktion

Jan J¨ urjens, Christian Wessel Lehrstuhl 14 – Software Engineering Fakult¨ at f¨ ur Informatik Modellbasierte Softwaretechniken f¨ ur sichere Systeme – 24.04.2012..

Kunden k¨ onnen ¨ uber eine Benutzeroberfl¨ ache Informationen ¨ uber ihre laufenden Versicherungen einholen.. Auch diese Daten sind sensibel und m¨ ussen gesch¨

Identifi- kation Authenti kation.