• Keine Ergebnisse gefunden

Trust-Based Runtime Monitoring of Distributed Component-Structured E-Commerce Software

N/A
N/A
Protected

Academic year: 2021

Aktie "Trust-Based Runtime Monitoring of Distributed Component-Structured E-Commerce Software"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Trust-Based Runtime Monitoring of Distributed Component-Structured

E-Commerce Software

Peter Herrmann, Heiko Krumm Computer Science Department University of Dortmund

Lars Wiebusch

E-Plus Mobilfunk GmbH, Düsseldorf

Contents:

♦ Component-Structured Software

♦ Runtime Auditing

♦ Trust Management Support

♦ E-Procurement Application Example

♦ Concluding Remarks

Application Appli-

cation Owner

Com- ponent Vendor

Trust

Compo- nent

Contract Models Contract

Models Contract

Models

checked by security wrapper System

Models (e.g., RBAC,

Info Flow)

Formal Deduction

Control

(2)

Component-Structured Software

Host Owner Compo-

nent

Application Compo-

nent

Compo- nent User

Application Owner

Contract Component

Supplier

Component Supplier

Contract Properties:

♦ Components:

z Units of composition z Independent deployment

Support reuse

z Independent development z Contractually specified

interfaces

Only explicit context dependencies

Support configuration

Platforms:

♦ Java Beans/EJB

♦ COM/DCOM/COM+

♦ CORBA component model

(3)

Component-Structured Software

Host Owner Compo-

nent

Application Compo-

nent

Compo- nent User

Application Owner

Contract Component

Supplier

Component Supplier

Contract Component security:

♦ Security objectives of distributed and mobile code systems

♦ New security objectives due to large number of principals:

z Protection of an application with respect to component attacks (confidentiality, integrity, availability,...) z Protection of an application

against a wrong coupling of components

z Protection of component vendors against wrong incriminations

z Trust management

(4)

Runtime Auditing

Application

Compo-

nent Observer Wrapper

CC1 CC1 CC1 CC1 Extended

Application Security Wrapper:

♦ Component contracts contain descriptions of security aspects

Model of legal interface actions

♦ Component in question is wrapped by an adapter

Interface traffic via adapter only

♦ Observer checks actual behavior against contract models

z Adapter reports interface traffic z Observer checks interface event

for compliance with the model z If an event is wrong,

» the component is blocked

» the application

administrator is notified

Adapter

(5)

Runtime Auditing

Application

Admin Requi- sition

Directory of Sellers (DirOfS) Interface

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:

♦ Temporal Logic

♦ Based on TLA

♦ State-Transition- Systems

♦ Coupling by syn-

chronously executed actions

Contract:

IfToS.ReqTender(Saddr)

always only if after reading S=DirOfS.read()

Saddr is member of the set S

(6)

Component Contract Policy Patterns:

♦ Confidentiality:

z Restriction of data flow

z Deterministic behavior to prevent hidden channels

♦ Integrity:

z Constraining of interface events and their arguments

♦ Availability:

z Minimum waiting times to

prevent denial-of-service attacks

z Maximum waiting times to prevent blocking of components

♦ Non-repudiation:

z Logging of events at a trusted third party service

Runtime Auditing

» Data flow access

» Data flow history

» Hidden channel functional dependency

» Hidden channel enabling history

» Hidden channel exec. time

» Integrity enabling condition

» Integrity enabling history

» Denial-of-service minimum waiting time

» Denial-of-service enabling history

» Blocking maximum waiting time

» Blocking enabling history

» Event logging

(7)

Trust Management Support

Application

Compo- nent

Adapter Observer Wrapper

CC1 CC1 CC1 CC1 Extended

Application Trust Information Service:

♦ Collects good and bad

evaluations on a component

♦ Calculates and offers trust values

Trust Information

Service

Trust Manager:

♦ Varies enforcement depending on the current trust value:

z Full observation z Spot checks z Remove wrapper

♦ Causes sealing of a component after an alarm message

♦ Replies inquiries from the Trust Information Service

♦ Notifies the Trust Information Service about severe violations

Trust

Manager

(8)

Trust Management Support

Trust modeling:

♦ Trust values:

z Interval [0,1]

z Triple <b, d, u>

» b: belief

» d: disbelief

» u: uncertainty b + d + u = 1

♦ Opinion triangle (Jøsang)

Belief Disbelief

Uncertainty

0

0

0

1 1

1

b u

♦ Trust value determination d

z Calculation from the number of

» positive experiences p

» negative experiences n

♦ Metric of Jøsang, Knapskog:

+ 1

= +

n p b p

+ 1

= +

n p d n

1 1

+

= +

n u p

z Metrics:

» Jøsang, Knapskog:

liberal philosophy ♦ Metric of Beth, Borcherding, Klein:

 

>

=

= −

0

; 0

0

; 1

n b n

α

p

» Beth, Borcherding, Klein:

unforgiving philosophy

(9)

Trust Management Support

Trust Information Service

Certification Authority Component

Designer

Component User

Trust Information Service:

♦ Storage of

z Component trust values z Recommendation trust

values of component users z Trust values are stored based

on ciphers

Privacy improvement

♦ Computation:

z Experience reports are checked for validity

User’s trust value

z Component trust values are computed by means of the subjective logic

