Computer Security 3e Dieter Gollmann www.wiley.com/college/gollmann.

Slides:



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

Chapter 3 Multics. Chapter Overview Multics contribution to technology Multics History Multics System – Fundamentals – Security Fundamentals – Protection.
Chapter 6 Security Kernels.
Computer Security: Principles and Practice Chapter 10 – Trusted Computing and Multilevel Security.
Security Models and Architecture
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.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Bell-LaPadula Model. Why Security Models?  When we have implemented a security policy, do we know that it will (and can) be.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #5-1 Chapter 5: Confidentiality Policies Overview –What is a confidentiality.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
Information Systems Security Security Architecture Domain #5.
MT Computer Security - Models & Policies
User Domain Policies.
Lecture 7 Access Control
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Security & Protection.
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.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Security & Protection.
CH14 – Protection / Security. Basics Potential Violations – Unauthorized release, modification, DoS External vs Internal Security Policy vs Mechanism.
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.
3/16/2004Biba Model1 Biba Integrity Model Presented by: Nathan Balon Ishraq Thabet.
1 Lecture 3 Security Model. 2 Why Security Models? u A security model is a formal description of a security policy u Models are used in high assurance.
1 Announcement: End of Campaign Celebration When: Wednesday, October 1, 15:30 Where: New building site (NW corner 3 rd & University) Please attend and.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
CSC 386 – Computer Security Scott Heggen. Agenda Bell-LaPadula Model of Computer Security.
Controlling Files Richard Newman based on Smith “Elementary Information Security”
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
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.
Reference Monitors (Credits: Slides from Gollmann)
Lattice-Based Access Control Models Ravi S. Sandhu Colorado State University CS 681 Spring 2005 John Tesch.
Chapter 5 Network Security
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 4 – Access Control.
G53SEC 1 Access Control principals, objects and their operations.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Slide #5-1 Confidentiality Policies CS461/ECE422 Computer Security I Fall 2010 Based on slides provided by Matt Bishop for use with Computer Security:
Trusted OS Design and Evaluation CS432 - Security in Computing Copyright © 2005, 2010 by Scott Orr and the Trustees of Indiana University.
12/4/20151 Computer Security Security models – an overview.
Multics CysecLab Graduate School of Information Security KAIST.
Information Security CS 526 Topic 17
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
1/15/20161 Computer Security Confidentiality Policies.
Access Control: Policies and Mechanisms Vinod Ganapathy.
Computer Security: Principles and Practice
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 16 October 14, 2004.
Chapter 8: Principles of Security Models, Design, and Capabilities
Information Security Principles and Practices by Mark Merkow and Jim Breithaupt Chapter 5: Security Architecture and Models.
9- 1 Last time ● User Authentication ● Beyond passwords ● Biometrics ● Security Policies and Models ● Trusted Operating Systems and Software ● Military.
CS580 Internet Security Protocols
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Security Models and Designing a Trusted Operating System
Access Control Today we will cover Access Control
Basic Security Theorem
Computer Security Confidentiality Policies
Information Security CS 526 Topic 17
Chapter 14: Protection.
Guest Lecture in Acc 661 (Spring 2007) Instructor: Christopher Brown)
Chapter 5: Confidentiality Policies
Computer Security Access Control
Computer Security Confidentiality Policies
Presentation transcript:

Computer Security 3e Dieter Gollmann www.wiley.com/college/gollmann

Chapter 11: Bell-LaPadula Model

Why Security Models? When we have implemented a security policy, do we know that it will (and can) be enforced? E.g., if policies get too intricate, contradicting rules may apply to a given access request. To prove that a policy will be enforced, the policy has to be formally specified. A security model is a formal description of a security policy.

Security Models Models are used in high assurance security evaluations (smart cards are currently a fruitful area of application). Models are important historic milestones in computer security (e.g. Bell-LaPadula). The models presented today are not recipes for security but can be a starting point when you have to define a model yourself.

Agenda State Machine Models (short review) Bell-LaPadula (BLP) model BLP security policies BLP Basic Security Theorem Tranquility Covert channels Case Study: Multics interpretation of BLP

State Machine Models State Machines (automata) are abstract models that record relevant features, like the security of a computer system, in their state. States change at discrete points in time, e.g. triggered by a clock or an input event. State machine models have numerous applications in computer science: processor design, programming languages, or security.

