Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 September 23, 2004 Introduction to Computer Security.

Slides:



Advertisements
Similar presentations
© 2004 Ravi Sandhu The Schematic Protection Model (SPM) Ravi Sandhu Laboratory for Information Security Technology George Mason University.
Advertisements

Information Flow and Covert Channels November, 2006.
1 cs691 chow C. Edward Chow Confidentiality Policy CS691 – Chapter 5 of Matt Bishop.
I NFORMATION S ECURITY : C ONFIDENTIALITY P OLICIES (C HAPTER 4) Dr. Shahriar Bijani Shahed University.
Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality model Bell-LaPadula Model –General idea –Informal description of rules.
Access Control Intro, DAC and MAC System Security.
1 Confidentiality Policies CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 18, 2004.
Confidentiality Policies  Overview  What is a confidentiality model  Bell-LaPadula Model  General idea  Informal description of rules  Formal description.
Chapter 4: Security Policies Overview The nature of policies What they cover Policy languages The nature of mechanisms Types Secure vs. precise Underlying.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result.
April 13, 2004ECS 235Slide #1 Expressive Power How do the sets of systems that models can describe compare? –If HRU equivalent to SPM, SPM provides more.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #4-1 Chapter 4: Security Policies Overview The nature of policies –What they.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality.
Sicurezza Informatica Prof. Stefano Bistarelli
User Domain Policies.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #6-1 Chapter 6: Integrity Policies Overview Requirements Biba’s models Clark-Wilson.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 5 September 27, 2007 Security Policies Confidentiality Policies.
1 September 14, 2006 Lecture 3 IS 2150 / TEL 2810 Introduction to Security.
CS526: Information Security Prof. Cristina Nita-Rotaru September 9, 2003 Protection Models.
Security Policy What is a security policy? –Defines what it means for a system to be secure Formally: Partition system into –Secure (authorized) states.
1 Confidentiality Policies September 21, 2006 Lecture 4 IS 2150 / TEL 2810 Introduction to Security.
1 IS 2150 / TEL 2810 Information Security & Privacy James Joshi Associate Professor, SIS Lecture 6 Oct 2-9, 2013 Security Policies Confidentiality Policies.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
1 Announcement: End of Campaign Celebration When: Wednesday, October 1, 15:30 Where: New building site (NW corner 3 rd & University) Please attend and.
Session 2 - Security Models and Architecture. 2 Overview Basic concepts The Models –Bell-LaPadula (BLP) –Biba –Clark-Wilson –Chinese Wall Systems Evaluation.
Slide #4-1 Chapter 4: Security Policies Overview The nature of policies –What they cover –Policy languages The nature of mechanisms –Types Underlying both.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Introduction to Computer Security Review
Slide #5-1 Confidentiality Policies CS461/ECE422 Computer Security I Fall 2010 Based on slides provided by Matt Bishop for use with Computer Security:
CMSC 414 Computer (and Network) Security Lecture 11 Jonathan Katz.
12/13/20151 Computer Security Security Policies...
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 5 September 29, 2009 Security Policies Confidentiality Policies.
1/15/20161 Computer Security Confidentiality Policies.
Chapter 4: Security Policies Overview The nature of policies What they cover Policy languages The nature of mechanisms Types Secure vs. precise Underlying.
Access Control: Policies and Mechanisms Vinod Ganapathy.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #5-1 Confidentiality Policies Overview –What is a confidentiality model Bell-LaPadula.
2/1/20161 Computer Security Foundational Results.
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
IS 2150/TEL 2810: Introduction of Computer Security1 September 27, 2003 Introduction to Computer Security Lecture 4 Security Policies, Confidentiality.
April 8, 2004ECS 235Slide #1 Overview Safety Question HRU Model Take-Grant Protection Model SPM, ESPM –Multiparent joint creation Expressive power Typed.
INFSCI 2935: Introduction of Computer Security1 September 13, 2005 Introduction to Computer Security Lecture 3 Take Grant Model (Cont) HRU Schematic Protection.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 3 September 13, 2007 Mathematical Review Security Policies.
Slide #6-1 Chapter 6: Integrity Policies Overview Requirements Biba’s models Clark-Wilson model.
INTRO TO COMPUTER SECURITY LECTURE 2 Security Policies M M Waseem Iqbal
Lecture 2 Page 1 CS 236 Online Security Policies Security policies describe how a secure system should behave Policy says what should happen, not how you.
Database System Implementation CSE 507
Chap 4. Security Policies
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
September 16, 2004 Introduction to Computer Security Lecture 3
2. Access Control Matrix Introduction to Computer Security © 2004 Matt Bishop 9/21/2018.
Chapter 5: Confidentiality Policies
Computer Security Confidentiality Policies
IS 2150 / TEL 2810 Introduction to Security
Advanced System Security
Expressive Power How do the sets of systems that models can describe compare? If HRU equivalent to SPM, SPM provides more specific answer to safety question.
Overview Safety Question HRU Model Take-Grant Protection Model
Chapter 4: Security Policies
Chapter 4: Security Policies
Chapter 5: Confidentiality Policies
Chapter 3: Foundational Results
Computer Security Confidentiality Policies
Chapter 6: Integrity Policies
IS 2150 / TEL 2810 Information Security & Privacy
Computer Security Security Policies
Chapter 4: Security Policies
Advanced System Security
Presentation transcript:

Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 September 23, 2004 Introduction to Computer Security Lecture 4 SPM, Security Policies, Confidentiality and Integrity Policies

