Enforceable Security Policies Revisited David Basin 1 e 2 Vincent - - PowerPoint PPT Presentation

enforceable security policies revisited
SMART_READER_LITE
LIVE PREVIEW

Enforceable Security Policies Revisited David Basin 1 e 2 Vincent - - PowerPoint PPT Presentation

Enforceable Security Policies Revisited David Basin 1 e 2 Vincent Jug Felix Klaedtke 1 alinescu 1 Eugen Z 1 Institute of Information Security, ETH Zurich, Switzerland 2 MINES ParisTech, France POST 2012 Basin, Jug e, Klaedtke, Z


slide-1
SLIDE 1

Enforceable Security Policies Revisited

David Basin1 Vincent Jug´ e2 Felix Klaedtke1 Eugen Z˘ alinescu1

1Institute of Information Security, ETH Zurich, Switzerland 2MINES ParisTech, France

POST 2012

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 1 / 16

slide-2
SLIDE 2

Security Policies Come in all Shapes and Sizes

History-Based Access Control Chinese Wall Information Flow Separation of Duty Business Regulations Data Usage Privacy Estonian Law . . .

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 2 / 16

slide-3
SLIDE 3

Security Policies Come in all Shapes and Sizes

History-Based Access Control Chinese Wall Information Flow Separation of Duty Business Regulations Data Usage Privacy Estonian Law . . .

Which of these are enforceable?

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 2 / 16

slide-4
SLIDE 4

Enforcement by Execution Monitoring

Enforceable Security Policies

  • F. Schneider, TISSEC 2000

Abstract Setting

System iteratively executes actions Enforcement mechanism intercepts them (prior to their execution) Enforcement mechanism terminates system in case of violation

Main Concerns

match with reality? enforceable ⇒ ⇒ ⇒ ⇐ ⇐ ⇐ safety System Enforcement Mechanism allowed action?

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 3 / 16

slide-5
SLIDE 5

Follow-Up Work

SASI Enforcement of Security Policies ´

  • U. Erlingsson and F. Schneider, NSPW 1999

IRM Enforcement of Java Stack Inspection ´

  • U. Erlingsson and F. Schneider, S&P 2000

Access Control by Tracking Shallow Execution History

  • P. Fong, S&P 2004

Edit Automata: Enforcement Mechanisms for Run-Time Security Properties

  • J. Ligatti, L. Bauer, and D. Walker, IJIS 2005

Computability classes for enforcement mechanisms

  • K. Hamlen, G. Morrisett, and F. Schneider, TISSEC 2006

Run-Time Enforcement of Nonsafety Policies

  • J. Ligatti, L. Bauer, and D. Walker, TISSEC 2009

A Theory of Runtime Enforcement, with Results

  • J. Ligatti and S. Reddy, ESORICS 2010

Do you really mean what you actually enforced?

  • N. Bielova and F. Massacci, IJIS 2011

Runtime Enforcement Monitors: Composition, Synthesis and Enforcement Abilities

  • Y. Falcone, L. Mounier, J.-C. Fernandez, and J.-L. Richier, FMSD 2011

Service Automata

  • R. Gay, H. Mantel, and B. Sprick, FAST 2011

Enforceable Policies Revisited

  • D. Basin, V. Jug´

e, F. Klaedtke, and E. Z˘ alinescu, POST 2012 . . .

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 4 / 16

slide-6
SLIDE 6

Enforcement by Execution Monitoring (Fundamental Open Question)

Match with Reality

Can we refine Schneider’s abstraction?

Limited Understanding

Schneider: enforceable ⇒ safety Necessary and sufficient condition?

Our Solution

Refined abstract setting by distinguishing between observable and controllable actions: clock tick administrative actions user actions

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 5 / 16

slide-7
SLIDE 7

Contributions

1 Formalization and Characterization of Enforceability 2 Realizability of Enforcement Mechanisms Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 6 / 16

slide-8
SLIDE 8

Refined Abstract Setting

Actions

Set of actions Σ = O ∪ C: O = {observable actions} C = {controllable actions}

Traces

Trace universe U ⊆ Σ∞: U = ∅ U prefix-closed Example: request · tick · deliver · tick · tick · request · deliver · tick . . . ∈ U

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 7 / 16

