April 20, 2004ECS 235Slide #1 DG/UX System Provides mandatory access controls –MAC label identifies security level –Default labels, but can define others.

Slides:



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

1 cs691 chow C. Edward Chow Confidentiality Policy CS691 – Chapter 5 of Matt Bishop.
Semantics Static semantics Dynamic semantics attribute grammars
I NFORMATION S ECURITY : C ONFIDENTIALITY P OLICIES (C HAPTER 4) Dr. Shahriar Bijani Shahed University.
CS591 – Chapter 5.2/5.4 of Security in Computing
Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality model Bell-LaPadula Model –General idea –Informal description of rules.
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.
Security Fall 2009McFadyen ACS How do we protect the database from unauthorized access? Who can see employee salaries, student grades, … ? Who can.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Security Fall 2006McFadyen ACS How do we protect the database from unauthorized access? Who can see employee salaries, student grades, … ? Who can.
1 cs691 chow C. Edward Chow Confidentiality Policy CS691 – Chapter 5 of Matt Bishop.
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.
April 15, 2004ECS 235Slide #1 Policy Languages Express security policies in a precise way High-level languages –Policy constraints expressed abstractly.
7/15/2015 5:04 PM Lecture 4: Bell LaPadula James Hook CS 591: Introduction to Computer Security.
1 Efficiently Mining Frequent Trees in a Forest Mohammed J. Zaki.
Mandatory Flow Control Bismita Srichandan. Outline Mandatory Flow Control Models Information Flow Control Lattice Model Multilevel Models –The Bell-LaPadula.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
7-Access Control Fundamentals Dr. John P. Abraham Professor UTPA.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Assistant Professor, SIS Lecture 5 September 27, 2007 Security Policies Confidentiality Policies.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
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.
Linux+ Guide to Linux Certification, Second Edition
Data Structures TREES.
Slide #5-1 Confidentiality Policies CS461/ECE422 Computer Security I Fall 2010 Based on slides provided by Matt Bishop for use with Computer Security:
Linux+ Guide to Linux Certification, Third Edition
Linux+ Guide to Linux Certification, Third Edition
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 5 September 29, 2009 Security Policies Confidentiality Policies.
M180: Data Structures & Algorithms in Java Trees & Binary Trees Arab Open University 1.
1/15/20161 Computer Security Confidentiality Policies.
Computer Security: Principles and Practice
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #5-1 Confidentiality Policies Overview –What is a confidentiality model Bell-LaPadula.
1 Part 5. Permission Rules for Two-Level Systems Controlling access (visibility or scope) of static references. Analogous to “private” in C/C++/Java.
Windows 2003 Architecture, Active Directory & DNS Lecture # 3 Hassan Shuja 02/14/2006.
Naming CSCI 6900/4900. Names & Naming System Names have unique importance –Resource sharing –Identifying entities –Location reference Name can be resolved.
Lecture 14 Page 1 CS 111 Online File Systems: Naming, Reliability, and Advanced Issues CS 111 On-Line MS Program Operating Systems Peter Reiher.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
22 feb What is Access Control? Access control is the heart of security Definitions: * The ability to allow only authorized users, programs or.
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.
LECTURE 10 Semantic Analysis. REVIEW So far, we’ve covered the following: Compilation methods: compilation vs. interpretation. The overall compilation.
Linux Filesystem Management
Database System Implementation CSE 507
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Data Structures and Design in Java © Rick Mercer
Basic Security Theorem
Computer Security Confidentiality Policies
IS 2150 / TEL 2810 Introduction to Security
Chapter 5: Confidentiality Policies
Confidentiality Models
DG/UX System Provides mandatory access controls Initially
Confidentiality Policies
Policy Languages Express security policies in a precise way
Chapter 5: Confidentiality Policies
Chapter 5: Confidentiality Policies
Computer Security Confidentiality Policies
IS 2150 / TEL 2810 Information Security & Privacy
Presentation transcript:

April 20, 2004ECS 235Slide #1 DG/UX System Provides mandatory access controls –MAC label identifies security level –Default labels, but can define others Initially –Subjects assigned MAC label of parent Initial label assigned to user, kept in Authorization and Authentication database –Object assigned label at creation Explicit labels stored as part of attributes Implicit labels determined from parent directory

April 20, 2004ECS 235Slide #2 MAC Regions IMPL_HI is “maximum” (least upper bound) of all levels IMPL_LO is “minimum” (greatest lower bound) of all levels

April 20, 2004ECS 235Slide #3 Directory Problem Process p at MAC_A tries to create file /tmp/x /tmp/x exists but has MAC label MAC_B –Assume MAC_B dom MAC_A Create fails –Now p knows a file named x with a higher label exists Fix: only programs with same MAC label as directory can create files in the directory –Now compilation won’t work, mail can’t be delivered

April 20, 2004ECS 235Slide #4 Multilevel Directory Directory with a set of subdirectories, one per label –Not normally visible to user –p creating /tmp/x actually creates /tmp/d/x where d is directory corresponding to MAC_A –All p’s references to /tmp go to /tmp/d p cd’s to /tmp/a, then to.. –System call stat(“.”, &buf) returns inode number of real directory –System call dg_stat(“.”, &buf) returns inode of /tmp

April 20, 2004ECS 235Slide #5 Object Labels Requirement: every file system object must have MAC label 1.Roots of file systems have explicit MAC labels If mounted file system has no label, it gets label of mount point 2.Object with implicit MAC label inherits label of parent

April 20, 2004ECS 235Slide #6 Object Labels Problem: object has two names –/x/y/z, /a/b/c refer to same object –y has explicit label IMPL_HI, b has explicit label IMPL_B Case 1: hard link created while file system on DG/UX system 3.Creating hard link requires explicit label If implicit, label made explicit Moving a file makes label explicit

April 20, 2004ECS 235Slide #7 Object Labels Case 2: hard link exists when file system mounted –No objects on paths have explicit labels: paths have same implicit labels –An object on path acquires an explicit label: implicit label of child must be preserved 4.Change to directory label makes child labels explicit before the change

April 20, 2004ECS 235Slide #8 Object Labels Symbolic links are files, and treated as such 5.When resolving symbolic link, label of object is label of target of the link System needs access to the symbolic link itself

April 20, 2004ECS 235Slide #9 Using MAC Labels Simple security condition implemented *-property not fully implemented –Process MAC must equal object MAC –Writing allowed only at same security level Overly restrictive in practice

April 20, 2004ECS 235Slide #10 MAC Tuples Up to 3 MAC ranges (one per region) MAC range is a set of labels with upper, lower bound –Upper bound must dominate lower bound of range Examples 1.[(Secret, {NUC}), (Top Secret, {NUC})] 2.[(Secret,  ), (Top Secret, {NUC, EUR, ASI})] 3.[(Confidential, {ASI}), (Secret, {NUC, ASI})]

April 20, 2004ECS 235Slide #11 MAC Ranges 1.[(Secret, {NUC}), (Top Secret, {NUC})] 2.[(Secret,  ), (Top Secret, {NUC, EUR, ASI})] 3.[(Confidential, {ASI}), (Secret, {NUC, ASI})] (Top Secret, {NUC}) in ranges 1, 2 (Secret, {NUC, ASI}) in ranges 2, 3 [(Secret, {ASI}), (Top Secret, {EUR})] not valid range –as (Top Secret, {EUR})  dom (Secret, {ASI})

April 20, 2004ECS 235Slide #12 Objects and Tuples Objects must have MAC labels –May also have MAC label –If both, tuple overrides label Example –Paper has MAC range: [(Secret, {EUR}), (Top Secret, {NUC, EUR})]

April 20, 2004ECS 235Slide #13 MAC Tuples Process can read object when: –Object MAC range (lr, hr); process MAC label pl –pl dom hr Process MAC label grants read access to upper bound of range Example –Peter, with label (Secret, {EUR}), cannot read paper (Top Secret, {NUC, EUR}) dom (Secret, {EUR}) –Paul, with label (Top Secret, {NUC, EUR, ASI}) can read paper (Top Secret, {NUC, EUR, ASI}) dom (Top Secret, {NUC, EUR})

April 20, 2004ECS 235Slide #14 MAC Tuples Process can write object when: –Object MAC range (lr, hr); process MAC label pl –pl  (lr, hr) Process MAC label grants write access to any label in range Example –Peter, with label (Secret, {EUR}), can write paper (Top Secret, {NUC, EUR}) dom (Secret, {EUR}) and (Secret, {EUR}) dom (Secret, {EUR}) –Paul, with label (Top Secret, {NUC, EUR, ASI}), cannot read paper (Top Secret, {NUC, EUR, ASI}) dom (Top Secret, {NUC, EUR})

April 20, 2004ECS 235Slide #15 Formal Model Definitions S subjects, O objects, P rights –Defined rights: r read, a write, w read/write, e empty M set of possible access control matrices C set of clearances/classifications, K set of categories, L = C  K set of security levels F = { ( f s, f o, f c ) } –f s (s) maximum security level of subject s –f c (s) current security level of subject s –f o (o) security level of object o

April 20, 2004ECS 235Slide #16 More Definitions Hierarchy functions H: O  P(O) Requirements 1. o i ≠ o j  h(o i )  h(o j ) =  2. There is no set { o 1, …, o k }  O such that, for i = 1, …, k, o i+1  h(o i ) and o k+1 = o 1. Example –Tree hierarchy; take h(o) to be the set of children of o –No two objects have any common children (#1) –There are no loops in the tree (#2)

April 20, 2004ECS 235Slide #17 States and Requests V set of states –Each state is (b, m, f, h) b is like m, but excludes rights not allowed by f R set of requests for access D set of outcomes –y allowed, n not allowed, i illegal, o error W set of actions of the system –W  R  D  V  V

April 20, 2004ECS 235Slide #18 History X = R N set of sequences of requests Y = D N set of sequences of decisions Z = V N set of sequences of states Interpretation –At time t  N, system is in state z t–1  V; request x t  R causes system to make decision y t  D, transitioning the system into a (possibly new) state z t  V System representation:  (R, D, W, z 0 )  X  Y  Z –(x, y, z)  (R, D, W, z 0 ) iff (x t, y t, z t–1, z t )  W for all t –(x, y, z) called an appearance of  (R, D, W, z 0 )

April 20, 2004ECS 235Slide #19 Example S = { s }, O = { o }, P = { r, w } C = { High, Low }, K = { All } For every f  F, either f c (s) = ( High, { All }) or f c (s) = ( Low, { All }) Initial State: –b 1 = { (s, o, r) }, m 1  M gives s read access over o, and for f 1  F, f c,1 (s) = (High, {All}), f o,1 (o) = (Low, {All}) –Call this state v 0 = (b 1, m 1, f 1, h 1 )  V.

April 20, 2004ECS 235Slide #20 First Transition Now suppose in state v 0 : S = { s, s´ } Suppose f c,1 (s´) = (Low, {All}) m 1  M gives s and s´ read access over o As s´ not written to o, b 1 = { (s, o, r) } z 0 = v 0 ; if s´ requests r 1 to write to o: –System decides d 1 = y –New state v 1 = (b 2, m 1, f 1, h 1 )  V –b 2 = { (s, o, r), (s´, o, w) } –Here, x = (r 1 ), y = (y), z = (v 0, v 1 )

April 20, 2004ECS 235Slide #21 Second Transition Current state v 1 = (b 2, m 1, f 1, h 1 )  V –b 2 = { (s, o, r), (s´, o, w) } –f c,1 (s) = (High, { All }), f o,1 (o) = (Low, { All }) s´ requests r 2 to write to o: –System decides d 2 = n (as f c,1 (s) dom f o,1 (o)) –New state v 2 = (b 2, m 1, f 1, h 1 )  V –b 2 = { (s, o, r), (s´, o, w) } –So, x = (r 1, r 2 ), y = (y, n), z = (v 0, v 1, v 2 ), where v 2 = v 1