Access Models and Integrity Trent Jaeger January 14, 2004.

Slides:



Advertisements
Similar presentations
TOPIC CLARK-WILSON MODEL Ravi Sandhu.
Advertisements

Operating System Security
Chapter 6 Security Kernels.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Access Control Methodologies
CMSC 414 Computer (and Network) Security Lecture 12 Jonathan Katz.
Security Models and Architecture
Access Control Intro, DAC and MAC System Security.
Chapter 2.  CIA Model  Host Security VS Network Security  Least Privileges  Layered Security  Access Controls Prepared by Mohammed Saher2.
Chapter 6: Integrity Policies Overview Requirements Biba’s models Clark-Wilson model Introduction to Computer Security ©2004 Matt Bishop.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Bilkent University Department of Computer Engineering
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #6-1 Chapter 6: Integrity Policies Overview Requirements Biba’s models Lipner’s.
May 4, 2004ECS 235Slide #1 Biba Integrity Model Basis for all 3 models: Set of subjects S, objects O, integrity levels I, relation ≤  I  I holding when.
Reasons for Protection n Prevent users from accessing information they shouldn’t have access to. n Ensure that each program component uses system resources.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Verifiable Security Goals
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
1 Clark Wilson Implementation Shilpa Venkataramana.
1 Integrity Policies CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 22, 2004.
Chapter 6: Integrity Policies Overview Requirements Biba’s models Clark-Wilson model Introduction to Computer Security ©2004 Matt Bishop.
CS526Topic 21: Integrity Models1 Information Security CS 526 Topic 21: Integrity Protection Models.
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.
Sicurezza Informatica Prof. Stefano Bistarelli
Present by Napasakorn Sukjay Poom Samaharn
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
Mandatory Security Policies CS461/ECE422 Spring 2012.
Slide #6-1 Integrity Policies CS461/ECE422 – Computer Security I Fall 2009 Based on slides provided by Matt Bishop for use with Computer Security: Art.
Protection.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
Computer Security 3e Dieter Gollmann
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
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.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
Chapter 5 Network Security
Chapter 7 Securing Commercial Operating Systems. Chapter Overview Retrofitting Security into a Commercial OS History of Retrofitting Commercial OS's Commercial.
Chapter 6: Integrity Policies  Overview  Requirements  Biba’s models  Clark-Wilson model Introduction to Computer Security ©2004 Matt Bishop.
Protection Nadeem Majeed Choudhary
CS426Fall 2010/Lecture 251 Computer Security CS 426 Lecture 25 Integrity Protection: Biba, Clark Wilson, and Chinese Wall.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
UT DALLAS Erik Jonsson School of Engineering & Computer Science FEARLESS engineering Integrity Policies Murat Kantarcioglu.
12/4/20151 Computer Security Security models – an overview.
Multics CysecLab Graduate School of Information Security KAIST.
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 11, 2005 Chapter 14: Protection Goals.
Computer Security: Principles and Practice
A security policy defines what needs to be done. A security mechanism defines how to do it. All passwords must be updated on a regular basis and every.
Slide #6-1 Chapter 6: Integrity Policies Overview Requirements Biba’s models Clark-Wilson model.
CSE Operating System Principles Protection.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
6/22/20161 Computer Security Integrity Policies. 6/22/20162 Integrity Policies Commercial requirement differ from military requirements: the emphasis.
CS526Topic 19: Integrity Models1 Information Security CS 526 Topic 19: Integrity Protection Models.
TOPIC: Web Security Models
Verifiable Security Goals
Chapter 14: System Protection
Chapter 6 Integrity Policies
Chapter 6: Integrity Policies
Chapter 5: Confidentiality Policies
Chapter 14: Protection.
Chapter 6: Integrity Policies
Integrity Policies Dr. Wayne Summers Department of Computer Science
Chapter 6: Integrity Policies
Preventing Privilege Escalation
Computer Security Integrity Policies
Presentation transcript:

Access Models and Integrity Trent Jaeger January 14, 2004

Commercial v Government Goals Control of confidentiality is paramount in government/military Control of integrity is paramount in commercial environment Can they use the same policy models? Are any new mechanisms required for integrity enforcement?

Integrity Issue Bell-LaPadula and Biba dual – But, Bell-LaPadula has some practical analogues Biba is impractical because – Higher integrity processes may legitimately use lower integrity data – There are so many instances that upgraders are impractical (because they are domain-specific) We examine integrity in more detail and discuss alternatives

Integrity Example: SSH openSSH Listen *:22 Network Connection Time Key Exchange Authentication User Network Data openSSH (forked for request) Monitor fork

SSH Integrity Privileged operations – Key exchange and rekeying – Authentication – Create and cleanup pseudo-terminals Depends on integrity of – Users’ public key files Low integrity data – Read remote user inputs – Execute user programs (done as user identity in UNIX)