slide-9
SLIDE 9

Refined Abstract Setting

Actions

Set of actions Σ = O ∪ C: O = {observable actions} C = {controllable actions}

Traces

Trace universe U ⊆ Σ∞: U = ∅ U prefix-closed Example: request · tick · deliver · tick · tick · request · deliver · tick . . . ∈ U

Requirements (on the Enforcement Mechanism)

Computability: Make decisions Soundness: Prevent policy-violating traces Transparency: Allow policy-compliant traces

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 7 / 16

slide-10
SLIDE 10

Formalization

System Enforcement Mechanism

action an

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 8 / 16

slide-11
SLIDE 11

Formalization

System Enforcement Mechanism

action an DTM . . .

a1 a2

. . . an

− 1 an

#

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 8 / 16

slide-12
SLIDE 12

Formalization

System Enforcement Mechanism

action an+1 DTM . . .

a1 a2

. . . an

− 1 an an + 1 Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 8 / 16

slide-13
SLIDE 13

Formalization

System Enforcement Mechanism

action an+1 DTM . . .

a1 a2

. . . an

− 1 an an + 1

Definition

P ⊆ (O ∪ C)∞ is enforceable in U

def

⇐ ⇒ exists DTM M with

1

ε ∈ L(M)

“M accepts the empty trace”

2

M halts on inputs in

  • trunc(L(M)) · (O ∪ C)
  • ∩ U

“M either permits or denies intercepted action”

3

M accepts inputs in

  • trunc(L(M)) · O
  • ∩ U

“M permits intercepted observable action”

4

limitclosure

  • trunc(L(M))
  • ∩ U = P ∩ U

“soundness (⊆) and transparency (⊇)”

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 8 / 16

slide-14
SLIDE 14

Examples

Setting

Controllable actions: C = {login, request, deliver} Observable actions: O = {tick, fail} Set of actions: Σ = C ∪ O Trace universe: U = Σ∗ ∪ (Σ∗ · {tick})ω

Policies

1 “login must not happen within 3 time units after a fail.” 2 “each request must be followed by a deliver within 3 time units.” Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 9 / 16

slide-15
SLIDE 15

Examples

Setting

Controllable actions: C = {login, request, deliver} Observable actions: O = {tick, fail} Set of actions: Σ = C ∪ O Trace universe: U = Σ∗ ∪ (Σ∗ · {tick})ω

Policies

1 “login must not happen within 3 time units after a fail.”

⇒ enforceable

2 “each request must be followed by a deliver within 3 time units.”

⇒ not enforceable

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 9 / 16

slide-16
SLIDE 16

Evolution of Safety

Early Definitions

  • L. Lamport, 1977: “A safety property is one which states that something

bad will not happen.”

  • B. Alpern and F. Schneider, 1986: A property P ⊆ Σω is ω-safety if

∀σ ∈ Σω. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P

  • Folklore: A property P ⊆ Σ∞ is ∞-safety if

∀σ ∈ Σ∞. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P

  • T. Henzinger, 1992: A property P ⊆ Σω is safety in U ⊆ Σω if

∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P ∩ U

  • Basin, Jug´

e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 10 / 16

slide-17
SLIDE 17

Evolution of Safety

Early Definitions

  • L. Lamport, 1977: “A safety property is one which states that something

bad will not happen.”

  • B. Alpern and F. Schneider, 1986: A property P ⊆ Σω is ω-safety if

∀σ ∈ Σω. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P

  • Folklore: A property P ⊆ Σ∞ is ∞-safety if

∀σ ∈ Σ∞. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P

  • T. Henzinger, 1992: A property P ⊆ Σω is safety in U ⊆ Σω if

∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P ∩ U

  • Refined Definition

A property P ⊆ Σ∞ is ∞-safety if ∀σ ∈ Σ∞. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P

  • Basin, Jug´

e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 10 / 16

slide-18
SLIDE 18

Evolution of Safety

Early Definitions

  • L. Lamport, 1977: “A safety property is one which states that something

bad will not happen.”

  • B. Alpern and F. Schneider, 1986: A property P ⊆ Σω is ω-safety if

