Top Banner
Università degli Studi di Trento 2010-04-20 UNITN -Siahaan 1 Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan
99

Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Feb 21, 2019

Download

Documents

nguyendien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 1

Security-by-Contract using

Automata Modulo Theory (AMT)

Ida S.R. Siahaan

Page 2: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 2

Is an application trustworthy ?

Contract:

specification of application’s

behavior concerning security-

relevant actions

Page 3: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 3

Is an application trustworthy ?

• Reveal what it does– Design software with

security claims

• Demonstrate its evidence – Check that the application

fulfills its claims

• Verify its compliance– Compliance of Contracts

with Policies

• Assurance for trustworthiness

– Inline security policy into the application

– Run-time monitor the services

Contract:

specification of application’s

behavior concerning security-

relevant actions

Page 4: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 4

Is an application trustworthy ?

• Reveal what it does– Design software with

security claims

• Demonstrate its evidence – Check that the application

fulfills its claims

• Verify its compliance– Compliance of Contracts

with Policies

• Assurance for trustworthiness

– Inline security policy into the application

– Run-time monitor the services

Check

Contract-Policy

ComplianceNo

Yescorrect?

match?

Yes

Check Evidence

of Contract

No

Policy:

specification of application’s

acceptable behavior to be executed

on a platform concerning security-

relevant actions

Page 5: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 5

Is an application trustworthy ?

• Reveal what it does– Design software with

security claims

• Demonstrate its evidence – Check that the application

fulfills its claims

• Verify its compliance– Compliance of Contracts

with Policies

• Assurance for trustworthiness

– Inline security policy into the application

– Run-time monitor the services

Check

Contract-Policy

ComplianceNo

Yescorrect?

match?

Yes

Check Evidence

of Contract

No

Yes

Execute

No in-lining?

Run-time

monitoring

Optimize Policy

Inline Policy

Page 6: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 6

Road Map

Automata Modulo Theory

Security-by-Contract

Simulation Matching

On-the-fly Matching

IRM Optimization

Page 7: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 7

Thesis Works

Check

Contract-Policy

ComplianceNo

Yescorrect?

match?

Yes

Check Evidence

of Contract

No

Yes

Execute

No in-lining?

Run-time

monitoring

Optimize Policy

Inline Policy

Page 8: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 8

Thesis Works

Check

Contract-Policy

ComplianceNo

Yescorrect?

match?

Yes

Check Evidence

of Contract

No

Yes

Execute

No in-lining?

Run-time

monitoring

Optimize Policy

Inline Policy

Page 9: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 9

Thesis Works

Check

Contract-Policy

ComplianceNo

Yescorrect?

match?

Yes

Check Evidence

of Contract

No

Yes

Execute

No in-lining?

Run-time

monitoring

Optimize Policy

Inline Policy

Page 10: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 10

Why not Security Automata ?

• Class of Büchi automata accepting safety properties

(recognizers) [Schneider-TISSec’00]

– a countable set Q of automaton states,

– a countable set I of input symbols

– a transition function δ : (Q x Q ) →2Q , and

– a countable set Q0 ⊆ Q of initial automaton states

p

¬p

q0

¬(p ν r)

q1

Page 11: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 11

Liveness Property

• It is rare, but it exists

– Example: A security requirement for banking applets

• an application should use all the permissions it requires

• to avoid over-entitlement which can be the source of

potential (and possibly unknown) attacks

Page 12: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 12

Infinite Transitions

Example of a Policy:

"After PIM is accessed

only secure connections

can be opened''

Page 13: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 13

Infinite Transitions

