23
A Framework for Secure Service Composition Achim D. Brucker Francesco Malmignati Madjid Merabti Qi Shi Bo Zhou presented by Brett Lempereur ASE/IEEE International Conference on Information Privacy, Security, Risk and Trust (PASSAT) 2013-09-11

A Framework for Secure Service Composition

Embed Size (px)

DESCRIPTION

Modern applications are inherently heterogeneous: they are built by composing loosely coupled services that are, usually, offered and operated by different service providers. While this approach increases the flexibility of the composed applications, it makes the implementation of security and trustworthiness requirements much more difficult. As the requirements for security and trustworthiness, in nearly all sectors, are increasing dramatically, there is a need for new approaches that integrate security requirements right from the beginning while composing service-based applications. In this paper, we present a framework for secure service composition using a model-based approach for specifying, building, and executing composed services. As a unique feature, this framework integrates security requirements as a first class citizen and, thus, avoids the "security as an afterthought" paradigm.

Citation preview

Page 1: A Framework for Secure Service Composition

A Framework

for

Secure Service Composition

Achim D. Brucker Francesco MalmignatiMadjid Merabti Qi Shi Bo Zhou

presented byBrett Lempereur

ASE/IEEE International Conference onInformation Privacy, Security, Risk and Trust

(PASSAT)

2013-09-11

Page 2: A Framework for Secure Service Composition

The Aniketos ProjectEnable composite services to establish and maintain security and trustworthiness

Goals of the Aniketos platform:

Design-time discovery, compositionand evaluation, threat awareness

Runtime adaptation or change inservice configuration

Runtime monitoring, detection,notification

Two related dimensions:

Trustworthiness: Reputation,perception, centralized vs.distributed

Security properties: Behavior,contracts, interfaces, formalverification

Aniketos Fact-Sheet:

EU Integrated Project (IP), FP7 Call 5

Budget: € 13.9 Mio (€ 9.6 Mio funding)

42 month (Aug. 2010 – Feb. 2014)

Coordinator: Sintef (Norway)

http://www.aniketos.eu

ANIKE OS A Framework for Secure Service Composition 2013-09-11 3

Page 3: A Framework for Secure Service Composition

The Aniketos Process

Runtime Design-time

Service providers Service developers

Compose

Service end users

Invoke

Component change Change of threats Change of environment

Adapt/recompose

Provide

• Discovery and composition support based on trustworthiness, security properties and metrics

• Relevant threat awareness

• Trust and security monitoring

• Threat notification

•Self-protection •Trust evaluation •Security validation

• End user trust assurance and acceptance

• Identification of responsible party

ANIKE OS A Framework for Secure Service Composition 2013-09-11 4

Page 4: A Framework for Secure Service Composition

Outline

1 Motivation

2 Analysing Access Control Configurations

3 Quantifying Service Compositions

4 Conclusion

Page 5: A Framework for Secure Service Composition

Modeling Composition Plans using BPMN

Human-centric tasks

Automated tasks (services)

Orchestration of services

Start/end states

Logical control flow (if/and/or)

Error states

ANIKE OS A Framework for Secure Service Composition 2013-09-11 6

Page 6: A Framework for Secure Service Composition

Security and Trust Properties in Service CompositionsAccess control

Authenticated users

Authorization of users

SoD/BoD

No approval of own travels

Separation of finding and booking flights

Need-to-Know

Finding flights: only travel data

Payment: only price and credit card data

Trust

Use only trustworthy services

Trustworthiness may change over time

ANIKE OS A Framework for Secure Service Composition 2013-09-11 7

Page 7: A Framework for Secure Service Composition

How to ensure

security,

compliance,

and

trustworthiness

at

design time

and

runtime?

Page 8: A Framework for Secure Service Composition

Outline

1 Motivation

2 Analysing Access Control Configurations

3 Quantifying Service Compositions

4 Conclusion

Page 9: A Framework for Secure Service Composition

The Problem: RBAC with Separation of DutyRole-based access control (RBAC)

Subjects are assigned to roles

Permissions assign roles to tasks (resources)

Separation of duty (SoD)

restrict subjects in executing tasks

We analyze:

Does the RBAC configurationcomply to the SoD requirements?

yes: static SoDno: dynamic SoD

In case of a compliance violation:

change RBAC configurationensure dynamic enforcement of SoD

ANIKE OS A Framework for Secure Service Composition 2013-09-11 10

Page 10: A Framework for Secure Service Composition

Security Verification Module (RBAC/SoD Check)

ANIKE OS A Framework for Secure Service Composition 2013-09-11 11

Page 11: A Framework for Secure Service Composition

User Interface for the Service Designer

ANIKE OS A Framework for Secure Service Composition 2013-09-11 12

Page 12: A Framework for Secure Service Composition

Outline

1 Motivation

2 Analysing Access Control Configurations

3 Quantifying Service Compositions

4 Conclusion

Page 13: A Framework for Secure Service Composition

The Problem: Selection of the Optimal Composition

Ranking of service compositions

property of the compositioncompositions provide the same

functionalitysecurity and trustworthiness

Ranking according to

