Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa...

35
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal on Software Tools for Technology Transfer (STTT) Volume 10 Issue 6, October 2008 10.1007/s10009-008-0087-9 Presented by Jui-Lung Yao, Master Student of CSIE, CCU Automated verification of access control policies using a SAT solver 1

Transcript of Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa...

Page 1: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

1

Author :Graham Hughes , Tevfi k Bul tan

Computer Sc ience Department , Univers i ty o f Cal i forn ia , Santa Barbara , CA 93106, USA

Source :Internat ional Journal on Sof tware Tools for Technology

Transfer (STTT)Volume 10 Issue 6 , October 2008

10.1007/s10009-008-0087-9

Presented by Ju i -Lung Yao, Master Student o f CSIE, CCU

Automated verification of access control policies using a SAT solver

Page 2: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

2

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 3: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

3

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 4: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

4

Introduction

Flow chart

Described

Language of

XACML

PolicyTransformation

withFormal model

Booleanformula

in CNF

SAT solver

Boolean logic

formula

Convert toConjunctive

Normal Form(CNF)

Page 5: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

5

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 6: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

6

A simple XACML policy

EXtensible Access Control Markup Language

OASIS standard (Organization for the Advancement of Structured Information Standards)

Page 7: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

7

Example

The policy states that to be able to vote a person must be at least 18 years old and a person who has voted already cannot vote.

Page 8: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

8

Age

At least 18 years old

Page 9: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

9

Voted-yet

Voted already

Page 10: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

10

Action

Vote

Page 11: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

11

Environment

Our environment, the set of information we are interested in.

Page 12: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

12

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 13: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

13

Formal model

R = {Permit, Deny, NotApp, Indet} be the set of valid results.

P: define the set of valid policies

Page 14: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

14

Semantics of policies

To formalize the semantics of policies, we define a function

Page 15: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

15

Notation

We can now model our example as follows:

Page 16: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

16

Normal form

Define an equivalence relation:

Function f that takes a policy and returns another policy an eff-preserving transformation

Page 17: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

17

Shorthand

Define a shorthand 〈 S, R, T 〉 , where S, R and T are pairwise disjoint, as follows:

For any policy p a triple pT that is equivalent to it exists: the triple is just

Page 18: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

18

〈 S, R, T 〉 reduction

Function g

Page 19: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

19

Example

Applying f and g to policy

Page 20: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

20

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 21: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

21

Basic predicates

BP is a set of basic predicates

Non-terminal C

Page 22: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

22

Translation to Boolean logic formula

Page 23: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

23

Conversion to CNF

Creates an auxiliary variable for each sub-expression, and then combines the auxiliary variables.

Example

Page 24: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

24

Example

Let P1 = 〈 S1, R1, T1 〉 and let P2 = 〈 S2, R2, T2 〉 be two policies. We define the following partial orders:

Define:

Page 25: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

25

Example (cont’)

Generate a formula F,

Send the property ¬F to the SAT solver.

Page 26: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

26

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 27: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

27

Experiments

Use the Continue example, encoded into XACML by Fisler et al.. Continue is a Web-based conference management tool, aiding paper submission, review, discussion and notification.

Use the Medico example from the XACML specification, which models a simple medical database meant to be accessed by physicians.

Encoded voting example

Page 28: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

28

Experiments (cont’)

Property C1 tests that the conference manager correctly denies program committee chairs the ability to review papers he/she has a conflict with.

Property C2 and C7 test that the conference manager permits program committee members to edit reviews they own.

Property C3 and C8 test that the conference manager denies access to users without a defined role.

Property C4 and C5 test that the conference manager will permit a program committee member who has called a meeting to read documents concerning the meeting, but not other arbitrary documents.

Property C6 tests whether the conference manager permits program committee members to read all parts of a review.

Page 29: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

29

Experiments (cont’)

Property C9 tests whether the conference manager permits unauthorized user roles to set meetings.

Property C10 and C11 test that the conference manager permits program committee members who have filed their review to read the reviews of others, and denies program committee members that have not yet filed their review from reading other reviews.

Property M1 and M2 test whether the unified Medico policy permits a physician to edit the medical records of their patients.

Property V1 is just the voting property.

Page 30: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

30

Margrave

Margrave is a change impact analysis tool for XACML language.

The CONTINUE example only runs under Margrave 1-1 and XACML 1.0.

Margrave parses the XACML and converts it into a form suitable for analysis only once, and then can check as many properties as is desired. Margrave manages this by using a binary decision diagram (BDD) for analysis.

Page 31: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

31

Table 1: Verification performance under this work

Page 32: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

32

Table 2: Verification performance under Margrave

Page 33: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

33

Outline

IntroductionA simple XACML policyFormal modelBoolean logic formulaExperimentsConclusion

Page 34: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

34

Conclusion

We have presented a formal model for access control policies, and shown how to verify interesting properties about such models in an automated way.

We translate queries about access control policies to Boolean satisfiability problems and use a sat solver to obtain an answer.

For finite state specifications our approach is sound and complete as long as the user chooses a sufficiently large bound and the complex XACML functions are not used in the specification.

Page 35: Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.

35

Thanks for your listening