1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 3 September 13, 2007 Mathematical Review Security Policies.

Slides:



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

Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Access Control Intro, DAC and MAC System Security.
Chapter 4: Security Policies Overview The nature of policies What they cover Policy languages The nature of mechanisms Types Secure vs. precise Underlying.
Discrete Mathematics Lecture 4 Harper Langston New York University.
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.
User Domain Policies.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
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.
CH14 – Protection / Security. Basics Potential Violations – Unauthorized release, modification, DoS External vs Internal Security Policy vs Mechanism.
Csci5233 computer security & integrity 1 Access Control Matrix.
ECE509 Cyber Security : Concept, Theory, and Practice Access Control Matrix Spring 2014.
Mathematical Structures A collection of objects with operations defined on them and the accompanying properties form a mathematical structure or system.
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 IS 2150 / TEL 2810 Information Security & Privacy James Joshi Associate Professor, SIS Lecture 6 Oct 2-9, 2013 Security Policies Confidentiality Policies.
Chapter 5 – Designing Trusted Operating Systems  What makes an operating system “secure”? Or “trustworthy?  How are trusted systems designed, and which.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Slide #4-1 Chapter 4: Security Policies Overview The nature of policies –What they cover –Policy languages The nature of mechanisms –Types Underlying both.
Chapter 5 Network Security
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection State Transitions –Commands –Conditional Commands.
1 CMSC 250 Discrete Structures CMSC 250 Lecture 1.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 3 September 15, 2009 Mathematical Review Security Policies.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
Mathematical Preliminaries
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.
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
Computer Security: Principles and Practice
2/1/20161 Computer Security Foundational Results.
IS 2150/TEL 2810: Introduction of Computer Security1 September 27, 2003 Introduction to Computer Security Lecture 4 Security Policies, Confidentiality.
November 1, 2004Introduction to Computer Security © 2004 Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection.
INTRO TO COMPUTER SECURITY LECTURE 2 Security Policies M M Waseem Iqbal
September 10, 2012Introduction to Computer Security © 2004 Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model.
English for Economic Informatics I Tomáš Foltýnek Theoretical Foundations of Informatics.
Chapter 1 Logic and Proof.
Review: Discrete Mathematics and Its Applications
Chap 4. Security Policies
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
IS 2150 / TEL 2810 Introduction to Security
2. Access Control Matrix Introduction to Computer Security © 2004 Matt Bishop 9/21/2018.
IS 2150 / TEL 2810 Information Security & Privacy
Advanced System Security
Information Technology Department
IS 2150 / TEL 2810 Introduction to Security
IS 2150 / TEL 2810 Introduction to Security
IS 2150 / TEL 2810 Introduction to Security
Sungho Kang Yonsei University
IS 2150 / TEL 2810 Introduction to Security
Review: Discrete Mathematics and Its Applications
Chapter 4: Security Policies
Computer Security: Art and Science, 2nd Edition
Chapter 4: Security Policies
IS 2150 / TEL 2810 Information Security & Privacy
Chapter 2: Access Control Matrix
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
IS 2150 / TEL 2810 Introduction to Security
IS 2150 / TEL 2810 Introduction to Security
IS 2150 / TEL 2810 Information Security & Privacy
Computer Security Security Policies
Chapter 4: Security Policies
IS 2150 / TEL 2810 Introduction to Security
IS 2150 / TEL 2810 Information Security & Privacy
Presentation transcript:

1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 3 September 13, 2007 Mathematical Review Security Policies

2 Mathematics Review

3 Propositional logic/calculus Atomic, declarative statements (propositions) that can be shown to be either TRUE or FALSE but not both; E.g., “Sky is blue”; “3 is less than 4” Propositions can be composed into compound sentences using connectives Negation  p (NOT)highest precedence Disjunction p  q(OR) second precedence Conjunction p  q(AND)second precedence Implicationp  q q logical consequence of p Exercise: Truth tables?