INFSCI 2935: Introduction to Computer Security2 Schematic Protection Model Key idea is to use the notion of a protection type Key idea is to use the notion of a protection type  Label that determines how control rights affect an entity  Take-Grant: subject and object are different protection types  TS and TO represent subject type set and object set   (X) is the type of entity X A ticket describes a right A ticket describes a right  Consists of an entity name and a right symbol: X/z Possessor of the ticket X/z has right r over entity X Y has tickets X/r, X/w -> Y has tickets X/rw  Each entity X has a set dom(X) of tickets Y/z   (X/r:c) =  (X)/r:c is the type of a ticket

INFSCI 2935: Introduction to Computer Security3 Schematic Protection Model Inert right vs. Control right Inert right vs. Control right  Inert right doesn’t affect protection state, e.g. read right  take right in Take-Grant model is a control right Copy flag c Copy flag c  Every right r has an associated copyable right rc  r:c means r or rc Manipulation of rights Manipulation of rights  A link predicate Determines if a source and target of a transfer are “connected”  A filter function Determines if a transfer is authorized

INFSCI 2935: Introduction to Computer Security4 Transferring Rights dom(X) : set of tickets that X has dom(X) : set of tickets that X has Link predicate: link i (X,Y) Link predicate: link i (X,Y)  conjunction or disjunction of the following terms X/z  dom(X); X/z  dom(Y); Y/z  dom(X); Y/z  dom(Y) true  Determines if X and Y “connected” to transfer right  Examples: Take-Grant: link(X, Y) = Y/g  dom(X) v X/t  dom(Y) Broadcast:link(X, Y) = X/b  dom(X) Pull: link(X, Y) = Y/p  dom(Y) Universal:link(X, Y) = true Scheme: a finite set of link predicates is called a scheme Scheme: a finite set of link predicates is called a scheme

INFSCI 2935: Introduction to Computer Security5 Filter Function Filter function: Filter function:  Imposes conditions on when tickets can be transferred  f i : TS x TS → 2 TxR (range is copyable rights) X/r:c can be copied from dom(Y) to dom(Z) iff  i s. t. the following are true: X/r:c can be copied from dom(Y) to dom(Z) iff  i s. t. the following are true:  X/rc  dom(Y)  link i (Y, Z)   (X)/r:c  f i (  (Y),  (Z)) Examples: Examples:  If f i (  (Y),  (Z)) = T x R then any rights are transferable  If f i (  (Y),  (Z)) = T x RI then only inert rights are transferable  If f i (  (Y),  (Z)) = Ө then no tickets are transferable One filter function is defined for each link predicate One filter function is defined for each link predicate

