Hyperproperties Michael Clarkson and Fred B. Schneider Cornell University IEEE Symposium on Computer Security Foundations June 23, 2008 TexPoint fonts.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 1.
Advertisements

Completeness and Expressiveness
Lecture 19. Reduction: More Undecidable problems
Part 3: Safety and liveness
Program correctness The State-transition model A global state S  s 0 x s 1 x … x s m {s k = local state of process k} S0  S1  S2  … Each state transition.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
David Evans CS655: Programming Languages University of Virginia Computer Science Lecture 19: Minding Ps & Qs: Axiomatic.
Time Bounds for General Function Pointers Robert Dockins and Aquinas Hobor (Princeton University) (NUS) TexPoint fonts used in EMF. Read the TexPoint manual.
Possibilistic and probabilistic abstraction-based model checking Michael Huth Computing Imperial College London, United Kingdom.
1/22 Programs : Semantics and Verification Charngki PSWLAB Programs: Semantics and Verification Mordechai Ben-Ari Mathematical Logic for Computer.
Safety and Liveness. Defining Programs Variables with respective domain –State space of the program Program actions –Guarded commands Program computation.
Lecture 2: Reasoning with Distributed Programs Anish Arora CSE 6333.
Tele Design of Reactive Systems Summer 2001 Prof. Dr. Stefan Leue Institute for Computer Science Albert-Ludwigs-Universität Freiburg
Spin Tutorial (some verification options). Assertion is always executable and has no other effect on the state of the system than to change the local.
© Katz, 2007CS Formal SpecificationsLecture - Temporal logic 1 Temporal Logic Formal Specifications CS Shmuel Katz The Technion.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Programming Language Semantics Denotational Semantics Chapter 5 Based on a lecture by Martin Abadi.
Modeling Software Systems Lecture 2 Book: Chapter 4.
CS294, YelickConsensus, p1 CS Consensus
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
CS 711 Fall 2002 Programming Languages Seminar Andrew Myers 2. Noninterference 4 Sept 2002.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Abstract Verification is traditionally done by determining the truth of a temporal formula (the specification) with respect to a timed transition system.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Verification of Information Flow Properties in Cyber-Physical Systems Ravi Akella, Bruce McMillin Department of Computer Science Missouri University of.
Aquinas Hobor and Cristian Gherghina (National University of Singapore) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
Proof-Carrying Code & Proof-Carrying Authentication Stuart Pickard CSCI 297 June 2, 2005.
Defining Programs, Specifications, fault-tolerance, etc.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Agenda for a Science of Security Fred B. Schneider* Department of Computer Science Cornell University Ithaca, New York U.S.A.
Program correctness The State-transition model The set of global states = so x s1 x … x sm {sk is the set of local states of process k} S0 ---> S1 --->
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Hyperproperties Michael Clarkson and Fred B. Schneider Cornell University Air Force Office of Scientific Research December 4, 2008 TexPoint fonts used.
Program correctness The State-transition model A global states S  s 0 x s 1 x … x s m {s k = set of local states of process k} S0  S1  S2  Each state.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
Recognizing safety and liveness Presented by Qian Huang.
Defining Liveness by Bowen Alpern and Fred B. Schneider Presented by Joe Melnyk.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
Hyperproperties Michael Clarkson George Washington University
Hyperproperties Michael Clarkson and Fred B. Schneider Cornell University Ph.D. Seminar Northeastern University October 14, 2010.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Quantification of Integrity Michael Clarkson and Fred B. Schneider Cornell University IEEE Computer Security Foundations Symposium July 17, 2010.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 Proving program termination Lecture 5 · February 4 th, 2008 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A.
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Belief in Information Flow Michael Clarkson, Andrew Myers, Fred B. Schneider Cornell University 18 th IEEE Computer Security Foundations Workshop June.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA.
Model Checking Lecture 1: Specification Tom Henzinger.
Agenda  Quick Review  Finish Introduction  Java Threads.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
1 Jay Ligatti (Princeton University); joint work with: Lujo Bauer (Carnegie Mellon University), David Walker (Princeton University) Enforcing Non-safety.
ISA 763 Security Protocol Verification
Programming Languages and Compilers (CS 421)
Information Security CS 526
Enforcing Non-safety Security Policies with Program Monitors
ITEC452 Distributed Computing Lecture 5 Program Correctness
Recognizing Safety and Liveness
Information Security CS 526
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
Information Security CS 526
Properties of Relational Logic
Carmine Abate Rob Blanco Deepak Garg Cătălin Hrițcu Jérémy Thibault
Presentation transcript:

Hyperproperties Michael Clarkson and Fred B. Schneider Cornell University IEEE Symposium on Computer Security Foundations June 23, 2008 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AAA A A A

Clarkson: Hyperproperties2 Security Policies Today  Confidentiality  Integrity  Availability Formalize and verify any security policy? 

Clarkson: Hyperproperties3 Program Correctness ca. 1970s  Partial correctness  Total correctness  Mutual exclusion  Deadlock freedom  Starvation freedom ???

Clarkson: Hyperproperties4 Safety and Liveness Intuition [Lamport 1977]: Safety: “Nothing bad happens”  Partial correctness, mutual exclusion, access control Liveness: “Something good happens”  Termination, guaranteed service

Clarkson: Hyperproperties5 Safety and Liveness Formalization: Property: Set of (infinite) execution traces  Trace t satisfies property P iff t 2 P  Satisfaction depends on the trace alone  System modeled as set of traces Safety property [Lamport 1985]:  Bad thing = trace prefix Liveness property [Alpern and Schneider 1985]:  Good thing = trace suffix

Clarkson: Hyperproperties6 Success! Alpern and Schneider (1985, 1987): Theorem. ( 8 P : P = Safe( P ) Å Live( P )) Theorem. Safety proved by invariance. Theorem. Liveness proved by well-foundedness. Theorem. Topological characterization: Safety = closed sets Liveness = dense sets Formalize and verify any property? 

Clarkson: Hyperproperties7 Back to Security Policies Formalize and verify any property? Formalize and verify any security policy?   Security policy = Property ?

Clarkson: Hyperproperties8 Security Policies are not Properties Noninterference: Commands of high users have no effect on observations of low users Satisfaction depends on pairs of traces ) not a property Average response time: Average time, over all executions, to respond to request has given bound Satisfaction depends on all traces of system ) not a property Any policy that stipulates relations among traces is not a property  Need satisfaction to depend on sets of traces

Clarkson: Hyperproperties9 Hyperproperties A hyperproperty is a set of properties A system S satisfies a hyperproperty H iff S 2 H A hyperproperty specifies exactly the allowed sets of traces

Clarkson: Hyperproperties10 Hyperproperties Security policies are hyperproperties! Information flow: Noninterference, relational noninterference, generalized noninterference, observational determinism, self-bisimilarity, probabilistic noninterference, quantitative leakage Service-level agreements: Average response time, time service factor, percentage uptime …

Clarkson: Hyperproperties11 Hyperproperties  Safety and liveness?  Verification?

Clarkson: Hyperproperties12 Safety Safety proscribes “bad things” A bad thing is finitely observable and irremediable S is a safety property [L85] iff S is a safety hyperproperty (“hypersafety”) iff B is a finite set of finite traces b is a finite trace

Clarkson: Hyperproperties13 Prefix Ordering An observation is a finite set of finite traces Intuition: Observer sees a set of partial executions M · T (is a prefix of) iff: M is an observation, and Intuition: If observer watched longer, M could become T

Clarkson: Hyperproperties14 Safety Hyperproperties  Noninterference [Goguen and Meseguer 1982] Bad thing is a pair of traces where removing high commands does change low observations  Observational determinism [Roscoe 1995] Bad thing is a pair of traces that cause system to look nondeterministic to low observer