4 Propositional logic/calculus Contradiction: Formula that is always false : p   p What about:  (p   p)? Tautology: Formula that is always True : p   p What about:  (p   p)? Others Exclusive OR: p  q; p or q but not both Bi-condition: p  q [p if and only if q (p iff q)] Logical equivalence: p  q [p is logically equivalent to q] Some exercises…

5 Some Laws of Logic Double negation DeMorgan’s law  (p  q)  (  p   q)  (p  q)  (  p   q) Commutative (p  q)  (q  p) Associative law p  (q  r)  (p  q)  r Distributive law p  (q  r)  (p  q)  (p  r) p  (q  r)  (p  q)  (p  r)

6 Predicate/first order logic Propositional logic Variable, quantifiers, constants and functions Consider sentence: Every directory contains some files Need to capture “every” “some” F(x): x is a file D(y): y is a directory C(x, y): x is a file in directory y

7 Predicate/first order logic Existential quantifiers  (There exists) E.g.,  x is read as There exists x Universal quantifiers  (For all)  y D(y)  (  x (F(x)  C(x, y))) read as for every y, if y is a directory, then there exists a x such that x is a file and x is in directory y What about  x F(x)  (  y (D(y)  C(x, y)))?

8 Mathematical Induction Proof technique - to prove some mathematical property E.g. want to prove that M(n) holds for all natural numbers Base case OR Basis: Prove that M(1) holds Induction Hypothesis: Assert that M(n) holds for n = 1, …, k Induction Step: Prove that if M(k) holds then M(k+1) holds

9 Mathematical Induction Exercise: prove that sum of first n natural numbers is S(n): 1 + … + n = n (n + 1)/2 S(n): 1^2+.. +n^2 = n (n +1)(2n + 1)/6

10 Lattice Sets Collection of unique elements Let S, T be sets Cartesian product: S x T = {(a, b) | a  A, b  B} A set of order pairs Binary relation R from S to T is a subset of S x T Binary relation R on S is a subset of S x S If (a, b)  R we write a R b Example: R is “less than equal to” (  ) For S = {1, 2, 3} Example of R on S is {(1, 1), (1, 2), (1, 3), ????) (1, 2)  R is another way of writing 1  2

11 Lattice Properties of relations Reflexive: if a R a for all a  S Anti-symmetric: if a R b and b R a implies a = b for all a, b  S Transitive: if a R b and b R c imply that a R c for all a, b, c  S Which properties hold for “less than equal to” (  )? Draw the Hasse diagram Captures all the relations

12 Lattice Total ordering: when the relation orders all elements E.g., “less than equal to” (  ) on natural numbers Partial ordering (poset): the relation orders only some elements not all E.g. “less than equal to” (  ) on complex numbers; Consider (2 + 4i) and (3 + 2i)

13 Lattice Upper bound ( u, a, b  S ) u is an upper bound of a and b means aRu and bRu Least upper bound : lub ( a, b ) closest upper bound Lower bound ( l, a, b  S ) l is a lower bound of a and b means lRa and lRb Greatest lower bound : glb ( a, b ) closest lower bound

14 Lattice A lattice is the combination of a set of elements S and a relation R meeting the following criteria R is reflexive, antisymmetric, and transitive on the elements of S For every s, t  S, there exists a greatest lower bound For every s, t  S, there exists a lowest upper bound Some examples S = {1, 2, 3} and R =  ? S = {2+4i; 1+2i; 3+2i, 3+4i} and R =  ?

15 Overview of Lattice Based Models Confidentiality Bell LaPadula Model First rigorously developed model for high assurance - for military Objects are classified Objects may belong to Compartments Subjects are given clearance Classification/clearance levels form a lattice Two rules No read-up No write-down

16 Security Policies

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

18 Secure System - Example 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

19 Additional Definitions: Security breach: system enters an unauthorized state 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 storage (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)

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

21 Integrity Policy Defines how information can be altered Entities allowed to alter data Conditions under which data can be altered Limits to change of data 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