Integrity Management Options System Integrity Enforcement – Biba integrity – Low water mark (LOMAC) – Domain and type enforcement (DTE) – Clark-Wilson Managed integrity Language-based integrity Privilege separation

Biba Integrity L:1 L:2 Dominance 1 > 2 Biba Operations Read/write Read Write sshd Remote user Requests write

Low Water Mark Dynamic model over subject integrity labels – the lowest integrity label of the objects read by a subject References – K. Biba. Integrity considerations for secure computer systems. Technical Report ESD-TR , US Air Force. April – M. Cheheyl, M. Gasser, G. Huff, J. Millen. Verifying Security. ACM Computing Surveys, 13(3) pp , September (opposite view – dynamic object labels for secrecy). – Timothy Fraser. LOMAC: Low water-mark integrity protection for COTS environments. In Proceedings of the 2000 IEEE Symposium on Security and Privacy.

Self-Revocation Problem in LOMAC Self-Revocation Problem – Process starts with high integrity – Open high integrity object o1 – Read from low integrity object o2 – LOMAC semantics reduce process’s integrity to low – No longer can write to o1 – Inconsistent with UNIX semantics for open files

Self-Revocation Example Step 1: initial state psgrep pipe ps Step 2: ps reads low file pipe grep Step 3: demotion ps pipe grep ps Step 4: pipe write denied

Unnamed Pipe Possession Rule Step 1: initial state – unnamed pipes simply connect subjects of same level psgrep pipe ps Step 2: ps reads low file pipe grep Step 3: demotion of all processes in process group and pipe ps pipe grep ps Step 4: pipe write succeeds

Unnamed Pipe Usage Rule Previous does not work when – Processes in different groups have access to same unnamed pipe – Occurs when a shell creates a new process group via setpgrp Shell forks source and sink processes and gives them the unnamed pipe Solution: – Unnamed pipe is owned by first process group to use it – Works because the shell does not actually use the pipe Slightly different approach used for shared memory

SSH and LOMAC L:1 L:2 Dominance 1 > 2 sshd Remote user Requests write: Would lower sshd to L3 L:1

Integrity Level Dependency What does a program’s integrity impact depend on? – User (Biba) – Job(s) (RBAC) – Objects read (LOMAC) – Objects modified – Objects executed Differences between Objects Read and Objects Executed – Objects Read is superset of Objects Executed – Objects Executed may control integrity of Objects Read – Thus, Objects Read may be too aggressive

Domain and Type Enforcement Type Enforcement with – Subject transitions based on the program being run (objects executed) Since Type Enforcement is as access matrix model – Mapping from objects to integrity level is implicit – Mapping assumes any low integrity object reads can be sanitized – Mapping could be wrong Lee Badger, Daniel F. Sterne, David L. Sherman, and Kenneth M. Walker. A domain and type enforcement UNIX prototype. USENIX Computing Systems, 9(1):47--83, Winter 1996.

Type Enforcement [BoebertKain84] User Type (Subject) Type (Object) Object Permission Assignment Subject Type Can Access Object Type To Perform Operations On Objects

SSH and DTE Subject Types sshd remote_user Requests write: Assume that sshd handles it L:1 L:2 sshd Remote user

SAFKASI – Language-based integrity Run untrusted code in same address space as trusted code – Assumes type safety of language Use special operation (e.g., BeginPrivilege()) to define privileged operation Prevent the “Confused Deputy Problem” – Code is invoked in an environment controlled by the attacker – SELinux problem – specify faulty input library and log location to overwrite password file Dan S. Wallach, Edward W. Felten, and Andrew W. Appel, The Security Architecture Formerly Known as Stack Inspection: A Security Mechanism for Language-based Systems, ACM Transactions on Software Engineering and Methodology, volume 9, number 4, October 2000.The Security Architecture Formerly Known as Stack Inspection: A Security Mechanism for Language-based Systems

Clark-Wilson Integrity Goal – “No user, even if authorized, may be permitted to modify data items in such a way that assets … are lost or corrupted.” Pre-computer commercial policy goals – Separation of duty – Well-formed transactions Model Intuition – Base secure computing on well-formed transactions – Provide independent testing (e.g., balancing the books) – Enable enforcement of separation of duty

Well-formed Transaction Definition – Prescribed means of modifying data – With means to preserve data integrity Example: Double Entry Bookkeeping – Any modification must consist of two parts Action and a balance – E.g., When writing a check there must a corresponding entry in accounts payable

Separation of Duty Definition – Divide a process into subparts – Each subpart is performed by a different person Example – A person who certifies a well-formed transaction may not execute it Susceptible to collusion Static vs Dynamic Separation of Duty – Static: Each user has a specific subpart – Dynamic: Can perform a subpart, but is then excluded from another Typically, execution subtasks are required to be separated from certification subtasks

