Checking Unwinding Conditions for Finite State Systems Deepak - - PowerPoint PPT Presentation

checking unwinding conditions for finite state systems
SMART_READER_LITE
LIVE PREVIEW

Checking Unwinding Conditions for Finite State Systems Deepak - - PowerPoint PPT Presentation

Checking Unwinding Conditions for Finite State Systems Deepak DSouza, Raghavendra K.R. Indian Institute of Science, Bangalore, India Checking Unwinding Conditions for Finite State Systems p.1/14 MAKS Framework of Heiko Events. V isible,


slide-1
SLIDE 1

Checking Unwinding Conditions for Finite State Systems

Deepak D’Souza, Raghavendra K.R. Indian Institute of Science, Bangalore, India

Checking Unwinding Conditions for Finite State Systems – p.1/14

slide-2
SLIDE 2

MAKS Framework of Heiko

  • Events. V isible, Confidential, Neither

Checking Unwinding Conditions for Finite State Systems – p.2/14

slide-3
SLIDE 3

MAKS Framework of Heiko

  • Events. V isible, Confidential, Neither

Trace: finite sequence of events

Checking Unwinding Conditions for Finite State Systems – p.2/14

slide-4
SLIDE 4

MAKS Framework of Heiko

  • Events. V isible, Confidential, Neither

Trace: finite sequence of events System: A set of traces

Checking Unwinding Conditions for Finite State Systems – p.2/14

slide-5
SLIDE 5

MAKS Framework of Heiko

  • Events. V isible, Confidential, Neither

Trace: finite sequence of events System: A set of traces Information flow properties for all x in L with some conditions ⇒ there exists y in L with some conditions

Checking Unwinding Conditions for Finite State Systems – p.2/14

slide-6
SLIDE 6

MAKS Framework of Heiko

  • Events. V isible, Confidential, Neither

Trace: finite sequence of events System: A set of traces Information flow properties for all x in L with some conditions ⇒ there exists y in L with some conditions Non-Inference(NF) ∀τ ∈ L ⇒ ∃τ ′ ∈ L τ ′ = τ ↾V

Checking Unwinding Conditions for Finite State Systems – p.2/14

slide-7
SLIDE 7

An Example (1)

gen-new-pin snd-enc-new rcv-enc-acc gen-new-pin e e f snd-enc-old

Checking Unwinding Conditions for Finite State Systems – p.3/14

slide-8
SLIDE 8

An Example (1)

gen-new-pin snd-enc-new rcv-enc-acc gen-new-pin e e f snd-enc-old

V = {e, f} C = {gen-new-pin} N = φ

Checking Unwinding Conditions for Finite State Systems – p.3/14

slide-9
SLIDE 9

An Example (1)

gen-new-pin snd-enc-new rcv-enc-acc gen-new-pin e e f snd-enc-old

V = {e, f} C = {gen-new-pin} N = φ Tr = { gen-new-pin e f, e } + prefixes

Checking Unwinding Conditions for Finite State Systems – p.3/14

slide-10
SLIDE 10

An Example (1)

gen-new-pin snd-enc-new rcv-enc-acc gen-new-pin e e f snd-enc-old

V = {e, f} C = {gen-new-pin} N = φ Tr = { gen-new-pin e f, e } + prefixes Confidentiality compromised. Noninference fails

Checking Unwinding Conditions for Finite State Systems – p.3/14

slide-11
SLIDE 11

An Example (2)

snd-enc-new snd-enc-old rcv-enc-acc rcv-enc-rej gen-new-pin e f f e gen-new-pin

Checking Unwinding Conditions for Finite State Systems – p.4/14

slide-12
SLIDE 12

An Example (2)

snd-enc-new snd-enc-old rcv-enc-acc rcv-enc-rej gen-new-pin e f f e gen-new-pin

V = {e, f} C = {gen-new-pin} N = φ

Checking Unwinding Conditions for Finite State Systems – p.4/14

slide-13
SLIDE 13

An Example (2)

snd-enc-new snd-enc-old rcv-enc-acc rcv-enc-rej gen-new-pin e f f e gen-new-pin