∀σ ∈ Σω. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P

  • Folklore: A property P ⊆ Σ∞ is ∞-safety if

∀σ ∈ Σ∞. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P

  • T. Henzinger, 1992: A property P ⊆ Σω is safety in U ⊆ Σω if

∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P ∩ U

  • Refined Definition

A property P ⊆ Σ∞ is U-safety if ∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P ∩ U

  • Basin, Jug´

e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 10 / 16

slide-19
SLIDE 19

Evolution of Safety

Early Definitions

  • L. Lamport, 1977: “A safety property is one which states that something

bad will not happen.”

  • B. Alpern and F. Schneider, 1986: A property P ⊆ Σω is ω-safety if

∀σ ∈ Σω. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P

  • Folklore: A property P ⊆ Σ∞ is ∞-safety if

∀σ ∈ Σ∞. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σ∞. σ<i · τ /

∈ P

  • T. Henzinger, 1992: A property P ⊆ Σω is safety in U ⊆ Σω if

∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. ∀τ ∈ Σω. σ<i · τ /

∈ P ∩ U

  • Refined Definition

A property P ⊆ Σ∞ is (U, O)-safety if ∀σ ∈ U. σ / ∈ P →

  • ∃i ∈ N. σ<i /

∈ Σ∗ · O ∧ ∀τ ∈ Σ∞. σ<i · τ / ∈ P ∩ U

  • Intuition: “P is safety in U and bad things are not caused by an O”

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 10 / 16

slide-20
SLIDE 20

Safety and Enforceability

Theorem

Let P be a property and U a trace universe with U ∩ Σ∗ decidable. P is (U, O)-enforceable ⇐ ⇒ ⇐ ⇒ ⇐ ⇒

1 P is (U, O)-safety, 2 pre∗(P ∩ U) is a decidable set, and 3 ε ∈ P.

Schneider’s “characterization”: only ⇒ for (1), where U = Σ∞ and O = ∅

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 11 / 16

slide-21
SLIDE 21

Contributions

1 Formalization and Characterization of Enforceability 2 Realizability of Enforcement Mechanisms Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 12 / 16

slide-22
SLIDE 22

Realizability of Enforcement Mechanisms

Fundamental Algorithmic Problems

Given a specification of a policy. Is this policy enforceable? If yes, can we synthesize an enforcement mechanism for it? With what complexity can we do so?

Some Results

Deciding if P is (U, O)-enforceable when both U and P are given as PDAs is undecidable. FSAs is PSPACE-complete. LTL formulæ is PSPACE-complete. MLTL formulæ is EXPSPACE-complete.

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 13 / 16

slide-23
SLIDE 23

Checking Enforceability and Safety (PDA and FSA)

Checking Enforceability

Let U and P be given as PDAs or FSAs AU and AP.

1 pre∗(L(AP) ∩ L(AU)) is known to be decidable 2 check whether ε ∈ L(AP) 3 check whether L(AP) is (L(AU), O)-safety

Checking Safety

Let U and P be given as PDAs or FSAs AU and AP. PDAs: undecidable in general FSAs: generalization of standard techniques

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 14 / 16

slide-24
SLIDE 24

Checking Enforceability and Safety (LTL and MLTL)

Checking Enforceability

Let U and P be given as LTL or MLTL formulæ ϕU and ϕP.

1 pre∗(L(ϕP) ∩ L(ϕU)) is known to be decidable 2 check whether ε ∈ L(ϕP) 3 check whether L(ϕP) is (L(ϕU), O)-safety

Checking Safety

Let U and P be given as LTL or MLTL formulæ ϕU and ϕP.

1 translate ϕU and ϕP into FSAs AU and AP 2 use the results of the previous slide on AU and AP 3 perform all these calculations on-the-fly Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 15 / 16

slide-25
SLIDE 25

Conclusion

Summary

Formalization of enforceability in a refined abstract setting Characterization of enforceability Realizability problem for enforcement

Future Work

Investigate more powerful enforcement mechanisms Investigate more expressive specification languages Provide tool support

Basin, Jug´ e, Klaedtke, Z˘ alinescu Enforceable Security Policies Revisited POST 2012 16 / 16