INFSCI 2935: Introduction to Computer Security6 SCM Example 1 Owner-based policy Owner-based policy  Subject U can authorize subject V to access an object F iff U owns F  Types: TS= {user}, TO = {file}  Ownership is viewed as copy attributes If U owns F, all its tickets for F are copyable  RI: { r:c, w:c, a:c, x:c }; RC is empty read, write, append, execute; copy on each   U, V  user, link(U, V) = true Anyone can grant a right to anyone else if they posses the right to do so (copy)  f(user, user) = { file/r, file/w, file/a, file/x } Can copy read, write, append, execute

INFSCI 2935: Introduction to Computer Security7 SPM Example 1 Peter owns file Doom; can he give Paul execute permission over Doom? Peter owns file Doom; can he give Paul execute permission over Doom? 1.  (Peter) is user and  (Paul) is user 2.  (Doom) is file 3.Doom/xc  dom(Peter) 4.Link(Peter, Paul) = TRUE 5.  (Doom)/x  f(  (Peter),  (Paul)) - because of 1 and 2 Therefore, Peter can give ticket Doom/xc to Paul

INFSCI 2935: Introduction to Computer Security8 SPM Example2 Take-Grant Protection Model Take-Grant Protection Model  TS = { subjects }, TO = { objects }  RC = {tc, gc}, RI = {rc, wc} Note that all rights can be copied in T-G model  link(p, q) = p/t  dom(q) v q/t  dom(p)  f(subject, subject) = { subject, object }  { tc, gc, rc, wc } Note that any rights can be transferred in T-G model

INFSCI 2935: Introduction to Computer Security9 Demand A subject can demand a right from another entity A subject can demand a right from another entity  Demand function d:TS → 2 TxR  Let a and b be types a/r:c  d(b) : every subject of type b can demand a ticket X/r:c for all X such that  (X) = a  A sophisticated construction eliminates the need for the demand operation – hence omitted

INFSCI 2935: Introduction to Computer Security10 Create Operation Need to handle Need to handle  type of the created entity, &  tickets added by the creation Relation cancreate(a, b)  TS x T Relation cancreate(a, b)  TS x T  A subject of type a can create an entity of type b Rule of acyclic creates Rule of acyclic creates  Limits the membership in cancreate(a, b)  If a subject of type a can create a subject of type b, then none of the descendants can create a subject of type a

INFSCI 2935: Introduction to Computer Security11 Create operation Distinct Types create rule cr(a, b) specifies the create rule cr(a, b) specifies the  tickets introduced when a subject of type a creates an entity of type b B object: cr(a, b)  { b/r:c  RI } B object: cr(a, b)  { b/r:c  RI }  Only inert rights can be created  A gets B/r:c iff b/r:c  cr(a, b) B subject: cr(a, b) has two parts B subject: cr(a, b) has two parts  cr P (a, b) added to A, cr C (a, b) added to B  A gets B/r:c if b/r:c in cr P (a, b)  B gets A/r:c if a/r:c in cr C (a, b)

INFSCI 2935: Introduction to Computer Security12 Non-Distinct Types cr(a, a): who gets what? cr(a, a): who gets what?  self/r:c are tickets for creator  a/r:c tickets for the created cr(a, a) = { a/r:c, self/r:c | r:c  R} cr(a, a) = { a/r:c, self/r:c | r:c  R} cr(a, a) = cr C (a, b)|cr P (a, b) is attenuating if: cr(a, a) = cr C (a, b)|cr P (a, b) is attenuating if: 1.cr C (a, b)  cr P (a, b) and 2.a/r:c  cr P (a, b)  self/r:c  cr P (a, b) A scheme is attenuating if, A scheme is attenuating if,  For all types a, cc(a, a) → cr(a, a) is attenuating

INFSCI 2935: Introduction to Computer Security13 Examples Owner-based policy Owner-based policy  Users can create files: cc(user, file) holds  Creator can give itself any inert rights: cr(user, file) = {file/r:c| r  RI} Take-Grant model Take-Grant model  A subject can create a subject or an object cc(subject, subject ) and cc(subject, object ) hold  Subject can give itself any rights over the vertices it creates but the subject does not give the created subject any rights (although grant can be used later) cr C (a, b) = Ө; cr P (a, b) = {sub/tc, sub/gc, sub/rc, sub/wc} Hence, cr(sub, sub) = {sub/tc, sub/gc, sub/rc, sub/wc} | Ө cr(sub, obj) = {obj/tc, obj/gc, obj/rc, obj/wc} | Ө