♦ Application:

z Security wrapper control z Procurement decisions

Trust Value Manager Cipher

Service

Experience

Report

Checker

(10)

E-Procurement Application Example

Application:

♦ Commodity management of fast-food restaurants

♦ OBI (Open Buying on the Internet)

z Tender and Order formats

z B2B model

♦ Component system:

z Restaurant, Counting Stock, Catalog, Sellers adapted from the

SalesPoint-Framework z OBI-E-Requisitioner,

OBI-Buying Adapter, Logging Service

Buying Organization

Counting Stock

Restau- rant

Catalog Directory

of Sellers OBI-

E-Requisi- tioner Logging

Service

Selling Organi-

zation Selling Organi-

zation Selling Organi-

zation

OBI-

Buying

Adapter

(11)

E-Procurement Application Example

0. Check counting stock

0

Buying Organization

Restau- rant

Catalog Directory

of Sellers Logging

Service

Selling Organi-

zation Selling Organi-

zation Selling Organi-

zation

OBI-B2B model:

1

1. Ask buying organization for sellers

2.1 2.2

2.3

2. Request sellers for tenders

3.1

3.2 3.3

3. Receive tenders from sellers

4.2

4. Select winning seller and 4.1

generate an order

5.2

5.1 5.3

5. Send order to the winning seller 6. Fulfill order 7. Pay order

OBI- E-Requisi-

tioner

Counting Stock

OBI-

Buying

Adapter

(12)

♦ Availability (4 policies):

z Preventing denial-of-service attacks by demanding minimum waiting times between calls

z Guaranteeing contemporary orders by demanding maximum waiting times for relevant steps

♦ Non-repudiation (1 policy):

z Logging tender requests, tenders, and orders at the logging service

E-Procurement Application Example

Critical Component:

OBI-E-Requisitioner

Security Policy Enforcement

13 policies based on the patterns:

♦ Confidentiality (4 policies):

z Relevant information is only forwarded to appropriate sellers z Hidden channels are not used to

send competitor’s tenders

♦ Integrity (4 policies):

z Relevant variables of the

environment components are not altered

z All selling organizations have a fair chance to win the order

z The ordered amount is sensible

(13)

E-Procurement Application Example

Application

Compo- nent

Observer Wrapper Trust

Manager Trust

Information Service

CC1 CC1 CC1 CC1 Extended

Application Wrapper enforcement policies:

♦ Application security policy:

z Highest security level:

always full observation z Medium security level:

Metric of Beth et al.;

» spot checks: b > 0,9999 (7000 positive reports)

» wrapper removed:

b > 0,99999 (11600 positive reports) z Lowest security level:

Metric of Jøsang, Knapskog;

» spot checks: b > 0,99 (p ≥ 100 · n)

» wrapper removed:

b > 0,999 (p ≥ 1000 · n)

Adapter

(14)

♦ Availability (4 policies):

z Preventing denial-of-service attacks by demanding minimum waiting times between calls

z Guaranteeing contemporary orders by demanding maximum waiting times for relevant steps

♦ Non-repudiation (1 policy):

z Logging tender requests, tenders, and orders at the logging service

Runtime overhead:

♦ 5.4 % by run-time enforcement

♦ Reduction to 3.2 % by using trust management

E-Procurement Application Example

Critical Component:

OBI-E-Requisitioner

Security Policy Enforcement

13 policies based on the patterns:

♦ Confidentiality (4 policies):

z Relevant information is only forwarded to appropriate sellers z Hidden channels are not used to

send competitor’s tenders

♦ Integrity (4 policies):

z Relevant variables of the

environment components are not altered

z All selling organizations have a fair chance to win the order

z The ordered amount is sensible

(15)

Concluding Remarks

Introduced:

♦ Runtime auditing of components

♦ Trust management support Other Application of Component Contract Models:

♦ Formal Verification at design time

z Contract models fulfill global security models

Web-page:

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

To do:

♦ Runtime auditing:

z UML models instead of cTLA

♦ Trust management support:

z System risk analysis to define wrapper enforcement policies

Application Appli-

cation Owner

Com- ponent Vendor

Trust

Compo- nent

Contract Models Contract

Models Contract

Models

checked by security wrapper System

Models (e.g., RBAC,

Info Flow)

Formal Deduction

Control

Referenzen

ÄHNLICHE DOKUMENTE

Data entries relevant to the solar system design include building information (location, usage, area, total area available for solar collectors and orientation)

Since component classes defined in other application bundles are out of scope for the core bundle’s class loader, the ApplicationImpl will throw an exception when a component

•  a primary key object, associated with the bean instance (access with method getPrimaryKey ) In summary, we can see that the use of beans is very similar to the use of

• a primary key object, associated with the bean instance (access with method getPrimaryKey ) In summary, we can see that the use of beans is very similar to the use of

The remote interface defines the methods that the entity bean provides to the client. It reflects the functionality of

The focus of such component models can be classified roughly into six areas: (1) Composition of components; (2) provision of functionality of a component and its appropriate

A high-level virtual machine (VM) such as the Java VM is a good basis for an architec- ture in which untrusted programs can manipulate secrets, because the VM has absolute control

1: the card holder inserts the card into the filling station, sees the number of value points left on the card, selects the number of points to load, and inserts the necessary