Introduction to Computer Security Lecture 4 SPM Security

  • Slides: 59
Download presentation
Introduction to Computer Security Lecture 4 SPM, Security Policies, Confidentiality and Integrity Policies September

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

Schematic Protection Model l Key idea is to use the notion of a protection

Schematic Protection Model l Key idea is to use the notion of a protection type ¡ ¡ Label that determines how control rights affect an entity Take-Grant: l ¡ ¡ l 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 ¡ Consists of an entity name and a right symbol: X/z l l ¡ ¡ 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 Security 2

Schematic Protection Model l Inert right vs. Control right ¡ ¡ l Copy flag

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

Transferring Rights dom(X) : set of tickets that X has l Link predicate: linki(X,

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

Filter Function l Filter function: ¡ ¡ l X/r: c can be copied from

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

SCM Example 1 l Owner-based policy ¡ ¡ ¡ Subject U can authorize subject

SCM Example 1 l 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 l ¡ RI: { r: c, w: c, a: c, x: c }; RC is empty l ¡ read, write, append, execute; copy on each U, V user, link(U, V) = true l ¡ If U owns F, all its tickets for F are copyable 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 } l Can copy read, write, append, execute INFSCI 2935: Introduction to Computer Security 6

SPM Example 1 l Peter owns file Doom; can he give Paul execute permission