AvailabilityCosts

ANIKE OS A Framework for Secure Service Composition 2013-09-11 14

Page 14: A Framework for Secure Service Composition

Ranking Secure Service Compositions

Calculating the availability:

Description Calculation

Sequence∏n

i=1 Ai

Parallel min(A1, . . . ,An)

Exclusive Ai

Calculating the costs:

C =n∑i=1

Ci

ANIKE OS A Framework for Secure Service Composition 2013-09-11 15

Page 15: A Framework for Secure Service Composition

Example: Ranking Service Compositions

Assume the following availability values:

Find suitable hotels: 0.99

Find suitable flights: 0.96

Get user’s credit card data: 0.97

Book the hotel: 0.99

Book the flight: 0.98

Undo hotel booking: 0.94

We compute:

A = min(0.99,0.96)× 0.97 × 0.99 × 0.98 = 0.90

Assume the weights to 0.72 (availability) and 0.28 (cost)

V = 0.72 × A+ 0.28 × B− C

B

ANIKE OS A Framework for Secure Service Composition 2013-09-11 16

Page 16: A Framework for Secure Service Composition

Outline

1 Motivation

2 Analysing Access Control Configurations

3 Quantifying Service Compositions

4 Conclusion

Page 17: A Framework for Secure Service Composition

Conclusion and Outlook

Secure service compositions require:

Design time:modeling, analysis and ranking of secure servicesRun-time:enforcement, monitoring, service replacement, and re-planning

Today, we presented design time support for

Analysing security properties of service compositionsa method for ranking service compositions

Our work is part of the Aniketos secure Composition Framework

Further information about Aniketos: http://www.aniketos.eu

ANIKE OS A Framework for Secure Service Composition 2013-09-11 18

Page 18: A Framework for Secure Service Composition

Thank you for your attention!Any questions or remarks?

Page 19: A Framework for Secure Service Composition

Further Readings

Achim D. Brucker, Francesco Malmignati, Madjid Merabti, Qi Shi, andBo Zhou.A framework for secure service composition.In ASE/IEEE International Conference on Information Privacy, Security,Risk and Trust (PASSAT). IEEE Computer Society, 2013.

ANIKE OS A Framework for Secure Service Composition 2013-09-11 20

Page 20: A Framework for Secure Service Composition

Part II

Appendix

Page 21: A Framework for Secure Service Composition

The Aniketos Secure Composition Framework

ANIKE OS A Framework for Secure Service Composition 2013-09-11 22

Page 22: A Framework for Secure Service Composition

SecureBPMN: Adding Security Specifications

Subject

UserGroup0..*

0..* Role0..* 0..*

0..* 0..*

Permission1..* 0..*

Action

0..*

1..*

AuthorisationConstraint

SoD+max: Integer+static: Boolean

BoD+min: Integer+static: Boolean

1..*

0..*

ItemAwareElementAction

Activity0..*

AtomicItemAwareElementAction

CompositeItemAwareElementAction0..*

0..*

NeedToKnow

ResourceAC

0..*

1..*

1..*

0..*

Delegator

Delegation+maxDepth: Integer+negotiable: Boolean

SimpleDelegation TransferDelegation

1..1 0..*

1..*

0..*

1..1

0..*

0..* 0..*

Process

Resource

SecurityFlowNode FlowNode FlowElementSecurityFlow1..* 1

10..*

Obligation

0..*

1..*

Policy

0..*

1..*

0..* 0..*

0..*

1..*

ItemAwareElement

ProcessAction

AtomicProcessAction

CompositeProcessAction0..*

0..*

ActivityAction

AtomicActiviyAction

CompositeActivityAction0..*

0..*

Access Control

DelegationlCompliance (SoD/BoD)

Need to Knowl

Break-Glass

BPMN Meta-ModelActions

Visualisation

TriggerReset

0..*

1

1

0..*

1

0..*

BaseElement

Access Control

Delegation

Separation/Binding of Duty

Need to Know

Break Glass

ANIKE OS A Framework for Secure Service Composition 2013-09-11 23

Page 23: A Framework for Secure Service Composition

Analyzing (Dynamic | Static) Separation of Duty

Does the access control enforce a separation of duty constraint

Translate the composition plan to ASLan

hc rbac_ac(Subject, Role, Task) := CanDoAction(Subject, Role, Task):- user_to_role(Subject, Role), poto(Role, Task)

hc poto_T6 := poto(Staff, Request Travel)hc poto_T6 := poto(Manager, Approve Absence)hc poto_T7 := poto(Manager, Approve Budget)

Specify the test goal

attack_state sod_securitySod1_1(Subject0,Subject1,Instance1,Instance2):= executed(Subject0,task(Request Travel,Instance1)).

executed(Subject1,task(Approve Budget,Instance2)).executed(Subject3,task(Approve Absence,Instance3))&not(equal(Subject0,Subject1))&not(equal(Subject1,Subject2))&not(equal(Subject2,Subject3))

Run the model checker

Translate the analysis result back to BPMN (visualization)

ANIKE OS A Framework for Secure Service Composition 2013-09-11 24