V = {e, f} C = {gen-new-pin} N = φ Tr = { gen-new-pin e f, e f } + prefixes

Checking Unwinding Conditions for Finite State Systems – p.4/14

slide-14
SLIDE 14

An Example (2)

snd-enc-new snd-enc-old rcv-enc-acc rcv-enc-rej gen-new-pin e f f e gen-new-pin

V = {e, f} C = {gen-new-pin} N = φ Tr = { gen-new-pin e f, e f } + prefixes Confidentiality maintained. Noninference holds

Checking Unwinding Conditions for Finite State Systems – p.4/14

slide-15
SLIDE 15

Information Flow Properties

Non−Interference Generalized Separability Non−Deducibility Noninference Non−Interference

Goguen, Meseguer − 82

Checking Unwinding Conditions for Finite State Systems – p.5/14

slide-16
SLIDE 16

Information Flow Properties

Goguen, Meseguer − 82

Mantel − BSPs I Non−Interference Noninference Separability Generalized Non−Interference Non−Deducibility BSD FCI IA BSIA BSI D FCD R FCIA Checking Unwinding Conditions for Finite State Systems – p.5/14

slide-17
SLIDE 17

Basic Security Predicates (BSPs)

Trace based information flow properties in BSPs

Checking Unwinding Conditions for Finite State Systems – p.6/14

slide-18
SLIDE 18

Basic Security Predicates (BSPs)

Trace based information flow properties in BSPs BSP Removal (R)

new N events

Checking Unwinding Conditions for Finite State Systems – p.6/14

slide-19
SLIDE 19

Basic Security Predicates (BSPs)

Trace based information flow properties in BSPs BSP Deletion (D)

new N events α′ β′ α β c

Checking Unwinding Conditions for Finite State Systems – p.6/14

slide-20
SLIDE 20

Basic Security Predicates (BSPs)

Trace based information flow properties in BSPs BSP Insertion (I)

α β α′ β′ new C

Checking Unwinding Conditions for Finite State Systems – p.6/14

slide-21
SLIDE 21

Basic Security Predicates (BSPs)

Trace based information flow properties in BSPs BSP Insertion (I)

α β α′ β′ new C

Generalized Non-Interference - I and D Noninference - R

Checking Unwinding Conditions for Finite State Systems – p.6/14

slide-22
SLIDE 22

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-23
SLIDE 23

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used {DRS05} Sound and Complete Model Checking method for Finite State Systems

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-24
SLIDE 24

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used {DRS05} Sound and Complete Model Checking method for Finite State Systems L satisfies a BSP P is reduced to op1(L) ⊆ op2(L)

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-25
SLIDE 25

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used {DRS05} Sound and Complete Model Checking method for Finite State Systems L satisfies a BSP P is reduced to op1(L) ⊆ op2(L) Examples

  • L satisfies Removal R iff L↾V ⊆N L.
  • L satisfies Deletion D iff l-del(L) ⊆N L.

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-26
SLIDE 26

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used {DRS05} Sound and Complete Model Checking method for Finite State Systems L satisfies a BSP P is reduced to op1(L) ⊆ op2(L) Examples

  • L satisfies Removal R iff L↾V ⊆N L.
  • L satisfies Deletion D iff l-del(L) ⊆N L.

Regularity Preserving: Algorithm to construct automata for op(L), given an automata for L

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-27
SLIDE 27

Verification using Model Checking

Properties of sets of traces, Classical Model Checking techniques (Temporal Logic etc) cannot be used {DRS05} Sound and Complete Model Checking method for Finite State Systems L satisfies a BSP P is reduced to op1(L) ⊆ op2(L) Examples

  • L satisfies Removal R iff L↾V ⊆N L.
  • L satisfies Deletion D iff l-del(L) ⊆N L.

Regularity Preserving: Algorithm to construct automata for op(L), given an automata for L Running time: Exponential in the size of the system

Checking Unwinding Conditions for Finite State Systems – p.7/14

slide-28
SLIDE 28

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →)

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-29
SLIDE 29

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-30
SLIDE 30

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc

  • sc