Mandatory Commercial Control Authenticate users (same as for military) Associate permissions with programs that implement well-formed transactions Each user is associated with a valid set of programs to be run Audit relevant events (similar to accountability in military, but different events) Both require a reference monitor to enforce policies

Clark-Wilson Model Object labels: Constrained and unconstrained data items – Apply integrity enforcement to constrained data items Processes: Transformation Procedures – Well-formed transaction Auditing: Integrity Verification Procedures – Verify that CDIs conform to integrity specification Semantics – IVPs prove system is in a valid state – Only TPs can modify CDIs CDIs modified by other processes are effectively downgraded – Repeat

Certification and Enforcement Summary – Data-TP assignment – Certification (C1): IVPs ensure CDIs are valid – Certification (C2): TPs are valid Take CDIs from one valid state to another TP-CDI relation: sets of CDIs for a TP – Enforcement (E1): Only manipulation of a CDI is by a TP as specified in C2 Separation of Duty – Enforcement (E2): TP-user-CDI – not solely TP-user – Certification (C3): E2 relations must be certified for SoD

Certification and Enforcement (con’t) Authentication – Enforcement (E3): Must authenticate users who execute TPs – Why no certification of this mechanism? Audit – Certification (C4): All TPs are certified to write append-only logs of security decisions Handling of low-integrity data – Certification (C5): TPs that depend on UDIs must be certified to perform valid UDI transforms (to CDI) or reject – Enforcement (E4): Only authorized agents can certify – E4 makes policy mandatory

SSH and Clark-Wilson Clark-Wilson Requires C1: IVP to verify inputs C2: CDIs for sshd E1: CDIs mod by TPs E2: Admin is user C3: Certify sshd users E3: sshd authenticates C4: sshd logging C5: sshd handles UDIs E4: valid certification Requests write: UDIs must be converted to CDIs or rejected L:1 L:2 sshd Remote user

Clark-Wilson Summary Integrity impact is based on TP (Objects executed) Impact of Objects Read is controlled by certified IVPs and TPs Certification requirements are significant – IVP, TP, Access assignments, Audit log generation, UDI handling Practical considerations – Explicit IVPs are rare (C1) – UDI handling is notoriously bad in systems (buffer overflows) (C5) – Certification is very expensive (C1-C5) – Administration overhead is high (E4) – Ensuring that only TPs modify CDIs is never done (E1) What approaches may enable some facets of CW? What constraints need to be relaxed/revised in practice?

Managed Integrity For an integrity target (e.g., DTE integrity) Find integrity conflicts – Policy statements that violate conflict Resolve conflicts – Change system: Remove subjects or objects – Clark-Wilson: Specify means for handling low integrity data – LOMAC: Artifacts that enable resolution – Language: Programming language primitives to enable management – Policy: Modify constraints or permissions Trent Jaeger, Reiner Sailer, Xiaolan Zhang. Analyzing integrity protection in the SELinux example policy. In Proceedings of the 12th USENIX Security Symposium, August 2003.

SSH and Managed Integrity Change System: Must have sshd Clark-Wilson: Filter or reject requests LOMAC: Sshd still high integrity Programming Lang: Not supported in C Policy change: Sshd won’t work Requests write: Can we define legitimate calls L:1 L:2 sshd Remote user

Application Decomposition Separate application into privileged and unprivileged components – Remote input to unprivileged instead – Do as much processing in unprivileged as possible – For few remaining requests, unprivileged sends formatted input to privileged – Complete service’s function Have to transfer state from sshd-unprivileged to user’s sshd via privileged Niels Provos et al. Preventing privilege escalation. In Proceedings of the 12th USENIX Security Symposium, August 2003.

SSH and Privilege Separation L:1 L:2 L:3 sshd Unprivileged/User ssh Remote user Requests write: To unprivileged first Requests write: Filtered requests only

Access Control Models Aggregated Models – Useful when aggregations are fixed and have a practical analogue – Inheritance and constraints are not well understood – Constraints are needed for safety (do we meet security goals) Lattice Access Control Models – Derived from military secrecy (have a practical analogue) – Safety is implicit, but downgraders are ad hoc – Can verify lattice properties statically when labels are static Domain Transitions and Integrity – Dynamic subject relabel triggered by execution or read – Low integrity data must be handled by high(er) integrity processes – Solutions: lower subjects, implicit integrity, certification, explicitly manage, privilege separation Other Models – Predicate Models: dynamic rule-based approach – Safety Models: Limited models to enable verifiable safety

Clark-Wilson Mechanisms Needed Clark-Wilson Requirements – Ensure a data item are manipulated only by well-formed transactions – Verify integrity of well-formed transaction code – Protect integrity of well-formed transaction code – Limit user to subset of programs based on separation of duty A very different mechanism is needed – Justified by Multics having distinct mechanisms for MLS and DAC – However, SELinux uses the same mechanism for MLS and DTE (slightly different policy generation)