SPM Example 1 l Peter owns file Doom; can he give Paul execute permission over Doom? (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 1. INFSCI 2935: Introduction to Computer Security 7

SPM Example 2 l Take-Grant Protection Model ¡ TS = { subjects }, TO

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

Demand l A subject can demand a right from another entity ¡ Demand function

Demand l A subject can demand a right from another entity ¡ Demand function d: TS → 2 Tx. R ¡ Let a and b be types l 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 Security 9

Create Operation l Need to handle ¡ ¡ l Relation can • create(a, b)

Create Operation l Need to handle ¡ ¡ l Relation can • create(a, b) TS x T ¡ l type of the created entity, & tickets added by the creation A subject of type a can create an entity of type b Rule of acyclic creates ¡ ¡ Limits the membership in can • create(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 Security 10

Create operation Distinct Types l create rule cr(a, b) specifies the ¡ l B

Create operation Distinct Types l create rule cr(a, b) specifies the ¡ l B object: cr(a, b) { b/r: c RI } ¡ ¡ l tickets introduced when a subject of type a creates an entity of type b 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 ¡ ¡ ¡ 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 Security 11

Non-Distinct Types l cr(a, a): who gets what? ¡ ¡ l l cr(a, a)

Non-Distinct Types l cr(a, a): who gets what? ¡ ¡ l l 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: 1. 2. l self/r: c are tickets for creator a/r: c tickets for the created cr. C(a, b) cr. P(a, b) and a/r: c cr. P(a, b) self/r: c cr. P(a, b) A scheme is attenuating if, ¡ For all types a, cc(a, a) → cr(a, a) is attenuating INFSCI 2935: Introduction to Computer Security 12

Examples l Owner-based policy ¡ ¡ l Users can create files: cc(user, file) holds

Examples l Owner-based policy ¡ ¡ l 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 ¡ A subject can create a subject or an object l ¡ 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, l cr(sub, sub) = {sub/tc, sub/gc, sub/rc, sub/wc} | Ө l cr(sub, obj) = {obj/tc, obj/gc, obj/rc, obj/wc} | Ө l INFSCI 2935: Introduction to Computer Security 13

Safety Analysis in SPM l Idea: derive maximal state where changes don’t affect analysis

Safety Analysis in SPM l Idea: derive maximal state where changes don’t affect analysis ¡ ¡ l 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: ¡ ¡ ¡ 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 Security 14

Typed Access Matrix Model Finite set T of types (TS T for subjects) l

Typed Access Matrix Model Finite set T of types (TS T for subjects) l Protection State: (S, O, , A) l ¡ ¡ l l : O T is a type function Operations same as in HRU model except create adds type is child type iff command creates subject/object of type 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 Security 15

HRU vs. SPM l SPM more abstract ¡ l HRU allows revocation ¡ l

HRU vs. SPM l SPM more abstract ¡ l HRU allows revocation ¡ l Analyses focus on limits of model, not details of representation SPM has no equivalent to delete, destroy 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 can • create allows for only one type of creator Suggests SPM is less expressive than HRU INFSCI 2935: Introduction to Computer Security 16

Comparing Models l Expressive Power ¡ ¡ ¡ HRU/Access Control Matrix subsumes Take-Grant HRU

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

Extended Schematic Protection Model l Adds “joint create”: new node has multiple parents ¡

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

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

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

Security Policy l Defines what it means for a system to be secure l

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

Secure System - Example Unauthorized states A B C D Authorized states l Is

Secure System - Example Unauthorized states A B C D Authorized states l 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 ? INFSCI 2935: Introduction to Computer Security 21

Additional Definitions: Security breach: system enters an unauthorized state l Let X be a

Additional Definitions: Security breach: system enters an unauthorized state l Let X be a set of entities, I be information. l ¡ ¡ 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 l l l ¡ 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 l Time limits (quality of service INFSCI 2935: Introduction to Computer Security 22

Confidentiality Policy l Also known as information flow ¡ Transfer of rights ¡ Transfer

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

Integrity Policy l Defines how information can be altered Entities allowed to alter data

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

Transaction-oriented Integrity l Begin in consistent state ¡ “Consistent” defined by specification l Perform

Transaction-oriented Integrity l Begin in consistent state ¡ “Consistent” defined by specification l 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 Security 25

Trust Theories and mechanisms rest on some trust assumptions l Administrator installs patch l

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

Trust in Formal Verification l Formal verification provides a formal mathematical proof that given

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

Trust in Formal Methods 1. Proof has no errors ¡ Bugs in automated theorem

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

Security Mechanism l Policy describes what is allowed l Mechanism ¡ Is an entity/procedure

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

Security Model Security Policy: What is/isn’t authorized l Problem: Policy specification often informal l

Security Model Security Policy: What is/isn’t authorized l Problem: Policy specification often informal l ¡ ¡ l Implicit vs. Explicit Ambiguity 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 Security 30

Common Mechanisms: Access Control l Discretionary Access Control (DAC) ¡ ¡ l Mandatory Access

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

Policy Languages l High-level: Independent of mechanisms Constraints expressed independent of enforcement mechanism ¡

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

Example: Web Browser l Goal: restrict actions of Java programs that are downloaded and

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

Expressing Constraints l Entities are classes, methods Class: set of objects that an access

Expressing Constraints l Entities are classes, methods Class: set of objects that an access constraint constrains ¡ Method: set of ways an operation can be invoked ¡ l Operations Instantiation: s creates instance of class c: s ├ c ¡ Invocation: s 1 executes object s 2: s 1 |→ s 2 ¡ l 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 Security 34

Sample Constraints Downloaded program cannot access password database file on UNIX system l Program’s

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

Policy Languages l Low-level: close to mechanisms A set of inputs or arguments to

Policy Languages l 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 ¡ l l Configuration file specifies settings to be checked History file keeps old (good) example INFSCI 2935: Introduction to Computer Security 36

Secure, Precise Mechanisms l Can one devise a procedure for developing a mechanism that

Secure, Precise Mechanisms l 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 ¡ l Program with multiple inputs and one output as an abstract function Let p be a function p: I 1 . . . In R. Then p is a program with n inputs ik Ik, 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 Security 37

Programs and Postulates l Observability Postulate: ¡ the output of a function encodes all

Programs and Postulates l Observability Postulate: ¡ the output of a function encodes all available information about its inputs l ¡ l Covert channels considered part of the output Output may contain things not normally thought of as part of function result 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 Security 38

Protection Mechanism . . . In R. A protection mechanism m is a function

Protection Mechanism . . . In R. A protection mechanism m is a function m: I 1 . . . In R E for which, when ik Ik, 1 ≤ k ≤ n, either l Let p be a function p: I 1 ¡ m(i 1, . . . , in) = p(i 1, . . . , in) or ¡ m(i 1, . . . , in) E. l E is set of error outputs ¡ In above example, E = { “Password Database Missing”, “Password Database Locked” } INFSCI 2935: Introduction to Computer Security 39

Confidentiality Policy l Confidentiality policy for program p says which inputs can be revealed

Confidentiality Policy l Confidentiality policy for program p says which inputs can be revealed ¡ ¡ l Formally, for p: I 1 . . . In R, it is a function c: I 1 . . . In A, where A I 1 . . . In A is set of inputs available to observer Security mechanism is function m: I 1 . . . In R E ¡ ¡ m secure iff m´: A R E such that, for all ik Ik, 1 ≤ k ≤ n, m(i 1, . . . , in) = m´(c(i 1, . . . , in)) m returns values consistent with c INFSCI 2935: Introduction to Computer Security 40

Examples l c(i 1, . . . , in) = C, a constant ¡

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

Precision l Security policy may be over-restrictive ¡ l Precision measures how over-restrictive m

Precision l Security policy may be over-restrictive ¡ l Precision measures how over-restrictive 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, …, in - m 2(i 1, …, in) = p(i 1, …, in) - m 1(i 1, …, in) = p(i 1, …, in m 1 more precise than m 2 (m 1~m 2) if there is an input (i 1´, …, in´) such that - m 1(i 1´, …, in´) = p(i 1´, …, in´) and - m 2(i 1´, …, in´) ≠ p(i 1´, …, in´). INFSCI 2935: Introduction to Computer Security 42

Combining Mechanisms m 1, m 2 protection mechanisms l m 3 = m 1

Combining Mechanisms m 1, m 2 protection mechanisms l m 3 = m 1 m 2 defined as l p(i 1, …, in) when m 1(i 1, …, in) = p(i 1, …, in) or m 2(i 1, …, in) = p(i 1, …, in) ¡ else m 1(i 1, …, in) ¡ l 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 Security 43

Modeling Secure/Precise: Confidentiality – existence theorem l Theorem: Given p and c, a precise,

Modeling Secure/Precise: Confidentiality – existence theorem l 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 ¡ ¡ l There is no effective procedure that determines a maximally precise, secure mechanism for any policy and program. INFSCI 2935: Introduction to Computer Security 44

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

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

Confidentiality Policy l Also known as information flow policy Integrity is secondary objective ¡

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

Bell-La. Padula: Basics l Mandatory access control ¡ Entities are assigned security levels ¡

Bell-La. Padula: Basics l Mandatory access control ¡ Entities are assigned security levels ¡ Subject has security clearance L(s) = ls ¡ Object has security classification L(o) = lo ¡ Simplest case: Security levels are arranged in a linear order li < li+1 l Example Top secret > Secret > Confidential >Unclassified INFSCI 2935: Introduction to Computer Security 47

“No Read Up” l Information is allowed to flow up, not down l Simple

“No Read Up” l Information is allowed to flow up, not down l Simple security property: ¡ s can read o if and only if l lo ≤ ls and l 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 Security 48

“No Write Down” l Information is allowed to flow up, not down l *property

“No Write Down” l Information is allowed to flow up, not down l *property ¡ s can write o if and only if l ls ≤ lo and l 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 Security 49

Example security level subject object Top Secret Tamara Personnel Files Secret Samuel E-Mail Files

Example security level subject object Top Secret Tamara Personnel Files Secret Samuel E-Mail Files Confidential Claire Activity Logs Unclassified Ulaley 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 Security 50

Access Rules l Secure system: ¡ One in which both the properties hold l

Access Rules l Secure system: ¡ One in which both the properties hold l 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 Security 51

Categories l Total order of classifications not flexible enough ¡ l Alice cleared for

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

Lattice of categories {Nuc, Eur, Us} l l Examples of levels ¡ (Top Secret,

Lattice of categories {Nuc, Eur, Us} l l Examples of levels ¡ (Top Secret, {Nuc, Asi}) dom (Secret, {Nuc}) ¡ (Secret, {Nuc, Eur}) dom (Confidential, {Nuc, Eur}) ¡ (Top Secret, {Nuc}) dom (Confidential, {Eur}) {Nuc, Eur} {Nuc, Us} {Eur, Us} {Us} 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 Security {} 53

Access Rules l Simple Security Condition: S can read O if and only if

Access Rules l Simple Security Condition: S can read O if and only if ¡ ¡ l *-Property: S can write O if and only if ¡ ¡ l l S dominate O and S has read access to O O dom S and S has write access to O Secure system: One with above properties 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 Security 54

Problem: No write-down Cleared subject can’t communicate to non-cleared subject l Any write from

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

Principle of Tranquility Should we change classification levels? l Raising object’s security level l

Principle of Tranquility Should we change classification levels? l Raising object’s security level l ¡ ¡ ¡ l 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 ¡ ¡ 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 Security 56

Types of Tranquility l Strong Tranquility ¡ l The clearances of subjects, and the

Types of Tranquility l Strong Tranquility ¡ l The clearances of subjects, and the classifications of objects, do not change during the lifetime of the system 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 Security 57

Example l DG/UX System ¡ Only a trusted user (security administrator) can lower object’s

Example l 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 l Cumbersome, so user can be designated as able to change process MAC label within a specified range l INFSCI 2935: Introduction to Computer Security 58

Multiview Model of multilevel security Multilevel Database Class Person Attributes: Name : String Age

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