• Keine Ergebnisse gefunden

Modellbasierte Softwaretechnikenfür sichere Systeme

N/A
N/A
Protected

Academic year: 2022

Aktie "Modellbasierte Softwaretechnikenfür sichere Systeme"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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)

techniken für sichere Systeme

Systeme SS 2012SS 2012

20. Sichere Architekturen

(3)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Java Sicherheits-Architektur

Ursprünglich (JDK 1.0): Sandkasten-Modell.

Zu simplistisch und restriktiv.

JDK 1.2/1.3: feinere Sicherheitskontrolle (signing, sealing, guarding objects, . . . )

Aber: komplex, also Verwendung fehleranfällig.

(4)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Java Sicherheits-Politiken

Berechtigungseinträge bestehen aus:

• Schutzdomänen (URL's und Signaturschlüssel)

• Ziel-Resourcen (z.B. Dateien auf lokaler Machine)

• zugehörige Berechtigungen (z.B. read, write,

execute)

(5)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Signed und Sealed Objects

Brauchen Integritätsschutz für Objekte, die zur

Authentisierung verwendet oder zwischen JVMs ausgetauscht werden.

SignedObject enthält Objekt und seine Signatur.

Für Vertraulichkeitsschutz: SealedObject ist ein

verschlüsseltes Objekt.

(6)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Guarded Objects

java.security.GuardedObject schützt Zugang zu anderen Objekten.

Zugang über getObject Methode.

checkGuard Methode in java.security. Guard kontrolliert Zugang.

Gibt Referenz oder

SecurityException.

(7)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Problem: Komplexität

• Rechtevergabe abhängig von Ausführungskontext.

• Zugangskontrollentscheidungen bezüglich verschiedener Threads.

• Können verschiedene Schutzdomäne betreffen.

• Methode doPrivileged() unabhängig von Ausführungskontext.

Gibt Werkzeuge zur Überprüfung.

(8)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Entwurfsprozess

• Zugangskontroll-Anforderungen für sensitive Objekte formulieren.

• Guard objects mit Zugangskontrollen definieren.

• Überprüfen, dass Schutz der guard objects hinreichend ist.

• Überprüfen, dass Zugangskontrolle konsistent mit Funktionalität ist.

• Überprüfen, dass mobile Objekte hinreichend

geschützt sind.

(9)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Frage

Guarded objects korrekt eingesetzt ?

(10)

techniken für sichere Systeme

Systeme SS 2012SS 2012

<<guarded access>>

Stellt sicher, dass in Java <<guarded>> Klassen nur durch {guard} Klassen aufgerufen werden können.

Constraints:

• Referenzen der <<guarded>> Objekte bleiben geheim.

• Jede <<guarded>> Klasse ist durch eine

zugehörige {guard} Klasse abgesichert.

(11)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Example <<guarded access>>

<<guarded access>> überprüft, dass Guard korrekt

definiert.

(12)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel: Finanz-Anfrage

Die Internetbank bankeasy.com und ein Finanzberater finance.com bieten Dienstleistungen an. Die Applets benötigen dabei

bestimmte Privilegien.

• Applets von der Bank, die signiert sind, sollen Daten zwischen 13 und 14 Uhr lesen und schreiben dürfen.

• Applets von dem Finanzdienstleister, die signiert sind, sollen den Micropayment-Schlüssel

5 mal die Woche nutzen

dürfen.

(13)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Finanz-Anfrage: Klassendiagramm

Für Integrität und Vertraulichkeit werden Daten als Signed- und Sealed-Objekte über Internet gesendet.

GuardedObjects kontrollieren Zugriff.

(14)

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

Guard Objects (Schritt 2)

timeslot true zwischen 13 und 14 Uhr.

weeklimit true bis Zugang fünf mal gewährt wird;

incThisWeek erhöht

Zähler.

(15)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Finanz-Anfrage: Validierung

Guard Objekt gibt genügend Schutz (Schritt 3):

Analyse-Ergebnis: UML Spezifikation für Guard Objekte erteilt nur Genehmigungen, die durch Zugangsanforderungen impliziert sind.

– z.B.: Unter der Annahme, dass das aktuell ausgeführte Applet von Finance stammt und signiert ist, wird der Zugriff gewährt, wenn ein Micropayment Key genutzt wird, der bisher weniger als 5 mal zum Einsatz kam.

Zugangskontrolle konsistent mit Funktionalität (Schritt 4):

Analyseergebnis: Jedes Objekt, das laut Spezifikation Zugriff auf ein guarded Objekt erhalten soll, erhält diesen auch.

Mobile Objekte ausreichend geschützt (Schritt 5), da Objekte, die über das

Internet gesendet werden signiert und versiegelt sind.

(16)

techniken für sichere Systeme

Systeme SS 2012SS 2012

CORBA Zugangskontrolle

Objekt-Zugangskontrolle kontrolliert Zugang von Client zu Objekt über gegebene Methode.

Realisiert durch ORB und Security Service.

Access Decision Functions entscheiden, ob Zugang erlaubt. Abhängig von:

– Aufgerufener Operation,

– Privilegien des Principals, in dessen Vertretung

der Client agiert,

(17)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Example:

CORBA Access

Control with

UMLsec

(18)

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

with UMLsec

(19)

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

with UMLsec

(20)

techniken für sichere techniken für sichere

Systeme

Systeme SS 2012SS 2012

with UMLsec

(21)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Frage

Kein partielle Preisgabe von Geheimnissen?

[money+x>=1000]

(22)

techniken für sichere Systeme

Systeme SS 2012SS 2012

<<no down–flow>>

Stelle sicheren Informationsfluss sicher.

Bedingung:

Jeder Datenwert, der als {secrecy} spezifiziert ist,

darf nur die Datenwerte beeinflussen, die auch als {secrecy} spezifiert sind.

(Kann die Bedingung mit Bezug auf formale

Ausführungsemantik formalisieren).

(23)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<no down-flow>>

Information über

„money“ darf nicht offen gelegt werden

[money+x>=1000]

[money+x<1000]

(24)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<no down-flow>>

[money+x>=1000]

[money+x<1000]

(25)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<no down-flow>>

Externer Zugang

[money+x>=1000]

[money+x<1000]

(26)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<no down-flow>>

[money+x>=1000]

[money+x<1000]

(27)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<no down-flow>>

<<no down–flow>> verletzt: Partielle Information über das Geheimnis von wm() werden vom nicht geheimen rx() zurückgegeben.

[money+x>=1000]

[money+x<1000]

(28)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Sicherer Einsatz von Kryptographie

Variante von TLS (INFOCOM`99).

Kryptoprotokoll

sicher gegen

Standard-

(29)

techniken für sichere Systeme

Systeme SS 2012SS 2012

<<data security>>

Stellt Sicherheitsanforderungen an Daten, die als

<<critical>> markiert sind, sicher. Dabei wird das Bedrohungsszenario aus dem zugehörigen

Verteilungsdiagramm (Deployment-Diagramm) zugrundegelegt.

Constraints: Daten, die als {secrecy}, {integrity},

{authenticity}, {fresh} markiert sind, erfüllen die auf Basis der Ausführungssemantik der UML Diagramme

formalisierten Sicherheitsanforderungen. (Einzelheiten s.

nächster Vorlesungsabschnitt.)

(30)

techniken für sichere Systeme

Systeme SS 2012SS 2012

Beispiel <<data security>>

Variante von TLS (INFOCOM`99).

Verletzt {secrecy}

von s gegen

Standard-

(31)

techniken für sichere Systeme

Systeme SS 2012SS 2012

UMLsec Intro: Übersicht

Sicherheitsanforderungen: <<secrecy>>,…

Angriffszenarien: Benutze Threats

adv

(ster).

Sicherheitskonzepte: Beispiel <<smart card>>.

Sicherheitsmechanismen: Beispiel <guarded access>>.

Sicherheitsalgorithmen: Verschlüsselung eingebaut.

Physikalische Sicherheit: Gegeben in Verteilungsdiagramm.

Sicherheitsmanagement: Benutze Aktivitätsdiagramme.

Technologie-spezifisch: Java-, CORBA-Sicherheit.

Referenzen

ÄHNLICHE DOKUMENTE

Stellt grundlegende Sicherheitsanforderungen wie secrecy, integrity, authenticity bereit.. Ermöglicht die

Network level Ethernet, FDDI, Token Ring, PPP Switching

Biom etriescanner Sperre.. techniken für sichere techniken für

Ä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.