13
1 Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Soft Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Peter Herrmann, RvS, Informatik IV Universität Dortmund Inhalt: Komponentenstrukturier te Software Vertrauensbasierte Laufzeit-überwachung Komponentenkontraktmod elle Sicherheitsmodelle des Gesamtsystems Formale Verifikation Application Appli- cation Owner Com- ponent Vendor Trust Compo- nent Control Contract Models Contract Models Contract Models checked by security wrapper System Models (e.g., RBAC, Info Flow) Formal Deduction

1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Embed Size (px)

Citation preview

Page 1: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

1P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Formal-basierte Laufzeitüberwachungkomponentenstrukturierter Software

Peter Herrmann,RvS, Informatik IVUniversität Dortmund

Inhalt: Komponentenstrukturierte

Software Vertrauensbasierte Laufzeit-

überwachung Komponentenkontraktmodelle Sicherheitsmodelle des

Gesamtsystems Formale Verifikation

Application

Appli-cationOwner

Com-ponentVendor

Trust

Compo-nent

Control

ContractModelsContract

ModelsContractModels

checkedby

securitywrapper

SystemModels

(e.g., RBAC,Info Flow)

FormalDeduction

Page 2: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

2P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Komponentenstrukturierte Software

Komponenten: Eigenschaften:

Kopplungselemente Unabhängiger Einsatz

Wiederverwendbarkeit Unabhängige Entwicklung Schnittstellen werden in

Kontrakten spezifiziertNur explizite Kontext-abhängigkeitenKonfigurationsunterstützung

Plattformen: Java Beans / EJB COM/DCOM/COM+ CORBA component model

Host Owner

Compo-nent

Application

Compo-nent

Compo-nent

User

ApplicationOwner

Contract Component Supplier

Component SupplierContract

Page 3: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

3P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Komponentenstrukturierte Software

Host Owner

Compo-nent

Application

Compo-nent

Compo-nent

User

ApplicationOwner

Contract Component Supplier

Component SupplierContract

Sicherheit von Komponenten: Sicherheitsaspekte von verteilter

und mobiler Software Neue Sicherheitsaspekte aufgrund

der großen Anzahl an Prinzipalen: Schutz von Anwendungen gegen

Angriffe von Teilkomponenten (Vertraulichkeit, Integrität, Verfügbarkeit,...)

Schutz von Komponenten-lieferanten gegen falsche Anschuldigungen

Copyright-Schutz Erweiterte Authentifizierung Dynamische Zugriffs- und

Flusskontrolle Vertrauensmanagement

Page 4: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

4P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Vertrauensbasierte Laufzeitüberwachung

Application

Compo-nent

AdapterObserver

Wrapper

CC1CC1

CC1CC1

ExtendedApplication

Security Wrapper: Komponentenkontrakte enthalten

Beschreibungen von Sicherheits-aspekten

Modell zulässiger Schnitt-stellenaktionen

Komponente durch Adapter überwacht

Schnittstellenverkehr nur über Adapter

Observer überprüft tatsächliches Verhalten gegen Kontraktmodelle

Adapter meldet Ereignisse Observer überprüft Ereignisse Falsches Ereignis führt zu

Blockade und Meldung

Page 5: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

5P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Vertrauensbasierte Laufzeitüberwachung

Application

Admin Requi-sition

Directoryof Sellers(DirOfS)

Contract:IfToS.ReqTender(Saddr)

always only if after readingS=DirOfS.read() Saddr is member of the set SInterface

to Sellers(IfToS)

process dfh2(SellerAdr : Any)var S : set of SellerAdr ;init S = { } ;actions DirOfS_read(sell : set of SellerAdr) S‘ = sell ; IfToS_ReqTender(Saddr : SellerAdr) Saddr S S‘ = S ;end ;

cTLA: Temporale Logik Zustandstransitions-

systeme Kopplung durch

synchron ausgeführ-te Aktionen

Page 6: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

6P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Vertrauensbasierte Laufzeitüberwachung

Application

Compo-nent

AdapterObserver

Wrapper

ExtendedApplication

cTLACon-tract

ComponentInterface

WrapperGenerator

Observer

Adapter

Compo-nent

Wrapper-Erzeugung: Observer:

Java Modell der cTLA-Kontraktspezifikation Adapter:

Introspektion der Komponentenschnittstelle JavaCon-tract

CC1CC1

CC1CC1

Page 7: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

7P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Vertrauensbasierte Laufzeitüberwachung

Application

Compo-nent

AdapterObserver

Wrapper

TrustManager

TrustInformation Service

ExtendedApplication

Trust Information Service: Sammelt gute und schlechte

Bewertungen einer Komponente Berechnet VertrauenswerteTrust Manager: Passt Überwachungsregime an

aktuellen Vertrauenswert an: Volle Überwachung Stichproben Entfernen des Wrappers

Sperrt Komponente nach einer Alarmmitteilung

Gibt Bewertungen der über-wachten Komponente an den Trust Information Service

Informiert Trust Information über ernste Sicherheitsverletzungen