q p r e ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-31
SLIDE 31

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc

  • sc

q p r e t δ ⋉ ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-32
SLIDE 32

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-33
SLIDE 33

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-34
SLIDE 34

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-35
SLIDE 35

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c ⋉

T satisfies unwinding condition lrb w.r.t. ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-36
SLIDE 36

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c ⋉

T satisfies unwinding condition lrb w.r.t. ⋉

p

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-37
SLIDE 37

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c ⋉

T satisfies unwinding condition lrb w.r.t. ⋉

p q c ⋉

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-38
SLIDE 38

Unwinding - Definitions

Σ-labelled transition system T = (Q, s, − →) Unwinding relation ⋉: a binary relation on Q satisfying osc T satisfies unwinding condition lrf w.r.t. ⋉

p q c ⋉

T satisfies unwinding condition lrb w.r.t. ⋉

p q c ⋉

fcrf , fcrb, lrbe, fcrbe

Checking Unwinding Conditions for Finite State Systems – p.8/14

slide-39
SLIDE 39

Verification using Unwinding

Heiko’s results T satisfies

  • BSD if there exists an unwinding relation ⋉

such that T satisfies lrf w.r.t. ⋉

  • BSI if ... T satisfies lrb w.r.t. ⋉
  • BSIA if ... T satisfies lrbe w.r.t. ⋉
  • FCD if ... T satisfies fcrf w.r.t. ⋉
  • FCI if ... T satisfies fcrb w.r.t. ⋉
  • FCIA if ... T satisfies fcrbe w.r.t. ⋉

Checking Unwinding Conditions for Finite State Systems – p.9/14

slide-40
SLIDE 40

Verification using Unwinding

Heiko’s results T satisfies

  • BSD if there exists an unwinding relation ⋉

such that T satisfies lrf w.r.t. ⋉

  • BSI if ... T satisfies lrb w.r.t. ⋉
  • BSIA if ... T satisfies lrbe w.r.t. ⋉
  • FCD if ... T satisfies fcrf w.r.t. ⋉
  • FCI if ... T satisfies fcrb w.r.t. ⋉
  • FCIA if ... T satisfies fcrbe w.r.t. ⋉

Sufficient Conditions

Checking Unwinding Conditions for Finite State Systems – p.9/14

slide-41
SLIDE 41

Verification using Unwinding

Heiko’s results T satisfies

  • BSD if there exists an unwinding relation ⋉

such that T satisfies lrf w.r.t. ⋉

  • BSI if ... T satisfies lrb w.r.t. ⋉
  • BSIA if ... T satisfies lrbe w.r.t. ⋉
  • FCD if ... T satisfies fcrf w.r.t. ⋉
  • FCI if ... T satisfies fcrb w.r.t. ⋉
  • FCIA if ... T satisfies fcrbe w.r.t. ⋉

Sufficient Conditions Finitely many relations if finite states

Checking Unwinding Conditions for Finite State Systems – p.9/14

slide-42
SLIDE 42

Observations on Unwinding

Unwinding relations are closed under union. Hence, maximal unwinding relation ⋉T exists

Checking Unwinding Conditions for Finite State Systems – p.10/14

slide-43
SLIDE 43

Observations on Unwinding

Unwinding relations are closed under union. Hence, maximal unwinding relation ⋉T exists Unwinding Conditions(lrf , ...) are upward closed i.e, Let ⋉1 ⊆ ⋉2. If ⋉1 satisfies lrf , then so does ⋉2

Checking Unwinding Conditions for Finite State Systems – p.10/14

slide-44
SLIDE 44

Observations on Unwinding

Unwinding relations are closed under union. Hence, maximal unwinding relation ⋉T exists Unwinding Conditions(lrf , ...) are upward closed i.e, Let ⋉1 ⊆ ⋉2. If ⋉1 satisfies lrf , then so does ⋉2 T satisfies lrf w.r.t. some ⋉ iff T satisfies lrf w.r.t. ⋉T

Checking Unwinding Conditions for Finite State Systems – p.10/14

slide-45
SLIDE 45

