IS 2150/TEL 2810: Introduction of Computer Security1 September 27, 2003 Introduction to Computer Security Lecture 4 Security Policies, Confidentiality.

Slides:



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

Operating System Security
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.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
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.
Information Security Principles & Applications Topic 6: Security Policy Models 虞慧群
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.
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.
1 Security Policies CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 15, 2004.
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.
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 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
1 Announcement: End of Campaign Celebration When: Wednesday, October 1, 15:30 Where: New building site (NW corner 3 rd & University) Please attend and.
1 Precise Enforcement of Policies After we have a policy, is there always a mechanism to enforce it? If so, can we devise a generic procedure for developing.
Session 2 - Security Models and Architecture. 2 Overview Basic concepts The Models –Bell-LaPadula (BLP) –Biba –Clark-Wilson –Chinese Wall Systems Evaluation.
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
Slide #4-1 Chapter 4: Security Policies Overview The nature of policies –What they cover –Policy languages The nature of mechanisms –Types Underlying both.
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/4/20151 Computer Security Security models – an overview.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
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.
Advanced System Security Dr. Wayne Summers Department of Computer Science Columbus State University
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #5-1 Confidentiality Policies Overview –What is a confidentiality model Bell-LaPadula.
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 September 23, 2004 Introduction to Computer Security.
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
6/22/20161 Computer Security Integrity Policies. 6/22/20162 Integrity Policies Commercial requirement differ from military requirements: the emphasis.
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.
Chap 4. Security Policies
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Chapter 5: Confidentiality Policies
Advanced System Security
Basic Security Theorem
Computer Security Confidentiality Policies
IS 2150 / TEL 2810 Introduction to Security
Advanced System Security
Chapter 4: Security Policies
Chapter 4: Security Policies
Trust Models CS461/ECE422.
Chapter 5: Confidentiality Policies
Computer Security Confidentiality Policies
Chapter 6: Integrity Policies
IS 2150 / TEL 2810 Information Security & Privacy
Computer Security Security Policies
Chapter 4: Security Policies
Chapter 5: Confidentiality Policies
Advanced System Security
Presentation transcript:

IS 2150/TEL 2810: Introduction of Computer Security1 September 27, 2003 Introduction to Computer Security Lecture 4 Security Policies, Confidentiality and Integrity Policies

2IS 2150/TEL 2810: Introduction of Computer Security 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

3IS 2150/TEL 2810: Introduction of Computer Security 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

4IS 2150/TEL 2810: Introduction of Computer Security 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

5IS 2150/TEL 2810: Introduction of Computer Security 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

6IS 2150/TEL 2810: Introduction of Computer Security 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

7IS 2150/TEL 2810: Introduction of Computer Security 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

8IS 2150/TEL 2810: Introduction of Computer Security 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

9IS 2150/TEL 2810: Introduction of Computer Security 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?

10IS 2150/TEL 2810: Introduction of Computer Security 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

11IS 2150/TEL 2810: Introduction of Computer Security 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?

12IS 2150/TEL 2810: Introduction of Computer Security 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

13IS 2150/TEL 2810: Introduction of Computer Security 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

14IS 2150/TEL 2810: Introduction of Computer Security 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

15IS 2150/TEL 2810: Introduction of Computer Security 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

16IS 2150/TEL 2810: Introduction of Computer Security 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

17IS 2150/TEL 2810: Introduction of Computer Security 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”)

18IS 2150/TEL 2810: Introduction of Computer Security 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

19IS 2150/TEL 2810: Introduction of Computer Security 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.)

20IS 2150/TEL 2810: Introduction of Computer Security 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

21IS 2150/TEL 2810: Introduction of Computer Security 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” }

22IS 2150/TEL 2810: Introduction of Computer Security 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

23IS 2150/TEL 2810: Introduction of Computer Security 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.

24IS 2150/TEL 2810: Introduction of Computer Security 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 ´).

25IS 2150/TEL 2810: Introduction of Computer Security 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

26IS 2150/TEL 2810: Introduction of Computer Security 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.

IS 2150/TEL 2810: Introduction of Computer Security27 Confidentiality Policies

28IS 2150/TEL 2810: Introduction of Computer Security 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

29IS 2150/TEL 2810: Introduction of Computer Security 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

30IS 2150/TEL 2810: Introduction of Computer Security “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)

31IS 2150/TEL 2810: Introduction of Computer Security “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)

32IS 2150/TEL 2810: Introduction of Computer Security 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?

33IS 2150/TEL 2810: Introduction of Computer Security 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

34IS 2150/TEL 2810: Introduction of Computer Security 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

35IS 2150/TEL 2810: Introduction of Computer Security 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}?

36IS 2150/TEL 2810: Introduction of Computer Security 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

37IS 2150/TEL 2810: Introduction of Computer Security 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

38IS 2150/TEL 2810: Introduction of Computer Security 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

39IS 2150/TEL 2810: Introduction of Computer Security 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

40IS 2150/TEL 2810: Introduction of Computer Security 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