Clarkson: Hyperproperties15 Liveness Liveness prescribes “good things” A good thing is always possible and possibly infinite L is a liveness property [AS85] iff L is a liveness hyperproperty (“hyperliveness”) iff t is a finite trace T is a finite set of finite traces

Clarkson: Hyperproperties16 Liveness Hyperproperties  Average response time Good thing is that average time is low enough  Generalized noninterference [McCullough 1987] Good thing is additional interleavings of traces

Clarkson: Hyperproperties17 Possibilistic Information Flow PIF policies can be expressed with closure operators [Mantel 2000] Theorem. All PIF policies are hyperliveness.

Clarkson: Hyperproperties18 Can lift property T to hyperproperty [ T ] Satisfaction is equivalent iff [ T ] = P ( T )  Theorem. S is safety ) [ S ] is hypersafety.  Theorem. L is liveness ) [ L ] is hyperliveness.  Theorem. Hypersafety = closed sets.  Theorem. Hyperliveness = dense sets. Relating Properties and Hyperproperties

Clarkson: Hyperproperties19 Safety and Liveness is a Basis Theorem. ( 8 H : H = Safe( H ) Å Live( H ))

Clarkson: Hyperproperties20 Probabilistic Hyperproperties To incorporate probability: Assume probability on state transitions Construct probability measure on traces [Halpern 2003] Use measure to express hyperproperties We’ve expressed: Probabilistic noninterference Quantitative leakage Channel capacity

Clarkson: Hyperproperties21 Beyond Hyperproperties? Add another level of sets? Theorem. Set of hyperproperties ´ hyperproperty  Hyperproperties are expressively complete (for systems and trace semantics) By analogy to logic: Adding levels of sets = increasing the order of logic  Properties = first-order predicates on traces  Hyperproperties = second-order Higher-order logic reducible to second-order

Clarkson: Hyperproperties22 Stepping Back…  Safety and liveness?  Verification? 

Clarkson: Hyperproperties23 Verification of Information Flow  Barthe, D’Argenio, and Rezk (2004): Reduce noninterference to a property with self-composition  Terauchi and Aiken (2005): Generalize to verify any 2-safety property  “Property that can be refuted by observing two finite traces” Methodology: Transform system to reduce 2-safety to safety property Verify safety property

Clarkson: Hyperproperties24 A k-safety hyperproperty is a safety hyperproperty in which the bad thing never has more than k traces Examples: 1-hypersafety: the lifted safety properties 2-hypersafety: Terauchi and Aiken’s 2-safety properties k-hypersafety: SEC ( k ) = “System can’t, across all runs, output all shares of a k -secret sharing” Not k-hypersafety for any k: SEC =  k SEC ( k ) k-Safety Hyperproperties

Clarkson: Hyperproperties25 Verifying k-Hypersafety Theorem. Any k-safety hyperproperty of S is equivalent to a safety property of S k.  Yields methodology for k -hypersafety Incomplete for hypersafety

Clarkson: Hyperproperties26 Logic and Verification Full second-order logic cannot be effectively and completely axiomatized But fragments can be… Might suffice for security policies

Clarkson: Hyperproperties27 Refinement Revisited Stepwise refinement: Development methodology for properties Uses refinement of nondeterminism  Satisfaction of properties is refinement-closed  But not of hyperproperties, in general Theorem. All safety hyperproperties are refinement-closed.  Refinement applicable to hypersafety But not all hyperproperties (necessarily)

Clarkson: Hyperproperties28 Summary We developed a theory of hyperproperties Parallels theory of properties  Safety, liveness (basis)  Verification (for k -hypersafety)  Refinement (hypersafety) Expressive completeness Currently verifying proofs using Isabelle/HOL with Denis Bueno (Cornell, Sandia) Enables classification of security policies…

Clarkson: Hyperproperties29 Charting the landscape…