joc(”https://a”)

joc(”https://b”)

joc(”https://ω”)

joc(”xyz://...”)

joc(”http://...”)

joc(”sms://...”)

jop()

¬jop()

*

jop()p0 p1

ep

Example of a Policy:

"After PIM is accessed

only secure connections

can be opened''

Page 14: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 14

Infinite Transitions

joc(”https://a”)

joc(”https://b”)

joc(”https://ω”)

joc(”xyz://...”)

joc(”http://...”)

joc(”sms://...”)

jop()

¬jop()

*

jop()p0 p1

ep

Example of a Policy:

"After PIM is accessed

only secure connections

can be opened''

Page 15: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 15

Security Policies Enforcement

Mechanisms

Expressiveness

Practical usage

high-accuracy

mechanisms

Page 16: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 16

Security Policies Enforcement

Mechanisms

Expressiveness

Practical usage

high-accuracy

mechanisms

light-weight

mechanisms

Page 17: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 17

Security Policies Enforcement

Mechanisms

Expressiveness

Practical usage

high-accuracy

mechanisms

light-weight

mechanisms

flexible

mechanisms

Page 18: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 18

Road Map

Automata Modulo Theory

Security-by-Contract

Simulation Matching

On-the-fly Matching

IRM Optimization

Page 19: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 19

Automata Modulo Theory (AMT) as flexible mechanism

AMT = Büchi automata + Satisability Modulo Theories

Satisability Modulo Theories (SMT) [Sebastiani-JSAT’07]• The problem of deciding the satisability of a first-order formula

with respect to some decidable first-order theory T (SMT(T))– A ΣΣΣΣ-theory is a set of first-order sentences with signature ΣΣΣΣ

• Examples of theories of interest:– Equality and Uninterpreted Functions (EUF),

– Linear Arithmetic (LA): both over the reals (LA(Q)) and the integers (LA(Z))

– Combination of two or more theories T1,...,Tn.

• Examples of SMT tools:– Z3, MathSAT

Page 20: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 20

Automata Modulo Theory (AMT)

• Let A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ, ΔΔΔΔ, s0, F> be an AMT [MS-NordSec’07]

– a finite set S of automaton states,

– a set ℰ of formulae in the language of the Σ -Theory Շ as input symbols,

– an initial state s0 ∈ S,

– a set F ⊆ S of accepting states, and

– a labeled transition relation Δ ⊆ S x ℰ x S

Page 21: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 21

Examples of AMT

Example of a Contract

"After PIM is opened no

connections are allowed"

Page 22: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 22

Examples of AMT

(Joc(url) ∧∧∧∧ p(urlp(urlp(urlp(url)=)=)=)=”https”)

t1

Jop

¬Jop

*

t0

et Joc(url) ∧∧∧∧ ¬¬¬¬((((p(urlp(urlp(urlp(url)=)=)=)=”https”)

Jop

¬Joc(url)

s1

Jop

¬Jop

*

s0

es

Joc(url)

Example of a Contract

"After PIM is opened no

connections are allowed"

Page 23: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 23

Examples of AMT

(Joc(url) ∧∧∧∧ p(urlp(urlp(urlp(url)=)=)=)=”https”)

t1

Jop

¬Jop

*

t0

et Joc(url) ∧∧∧∧ ¬¬¬¬((((p(urlp(urlp(urlp(url)=)=)=)=”https”)

Jop

¬Joc(url)

s1

Jop

¬Jop

*

s0

es

Joc(url)

Example of a Contract

"After PIM is opened no

connections are allowed"

Example of a Policy

"After PIM is accessed only secure

connections can be opened''

Page 24: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 24

Examples of AMT

(Joc(url) ∧∧∧∧ p(urlp(urlp(urlp(url)=)=)=)=”https”)

t1

Jop

¬Jop

*

t0

et Joc(url) ∧∧∧∧ ¬¬¬¬((((p(urlp(urlp(urlp(url)=)=)=)=”https”)

Jop

¬Joc(url)

s1

Jop

¬Jop

*

s0

es

Joc(url)

Example of a Contract

"After PIM is opened no

connections are allowed"

Example of a Policy

"After PIM is accessed only secure

connections can be opened''

Page 25: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 25

Symbolic Run in AMT

• Let A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ, ΔΔΔΔ, s0, F> be an AMT

• A symbolic run of A is a sequence of states alternating with expressions σσσσ = < q0e1q1e2q2 ... >:

– q0 = s0

– (qi, ei+1, qi+1) ∈ Δ and ei+1 is Շ -satisfiable:

• that is there exists some valuation v over Σ and Շ s.t. v ⊨⊨⊨⊨ ei+1

• valuation v is a pair (M, α): M a model of Շ and α an assignment

– Finite symbolic run σ = < q0e1q1e2q2 ... qn>

– Infinite symbolic run σ = < q0e1q1e2q2 ... >

• Accepting symbolic run:

– Finite run: qn ∈ F

– Infinite run: there exists some k s.t. qk∈ F and qk is visited

infinitely often

Page 26: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 26

Concrete Run in AMT

• Let A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ, ΔΔΔΔ, s0, F> be an AMT

• A concrete run of A is a sequence of states alternating with valuations σσσσ = < q0v1q1v2q2 ... >:

– q0 = s0

– there exists ei+1 ∈ ℰ :• (qi, ei+1, qi+1) ∈ Δ• there exists some valuation v over Σ and Շ s.t. v⊨⊨⊨⊨ ei+1

– Finite concrete run σ = < q0v1q1v2q2 ... qn>

– Infinite concrete run σ = < q0v1q1v2q2 ... >

• Acceptance condition as symbolic run

Page 27: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 27

Example of an Accepting Run in

AMT

t0 Jop(jop,file,permission) t1 Joc(joc,url)^p(url)=“https”

(Joc(url) ∧∧∧∧ p(urlp(urlp(urlp(url)=)=)=)=”https”)

t1

Jop

¬Jop

*

t0

et Joc(url) ∧∧∧∧ ¬¬¬¬((((p(urlp(urlp(urlp(url)=)=)=)=”https”)

Jop

t1 Jop(jop,file,permission) t1 Joc(joc,url)^p(url)=“https” ...

t0 (jop,PIM.CONTACT_LIST,PIM.READ_WRITE)

t1 (joc,“https://www.esse3.unitn.it/”)

t1 (jop,PIM.CONTACT_LIST,PIM.READ_ONLY )

t1 (joc,“https://online.unicreditbanca.it/login.htm”) ...

Symbolic Run

Concrete Run

Page 28: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 28

Deterministic AMT

• A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ, ΔΔΔΔ, s0, F> is a deterministic AMT

– S, Σ , Շ, ℰ, s0, F as before

– a labeled transition function Δ ⊆ S x ℰ x S:

• for every s, s1, s2 ∈ S and every e1, e2 ∈ ℰ• if (s, e1, s1) ∈ Δ and (s, e2, s2) ∈ Δ where s1≠ s2

• then (e1 ^ e2) is unsatisfiable in the Σ -Theory Շ• Why determinism matters ?

– nondeterministic complementation is complex and

exponential blow-up

• Why considering only the complementation of

deterministic automata ?

– security policies are naturally deterministic

• a platform owner should have a clear idea on what to allow or

disallow

Page 29: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 29

AMT Complementation and

Intersection

• Complementation:

– For each deterministic AMT automaton A there exists a (possibly nondeterministic) AMT that accepts all the words which are not accepted

by automaton A.

• Intersection: Let < Sa, ΣΣΣΣa , ՇՇՇՇa, ℰℰℰℰa, ΔΔΔΔa, s0a, Fa> and < Sb, ΣΣΣΣb , ՇՇՇՇb, ℰℰℰℰb,

ΔΔΔΔb, s0b, Fb> be AMT, the intersection automaton A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ,

ΔΔΔΔ, s0, F> :

– Σ = Σ a U Σb , Շ = Շ a U Շ b , ℰ = ℰ a U ℰ b,

– S = Sa x Sb S x {1,2} , s0=(s0a , s0

b, 1), F= Fa x Sb x {1} ,

– for every s ∈ S and for every e ∈ ℰ :

Δ={<(sa , sb,x), (ea ^ eb), (ta , tb, y)>|(sa, ea, ta) ∈∈∈∈ Δa and (sb, eb, tb) ∈∈∈∈ Δb and

DecisionProcedure(ea ^ eb) = SAT }

y = 2 if x = 1 and sa∈∈∈∈ Fa or if x = 2 and sb ∉∉∉∉ Fb

1 if x = 1 and sa∉∉∉∉ Fa or if x = 2 and sb ∈∈∈∈ Fb

Page 30: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 30

AMT Complementation and

Intersection

• Complementation:

– For each deterministic AMT automaton A there exists a (possibly nondeterministic) AMT that accepts all the words which are not accepted

by automaton A.

• Intersection: Let < Sa, ΣΣΣΣa , ՇՇՇՇa, ℰℰℰℰa, ΔΔΔΔa, s0a, Fa> and < Sb, ΣΣΣΣb , ՇՇՇՇb, ℰℰℰℰb,

ΔΔΔΔb, s0b, Fb> be AMT, the intersection automaton A = < S, ΣΣΣΣ , ՇՇՇՇ, ℰℰℰℰ,

ΔΔΔΔ, s0, F> :

– Σ = Σ a U Σb , Շ = Շ a U Շ b , ℰ = ℰ a U ℰ b,

– S = Sa x Sb S x {1,2} , s0=(s0a , s0

b, 1), F= Fa x Sb x {1} ,

– for every s ∈ S and for every e ∈ ℰ :

Δ={<(sa , sb,x), (ea ^ eb), (ta , tb, y)>|(sa, ea, ta) ∈∈∈∈ Δa and (sb, eb, tb) ∈∈∈∈ Δb and

DecisionProcedure(ea ^ eb) = SAT }

y = 2 if x = 1 and sa∈∈∈∈ Fa or if x = 2 and sb ∉∉∉∉ Fb

1 if x = 1 and sa∉∉∉∉ Fa or if x = 2 and sb ∈∈∈∈ Fb

Page 31: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 31

AMT Intersection

x>=5

x<3

x>=3

x<3

(a) Example of Automata

Page 32: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 32

AMT Intersection

x>=5

x<3

x>=3

x<3

B

A

C

A

(a) Example of Automata

Page 33: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 33

AMT Intersection

x>=5

x<3

x>=3

x<3

B

A

C

A

B⋀C

A

(a) Example of Automata (b) Boolean Abstraction

Page 34: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 34

AMT Intersection

x>=5

x<3

x>=3

x<3

B

A

C

A

B⋀C

A

A

(a) Example of Automata (b) Boolean Abstraction

(c) AMT Intersection

Page 35: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 35

AMT Intersection

x>=5

x<3

x>=3

x<3

B

A

C

A

B⋀C

A

A

(a) Example of Automata (b) Boolean Abstraction

(c) AMT Intersection (d) Normal Intersection

Page 36: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 36

So, What is Contract-Policy

Compliance Check ?

• Security policies as AMT

• Matching:

– Language Inclusion:

• Given two automata Ac and Ap representing respectively a

contract and a policy, we have a match when the set

execution traces of the Ac is a subset of the set of

acceptable traces of Ap.

– Simulation:

• every security-relevant action invoked by Ac can also be

invoked by Ap

Page 37: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 37

Road Map

Automata Modulo Theory

Security-by-Contract

Simulation Matching

On-the-fly Matching

IRM Optimization

Page 38: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 38

Contract-Policy Matching

PolicyAutomaton

ContractAutomaton

• Matching between a contract with a security policy problem can be reduced to an emptiness test of the product automaton

between a contract with a complement of policy.

Page 39: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 39

Contract-Policy Matching

ComplementPolicy

PolicyAutomaton

ContractAutomaton

• Matching between a contract with a security policy problem can be reduced to an emptiness test of the product automaton

between a contract with a complement of policy.

Page 40: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 40

Contract-Policy Matching

ComplementPolicy

PolicyAutomaton

Co-PolicyAutomaton

ContractAutomaton

• Matching between a contract with a security policy problem can be reduced to an emptiness test of the product automaton

between a contract with a complement of policy.

Page 41: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 41

Contract-Policy Matching

ComplementPolicy

PolicyAutomaton

Co-PolicyAutomaton

ContractAutomaton

On-the-fly emptiness check

• Matching between a contract with a security policy problem can be reduced to an emptiness test of the product automaton

between a contract with a complement of policy.

Page 42: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 42

Contract-Policy Matching

ComplementPolicy

TheoremSolver

PolicyAutomaton

Co-PolicyAutomaton

ContractAutomaton

On-the-fly emptiness check

• Matching between a contract with a security policy problem can be reduced to an emptiness test of the product automaton

between a contract with a complement of policy.

Page 43: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 43

Contract-Policy Matching Algorithm

• Input: a contract and a complement policy

• Output: fail or succeed

• Process:

– starts a depth first search procedure check_safety from initial state

– IF an accepting state in AMT is reached:

• IF the state contains an error state of complemented policy THENreport a security policy violation without further ado

• IF the state does not contain an error state of complemented policy THEN start a new depth first search check_availability from the candidate state to determine whether it is in a cycle

• IF cycle THEN report an availability violation

Page 44: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 44

Contract-policy Matching’s

Result using Language Inclusion

Proposition 4.1.

Let the theory ՇՇՇՇ be decidable with an oracle for

the SMT problem in the complexity class C then:

The contract-policy matching problem for AMT

using language inclusion is decidable in

• time: LIN −−−− TIMEC

• space: NLOG−−−−SPACE-completeC

Page 45: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 45

Contract-Policy Architecture

ComplementPolicy

OFF-DEVICEPolicy

AutomatonCo-Policy

Automaton

ContractAutomaton

NuSMV library

AddConstraints

Decision Procedure

Solve

RemoveConstraints

Declare variables

Matching algorithm

OnTheFlyemptiness

check

ON-DEVICE

match succeed/fail

Page 46: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 46

Road Map

Automata Modulo Theory

Security-by-Contract

Simulation Matching

On-the-fly Matching

IRM Optimization

Page 47: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 47

Contract-Policy MatchingPolicy

Automaton

ContractAutomaton

• Matching = Simulation

– Every security-relevant action invoked by Contract can also be invoked by

Policy

• Compliance Game

– Concrete: Contract tries to make a concrete move and Policy follows

accordingly to show that the Contract move is allowed

– Symbolic: IF expression of Contract implies expression of Policy is VALID

(modulo theory) THEN exists a move

– Adaptation of Jurdzinski’s algorithm on parity games (Jurdzinski 2000)

Page 48: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 48

Contract-Policy MatchingConstruct

ComplianceGame

PolicyAutomaton

ContractAutomaton

• Matching = Simulation

– Every security-relevant action invoked by Contract can also be invoked by

Policy

• Compliance Game

– Concrete: Contract tries to make a concrete move and Policy follows

accordingly to show that the Contract move is allowed

– Symbolic: IF expression of Contract implies expression of Policy is VALID

(modulo theory) THEN exists a move

– Adaptation of Jurdzinski’s algorithm on parity games (Jurdzinski 2000)

Page 49: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 49

Contract-Policy MatchingConstruct

ComplianceGame

PolicyAutomaton

ContractAutomaton

SimulationCheck

• Matching = Simulation

– Every security-relevant action invoked by Contract can also be invoked by

Policy

• Compliance Game

– Concrete: Contract tries to make a concrete move and Policy follows

accordingly to show that the Contract move is allowed

– Symbolic: IF expression of Contract implies expression of Policy is VALID

(modulo theory) THEN exists a move

– Adaptation of Jurdzinski’s algorithm on parity games (Jurdzinski 2000)

Page 50: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 50

Contract-Policy MatchingConstruct

ComplianceGame

TheoremSolver

PolicyAutomaton

ContractAutomaton

SimulationCheck

• Matching = Simulation

– Every security-relevant action invoked by Contract can also be invoked by

Policy

• Compliance Game

– Concrete: Contract tries to make a concrete move and Policy follows

accordingly to show that the Contract move is allowed

– Symbolic: IF expression of Contract implies expression of Policy is VALID

(modulo theory) THEN exists a move

– Adaptation of Jurdzinski’s algorithm on parity games (Jurdzinski 2000)

Page 51: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 51

Simulation as Compliance Game

• Winner of the game:

– Contract cannot move: Policy wins.

– Policy cannot move: Contract wins.

– Otherwise, two infinite concrete runs s and t resp. of

Contract and Policy:

• s is an accepting concrete run and t is not an accepting concrete run:

Contract wins.

• Other cases: Policy wins

• Failure of Matching

– Policy cannot move => Contract is non-compliant

Page 52: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 52

Symbolic vs Concrete Automaton

(a) Splitting Edges (b) Disjuncting Expressions

Page 53: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 53

Symbolic vs Concrete Automaton

• IF Ac complies with Ap THEN Ac concretely complies with Ap

– The converse does not hold in general.

– Contrast to the simulation notions of (Hennessy and Lin 1995)

• AMT fair simulation is stronger than AMT language inclusion

(a) Splitting Edges (b) Disjuncting Expressions

(c) Concrete Automaton (d) Abbreviations

Page 54: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 54

Normalized AMT

• For every q,q1 in set of states S there is at most one expression e1 in set of expressions ℰℰℰℰ s.t. (q, e1, q1) is in set of transitions ΔΔΔΔ– Example: from previous figure (a) is NOT normalized, (b) is

normalized

• Normalization is possible when:

– theory Շ is convex and closed under disjunction.

• Normalization preserves AMT determinism

• For normalized AMT: Ac concretely complies with Ap IFF Ac complies with Ap

Page 55: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 55

Simulation Policy-Contract Algorithm

• Matching between a contract with a security policy problem can be reduced to compliance game between a contract with a policy.

• Input: a contract and a policy

• Output: fail or succeed

• Process:– Create compliance game graph G = <V,E, l>

– μμμμ(v) := 0 for all v ∈∈∈∈ V

– WHILE μμμμ(v) ≠≠≠≠ μμμμnew(μμμμ, v) for some v ∈∈∈∈ V DO• μ := μnew(μ, v)

– IF μμμμ(v(s0c,s0

p))< ∞∞∞∞ THEN• succeed (Simulation exists)

Page 56: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 56

Contract-policy Matching’s Result

using Simulation

Proposition 6.2.

Let the theory ՇՇՇՇ be decidable with an oracle for the

SMT problem in the complexity class C then:

The contract-policy matching problem for AMT using fair

simulation is decidable in

• time: O(2. |E| .|V1|)

• space: O(|V|)

– By Lemma 6.1.

• |V1| is in O(|Sc| . |Sp|)

• |V0| is in O(|Sc| . |Sp| . | ΔΔΔΔc|)

• |E| is in O(|Sc| . |Sp| . | ΔΔΔΔc|)C

Page 57: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 57

Simulation Contract-Policy

Architecture

NuSMV library

PolicyAutomaton

AddConstraints

Decision Procedure

Solve

RemoveConstraints

Declare variables

Matching algorithm

Parity gamesimulation

ContractAutomaton

match succeed/fail

Construct game graph

Page 58: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 58

Matching Experiment

• Goal: proof-of-concept and deciding the best configuration of integrating matching algorithm with decision procedure

• Collected data: number of visited states, number of visited transitions, and running time for each problem in each design alternative

• Problem suite:

– sample of policy-contract (mis)matching pairs

– artificial problem to mimic large number of states

• Setup:

– Desktop: • PC (Intel(R) Pentium D CPU 3.40GHz, 3389.442MHz, 1.99GB of RAM, 2048 KB cache)

• On-the-fly: OS Linux version 2.6.20-16-generic, Kubuntu 7.04 (Feisty Fawn)

• Simulation: Microsoft(R) Windows XP Professional Version 2002 Service Pack 3

– Mobile device: • HTC P3600 (3G PDA phone) with ROM 128MB, RAM 64MB, 400MHz, Samsung(R)

SC32442A

• OS Microsoft(R) Windows Mobile 5.0 with Direct Push technology

Page 59: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 59

On-the-fly Matching

Experiment on Desktop

0

1

2

3

4

5

6

7

8

9

10

1 2 3

NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

0

2

4

6

8

10

12

14

16

1 2 3 4 5NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

(a) Match succeeds for real policies (b) Match fails for real policies

Page 60: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 60

On-the-fly Matching

Experiment on Desktop

0

1

2

3

4

5

6

7

8

9

10

1 2 3

NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

0

2

4

6

8

10

12

14

16

1 2 3 4 5NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

(a) Match succeeds for real policies (b) Match fails for real policies1

10

100

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

NUMBER OF PROBLEMS SOLVED

TIM

E (

s) lo

g

M1

M2

M3

M4

M5

M6

(c) Matches among synthetic contracts and policies

Page 61: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 61

On-the-fly Matching Experiment

Device vs Desktop

(a) Match succeeds

0

5

10

15

20

25

1 2 3 4 5

NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

DEVICE DESKOP

Page 62: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 62

On-the-fly Matching Experiment

Device vs Desktop

0

2

4

6

8

10

12

1 2 3

NUMBER OF PROBLEMS SOLVED

TIM

E (

s)

DEVICE DESKOP

(b) Match fails

Page 63: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 63

Matching Experiment

Simulation vs On-the-fly on Desktop

SIM

SIM

OTF

OTF

0

2

4

6

8

10

12

MATCH NOTMATCH

TIM

E (

s)

8.6026.0563

5.7284.0582

2.8581.9981

OTF (s)SIM (s)#SOLVED

10.0237.724

7.2635.8343

4.8253.9482

2.412.0141

OTF (s)SIM (s)#SOLVED

(a) Match succeeds

(b) Match fails

Page 64: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 64

Road Map

Automata Modulo Theory

Security-by-Contract

Simulation Matching

On-the-fly Matching

IRM Optimization

Page 65: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 65

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Contract

Code

ContractExtractor

Trusted Untrusted

extract security

relevant behaviors

from code

Page 66: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 66

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Code

ContractExtractor

SimulationChecker

Trusted Untrusted

extract security

relevant behaviors

from code

Page 67: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 67

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationChecker

Trusted Untrusted

extract security

relevant behaviors

from code

Page 68: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 68

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationCheckerYes

Trusted Untrusted

extract security

relevant behaviors

from code

Page 69: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 69

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Trusted Untrusted

extract security

relevant behaviors

from code

Page 70: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 70

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

Trusted Untrusted

extract security

relevant behaviors

from code

check policy

simulates

contract

Page 71: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 71

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCodeExecute

Trusted Untrusted

Execute

extract security

relevant behaviors

from code

check policy

simulates

contract

discharge behaviors

which are already

enforced by code

Page 72: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 72

IRM Optimization Models

Model1:

Contract Extractor

on Trusted part

Policy Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCodeExecute

Trusted Untrusted

Execute

extract security

relevant behaviors

from code

check policy

simulates

contract

discharge behaviors

which are already

enforced by code

inject policy

to the code

Page 73: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 73

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

Page 74: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 74

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

Page 75: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 75

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

Page 76: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 76

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

verify that the injected

optimized policy

complies to the code

Page 77: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 77

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

verify that the injected

optimized policy

complies to the code

Page 78: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 78

Optimizer and Rewriter on

Untrusted part

Model6:

Contract Extractor

on Untrusted part

Policy

Contract

Optimizer

Code

ContractExtractor

SimulationChecker

OptPolicy

Yes

No

Rewriter

SafeCode

Execute

Trusted Untrusted

ClaimChecker

Reject

ClaimCheckerNo

Yes

No

Yes

Execute

verify that the injected

optimized policy

complies to the code

Page 79: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 79

Optimizing Security Policy or Rewriter

Security Policy

Original Application

IRM Rewriter

Secured Application

Page 80: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 80

Optimizing Security Policy or Rewriter

• Security Automata SFI Implementation (SASI) [Erlingson-etal-

NSPW’99]– Minimizing TCB by working at the level of object code

• Trade off between moving more processes out of trusted part and the complexity of the whole process [Hamlen-Thesis’06]

• Efficient IRM Enforcement [Yan-etal-ASIACCS’09]– a constrained representation of history-based access control policies

– exploit the structure of this policy representation

– extended into a distributed optimization protocol

Security Policy

Original Application

IRM Rewriter

Secured Application

Page 81: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 81

Optimizing Security Policy or Rewriter

• Security Automata SFI Implementation (SASI) [Erlingson-etal-

NSPW’99]– Minimizing TCB by working at the level of object code

• Trade off between moving more processes out of trusted part and the complexity of the whole process [Hamlen-Thesis’06]

• Efficient IRM Enforcement [Yan-etal-ASIACCS’09]– a constrained representation of history-based access control policies

– exploit the structure of this policy representation

– extended into a distributed optimization protocol

Security Policy

Original Application

IRM Rewriter

Secured Application

Page 82: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 82

Optimizing Security Policy or Rewriter

• Security Automata SFI Implementation (SASI) [Erlingson-etal-

NSPW’99]– Minimizing TCB by working at the level of object code

• Trade off between moving more processes out of trusted part and the complexity of the whole process [Hamlen-Thesis’06]

• Efficient IRM Enforcement [Yan-etal-ASIACCS’09]– a constrained representation of history-based access control policies

– exploit the structure of this policy representation

– extended into a distributed optimization protocol

Insert Security Automata

Evaluatetransitions

SimplifyAutomata

CompileAutomata

push r1 push r1 push r1 push r1

if state==q0then state:=q1else ABORT

Page 83: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 83

Searching an Optimized Policy

• Given two automata C and P representing resp. the formal

specification of a contract and of a policy, we have an efficient

IRM O derived from P with respect to C when:

– every security-relevant event invoked by the intersection of O and C can

also be invoked by P [sound]

– O has smaller or equal number of transitions or states compared to P

[optimal]

Page 84: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 84

Searching an Optimized Policy

• Given two automata C and P representing resp. the formal

specification of a contract and of a policy, we have an efficient

IRM O derived from P with respect to C when:

– every security-relevant event invoked by the intersection of O and C can

also be invoked by P [sound]

– O has smaller or equal number of transitions or states compared to P

[optimal]

Page 85: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 85

Searching an Optimized Policy

• Given two automata C and P representing resp. the formal

specification of a contract and of a policy, we have an efficient

IRM O derived from P with respect to C when:

– every security-relevant event invoked by the intersection of O and C can

also be invoked by P [sound]

– O has smaller or equal number of transitions or states compared to P

[optimal]

Page 86: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 86

Inline-type Contract Policy

C=P b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

Page 87: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 87

Inline-type Contract Policy

CP

C=P

b

c

c1c0 b

c

p1p0

a

b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

Page 88: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 88

Inline-type Contract Policy

CP

C=P

b

c

c1c0 b

c

p1p0

a

b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

Inline

nothing

Page 89: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 89

Inline-type Contract Policy

CP

C=P

C Pc

d

p1p0

b

c

c1c0 b

c

p1p0

a

b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

b

c

c1c0

a

Inline

nothing

Page 90: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 90

Inline-type Contract Policy

CP

C=P

C P

PC

b

c

c1c0

a

c

d

p1p0

b

c

p1p0

b

c

c1c0 b

c

p1p0

a

b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

b

c

c1c0

a

Inline

nothing

Page 91: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 91

Inline-type Contract Policy

CP

C=P

C P

PC

b

c

c1c0

a

c

d

p1p0

b

c

p1p0

b

c

c1c0 b

c

p1p0

a

b

c

p1p0

a

Inline Type Examples

b

c

c1c0

a

b

c

c1c0

a

Inline

nothing

Inline

all

Page 92: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 92

Optimization Example

Inline-type

Contract

Policy

Optimized

Policy

C P

d

bc2

ac0 c1 c3 c4

e

d

f

g

b,n

d

p3

a,m

p0 p1 p4 p5

e

c

f

g

b,n

*

p3

a,m

p0 p1

c

Page 93: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 93

Optimization Example

Inline-type

Contract

Policy

Optimized

Policy

C P

d

bc2

ac0 c1 c3 c4

e

d

f

g

b,n

d

p3

a,m

p0 p1 p4 p5

e

c

f

g

b,n

*

p3

a,m

p0 p1

c

Page 94: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 94

Optimization Example

Inline-type

Contract

Policy

Optimized

Policy

C P

d

bc2

ac0 c1 c3 c4

e

d

f

g

b,n

d

p3

a,m

p0 p1 p4 p5

e

c

f

g

b,n

*

p3

a,m

p0 p1

c

Page 95: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 95

Publications

Journals:

• [DJM+08] L. Desmet, W. Joosen, F. Massacci, P. Philippaerts, F. Piessens, I. Siahaan and D. Vanoverberghe. Security-by-contract on the .NET platform. In Information Security Technical Report, Volume 13 Issue 1, 2008.

• [BDM+09] N. Bielova, N. Dragoni, F. Massacci, K. Naliuka and I. Siahaan. Matching in Security-by-Contract for Mobile Code. In Journal of Logic and Algebraic Programming

Conferences:

• [BTDS08] N. Bielova, M. DallaTore, N. Dragoni, and I. Siahaan. Matching Policies with Security Claims of Mobile Applications. In Proc. of The 3rd International Conference on Availability, Reliability and Security (ARES’08)

Page 96: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 96

Publications

Workshops:

• [DMNS07] N. Dragoni, F. Massacci, K. Naliuka, and I. Siahaan. Security-by-Contract: Toward a Semantics for Digital Signatures on Mobile Code. In Proc. of The 4th European PKI Workshop (EuroPKI'07)

• [MS07] F. Massacci and I. Siahaan. Matching midlet's security claims with a platform security policy using automata modulo theory. In Proc. of The 12th Nordic Workshop on Secure IT Systems (NordSec'07)

• [MS08] F. Massacci and I. Siahaan. Simulating Midlet's Security Claims with Automata Modulo Theory. In Proc. of ACM SIGPLAN 3rd Workshop on Programming Languages and Analysis for Security (PLAS 2008)

• [BMS08a] N. Bielova and I. Siahaan. Testing Decision Procedures for Security-by-Contract. In Proc. of Joint Workshop on Foundations of Computer Security, Automated Reasoning for Security Protocol Analysis and Issues in the Theory of Security (FCS-ARSPA-WITS'08)

• [MS09] F. Massacci and I. Siahaan. Optimizing IRM with Automata Modulo Theory. In 5th International Workshop on Security and Trust Management (STM 2009).

Page 97: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 97

Conclusions

• Security policies of both safety and liveness properties

• Mechanism for defining a general security policies (not platform-specific)

• Mechanism for representing an infinite structure as a finite structure

• Goal: – to provide contract-policy matching

– issues: small memory footprint, efficient computations

– the tractability limit is the complexity of the satisfiability procedure for the background theories used to describe expressions

• Results:– Contract-policy matching problem for AMT using language inclusion and

simulation

– Policy optimization problem for AMT using fair simulation

Page 98: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 98

Thank you

Page 99: Security-by-Contract using Automata Modulo Theory (AMT)disi.unitn.it/~siahaan/amt/talks/AMT_Introduction.pdf · Security-by-Contract using Automata Modulo Theory (AMT) Ida S.R. Siahaan.

Università degli Studi di Trento

2010-04-20 UNITN - Siahaan 99

References

• J.R. Büchi, “On a decision method in restricted second-order arithmetic. ”, Int. Cong. on Logic, Methodology and Philosophy of Science, 1962.

• U. Erlingsson, F.B. Schneider, “SASI Enfocement of Security Policies: A Retrospective”, New Security Paradigm Workshop 1999

• U. Erlingsson, F. B. Schneider, “IRM Enforcement of Java Stack Inspection”,

IEEE Symposium on Security and Privacy 2000

• K. Hamlen, “Security policy enforcement by automated program-rewriting,”Ph.D. thesis, Cornell University, 2006.

• F. Schneider, “Enforceable Security Policies”, ACM Transactions on Information and System Security, Vol. 3, No. 1, February 2000

• R. Sebastiani,“Lazy Satisability Modulo Theories”, Journal on Satisability, Boolean Modeling and Computation 3 (2007) 141-224

• F. Yan, P.W.L. Fong , “Efficient IRM Enforcement of History-Based Access Control Policies.”, ASIACCS 2009