Information Security CS 526

Slides:



Advertisements
Similar presentations
Information Flow and Covert Channels November, 2006.
Advertisements

Towards Static Flow-based Declassification for Legacy and Untrusted Programs Bruno P. S. Rocha Sruthi Bandhakavi Jerry den Hartog William H. Winsborough.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Access Control Methodologies
Ashish Kundu CS590F Purdue 02/12/07 Language-Based Information Flow Security Andrei Sabelfield, Andrew C. Myers Presentation: Ashish Kundu
TAMPER DETECTION AND NON-MALLEABLE CODES Daniel Wichs (Northeastern U)
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Enforcing Confidentiality in Low-level Programs Andrew Myers Cornell University.
Robust Declassification Steve Zdancewic Andrew Myers Cornell University.
CS 711 Fall 2002 Programming Languages Seminar Andrew Myers 2. Noninterference 4 Sept 2002.
Information Theory and Security
7/16/2015 3:58 AM Lecture 4: Bell LaPadula James Hook CS 591: Introduction to Computer Security.
. PGM 2002/3 – Tirgul6 Approximate Inference: Sampling.
Automatic Implementation of provable cryptography for confidentiality and integrity Presented by Tamara Rezk – INDES project - INRIA Joint work with: Cédric.
Toward A Mathematical Model of Computer Security Gina Duncanson Kevin Jonas Ben Lange John Loff-Peterson Ben Neigebauer.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
1 September 14, 2006 Lecture 3 IS 2150 / TEL 2810 Introduction to Security.
Security Policy What is a security policy? –Defines what it means for a system to be secure Formally: Partition system into –Secure (authorized) states.
Cs3102: Theory of Computation Class 18: Proving Undecidability Spring 2010 University of Virginia David Evans.
Verification of Information Flow Properties in Cyber-Physical Systems Ravi Akella, Bruce McMillin Department of Computer Science Missouri University of.
Language-Based Information-Flow Security Richard Mancusi CSCI 297.
Containment and Integrity for Mobile Code Security policies as types Andrew Myers Fred Schneider Department of Computer Science Cornell University.
Session 2 - Security Models and Architecture. 2 Overview Basic concepts The Models –Bell-LaPadula (BLP) –Biba –Clark-Wilson –Chinese Wall Systems Evaluation.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 TOPIC SYSTEM Z Ravi Sandhu This lecture is primarily based on: John McLean, Roger R. Schell and Donald L. Brinkley, "Security Models." Encyclopedia of.
CS426Fall 2010/Lecture 251 Computer Security CS 426 Lecture 25 Integrity Protection: Biba, Clark Wilson, and Chinese Wall.
12/4/20151 Computer Security Security models – an overview.
Information Security CS 526 Topic 17
A Lattice Model of Secure Information Flow By Dorothy E. Denning Presented by Drayton Benner March 22, 2000.
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
Certification of Programs for Secure Information Flow Dorothy & Peter Denning Communications of the ACM (CACM) 1977.
Language-Based Information- Flow Security (Sabelfeld and Myers) “Practical methods for controlling information flow have eluded researchers for some time.”
6/22/20161 Computer Security Integrity Policies. 6/22/20162 Integrity Policies Commercial requirement differ from military requirements: the emphasis.
Secure Information Flow for Reactive Programming Paradigm Zhengqin Luo SAFA workshop 2009.
Language-Based Security: Overview of Types Deepak Garg Foundations of Security and Privacy October 27, 2009.
Verifiable Security Goals
LPV: a new technique, based on linear programming, to formally prove or disprove safety properties J-L Lambert, valiosys.
CS 326 Programming Languages, Concepts and Implementation
Testing UW CSE 160 Winter 2017.
Run-time organization
Paper Reading Group:. Language-Based Information-Flow Security. A
State your reasons or how to keep proofs while optimizing code
Turing Machines Acceptors; Enumerators
Cryptography Lecture 9.
Testing UW CSE 160 Spring 2018.
Lecture 5 Floyd-Hoare Style Verification
CSCE 411 Design and Analysis of Algorithms
Cryptography Lecture 10.
Testing UW CSE 160 Winter 2016.
Objective of This Course
Programming Languages and Compilers (CS 421)
Lecture 15 (Notes by P. N. Hilfinger and R. Bodik)
Information Security CS 526
Alternating tree Automata and Parity games
Enforcing Non-safety Security Policies with Program Monitors
Information Security CS 526 Topic 17
Semantics In Text: Chapter 3.
Axiomatic Verification I
Introduction to Requirements Modeling
Axiomatic Verification I
CS5123 Software Validation and Quality Assurance
Program correctness Axiomatic semantics
Information Security CS 526
Topic: Loops Loops Idea While Loop Introduction to ranges For Loop
Cryptography Lecture 9.
Review of Previous Lesson
C. M. Overstreet Old Dominion University Fall 2005
CMSC 202 Exceptions.
C. M. Overstreet Old Dominion University Fall 2007
Presentation transcript:

Information Security CS 526 Topic 18: Non-interference and Non-deducibility CS526 Topic 18: Noninterference and nondeducability

Optional Readings for This Lecture Security Policies and Security Models. J.A.Goguen and J.Meseguer. Oakland’1982 Non-deducibility is from the paper “A Model of Information” by David Sutherland Not available online CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Motivations Multi-level security is about information flow Information in high level objects should not flow into low-level subjects The BLP model describes access control mechanisms that prevents illegal information flow, but not the meaning of no illegal information flow BLP describes “how”, not “what” for information flow protection E.g., define secure encryption by giving a particular encryption algorithm and say this is secure encryption As a result, BLP does not prevent information flow through covert channels Also, it doesn’t say whether other mechanisms can be used do information flow protection CS526 Topic 18: Noninterference and nondeducability

Non-interference in Programs Consider the following functions, is there information flow between x and output of the functions? f(int x, int y) { if x>0 return y+y; else return 2*y; } g(int x, int y){ return x*y/x; add(int x, int y) { return x+y; } check_pw(char *s) { char *x; return strcmp(x,s); CS526 Topic 18: Noninterference and nondeducability

Deterministic Non-Interference in Programs A set X of inputs is non-interfering with a set Y of outputs if and only if No matter what values X take, the outputs Y remain the same When one changes only values of inputs in X, the output remain unchanged Observing only Y, one learns nothing about any input in X. More formally, let Y=f(X,Z), where f is a deterministic function, and X,Z represents two sets of inputs, X is non-interfering with Y iff Z0Y0 X0 f(X0, Z0) = Y0 or equivalently, Z0 X0 X1 f(X0, Z0) = f(X1, Z0) X interferes with Y iff. Z0 X0 X1 f(X0, Z0)  f(X1, Z0) For randomized programs, non-interference is harder to define, and we do not cover it in this course CS526 Topic 18: Noninterference and nondeducability

More on Non-interference Properties Two classes of techniques to ensure that security properties are satisfied by programs Monitor execution of a program and deny illegal actions or terminate the program if illegal action is detected. Can enforce BLP property. Cannot enforce non-interference. Why? Because non-interference is not defined on one execution of a program; it is a property on a program’s behaviors on different inputs. Statically verifying that certain non-interference relation holds by analyzing the program Can be used only with access to source code CS526 Topic 18: Noninterference and nondeducability

Language-Based Security Using programming language technique to ensure certain security properties hold A large body of work focuses on using type theory and compiling-time checks to ensure information-flow properties Challenges to apply in real world: Non-interference is often too strong Suppose that one want to ensure that a secret password is not leaked, can one require non-interference between the password input and observable output? Needs declassification mechanism that specify certain information dependent on sensitive inputs can be leaked. Specifying such policies is impractical Too much work for programmers, especially for large programs Many policies need to be determined by end users, not programmers Need source code, unable to deal with the real security challenge of external code. CS526 Topic 18: Noninterference and nondeducability

The Non-Interference Model in the Original Goguen-Meseguer paper A state-transition model, where state changes occur by subjects executing commands S: set of states U: set of subjects SC: set of state commands Out: set of all possible outputs do: S×U×SC S do(s,u,c)=s’ means that at state s, when u performs command c, the resulting state is s’ out: S×U Out out(s,u) gives the output that u sees at state s s0 S initial state Model focuses on interfaces (inputs/outputs) of a system, rather than internal aspects (e.g., objects) CS526 Topic 18: Noninterference and nondeducability

Security Policies in the Non-interefence Model A security policy is a set of noninterference assertions Definition of noninterference: Given two group of users G and G’, we say G does not interfere with G’ if for any sequence of commands w, View_G’(w) = View_G’(PG(w)) PG(w) is w with commands initiated by users in G removed. No matter what users in G do, users in G’ will observe the same. Implicit assumptions: Initial state of the system does not contain any sensitive information Information comes into the system by commands Only way to get information is through outputs CS526 Topic 18: Noninterference and nondeducability

Comparisons of the BLP work & the Noninterference work Differences in model BLP models internals of a system (e.g., objects) GM models the interface (input & output) Differences in formulating security policies BLP specifies access control requirement, noninterference specifies information flow goal E.g., under noninterference, a low user is allowed to copy one high-level file to another high-level file In general not allowed by BLP Noninterference could potentially address covert channels concerns Provided that one defines observable behavior to include those in covert channels; this, however, makes the system description very complex, i.e., it doesn’t make stopping covert channel easier CS526 Topic 18: Noninterference and nondeducability

Evaluation of The Non-Interference Policy The notion of noninterference is elegant and natural Focuses on policy objective, rather than mechanism, such as BLP Could be useful in other settings Mostly concerned with deterministic systems For randomized or otherwise non-deterministic systems, definition is more complicated May be too restrictive e.g., consider encrypt and then communicate CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Non-deducibility Attempt to define information flow in non-deterministic as well as deterministic systems Intuition: there is no information flow between X and Y, iff., when observing only Y, one can never eliminate any value from the domain in X as a possible value Definition: let Y=f(X,Z), where f is not necessarily deterministic, there is information flow between X and Y in the non-deducibility sense iff. Y0  { f(X,Z) } X0 s.t. Y0  { f(X0, Z) } When one observes the value of Y is Y0, one learns that X≠X0. There is no information flow between X and Y in the non-deducibility sense when Y0  { f(X,Z) } X0  Z0 s.t. Y0  { f(X0, Z0) } Go to the examples for non-interference CS526 Topic 18: Noninterference and nondeducability

An Example Illustrating that Non-deducibility is Too Weak A high user and a low user the high user can write to a file one letter at a time the low user can try to read the n’th character in a file if file is shorter than n, or if the the n’th character is blank, returns a random letter otherwise, with 99.9% probability return the letter, and with 0.1% probalility return a random letter The system is nondeducible secure The system is intuitively insecure Non-deducibility can often be too weak. It deals with possibilistic inference, not probabilistic inference CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Examples: High int x = …; High int y = …; Low int z; if x>0 z= y+y; else z=2*y; x does not interfere with z y interferes with z x and z are non-deduciable secure y and z are not non-deduciable secure High int x = …; High int y = …; Low int z; if x>0 z = y+y; else z = 3*y; x interferes with z y interferes with z x and z are not non-deduciable secure y and z are not non-deduciable secure CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Examples High int x = …; High int y = …; Low int z1 = x + y; Low int z2 = x – y; x interferes with z1 x interferes with z2 x and z1 are non-deduciable secure x and {z1,z2} are not non-deduciable secure High char * x = …; Low char * entered_pw = …; Low boolean z; z = strcmp(entered_pw,x); x interferes with z x and {z, entered_pw} are not non-deduciable secure CS526 Topic 18: Noninterference and nondeducability

Relationships Between Nondeducibility & Noninterference For deterministic systems with just one high input var (and possibly many other low input vars) and one low output, a system is noninterference secure if and only if it is nondeducibility secure. For deterministic systems with more than one high input vars, non-interference is stronger than non-deducibility CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Proof. Theorem: For deterministic programs with just one high input variable x, let Z be the set of all low variables, x does not interfere with the set Z if and only if x and Z are nondeducible secure. Proof. If x does not interfere with Z, no matter what values x takes, the variables in Z are uniquely determined by inputs in Z. Observing values in Z cannot eliminate any value for x. If x interferes with Z, then there exist x1≠ x2 and Z2≠Z1 such that Z=Z1 when x=x1 and Z=Z2≠Z1 when x=x2. Observing Z=Z2, one knows x≠x1, making x and X not nondeduciable secure. This is because as x is the only high var and the system is deterministic, when fixing input variables in Z to values in Z2, the output variables are fixed as well. CS526 Topic 18: Noninterference and nondeducability

Topic 18: Noninterference and nondeducability Coming Attractions … Integrity Models CS526 Topic 18: Noninterference and nondeducability