INFSCI 2935: Introduction to Computer Security14 Safety Analysis in SPM Idea: derive maximal state where changes don’t affect analysis Idea: derive maximal state where changes don’t affect analysis  Indicates all the tickets that can be transferred from one subject to another  Indicates what the maximum rights of a subject is in a system Theorems: Theorems:  A maximal state exists for every system  If parent gives child only rights parent has (conditions somewhat more complex), can easily derive maximal state  Safety: If the scheme is acyclic and attenuating, the safety question is decidable

INFSCI 2935: Introduction to Computer Security15 Typed Access Matrix Model Finite set T of types (TS  T for subjects) Finite set T of types (TS  T for subjects) Protection State: (S, O, , A) Protection State: (S, O, , A)   :O  T is a type function  Operations same as in HRU model except create adds type  is child type iff command create creates subject/object of type   is child type iff command create creates subject/object of type  If parent/child graph from all commands acyclic, then: If parent/child graph from all commands acyclic, then:  Safety is decidable  Safety is NP-Hard  Safety is polynomial if all commands limited to three parameters

INFSCI 2935: Introduction to Computer Security16 HRU vs. SPM SPM more abstract SPM more abstract  Analyses focus on limits of model, not details of representation HRU allows revocation HRU allows revocation  SPM has no equivalent to delete, destroy HRU allows multiparent creates, SPM does not HRU allows multiparent creates, SPM does not  SPM cannot express multiparent creates easily, and not at all if the parents are of different types because cancreate allows for only one type of creator  Suggests SPM is less expressive than HRU

INFSCI 2935: Introduction to Computer Security17 Comparing Models Expressive Power Expressive Power  HRU/Access Control Matrix subsumes Take-Grant  HRU subsumes Typed Access Control Matrix  SPM subsumes Take-Grant Multilevel security Integrity models What about SPM and HRU? What about SPM and HRU?  SPM has no revocation (delete/destroy) HRU without delete/destroy (monotonic HRU) HRU without delete/destroy (monotonic HRU)  MTAM subsumes monotonic mono-operational HRU

INFSCI 2935: Introduction to Computer Security18 Extended Schematic Protection Model Adds “joint create”: new node has multiple parents Adds “joint create”: new node has multiple parents  Allows more natural representation of sharing between mutually suspicious parties Create joint node for sharing Monotonic ESPM and Monotonic HRU are equivalent Monotonic ESPM and Monotonic HRU are equivalent

Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security19 Security Policies Overview

INFSCI 2935: Introduction to Computer Security20 Security Policy Defines what it means for a system to be secure Defines what it means for a system to be secure Formally: Partitions a system into Formally: Partitions a system into  Set of secure (authorized) states  Set of non-secure (unauthorized) states Secure system is one that Secure system is one that  Starts in authorized state  Cannot enter unauthorized state

INFSCI 2935: Introduction to Computer Security21 Secure System - Example Is this Finite State Machine Secure? Is this Finite State Machine Secure?  A is start state ?  B is start state ?  C is start state ?  How can this be made secure if not?  Suppose A, B, and C are authorized states ? ABCD Unauthorized states Authorized states

