Introduction to Computer Security



Similar documents
Introduction to Computer Security

Access Control Basics. Murat Kantarcioglu

BM482E Introduction to Computer Security

Computer security Lecture 3. Access control

Introduction to Computer Security

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

RBAC and HIPAA Security

Access Control. 1 Overview of Access Control. Lecture Notes (Syracuse University) Access Control: 1. What is Access Control?

CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS

CIS 551 / TCOM 401 Computer and Network Security

Information Security Information & Network Security Lecture 2

Capability-Based Access Control

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 7 Access Control Fundamentals

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

Access Control Models Part I. Murat Kantarcioglu UT Dallas

Access Control Intro, DAC and MAC. System Security

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

CIS 551 / TCOM 401 Computer and Network Security. Spring 2005 Lecture 4

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

Part III. Access Control Fundamentals

Role-based access control. RBAC: Motivations

Role-Based Access Control (RBAC)

Role Based Access Control (RBAC) Nicola Zannone

Chapter 23. Database Security. Security Issues. Database Security

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

CIS433/533 - Computer and Network Security Operating System Security

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

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

Mandatory Access Control

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Module 7 Security CS655! 7-1!

CSE331: Introduction to Networks and Security. Lecture 34 Fall 2006

DISCRETIONARY ACCESS CONTROL. Tran Thi Que Nguyet Faculty of Computer Science & Engineering HCMC University of Technology ttqnguyet@cse.hcmut.edu.

Outline. INF3510 Information Security University of Oslo Spring Lecture 9 Identity Management and Access Control. The concept of identity

Contents III: Contents II: Contents: Rule Set Based Access Control (RSBAC) 4.2 Model Specifics 5.2 AUTH

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

SELinux Policy Management Framework for HIS

Security Enhanced Linux and the Path Forward

Components- Based Access Control Architecture

Database Security Part 7

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

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

Completeness, Versatility, and Practicality in Role Based Administration

Chapter 2 Taxonomy and Classification of Access Control Models for Cloud Environments

HIPAA: MANAGING ACCESS TO SYSTEMS STORING ephi WITH SECRET SERVER

TELE 301 Lecture 7: Linux/Unix file

NSA Security-Enhanced Linux (SELinux)

Security Overview of the Integrity Virtual Machines Architecture

Lecture 13. Public Key Distribution (certification) PK-based Needham-Schroeder TTP. 3. [N a, A] PKb 6. [N a, N b ] PKa. 7.

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

SGFS: Secure, Flexible, and Policy-based Global File Sharing

Windows Security. CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger.

A Survey of Access Control Policies

Windows security for n00bs part 1 Security architecture & Access Control

ITM661 Database Systems. Database Security and Administration

Chapter 15 Operating System Security

Operating Systems. Lecture 03. February 11, 2013

Computer Security: Principles and Practice

CS 416: Opera-ng Systems Design

Access Control Fundamentals

Access Control Lists in Linux & Windows

Access Control. Dr George Danezis

Raid storage. Raid 0: Striping. Raid 1: Mirrored

Distributed File Systems Part I. Issues in Centralized File Systems

How To Model Access Control Models In Cse543

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

Certification Report

Using Likewise Enterprise to Boost Compliance with Sarbanes-Oxley

A Comparative Study of Security Features in FreeBSD and OpenBSD

Safety measures in Linux

Chapter 12 File Management. Roadmap

Chapter 12 File Management

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

INF3510 Information Security University of Oslo Spring Lecture 9 Identity Management and Access Control

Database Security and Authorization

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

The deployment of OHMS TM. in private cloud

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

CS52600: Information Security

Operating System Components

INF3510 Information Security University of Oslo Spring Lecture 8 Identity and Access Management. Audun Jøsang

SELinux. Security Enhanced Linux

Analysis of Different Access Control Mechanism in Cloud

Introduction to Computer Security

Security Models: Past, Present and Future

Phoenix Technologies Ltd.

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

ISSECO Syllabus Public Version v1.0

Transcription:

Introduction to Computer Security Access Control and Authorization Pavel Laskov Wilhelm Schickard Institute for Computer Science

Resource access recapitulated 1. Identification Which object O requests access to resource R? 2. Authentication Is O indeed what it claims to be? 3. Authorization Is O authorized to access R? 4. Accountability Log the transaction access(o, R)

Access control overview Given a subject, which objects can it access and how? Given an object, which subjects can access it and how? Subject Reference monitor Object User process? Resource Access request Policy

Main concepts of access control Subject is an entity that initiates an access request. Object is an entity an access to which is requested. Rights represent different types of access. Reference monitor makes authorization decisions. Goals of access control: Granting access Limiting access Preventing access Revoking access

Subjects Subjects are any active entities in a system. Subjects operate on behalf of principals. Each subject must be bound to a unique principal; a principal may be bound to several subjects. Examples: Principal: user ID. Subject: process ID.

Objects Objects represent passive resources of a system: memory, files, directories, nodes on a network, etc. The distinction of objects and subjects is made purely in terms of access requests. Depending on circumstances, a resource may be an object or a subject.

Reference monitor and access policies Reference monitor is an abstract notion of a mechanism for controlling access requests. Access rights represent various access operations supported by a system: read write append execute delete search change owner change permissions Access policies map principals, objects and access rights.

Access control structures Access control structures are mechanisms for implementing access policies: access control matrix capabilities access control lists intermediate controls (groups, negative permissions, roles, protection rings etc.) Requirements for access control structures: an ability to express control policies verifiability of correctness. scalability and manageability

Access control matrix Access control matrix is a basic control structure. bill.doc edit.exe fun.com Alice {execute} {execute,read} Bob {read} {execute} {execute,read,write} Advantages: clarity of definition easy to verify Disadvantages: poor scalability poor handling of changes

Capabilities Capability is a subject-centered description of access rights: Alice: {edit.exe: execute}, {fun.com: execute, read} Bob: {bill.doc: read, write}, {edit.exe: execute}, {fun.com: execute, read, write} Advantages: easy ownership transfer easy inheritance of access rights Disadvantages: poor overview of access rights per object difficulty of revocation need for extra integrity protection

Access control lists (ACL) ACL is an object-centered description of access rights: bill.doc: {Bob: read, write} exit.exe: {Alice: execute}, {Bob: execute} fun.com: {Alice: execute, read}, {Bob: execute, read, write} Advantages: easy access to object access rights relative easiness of management using abstractions Disadvantages: poor overview of access rights per subject difficulty of revocation difficulty of sharing

Access control abstractions Group: an collection of related subjects easy sharing easy addition and removal of users Negative permission: explicit revocation of access rights Privilege: a mapping of users to access rights concise definition of access rights {admin: read, write, execute}, /etc/passwd: {Alice, admin} Protection ring: a hierarchy of access right levels 0 operating system kernel 1 operating system 2 services 3 user processes

Discretionary access control (DAC) Access control is carried out by a resource owner. By associating ownership with principals, access rights are easily transferred to other subjects. Deployed in a majority of common systems. Advantages: simple and efficient access rights management scalability Disadvantages: intentional abuse of access rights unintentional abuse of access rights no control over information flow

Mandatory access control (MAC) Centralized access control by means of system-wide policy. Access control rights are fixed by an administrators. A limited number of implementations, e.g. SELinux, Systrace. Advantages: strict control over information flow strong exploit containment Disadvantages: major usability problems cumbersome administration

Role based access control (RBAC) RBAC attempt to handle the complexity of access control by extensive used of abstractions: Data types are defined for all objects. Procedures are high level access control methods with a more complex semantics than elementary access control rights. Procedures can be only applied to certain data types. Procedures are grouped into roles assigned to users. A user can have more than one role and more than one user can have the same role. Role hierarchies can be used to match natural relations between roles. Example: A Lecturer can create a role Student and give it a privilege read course material.

Reference monitors A reference monitor is an abstract device that mediates all accesses of objects to subjects. Subject Reference monitor Object User process? Resource Access request Policy Core requirements for a reference monitor implementation: Tamper-resistance Complete mediation (guaranteed invocation) Easiness of verification and testing

Reference monitor design choices kernel supported interpreted inline

Reference monitor placement Hardware: low-level objects, no layer below, full system integrity Operating system kernel: abstract low-level objects, hard to subvert, encapsulation Operating system: conventional objects, not tamper-proof, most common Services: databases, JVM,.NET, CORBA high-level abstract objects, very common Applications: application-specific objects and access rights

Reference monitors in Intel 80x86 Status register contains a 2-bit field corresponding to four protection rings (priviledge levels): 0 operating system kernel 1 rest of operating system 2 I/O drivers etc. 3 application software (user processes) Processes can only access resources in their own rings. Access to OS objects is controlled by object decriptors stored in descriptor tables.

Access control in Intel 80x86 Descriptor table is accessed by processes via selectors. A selector contains an index of an object s descriptor (in a descriptor table) and a Requested Priviledge Level (RPL) field. A selector of a current process is stored in the code segment (CS) register. Its RPL is then compared with the priviledge level in the descriptor (DPL) for access decisions.

Controlled invocation in Intel 80x86 How can a program access OS resources?

Controlled invocation in Intel 80x86 How can a program access OS resources? A gate is an object having a ring 3 priviledge level which is able to call objects with higher priviledge levels. Gates enable execution but prevent unauthorized manipulation of OS objects.

Summary Access control methods implement policies that control which subjects can access which objects in which way. Most common practical access control instruments are ACLs, capabilities and their abstractions. From the design point of view, access control systems can be classified into discretionary (DAC), mandatory (MAC) and role-based (RBAC). Reference monitors are instruments for realization of access control policies. They can be deployed at all levels of system hierarchy.