verifying persistent security properties
play

Verifying Persistent Security Properties Annalisa Bossi, Damiano - PowerPoint PPT Presentation

Verifying Persistent Security Properties Annalisa Bossi, Damiano Macedonio, Riccardo Focardi, Carla Piazza, and Sabina Rossi Dipartimento di Informatica Universit` a Ca Foscari di Venezia { bossi,mace,focardi,piazza,srossi } @dsi.unive.it


  1. Verifying Persistent Security Properties Annalisa Bossi, Damiano Macedonio, Riccardo Focardi, Carla Piazza, and Sabina Rossi Dipartimento di Informatica Universit` a Ca’ Foscari di Venezia { bossi,mace,focardi,piazza,srossi } @dsi.unive.it Pisa, November 2003

  2. Verifying Persistent Security Properties Pisa, November 2003 Protect Confidential Data in a Multilevel System ⊲ Information Flow Security aims at guaranteeing that no high level (confidential) information is revealed to users at low level, even in the presence of any possible malicious process ⊲ Non-Interference : information does not flow from high to low if the high behavior has no effect on what low level can observe ⊲ Dynamicity : a program which is in a secure state for a certain environment might become unprotected if the environment suddenly changes Problem : incrementally build, rectify, and verify secure processes

  3. Verifying Persistent Security Properties Pisa, November 2003 Plan of the Talk ⊲ The Security Process Algebra Language ⊲ Information Flow Security as Unwinding Conditions ⊲ Some instances: P BNDC, SBNDC, CP BNDC, PP BNDC ⊲ Incrementally Build secure processes ⊲ Rectify non secure processes ⊲ Verify security properties

  4. Verifying Persistent Security Properties Pisa, November 2003 The SPA syntax ::= E 0 empty process | a.E input | ¯ a.E output | τ.E internal action | E + E non-det. choice | E | E parallel composition | E \ v restriction | E [ f ] relabelling | Z constant ⊲ H high actions and L low actions

  5. Verifying Persistent Security Properties Pisa, November 2003 The SPA semantics - Transitions Semantics given through transition relations → among processes defined by axioms and inference rules Input Output a a ¯ → E → E a.E a.E a a a ¯ → E ′ → E ′ → E ′ E 1 E 1 E 2 1 1 2 Parallel a τ → E ′ → E ′ 1 | E ′ E 1 | E 2 1 | E 2 E 1 | E 2 2 Two processes are equivalent if they are weakly bisimilar: E ≈ B F

  6. Verifying Persistent Security Properties Pisa, November 2003 The SPA semantics - Bisimulation ⊲ Idea: bisimulation is a mutual step-by-step simulation ⊲ E 1 = a.b. 0 + a. 0 E 2 = a.b. 0 + a. 0 + a. 0 E 3 = a.b. 0 ⊲ E 1 and E 2 are bisimilar and they both simulate E 3 ⊲ E 3 can simulate the rightmost a of E 1 , but it is not bisimilar to E 1

  7. Verifying Persistent Security Properties Pisa, November 2003 Information Flow and Persistency ⊲ Information Flow Security aims at guaranteeing that no high level (confidential) information is revealed to users at low level, even in the presence of any possible malicious process ⊲ Non-Interference : information does not flow from high to low if the high behavior has no effect on what low level can observe ⊲ Dynamicity : a program which is in a secure state for a certain environment might become unprotected if the environment suddenly changes Persistency : if a security property is persistent, i.e., a secure process reaches only secure processes, then it ensures security in dynamic contexts

  8. Verifying Persistent Security Properties Pisa, November 2003 Security as Unwinding - Intuition If the high level user can perform h reaching E ′′ from E ′ , then also E ′′′ is reachable from E ′ and E ′′ and E ′′′ are undistinguishable for the low level user Many security properties are instances of this scheme: P BNDC, SBNDC, CP BNDC, PP BNDC, SNDC

  9. Verifying Persistent Security Properties Pisa, November 2003 Security as Unwinding - Formalization Let ∼ l be a low level observational equivalence Let ��� be a reachability relation Generalized Unwinding h W ( ∼ l , ��� ) = { E ∈ E | ∀ F, G ∈ Reach ( E ) , if F → G then ∃ G ′ such that F ��� G ′ and G ∼ l G ′ }

  10. Verifying Persistent Security Properties Pisa, November 2003 The P BNDC property Aim: check all the states reachable by the system against all high level (potentially malicious) processes ∀ E ′ reachable from E, ∀ Π ∈ E H E ′ ≈ l B E ′ | Π Persistent BNDC :

  11. Verifying Persistent Security Properties Pisa, November 2003 P BNDC and Unwinding Weak Bisimulation on Low Actions S ⊆ E × E such that if ( E, F ) ∈ S then for all l ∈ L ∪ { τ } : ˆ l l → E ′ implies F ⇒ F ′ and ( E ′ , F ′ ) ∈ S = E ˆ l l → F ′ implies E ⇒ E ′ and ( E ′ , F ′ ) ∈ S = F E ≈ l B F if ( E, F ) ∈ S weak bisimulation on low actions Silent Reachability τ ˆ = ⇒ F if E reaches F with a sequence of τ actions. E τ ˆ E ∈ W ( ≈ l E ∈ P BNDC = ⇒ ) B , if and only if

  12. Verifying Persistent Security Properties Pisa, November 2003 Other Security Properties W ( ≈ l B , ≡ ) SBNDC is equivalent to τ W ( ≈ l = ⇒ ) B , CP BNDC is equivalent to τ W ( ≈ l = ⇒ ) P , PP BNDC is equivalent to W ( ≈ l T , ≡ ) SNDC is equivalent to

  13. Verifying Persistent Security Properties Pisa, November 2003 Development of Complex Systems The systematic development of complex systems usually relies on ⊲ Composition : building blocks are put together (e.g., parallel composition) The composition of secure parts has to be secure as a whole Compositional Non-Interference properties have been studied ⊲ Refinement : abstract specifications are refined into more concrete ones Non-Interference properties based on sets of execution sequences are hard to preserve under refinement

  14. Verifying Persistent Security Properties Pisa, November 2003 Unwinding and Compositions - General Result Let f be a partial function and ⊙ be a relation f preserves ⊙ iff G ⊙ G ′ ( f ( G ) ↑ and f ( G ′ ) ↑ ) or ( f ( G ) ⊙ f ( G ′ )) implies f reflects ⊙ iff G ⊙ G ′ and f ( G ′ ) = M f ( G ) ⊙ M implies Composition Theorem h → and reachability and it preserves ∼ l and ��� , then If f reflects W ( ∼ l , ��� ) is compositional w.r.t. f , i.e., F ∈ W ( ∼ l , ��� ) f ( F ) ∈ W ( ∼ l , ��� ) implies

  15. Verifying Persistent Security Properties Pisa, November 2003 Unwinding and Compositions - Application P BNDC, SBNDC, CP BNDC, and PP BNDC are compositional w.r.t. X \ v X [ f ] X | Y The Composition Theorem cannot be applied to ! X and X + Y P BNDC, SBNDC, CP BNDC, and PP BNDC are compositional w.r.t. ! X CP BNDC and PP BNDC are compositional w.r.t. X + Y

  16. Verifying Persistent Security Properties Pisa, November 2003 Horizontal Refinement - Intuition A refined specification should never show behaviors that were not foreseen in the initial specification ⊲ each abstract state is refined into at most one concrete state ⊲ the abstract state simulates its refinement, i.e., if the refinement E of F performs an action a reaching E ′ , then F can perform a reaching F ′ whose refinement is E ′

  17. Verifying Persistent Security Properties Pisa, November 2003 Horizontal Refinement - Formalization Simulation S ⊆ E × E such that if ( E, F ) ∈ S then for all a : a a → E ′ implies F → F ′ and ( E ′ , F ′ ) ∈ S E Refinement R ⊆ E × E over SPA processes such that: R is a partial function from E to E R − 1 is a simulation E � F , i.e., E is a refinement of F , if there exists a refinement R such that R ( F ) = E

  18. Verifying Persistent Security Properties Pisa, November 2003 Example Consider a binary memory cell We refine it into a high level cell by imposing no read up

  19. Verifying Persistent Security Properties Pisa, November 2003 Properties of the Refinements ⊲ Composition of Refinements: if R 1 and R 2 are refinements, then R 1 ◦ R 2 is a refinement ⊲ Refinement and Reachability: if R ( F ) = E , R ∩ ( Reach ( F ) × Reach ( E )) is a refinement ⊲ Mutual Refinement: if F is finite state and F � E � F , F ∼ B E ⊲ Compositionality of Refinement: if R ( F ) = E and R ( G ) = I , ⊲ a.E � a.F , if a.F �∈ Reach ( F ) ⊲ E + I � F + G , if F + G �∈ Reach ( F ) ∪ Reach ( G ) ⊲ E | I � F | G , E \ v � F \ v , E [ f ] � F [ f ]

  20. Verifying Persistent Security Properties Pisa, November 2003 Refinements preserving Unwinding Unwinding Theorem Let R be a refinement preserving ∼ l and ��� such that R ( F ) ↓ F ∈ W ( ∼ l , ��� ) R ( F ) ∈ W ( ∼ l , ��� ) implies Composition Theorem If R 1 and R 2 preserve ⊙ , then R 1 ◦ R 2 preserves ⊙

  21. Verifying Persistent Security Properties Pisa, November 2003 Unwinding and Rectification E s secure ⇒ E not secure s → F implies E ��� F Let s be a sequence of actions such that E Given E = l.F + h.G we define E s = l.F s + h.G s + s.G s E s ∈ W ( ∼ l , ��� ) For all E , Rectification Theorem This can be applied to P BNDC, CP BNDC, PP BNDC with s = τ

  22. Verifying Persistent Security Properties Pisa, November 2003 Unwinding and Verification Decidability Theorem Let E be a finite state process, ��� and ∼ l be decidable over finite state processes, E ∈ W ( ∼ l , ��� ) is decidable This is usually inefficient! To efficiently check P BNDC, SBNDC, PP BNDC we use a global bisimulation based characterization implemented in CoPS (see our case-study presentation)

  23. Verifying Persistent Security Properties Pisa, November 2003

Recommend


More recommend