CC1CC1

CC1CC1

Page 8: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

8P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Basic Policy Patterns: Enabling condition:

Enabling history:

Minimum waiting time:

Maximum waiting time:

0

Komponentenkontraktmodelle

Sicherheitsziele: Vertraulichkeit:

Begrenzung des Datenfluss Deterministisches Verhalten zur

Verhinderung verdeckter Kanäle Integrität:

Beschränkung der Schnittstellen-ereignisse und ihrer Argumente

Verfügbarkeit: Minimale Wartezeiten gegen

Denial-of-Service-Angriffe Maximale Reaktionszeiten gegen

Blockaden von Komponenten Nicht-Abstreitbarkeit:

Loggen wichtiger Ereignisse bei einer Trusted Third Party

anyComp.Ev(arg)

Comp.Ev(arg) 1

Comp.Ev(arg)

OComp.Trg(arg)

anyComp.Ev(arg)

notbefore

anyComp.Ev(arg) before

Page 9: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

9P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Verfügbarkeit: Minimale Wartezeiten gegen

Denial-of-Service-Angriffe» Denial-of-service minimum

waiting time» Denial-of-service enabling

history Maximale Reaktionszeiten gegen

Blockaden von Komponenten» Blocking maximum waiting

time» Blocking enabling history

Non-Abstreitbarkeit: Loggen wichtiger Ereignisse bei

einer Trusted Third Party» Event logging

Komponentenkontraktmodelle

Policy Patterns: Vertraulichkeit:

Begrenzung des Datenfluss» Data flow access» Data flow history

Deterministisches Verhalten zur Verhinderung verdeckter Kanäle

» Hidden channel functional dependency

» Hidden channel enabling history

» Hidden channel exec. time Integrität:

Beschränkung der Schnittstellen-ereignisse und ihrer Argumente

» Integrity enabling condition» Integrity enabling history

Page 10: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

10P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Sicherheitsmodelle des Gesamtsystems

Verschiedene Modelltypen zur Modellierung von Sicherheitspolitiken: Role-Based Access Control (RBAC):

Vertraulichkeit, Integrität Nutzer werden in Rollen zusammen-

gefasst Rollenhierarchien Constraints

Spezifikationsmuster: ActiveRoles:

Beschreibung der für einen Nutzer gerade aktiven Rollen

EventPermissions: Beschreibung der für die Ausführung eines Ereignis notwendigen Rollen

RBAC-Constraints (z.B. DSD)Spezifikation besteht aus vielen Instanzen der beiden Muster

Ses-sions

OBSOPS

PRMS

Roles

Users

Page 11: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

11P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Model AM bycomposing

Application Security Policy Patterns

CombineProof CCM AM

from theorems

Model CCM bycomposing

cTLA ComponentContract Models

Formale Verifikation

Framework: Komponenten-

kontraktmodelle:cTLA Component Contract Security Patterns

Gesamtsystem-modelle:

cTLA Application Security Policy Patterns

Theoreme:Subsystem vonContract Patterns ApplicationPattern

AM

CCM

Verification

Application SecurityPolicy Patterns

Theorems

Component ContractSecurity Patterns

Framework

Page 12: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

12P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Formale Verifikation

THEOREM IntEnabHistToActiveRolesLETSys == PROCESSES

I : IntegrityEnablingHistorySTS (cId,iId,eId,A,CE,St,IS,EC,T); ACTIONS

Event (ce,cr,if,ev,arg) == I.Event(ce,cr,if,ev,arg);

Pars == rm SET[St → SUBSET(CR)] :: rm[IS] = IR /\

a St eEDT aA:: rm[T[(s,e,a)]] = (rm[s] AR[(e,a)] \ DR[(e,a)]);IN Sys /\ Pars

ActiveRoles(cId,iId,eId,A,Ro,CC,CR, IR,AR,DR);

NoChgCatal: DataFlowAc

AskIfBuyer: IntEnabHist

ActiveBuyers: ActiveRoles

NoChgStock: DataFlowAc

: Event-Permission

...AM

CCM

Proofs by means ofFramework Theorems

Anwendung

BuyCheap: IntEnabHist

Page 13: 1 P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

13P. Herrmann: Formal-basierte Laufzeitüberwachung komponentenstrukturierter Software

Schluss

Vorgestellt: Zustandsbasierte Überwachung von

komponentenstrukturierter Software durch Security Wrapper

Formaler Beweis, dass Komponentenkontrakte Systemsicherheitsmodelle erfüllen

Beweisunterstützung durch Spezifikationsframework

Web-Seite: ls4-www.cs.uni-dortmund.de/RVS/P-SACS/

Wünschenswert: Unterstützung der Theorem-

auswahl und Konsistenzchecks Weitere Systemmodelltypen

Application

Appli-cationOwner

Com-ponentVendor

Trust

Compo-nent

Control

ContractModelsContract

ModelsContractModels

checkedby

securitywrapper

SystemModels

(e.g., RBAC,Info Flow)

FormalDeduction