Observations on Unwinding

Unwinding relations are closed under union. Hence, maximal unwinding relation ⋉T exists Unwinding Conditions(lrf , ...) are upward closed i.e, Let ⋉1 ⊆ ⋉2. If ⋉1 satisfies lrf , then so does ⋉2 T satisfies lrf w.r.t. some ⋉ iff T satisfies lrf w.r.t. ⋉T Similarly for lrb,...

Checking Unwinding Conditions for Finite State Systems – p.10/14

slide-46
SLIDE 46

Simulation Relation

Simulation Relation

p r q e ≺

Checking Unwinding Conditions for Finite State Systems – p.11/14

slide-47
SLIDE 47

Simulation Relation

Simulation Relation

p r q t e e ≺ ≺

Checking Unwinding Conditions for Finite State Systems – p.11/14

slide-48
SLIDE 48

Simulation Relation

Simulation Relation

p r q t e e ≺ ≺

Maximal simulation relation exists. Well known Algorithms: {HHK}

Checking Unwinding Conditions for Finite State Systems – p.11/14

slide-49
SLIDE 49

Simulation Relation

Simulation Relation

p r q t e e ≺ ≺

Maximal simulation relation exists. Well known Algorithms: {HHK} Naive Algorithm: Computing Maximal Simulation Relation Input: T , a finite state LTS Output: ≺T , the maximal simulation relation for T for p ∈ Q sim(p) = {q ∈ Q | for all e enabled at p, e is also enabled at q} while there are states p, q, r and e ∈ Σ such that r ∈ poste(p), q ∈ sim(p) and poste(q) ∩ sim(r) = φ { sim(p) = sim(p) \ {q} } ≺T = S

q∈Q{{q} × sim(q)}

Checking Unwinding Conditions for Finite State Systems – p.11/14

slide-50
SLIDE 50

Unwinding as a Simulation Relation (1)

Theorem ⋉T for T coincides with the maximal simulation relation ≺TV for TV

Checking Unwinding Conditions for Finite State Systems – p.12/14

slide-51
SLIDE 51

Unwinding as a Simulation Relation (1)

Theorem ⋉T for T coincides with the maximal simulation relation ≺TV for TV Construct TV from T by 1. deleting C edges 2. replacing N edges with ǫ edges 3. compute transitive closure (Warshall’s Algorithm - O(n3))

Checking Unwinding Conditions for Finite State Systems – p.12/14

slide-52
SLIDE 52

Unwinding as a Simulation Relation (1)

Theorem ⋉T for T coincides with the maximal simulation relation ≺TV for TV Construct TV from T by 1. deleting C edges 2. replacing N edges with ǫ edges 3. compute transitive closure (Warshall’s Algorithm - O(n3)) States are same

Checking Unwinding Conditions for Finite State Systems – p.12/14

slide-53
SLIDE 53

Unwinding as a Simulation Relation (1)

Theorem ⋉T for T coincides with the maximal simulation relation ≺TV for TV Construct TV from T by 1. deleting C edges 2. replacing N edges with ǫ edges 3. compute transitive closure (Warshall’s Algorithm - O(n3)) States are same Proof follows due to the construction of TV

Checking Unwinding Conditions for Finite State Systems – p.12/14

slide-54
SLIDE 54

Unwinding as a Simulation Relation (2)

Checking Unwinding Conditions 1. Construct TV from T 2. Compute the maximal simulation relation ≺TV using standard algorithms 3. Check the unwinding conditions (lrf , ...) w.r.t. ≺TV

Checking Unwinding Conditions for Finite State Systems – p.13/14

slide-55
SLIDE 55

Unwinding as a Simulation Relation (2)

Checking Unwinding Conditions 1. Construct TV from T 2. Compute the maximal simulation relation ≺TV using standard algorithms 3. Check the unwinding conditions (lrf , ...) w.r.t. ≺TV Feasible way to check, though not complete

Checking Unwinding Conditions for Finite State Systems – p.13/14

slide-56
SLIDE 56

Thank You

Checking Unwinding Conditions for Finite State Systems – p.14/14