Examples Switch: Ticket machine: Microprocessors: two states, ‘on’ and ‘off’ One input ‘press’ Ticket machine: State: ticket requested, money to be paid inputs: ticket requests, coins; output: ticket, change Microprocessors: state: register contents, inputs: machine instructions

Basic Security Theorems To design a secure system with the help of state machine models, define state set so that it captures ‘security’, check that all state transitions starting in a ‘secure’ state yield a ‘secure’ state, check that initial state of system is ‘secure’. Security is then preserved by all state transitions. The system will always be ‘secure’. This Basic Security Theorem has been derived without any definition of ‘security’!

Bell-LaPadula Model (BLP) State machine model developed in the 1970s for the analysis of MLS operating systems. Subjects and objects labeled with security levels that form a partial ordering. The policy: No information flow from ‘high’ security levels down to ‘low’ security level (confidentiality). Only considers information flows that occur when a subject observes or alters an object. Access permissions defined through an access control matrix and security levels.

Constructing the State Set 1. All current access operations: an access operation is described by a triple (s,o,a), s  S, o  O, a  A E.g.: (Alice, fun.com, read) The set of all current access operations is an element of P(S  O  A) E.g.: {(Alice, fun.com, read), (Bob, fun.com, write), …}

Constructing the State Set 2. Current assignment of security levels: maximal security level: fS: S  L (L … labels) current security level: fC: S  L classification: fo: O  L The security level of a user is the user’s clearance. Current security level allows subjects to be down-graded temporarily (more later). F  LS  LS  LO is the set of security level assignments; f = (fS, fC, fO) denotes an element of F.

Constructing the State Set 3. Current permissions: defined by the access control matrix M. M is the set of access control matrices. The state set of BLP: V = B M  F B is our shorthand for P(S  O  A) b denotes a set of current access operations a state is denoted by (b,M,f)

BLP Policies Discretionary Security Property (ds-property): Access must be permitted by the access control matrix: if (s,o,a)  b, then a  Mso. Simple Security (ss)-Property (no read-up): if (s,o,a)  b and access is in observe mode, then fS(s)  fO(o). The ss-property is a familiar policy for controlling access to classified paper documents.

On Subjects In the ss-property, subjects act as observers. In a computer system, subjects are processes and have no memory of their own. Subjects have access to memory objects. Subjects can act as channels by reading one memory object and transferring information to another memory object. In this way, data may be declassified improperly.

illegal information flow to a lower level Subjects as Channels observe alter low high illegal information flow to a lower level

Star Property -Property (star property) (no write-down): if (s,o,a)  b and access is in alter mode, then fC(s)  fO(o) ; also, if subject s has access to object o in alter mode, then fO(o’)  fO(o) for all objects o’ accessed by s in observe mode. The first version of BLP did not have the -property. Mandatory BLP policies: ss-property and -property.

Blocking the Channel observe alter low high blocked by -property

No Write-Down The -property prevents high level subjects from sending legitimate messages to low level subjects. Two ways to escape from this restriction: Temporarily downgrade high level subject; hence the current security level fC; BLP subjects have no memory of their own! Exempt trusted subjects from the -property. Redefine the -property and demand it only for subjects that are not trusted.

Trusted Subjects Trusted subjects may violate security policies! Distinguish between trusted subjects and trustworthy subjects.

Basic Security Theorem A state is secure, if all current access tuples (s,o,a) are permitted by the ss-, -, and ds-properties. A state transition is secure if it goes from a secure state to a secure state. Basic Security Theorem: If the initial state of a system is secure and if all state transitions are secure, then the system will always be secure.

Basic Security Theorem This Basic Security Theorem has nothing to do with the BLP security policies, only with state machine modeling.

BLP & Security Construct system with operation downgrade: downgrades all subjects and objects to system low. enters all access rights in all positions of the access control matrix. As a result, any state is secure in the BLP model. Should such a system be regarded secure? McLean: no, everybody is allowed to do everything. Bell: yes, if downgrade was part of the system specification.

Tranquility No BLP policies for changing access control data. BLP assumes tranquility: access control data do not change. Operational model: users get clearances and objects are classified following given rules. The system is set up to enforce MLS policies for the given clearances and classifications. Changes to clearances and classifications requires external input.

Covert Channels Communications channels that allow transfer of information in a manner that violates the system’s security policy. Storage channels: e.g. through operating system messages, file names, etc. Timing channels: e.g. by monitoring system performance. Orange Book: 100 bits per second is ‘high’ bandwidth for storage channels, no upper limit on timing channels. The bandwidth of some covert channels can be reduced by reducing the performance of the system. Covert channels are not detected by BLP modeling.

Applying BLP

Multics Multics was designed to be a secure, reliable, ..., multi-user O/S. Multics became too cumbersome for some project members, who then created something much simpler, viz Unix. The history of the two systems illustrates for relation between commercial success and the balance between usability and security. We will sketch how the Bell-LaPadula model can be used in the design of a secure O/S.

Multics Interpretation of BLP The inductive definition of security in BLP makes it relatively easy to check whether a system is secure. To show that Multics is secure, we have to find a description of the O/S which is consistent with BLP, and verify that all state transitions are secure.

Subjects Subjects in Multics are processes. Each subject has a descriptor segment containing information about the process Security level of subjects are kept in a process level table and a current-level table. Active segment table records all active processes; only active processes have access to an object.

Objects For each object the subject currently has access to, there is a segment descriptor word (SDW) in the subject’s descriptor segment. The SDW contains the name of the object, a pointer to the object, and flags for read, execute, and write access. Segment_id pointer r: on w: on e: off segment descriptor word

Directories Objects are memory segments, I/O devices, ... Objects are organized hierarchically in a directory tree; directories are again segments. Information about an object, like its security level or its access control list (ACL), are kept in the object’s parent directory. To change an object’s access control parameters and to create or delete an object requires write or append access rights to the parent directory.

Compatibility To access an object, a process has to traverse the directory tree from the root directory to the target object. If any directory in this path is not accessible to the process, the target object is not accessible either. Compatibility: The security level of an object must always dominate the security level of its parent directory.

BLP State in Multics Current access b: stored in SDWs in the descriptor segments of the active processes; active processes are found in the active segment table; the descriptor segment base register (DSBR) points to the descriptor segment of the current process. Level function f: security levels of subjects are stored in the process level table and the current-level table; the security level of an object is stored in its parent directory. Access control matrix M: represented by ACLs; for each object, the ACL is stored in its parent directory; each ACL entry specifies a process and the access rights the process has on that object.

segment-id DSBR segment-id ptr current process w:off r:on e:off object subject descriptor segment of current process current pro. Lc LC  LO? segment-id LO current-level table parent directory

MAC in Multics Multics access attributes for data segments with translation to BLP access rights: read r execute e,r read & write w write a

The -property for Multics For any SDW in the descriptor segment of an active process, the current level of the process dominates the level of the segment if the read or execute flags are on and the write flag is off, is dominated by the level of the segment if the read flag is off and the write flag is on, is equal to the level of the segment if the read flag is on and the write flag is on.

Kernel Primitives Kernel primitives are the input operations in Multics Example: the get-read primitive requests read access to an object Takes as its parameters a process-id and a segment-id. If the state transitions in an abstract model of the Multics kernel preserve the BLP security policies, then the BLP Basic Security Theorem proves the ‘security’ of Multics.

Conditions for get-read The O/S has to check whether the ACL of segment-id, stored in the segment's parent directory, lists process-id with read permission, the security level of process-id dominates the security level of segment-id, process-id is a trusted subject, or the current security level of process-id dominates the security level of segment-id. If all three conditions are met, access is permitted and a SDW in the descriptor segment of process-id is added/updated.

More Kernel Primitives release-read: release an object; turn off read flag in the corresponding SDW; if then no flag is on, remove SDW from the descriptor segment. give-read: grant read access to another process (DAC). rescind-read: withdraw read permission given to another process. create-object: create an object; O/S has to check that write access on the object’s directory segment is permitted and that the security level of the segment dominates the security level of the process.

More Kernel Primitives change-subject-current-security-level: O/S has to check that no security violations are created by the change. This kernel primitive, as well as the primitive change-object-security-level were not intended for implementation (tranquility).

Aspects of BLP Descriptive capability of its state machine model: can be used for other properties, e.g. for integrity. Its access control structures, access control matrix and security levels: can be replaced by other structures, e.g. by S  S  O to capture ‘delegation’. The actual security policies, the ss-,  -, and ds-properties: can be replaced by other policies (see Biba model). A specific application of BLP, e.g. its Multics interpretation.

Limitations of BLP Restricted to confidentiality. No policies for changing access rights; a complete general downgrade is secure; BLP intended for systems with static security levels. BLP contains covert channels: a low subject can detect the existence of high objects when it is denied access. Sometimes, it is not sufficient to hide only the contents of objects. Also their existence may have to be hidden.