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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend