CSE543 - Introduction to Computer and Network Security. Module: Access Control



Similar documents
How To Model Access Control Models In Cse543

Mandatory Access Control in Linux

Information Security Information & Network Security Lecture 2

Access Control Fundamentals

Mandatory Access Control

Access Control. ITS335: IT Security. Sirindhorn International Institute of Technology Thammasat University ITS335. Access Control.

Part III. Access Control Fundamentals

Access Control Matrix

Access Control Models Part I. Murat Kantarcioglu UT Dallas

Computer security Lecture 3. Access control

CIS433/533 - Computer and Network Security Operating System Security

Role Based Access Control: Adoption and Implementation in the Developing World

What is a secret? Ruth Nelson

SELinux Policy Management Framework for HIS

Access Control Intro, DAC and MAC. System Security

CS 665: Computer System Security. Designing Trusted Operating Systems. Trusted? What Makes System Trusted. Information Assurance Module

Chapter 23. Database Security. Security Issues. Database Security

Database Security Part 7

... Lecture 3 Access Control. Information & Communication Security (WS 14/15) Prof. Dr. Kai Rannenberg

CS377: Database Systems Data Security and Privacy. Li Xiong Department of Mathematics and Computer Science Emory University

Role Based Access Control (RBAC) Nicola Zannone

Chapter 23. Database Security. Security Issues. Database Security

Security Enhanced Linux and the Path Forward

Trusted RUBIX TM. Version 6. Multilevel Security in Trusted RUBIX White Paper. Revision 2 RELATIONAL DATABASE MANAGEMENT SYSTEM TEL

Security Model and Enforcement for Data-Centric Pub/Sub with High Information Assurance Requirements

Role-based access control. RBAC: Motivations

Security Models: Past, Present and Future

Operating System Security

Introduction to Computer Security

Access Control: Policies, Models, and Mechanisms

Access Control: Policies, Models, and Mechanisms

CSE543 - Introduction to Computer and Network Security. Module: Reference Monitor

Database Security. Soon M. Chung Department of Computer Science and Engineering Wright State University

INFO/CS 330: Applied Database Systems

A Firewall Model of File System Security

ITM661 Database Systems. Database Security and Administration

Best Practices, Procedures and Methods for Access Control Management. Michael Haythorn

Role-Based Access Controls

Advanced Systems Security: Retrofitting Commercial Systems

Virtual Machine Security

Implementation of Mandatory Access Control in Role-based Security System with Oracle Snapshot Skill

Bell & LaPadula Model Security Policy Bell & LaPadula Model Types of Access Permission Matrix

Computer Security CS 426. CS426 Fall 2010/Lecture 40 1

Access Control Basics. Murat Kantarcioglu

TRANSMAT Trusted Operations for Untrusted Database Applications

Reference Guide for Security in Networks

Polyinstantiation in Relational Databases with Multilevel Security

Domain 9 Security Architecture and Design

Role Based Access Control

SSL Firewalls

ISSECO Syllabus Public Version v1.0

Database Security. Chapter 21

Access Control. Dr George Danezis

Goal-Oriented Auditing and Logging

Security Architecture and Design

The Asbestos Operating System

Homeland Security Red Teaming

CAPP-Compliant Security Event Audit System for Mac OS X and FreeBSD

Mandatory Access Control

Database Security and Authorization

Role-Based Access Control (RBAC)

NSA Security-Enhanced Linux (SELinux)

Access Control Lists in Linux & Windows

A Survey of Access Control Policies

Session objectives. Access control. Subjects and objects. The request. Information Security

A Simple Implementation and Performance Evaluation Extended-Role Based Access Control

Client Server Registration Protocol

BM482E Introduction to Computer Security

? Resource. Outline. Access Control and Operating System Security. Access control. Access control matrix. Capabilities. Two implementation concepts

Securing Data in a RHEL SELinux Multi-Level Secure Environment

University of Cambridge

Security and Authorization. Introduction to DB Security. Access Controls. Chapter 21

Case Studies. Joint software development Mail 1 / 38. Case Studies Joint Software Development. Mailers

CSE543 - Introduction to Computer and Network Security. Module: Operating System Security

VALLIAMMAI ENGINEERING COLLEGE

Document Management System Security

Attestation and Authentication Protocols Using the TPM

NAVAL POSTGRADUATE SCHOOL DISSERTATION

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

Completeness, Versatility, and Practicality in Role Based Administration

Secure to the Core: The Next Generation Secure Operating System from CyberGuard

Weighted Total Mark. Weighted Exam Mark

USER ACCESS CONTROL AND SECURITY MODEL

Transcription:

CSE543 - Introduction to Computer and Network Security Module: Access Control Professor Trent Jaeger 1

Policy A policy specifies the rules of security Some statement of secure procedure or configuration that parameterizes the operation of a system Example: Airport Policy Take off your shoes No bottles that could contain > 3 ozs Empty bottles are OK? You need to put your things through X-ray machine Laptops by themselves, coat off Go through the metal detector Goal: prevent on-airplane (metal) weapon, flammable liquid, dangerous objects (successful?) 2

Computer Security Policy Goals Secrecy Don t allow reading by unauthorized subjects Control where data can be written by authorized subjects Why is this important? Integrity Don t permit dependence on lower integrity data/code Why is this important? What is dependence? Availability The necessary function must run Doesn t this conflict with above? 3

when policy goes wrong Driving license test: take until you pass Mrs. Miriam Hargrave of Yorkshire, UK failed her driving test 39 times between 1962 and 1970!!!! she had 212 driving lessons. She finally got it on the 40th try. Some years later, she was quoted as saying, sometimes I still have trouble turning right A policy is a set of acceptable behaviors. - F. Schneider 4

Access Control/Authorization Access control/authorization determines what rights (operations) a particular subject has for a set of objects It answers the question E.g., do you have the right to read /etc/passwd Does Alice have the right to view the CSE website? Do students have the right to share project data? Does Dr. Jaeger have the right to change your grades? An Access Control Policy answers these questions 5

Simplified Access Control Subjects are the active entities that do things E.g., you, Alice, students, Prof. Jaeger Objects are passive things that things are done to E.g., /etc/passwd, CSE website, project data, grades Rights (operations) are actions that are taken E.g., read, view, share, change 6

Access Control Models What language should I use to express policy? Access Control Model Oodles of these Some specialize in secrecy Bell-LaPadula Some specialize in integrity Clark-Wilson Some focus on jobs RBAC Some specialize in least privilege SELinux Type Enforcement Q: Why are there so many different models? 7

Groups Groups are collections of identities who are assigned rights as a collective Important in that it allows permissions to be assigned in aggregates of users Users Group Alice Bob Ivan Trent This is really about membership Standard DAC Permissions are transient Permissions 8

Job Functions In an enterprise, we don t really do anything as ourselves, we do things as some job function E.g., student, professor, doctor One could manage this as groups, right? We are assigned to groups all the time, and given similar rights as them, i.e., mailing lists 9

Roles A role is a collection of privileges/permissions associated with some function or affiliation NIST studied the way permissions are assigned and used in the real world, and this is it Users Role Read Delete Write Modify Permissions Important: the permissions are static, the user-role membership is transient This is not standard DAC 10

RBAC Sessions During a session, a user assumes a subset available roles Known as activating a set of roles The user rights are the union of the rights of the activated roles Note: the session terminates at the user s discretion 11

Constraints You want to constrain evolution of protection states Constraints are explicit ways of doing just this Constraints available (in RBAC) role assumption perm-role assignment user-role assignment Examples in RBAC: Required inclusion: You must be acting as an employee of Pennsylvania State University to be a professor You must assume a (parent) role to assume another (child) role Mutual exclusion: can not be both CFO and auditor for the same company (unless you work for Enron) Cardinality constraint: only one (or n) of a particular role 12

Safety Problem For a protection system Prove that any future state will not result in the leakage of an access right to an unauthorized user Q: Why is this important? For most discretionary access control models, Safety is undecideable Means that we need another way to prove safety Restrict the model (be careful) Test incrementally (constraints) How do RBAC models address the safety problem? 13

Mandatory Access Control Recall protection state methods For MAC, only administrators can modify policy Enables validation of security Only (a few) root processes can load policy to LSM Thus, LSM is a MAC protection system Use MAC to confine network-facing daemons Run as root, but use MAC to limit permissions Protect kernel and processes that can modify kernel Some LSM modules also manage privilege escalation Control setuid (later...) 14

Mandatory Protection System Labeling State File: newfile File: acct Transition State secret secret unclassified trusted read read read write untrusted Protection State Process: newproc unclassified read read read write trusted write read write write Process: other untrusted read write read write read write 15

Mandatory Protection System Protection State Fixed set of labels for subjects and objects Fixed set of operations What happens when a new file is created? Labeling State Associates subjects and objects with labels All subjects and objects are labeled at all times What happens when you want to change permissions? Transition State Associate condition with label change 16

Secrecy Does the following protection state ensure the secrecy of J s private key in O1? O 1 O 2 O 3 J R RW RW S 2 - R RW S 3 - R RW 17

Integrity Does the following access matrix protect the integrity of J s public key file O2? O 1 O 2 O 3 J R RW RW S 2 - R RW S 3 - R RW 18

Trusted Processes Does it matter if we do not trust some of J s processes? O 1 O 2 O 3 J R RW RW Trojan Horse: Attacker controlled code run by J can violate secrecy Confused Deputy: Attacker may trick J to violate integrity S 2 - R RW S 3 - R RW 19

Protection vs Security Protection Security goals met under trusted processes Protects against an error by a non-malicious entity Security Security goals met under potentially malicious processes Protects against any malicious entity Hence, For J: Non-malicious process shouldn t leak the private key by writing it to O3 A potentially malicious process may contain a Trojan horse that can write the private key to O3 20

Multilevel Security A multi-level security system tags all object and subject with security tags classifying them in terms of sensitivity/access level. We formulate an access control policy based on these levels We can also add other dimensions, called categories which horizontally partition the rights space (in a way similar to that as was done by roles) security levels categories 21

US DoD Policy Used by the US military (and many others), uses MLS to define policy Levels: UNCLASSIFIED < CONFIDENTIAL < SECRET < TOP SECRET Categories (actually unbounded set) NUC(lear), INTEL(igence), CRYPTO(graphy) Note that these levels are used for physical documents in the governments as well. 22

Assigning Security Levels All subjects are assigned clearance levels and compartments Alice: (SECRET, {CRYTPO, NUC}) Bob: (CONFIDENTIAL, {INTEL}) Charlie: (TOP SECRET, {CRYPTO, NUC, INTEL}) All objects are assigned an access class DocA: (CONFIDENTIAL, {INTEL}) DocB: (SECRET, {CRYPTO}) DocC: (UNCLASSIFIED, {NUC}) 23

Evaluating Policy Access is allowed if subject clearance level >= object sensitivity level and subject categories object categories (read down) Bob: CONF., {INTEL}) Charlie: TS, {CRYPTO, NUC, INTEL}) Alice: (SEC., {CRYTPO, NUC}) DocB: (SECRET, {CRYPTO}) DocA: (CONFIDENTIAL, {INTEL}) DocC: (UNCLASSIFIED, {NUC}) Q: What would write-up be? 24

Bell-La Padula Model A Confidentiality MLS policy that enforces: Simple Security Policy: a subject at specific classification level cannot read data with a higher classification level. This is short hand for no read up. * (star) Property: also known as the confinement property, states that subject at a specific classification cannot write data to a lower classification level. This is shorthand for no write down. 25

How about integrity? MLS as presented before talks about who can read a document (confidentiality) Integrity considers who can write to a document Thus, who can affect the integrity (content) of a document Example: You may not care who can read DNS records, but you better care who writes to them! Biba defined a dual of secrecy for integrity Lattice policy with, no read down, no write up Users can only create content at or below their own integrity level (a monk may write a prayer book that can be read by commoners, but not one to be read by a high priest). Users can only view content at or above their own integrity level (a monk may read a book written by the high priest, but may not read a pamphlet written by a lowly commoner). 26

Biba (example) Which users can modify what documents? Remember no read down, no write up Bob: (CONF., {INTEL}) Charlie: (TS, {CRYPTO, NUC, INTEL}) Alice: (SEC., {CRYTPO, NUC})????? DocB: (SECRET, {CRYPTO}) DocA: (CONFIDENTIAL, {INTEL}) DocC: (UNCLASSIFIED, {NUC}) 27

Window Vista Integrity Integrity protection for writing Defines a series of protection level of increasing protection installer (highest) system high (admin) medium (user) low (Internet) untrusted (lowest) Semantics: If subject s (process s) integrity level dominates the object s integrity level, then the write is allowed 28

Vista Integrity S1(installer) O1(admin) S2(user) 02(untrusted) S3(untrusted) 03(user) 29

Vista Integrity S1(installer) O1(admin) S2(user) 02(untrusted) S3(untrusted) 03(user) 30

Integrity, Sewage, and Wine Mix a gallon of sewage and one drop of wine gives you? Mix a gallon of wine and one drop of sewage gives you? Integrity is really a contaminant problem: you want to make sure your data is not contaminated with data of lower integrity. 31

LOMAC Low-Water Mark integrity Change integrity level based on actual dependencies Subject is initially at the highest integrity But integrity level can change based on objects accessed Ultimately, subject has integrity of lowest object read 32

Clark-Wilson Integrity Map Integrity in Business (e.g., accounting) to Computing High Integrity Data (objects) Constrained Data Items (CDIs) High Integrity Processes (programs) Transformation Procedures (TPs) Check Integrity of Data Initially (verification) Integrity Verification Procedures (IVPs) Premise If the IVPs verify initial integrity and high integrity data is only modified by TPs Then, the integrity of computation is preserved 33

Clark-Wilson Permissions User User User User CDI CDI CDI CDI 34

CW Permissions (cont.) User User User User TP TP TP CDI CDI CDI CDI 35

CW Permissions (cont.) A user can access an CDI using TP iff 1. The user has been granted CDI access 2. The TP has been granted CDI access 3. The user has been granted access to the TP User User User User User User User User TP TP TP CDI CDI CDI CDI CDI CDI CDI CDI 36

Clark-Wilson Issues Assure Function Certify IVPs, TPs to be valid (i.e., correct) (C1,C2) Is there a general way of defining correctness? Handle Low Integrity Data A TP must upgrade or discard any UDI (low integrity data) it receives (C5) Reality: this is a nice model, but too heavyweight in general for most applications. CW-lite (Jaeger) is an alternative that is tractable to implement. 37