INFSCI 2935: Introduction to Computer Security22 Additional Definitions: Security breach: system enters an unauthorized state Security breach: system enters an unauthorized state Let X be a set of entities, I be information. Let X be a set of entities, I be information.  I has confidentiality with respect to X if no member of X can obtain information on I  I has integrity with respect to X if all members of X trust I Trust I, its conveyance and protection (data integrity) I maybe origin information or an identity (authentication) I is a resource – its integrity implies it functions as it should (assurance)  I has availability with respect to X if all members of X can access I Time limits (quality of service

INFSCI 2935: Introduction to Computer Security23 Confidentiality Policy Also known as information flow Also known as information flow  Transfer of rights  Transfer of information without transfer of rights  Temporal context Model often depends on trust Model often depends on trust  Parts of system where information could flow  Trusted entity must participate to enable flow Highly developed in Military/Government Highly developed in Military/Government

INFSCI 2935: Introduction to Computer Security24 Integrity Policy Defines how information can be altered Defines how information can be altered  Entities allowed to alter data  Conditions under which data can be altered  Limits to change of data Examples: Examples:  Purchase over $1000 requires signature  Check over $10,000 must be approved by one person and cashed by another Separation of duties : for preventing fraud Highly developed in commercial world Highly developed in commercial world

INFSCI 2935: Introduction to Computer Security25 Transaction-oriented Integrity Begin in consistent state Begin in consistent state  “Consistent” defined by specification Perform series of actions (transaction) Perform series of actions (transaction)  Actions cannot be interrupted  If actions complete, system in consistent state  If actions do not complete, system reverts to beginning (consistent) state

INFSCI 2935: Introduction to Computer Security26 Trust Theories and mechanisms rest on some trust assumptions Theories and mechanisms rest on some trust assumptions Administrator installs patch Administrator installs patch 1.Trusts patch came from vendor, not tampered with in transit 2.Trusts vendor tested patch thoroughly 3.Trusts vendor’s test environment corresponds to local environment 4.Trusts patch is installed correctly

INFSCI 2935: Introduction to Computer Security27 Trust in Formal Verification Formal verification provides a formal mathematical proof that given input i, program P produces output o as specified Formal verification provides a formal mathematical proof that given input i, program P produces output o as specified Suppose a security-related program S formally verified to work with operating system O Suppose a security-related program S formally verified to work with operating system O What are the assumptions? What are the assumptions?

INFSCI 2935: Introduction to Computer Security28 Trust in Formal Methods 1.Proof has no errors  Bugs in automated theorem provers 2.Preconditions hold in environment in which S is to be used 3.S transformed into executable S’ whose actions follow source code  Compiler bugs, linker/loader/library problems 4.Hardware executes S’ as intended  Hardware bugs

INFSCI 2935: Introduction to Computer Security29 Security Mechanism Policy describes what is allowed Policy describes what is allowed Mechanism Mechanism  Is an entity/procedure that enforces (part of) policy Example Policy: Students should not copy homework Example Policy: Students should not copy homework  Mechanism: Disallow access to files owned by other users Does mechanism enforce policy? Does mechanism enforce policy?

INFSCI 2935: Introduction to Computer Security30 Security Model Security Policy: What is/isn’t authorized Security Policy: What is/isn’t authorized Problem: Policy specification often informal Problem: Policy specification often informal  Implicit vs. Explicit  Ambiguity Security Model: Model that represents a particular policy (policies) Security Model: Model that represents a particular policy (policies)  Model must be explicit, unambiguous  Abstract details for analysis  HRU result suggests that no single nontrivial analysis can cover all policies, but restricting the class of security policies sufficiently allows meaningful analysis

INFSCI 2935: Introduction to Computer Security31 Common Mechanisms: Access Control Discretionary Access Control (DAC) Discretionary Access Control (DAC)  Owner determines access rights  Typically identity-based access control: Owner specifies other users who have access Mandatory Access Control (MAC) Mandatory Access Control (MAC)  Rules specify granting of access  Also called rule-based access control Originator Controlled Access Control (ORCON) Originator Controlled Access Control (ORCON)  Originator controls access  Originator need not be owner! Role Based Access Control (RBAC) Role Based Access Control (RBAC)  Identity governed by role user assumes

INFSCI 2935: Introduction to Computer Security32 Policy Languages High-level: Independent of mechanisms High-level: Independent of mechanisms  Constraints expressed independent of enforcement mechanism  Constraints restrict entities, actions  Constraints expressed unambiguously Requires a precise language, usually a mathematical, logical, or programming-like language  Example: Domain-Type Enforcement Language Subjects partitioned into domains Objects partitioned into types Each domain has set of rights over each type

INFSCI 2935: Introduction to Computer Security33 Example: Web Browser Goal: restrict actions of Java programs that are downloaded and executed under control of web browser Goal: restrict actions of Java programs that are downloaded and executed under control of web browser Language specific to Java programs Language specific to Java programs Expresses constraints as conditions restricting invocation of entities Expresses constraints as conditions restricting invocation of entities

INFSCI 2935: Introduction to Computer Security34 Expressing Constraints Entities are classes, methods Entities are classes, methods  Class: set of objects that an access constraint constrains  Method: set of ways an operation can be invoked Operations Operations  Instantiation: s creates instance of class c: s ├ c  Invocation: s1 executes object s2: s1 |→  s2 Access constraints Access constraints  deny(s op x) when b  when b is true, subject s cannot perform op on (subject or class) x; empty s means all subjects

INFSCI 2935: Introduction to Computer Security35 Sample Constraints Downloaded program cannot access password database file on UNIX system Downloaded program cannot access password database file on UNIX system Program’s class and methods for files: Program’s class and methods for files: class File { public file(String name); public String getfilename(); public char read(); …. Constraint: Constraint: deny( |→ file.read) when (file.getfilename() == “/etc/passwd”)

INFSCI 2935: Introduction to Computer Security36 Policy Languages Low-level: close to mechanisms Low-level: close to mechanisms  A set of inputs or arguments to commands that set, or check, constraints on a system  Example: Tripwire: Flags what has changed Configuration file specifies settings to be checked History file keeps old (good) example

INFSCI 2935: Introduction to Computer Security37 Secure, Precise Mechanisms Can one devise a procedure for developing a mechanism that is both secure and precise? Can one devise a procedure for developing a mechanism that is both secure and precise?  Consider confidentiality policies only here  Integrity policies produce same result Program with multiple inputs and one output as an abstract function Program with multiple inputs and one output as an abstract function  Let p be a function p: I 1 ...  I n  R. Then p is a program with n inputs i k  I k, 1 ≤ k ≤ n, and one output r  R  Goal: determine if P can violate a security requirement (confidentiality, integrity, etc.)

INFSCI 2935: Introduction to Computer Security38 Programs and Postulates Observability Postulate: Observability Postulate:  the output of a function encodes all available information about its inputs Covert channels considered part of the output  Output may contain things not normally thought of as part of function result Example: authentication function Example: authentication function  Inputs name, password; output Good or Bad  If name invalid, print Bad; else access database  Problem: time output of Bad, can determine if name valid  This means timing is part of output

INFSCI 2935: Introduction to Computer Security39 Protection Mechanism Let p be a function p: I 1 ...  I n  R. A protection mechanism m is a function m: I 1 ...  I n  R  E for which, when i k  I k, 1 ≤ k ≤ n, either Let p be a function p: I 1 ...  I n  R. A protection mechanism m is a function m: I 1 ...  I n  R  E for which, when i k  I k, 1 ≤ k ≤ n, either  m(i 1,..., i n ) = p(i 1,..., i n ) or  m(i 1,..., i n )  E. E is set of error outputs E is set of error outputs  In above example, E = { “Password Database Missing”, “Password Database Locked” }

INFSCI 2935: Introduction to Computer Security40 Confidentiality Policy Confidentiality policy for program p says which inputs can be revealed Confidentiality policy for program p says which inputs can be revealed  Formally, for p: I 1 ...  I n  R, it is a function c: I 1 ...  I n  A, where A  I 1 ...  I n  A is set of inputs available to observer Security mechanism is function m: I 1 ...  I n  R  E Security mechanism is function m: I 1 ...  I n  R  E  m secure iff  m´: A  R  E such that, for all i k  I k, 1 ≤ k ≤ n, m(i 1,..., i n ) = m´(c(i 1,..., i n ))  m returns values consistent with c

INFSCI 2935: Introduction to Computer Security41 Examples c(i 1,..., i n ) = C, a constant c(i 1,..., i n ) = C, a constant  Deny observer any information (output does not vary with inputs) c(i 1,..., i n ) = (i 1,..., i n ), and m´ = m c(i 1,..., i n ) = (i 1,..., i n ), and m´ = m  Allow observer full access to information c(i 1,..., i n ) = i 1 c(i 1,..., i n ) = i 1  Allow observer information about first input but no information about other inputs.

INFSCI 2935: Introduction to Computer Security42 Precision Security policy may be over-restrictive Security policy may be over-restrictive  Precision measures how over-restrictive m 1, m 2 distinct protection mechanisms for program p under policy c m 1, m 2 distinct protection mechanisms for program p under policy c  m 1 as precise as m 2 (m 1  m 2 ) if, for all inputs i 1, …, i n - m 2 (i 1, …, i n ) = p(i 1, …, i n )  - m 1 (i 1, …, i n ) = p(i 1, …, i n  m 1 more precise than m 2 (m 1 ~m 2 ) if there is an input (i 1 ´, …, i n ´) such that - m 1 (i 1 ´, …, i n ´) = p(i 1 ´, …, i n ´) and - m 2 (i 1 ´, …, i n ´) ≠ p(i 1 ´, …, i n ´).

INFSCI 2935: Introduction to Computer Security43 Combining Mechanisms m 1, m 2 protection mechanisms m 1, m 2 protection mechanisms m 3 = m 1  m 2 defined as m 3 = m 1  m 2 defined as  p(i 1, …, i n ) when m 1 (i 1, …, i n ) = p(i 1, …, i n ) or m 2 (i 1, …, i n ) = p(i 1, …, i n )  else m 1 (i 1, …, i n ) Theorem: if m 1, m 2 secure, then m 3 secure Theorem: if m 1, m 2 secure, then m 3 secure  m 1  m 2 secure  m 1  m 2 ≈ m 1 and m 1  m 2 ≈ m 2  Proof follows from the definitions

INFSCI 2935: Introduction to Computer Security44 Modeling Secure/Precise: Confidentiality – existence theorem Theorem: Given p and c,  a precise, secure mechanism m* such that  secure m for p and c, m* ≈ m Theorem: Given p and c,  a precise, secure mechanism m* such that  secure m for p and c, m* ≈ m  Proof: Induction from previous theorem  Maximally precise mechanism  Ensures security  Minimizes number of denials of legitimate actions There is no effective procedure that determines a maximally precise, secure mechanism for any policy and program. There is no effective procedure that determines a maximally precise, secure mechanism for any policy and program.

Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security45 Confidentiality Policies

INFSCI 2935: Introduction to Computer Security46 Confidentiality Policy Also known as information flow policy Also known as information flow policy  Integrity is secondary objective  Eg. Military mission “date” Bell-LaPadula Model Bell-LaPadula Model  Formally models military requirements Information has sensitivity levels or classification Subjects have clearance Subjects with clearance are allowed access  Multi-level access control or mandatory access control

INFSCI 2935: Introduction to Computer Security47 Bell-LaPadula: Basics Mandatory access control Mandatory access control  Entities are assigned security levels  Subject has security clearance L(s) = l s  Object has security classification L(o) = l o  Simplest case: Security levels are arranged in a linear order l i < l i+1 Example Example Top secret > Secret > Confidential >Unclassified

INFSCI 2935: Introduction to Computer Security48 “No Read Up” Information is allowed to flow up, not down Information is allowed to flow up, not down Simple security property: Simple security property:  s can read o if and only if l o ≤ l s and s has read access to o -Combines mandatory (security levels) and discretionary (permission required) -Prevents subjects from reading objects at higher levels (No Read Up rule)

INFSCI 2935: Introduction to Computer Security49 “No Write Down” Information is allowed to flow up, not down Information is allowed to flow up, not down *property *property  s can write o if and only if l s ≤ l o and s has write access to o -Combines mandatory (security levels) and discretionary (permission required) -Prevents subjects from writing to objects at lower levels (No Write Down rule)

INFSCI 2935: Introduction to Computer Security50 Example security level subjectobject Top Secret Tamara Personnel Files SecretSamuel Files ConfidentialClaire Activity Logs UnclassifiedUlaley Telephone Lists Tamara can read which objects? And write? Claire cannot read which objects? And write? Ulaley can read which objects? And write?

INFSCI 2935: Introduction to Computer Security51 Access Rules Secure system: Secure system:  One in which both the properties hold Theorem: Let Σ be a system with secure initial state σ 0, T be a set of state transformations Theorem: Let Σ be a system with secure initial state σ 0, T be a set of state transformations  If every element of T follows rules, every state σ i secure  Proof - induction

INFSCI 2935: Introduction to Computer Security52 Categories Total order of classifications not flexible enough Total order of classifications not flexible enough  Alice cleared for missiles; Bob cleared for warheads; Both cleared for targets Solution: Categories Solution: Categories  Use set of compartments (from power set of compartments)  Enforce “need to know” principle  Security levels (security level, category set) (Top Secret, {Nuc, Eur, Asi}) (Top Secret, {Nuc, Asi}) Combining with clearance: Combining with clearance:  (L,C) dominates (L’,C’)  L’ ≤ L and C’  C  Induces lattice of security levels

INFSCI 2935: Introduction to Computer Security53 Lattice of categories {Nuc}{Eur} {Us} {Nuc, Eur}{Nuc, Us}{Eur, Us} {Nuc, Eur, Us} {} Examples of levels Examples of levels  (Top Secret, {Nuc,Asi}) dom (Secret, {Nuc})  (Secret, {Nuc, Eur}) dom (Confidential, {Nuc,Eur})  (Top Secret, {Nuc})  dom (Confidential, {Eur}) Bounds Bounds  Greatest lower,  Lowest upper  glb of {X, Nuc, Us} & {X, Eur, Us}?  lub of {X, Nuc, Us} & {X, Eur, Us}?

INFSCI 2935: Introduction to Computer Security54 Access Rules Simple Security Condition: S can read O if and only if Simple Security Condition: S can read O if and only if  S dominate O and  S has read access to O *-Property: S can write O if and only if *-Property: S can write O if and only if  O dom S and  S has write access to O Secure system: One with above properties Secure system: One with above properties Theorem: Let Σ be a system with secure initial state σ 0, T be a set of state transformations Theorem: Let Σ be a system with secure initial state σ 0, T be a set of state transformations  If every element of T follows rules, every state σ i secure

INFSCI 2935: Introduction to Computer Security55 Problem: No write-down Cleared subject can’t communicate to non-cleared subject Any write from l i to l k, i > k, would violate *- property Any write from l i to l k, i > k, would violate *- property  Subject at l i can only write to l i and above Any read from l k to l i, i > k, would violate simple security property Any read from l k to l i, i > k, would violate simple security property  Subject at l k can only read from l k and below Subject at level i can’t write something readable by subject at k Subject at level i can’t write something readable by subject at k  Not very practical

INFSCI 2935: Introduction to Computer Security56 Principle of Tranquility Should we change classification levels? Should we change classification levels? Raising object’s security level Raising object’s security level  Information once available to some subjects is no longer available  Usually assumes information has already been accessed  Simple security property violated? Problem? Lowering object’s security level Lowering object’s security level  Simple security property violated?  The declassification problem  Essentially, a “write down” violating *-property  Solution: define set of trusted subjects that sanitize or remove sensitive information before security level is lowered

INFSCI 2935: Introduction to Computer Security57 Types of Tranquility Strong Tranquility Strong Tranquility  The clearances of subjects, and the classifications of objects, do not change during the lifetime of the system Weak Tranquility Weak Tranquility  The clearances of subjects, and the classifications of objects, do not change in a way that violates the simple security condition or the *-property during the lifetime of the system

INFSCI 2935: Introduction to Computer Security58 Example DG/UX System DG/UX System  Only a trusted user (security administrator) can lower object’s security level  In general, process MAC labels cannot change If a user wants a new MAC label, needs to initiate new process Cumbersome, so user can be designated as able to change process MAC label within a specified range

INFSCI 2935: Introduction to Computer Security59 Class Person Object O1, U Attributes: Name : String Age : Int Country : String Attributes: Name :(Ralph,U) Age :(35, C) Country:(USA, C) Instance of Object O1, C Attributes: Name : Age :35 Country:USA Object O1, U Attributes: Name :Ralph Age :”C” Country:Canada Multilevel Database Attributes: Name :John Age :35 Country:USA Attributes: Name :Ralph Age :”C” Country:Canada After update Classified DBUnclassified DB (a) (b) Multiview Model of multilevel security