22 Trust Theories and mechanisms rest on some trust assumptions 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

23 Trust in Formal Verification 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 What are the assumptions?

24 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

25 Security Mechanism Policy describes what is allowed Mechanism Is an entity/procedure that enforces (part of) policy Example Policy: Students should not copy homework Mechanism: Disallow access to files owned by other users

26 Security Model A model that represents a particular policy or set of policies Abstracts details relevant to analysis Focus on specific characteristics of policies E.g., Multilevel security focuses on information flow control

27 Security policies Military security policy Focuses on confidentiality Commercial security policy Primarily Integrity Transaction-oriented Begin in consistent state “Consistent” defined by specification 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

28 Access Control Discretionary Access Control (DAC) Owner determines access rights Typically identity-based access control: Owner specifies other users who have access Mandatory Access Control (MAC) Rules specify granting of access Also called rule-based access control

29 Access Control Originator Controlled Access Control (ORCON) Originator controls access Originator need not be owner! Role Based Access Control (RBAC) Identity governed by role user assumes

30 Back to.. Access Control Matrix

31 Protection System State of a system Current values of memory locations, registers, secondary storage, etc. other system components Protection state (P) A system state that is considered secure A protection system Captures the conditions for s tate transition Consists of two parts: A set of generic rights A set of commands

32 Protection System Subject (S: set of all subjects) Active entities that carry out an action/operation on other entities; Eg.: users, processes, agents, etc. Object (O: set of all objects) Eg.:Processes, files, devices Right (R: set of all rights) An action/operation that a subject is allowed/disallowed on objects Access Matrix A: a[s, o] ⊆ R Set of Protection States: (S, O, A)

33 State Transitions Let initial state X 0 = (S 0, O 0, A 0 ) Notation X i ├  i+1 X i+1 : upon transition  i+1, the system moves from state X i to X i+1 X ├* Y : the system moves from state X to Y after a set of transitions X i ├ c i+1 (p i+1,1, p i+1,2, …, p i+1,m ) X i+1 : state transition upon a command For every command there is a sequence of state transition operations

34 Primitive commands (Graham-Denning) Create subject s Creates new row, column in ACM; Create object o Creates new column in ACM Destroy subject s Deletes row, column from ACM; Destroy object o Deletes column from ACM Read access right of s on oCopy a[s, o] to x Delete access right r of s on oRemoves r right from subject s over object o Grant access right r of s on o Adds r right for subject s over object o Transfer access right r or r* to s on oAdds r right for subject s over object o

35 Primitive commands (HRU) Create subject s Creates new row, column in ACM; Create object o Creates new column in ACM Enter r into a[s, o] Adds r right for subject s over object o Delete r from a[s, o] Removes r right from subject s over object o Destroy subject s Deletes row, column from ACM; Destroy object o Deletes column from ACM

36 System commands [Unix] process p creates file f with owner read and write ( r, w ) will be represented by the following: Command create_file(p, f) Create object f Enter own into a[p,f] Enter r into a[p,f] Enter w into a[p,f] End

37 System commands Process p creates a new process q Command spawn_process(p, q) Create object q; Enter own into a[p,q] Enter r into a[p,q] Enter w into a[p,q] Enter r into a[q,r] Enter w into a[q,r] End

38 System commands Defined commands can be used to update ACM Command make_owner(p, f) Enter own into a[p,f] End Mono-operational: the command invokes only one primitive

39 Conditional Commands Mono-operational + mono- conditional Command grant_read_file(p, f, q) If own in a[p,f] Then Enter r into a[q,f] End

40 Conditional Commands Mono-operational + biconditional Command grant_read_file(p, f, q) If r in a[p,f] and c in a[p,f] Then Enter r into a[q,f] End Why not “OR”??

41 Fundamental questions How can we determine that a system is secure? Need to define what we mean by a system being “secure” Is there a generic algorithm that allows us to determine whether a computer system is secure? We will wait till next time …..