Clarkson: Hyperproperties30 All hyperproperties ( HP ) HP

Clarkson: Hyperproperties31 HP SHPLHP Safety hyperproperties ( SHP ) Liveness hyperproperties ( LHP )

Clarkson: Hyperproperties32 HP SHPLHP [SP][LP] Lifted safety properties [SP] Lifted liveness properties [LP]

Clarkson: Hyperproperties33 HP SHPLHP [SP][LP] ACGS Access control ( AC ) is safety Guaranteed service ( GS ) is liveness

Clarkson: Hyperproperties34 HP SHPLHP [SP][LP] ACGS GMNI Goguen and Meseguer’s noninterference ( GMNI ) is 2-hypersafety

Clarkson: Hyperproperties35 HP SHPLHP [LP] GS 2-safety hyperproperties ( 2SHP ) [SP] AC 2SHP GMNI

Clarkson: Hyperproperties36 HP SHPLHP [SP][LP] ACGS GMNI SEC Secret sharing ( SEC ) is not k -hypersafety for any k 2SHP

Clarkson: Hyperproperties37 HP SHPLHP [SP][LP] ACGS GMNI OD PNI GNI Observational determinism ( OD ) is 2-hypersafety Generalized noninterference ( GNI ) is hyperliveness Probabilistic noninterference ( PNI ) is neither 2SHP SEC

Clarkson: Hyperproperties38 HP SHPLHP [SP][LP] ACGS GMNI OD PNI GNI PIF 2SHP Possibilistic information flow ( PIF ) is hyperliveness SEC

Clarkson: Hyperproperties39 Revisiting the CIA Landscape  Confidentiality Information flow is not a property Is a hyperproperty (HS: OD ; HL: GNI )  Integrity Safety property? Dual to confidentiality, thus hyperproperty?  Availability Sometimes a property (max. response time) Sometimes a hyperproperty (HS: % uptime, HL: avg. resp. time)  CIA seems orthogonal to hyperproperties

Hyperproperties Michael Clarkson and Fred B. Schneider Cornell University IEEE Symposium on Computer Security Foundations June 23, 2008 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AAA A A A

Clarkson: Hyperproperties41 Extra Slides

Clarkson: Hyperproperties42 Noninterference is not a Property  Suppose NI is a property System T (for true ) should satisfy NI L:=H refines T  And shouldn’t satisfy NI But since satisfaction closed under refinement,  L:=H should satisfy NI  Contradiction!  Therefore, NI is not a property

Clarkson: Hyperproperties43 Information Flow Hyperproperties  Noninterference: The set of all properties T where for each trace t 2 T, there exists another trace u 2 T, such that u contains no high commands, but yields the same low observation as t.  Generalized noninterference: The set of all properties T where for any traces t and u 2 T, there exists a trace v 2 T, such that v is an interleaving of the high inputs from t and the low events from u.  Observational determinism: The set of all properties T where for all traces t and u 2 T, and for all j 2 N, if t and u have the same first j - 1 low events, then they have equivalent j th low events.  Self-bisimilarity: The set of all properties T where T represents a labeled transition system S, and for all low-equivalent initial memories m 1 and m 2, the execution of S starting from m 1 is bisimilar to the execution of S starting from m 2.

Clarkson: Hyperproperties44 Topological Characterization Theorem. Our topology is equivalent to the lower Vietoris construction applied to the Plotkin topology.

Clarkson: Hyperproperties45 Powerdomains  We use the lower (Hoare) powerdomain Our · is the Hoare order Lower Vietoris = lower powerdomain [Smyth 1983]  Other powerdomains? Change the notion of “observable”  Upper: Observations can disappear  Convex: Can observe impossibility of production of state But might be useful on other semantic domains

Clarkson: Hyperproperties46 Future Work  Verification methodology Hyperliveness? Axiomatizable fragments of second order logic?  CIA: Express with hyperproperties?  Hyperproperties in other semantic domains