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

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

CIS 551 / TCOM 401 Computer and Network Security

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

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

CIS433/533 - Computer and Network Security Operating System Security

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control

System Security Fundamentals

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

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

Access Control Lists in Linux & Windows

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

Capability-Based Access Control

Computer Security: Principles and Practice

Chapter 14: Access Control Mechanisms

WHITE PAPER. Understanding Windows & UNIX File Permissions on GuardianOS

Using NFS v4 ACLs with Samba in a multiprotocol environment

EMC ISILON MULTIPROTOCOL DATA ACCESS WITH A UNIFIED SECURITY MODEL

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

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

Chapter 14: Protection. Chapter 14: Protection. Objectives. Goals of Protection. Domain Structure. Principles of Protection

Mandatory Access Control

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

Security IIS Service Lesson 6

Quest ChangeAuditor 5.1. For Windows File Servers. Events Reference

Chapter 6, The Operating System Machine Level

Filesystem Security. General Principles

Distributed File Systems Part I. Issues in Centralized File Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Overview Windows NT 4.0 Security Cryptography SSL CryptoAPI SSPI, Certificate Server, Authenticode Firewall & Proxy Server IIS Security IE Security

ELEC 377. Operating Systems. Week 1 Class 3

Chapter 12 File Management

Chapter 12 File Management. Roadmap

Computer security Lecture 3. Access control

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

A Survey of Access Control Policies

Chapter 7: Unix Security. Chapter 7: 1

SECURITY SUBSYSTEM IN WINDOWS

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

TELE 301 Lecture 7: Linux/Unix file

OPERATING SYSTEM SERVICES

Introduction to Computer Security

Windows security for n00bs part 1 Security architecture & Access Control

Introduction to Computer Security

The Mac OS X Server Essentials v10.5 Exam Skills Assessment Guide

CHAPTER 15: Operating Systems: An Overview

Introduction to Computer Security

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

ChangeAuditor 6.0 For Windows File Servers. Event Reference Guide

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

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

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

Topic 5a Operating System Fundamentals

Online Backup Client User Manual Linux

Host Hardening. OS Vulnerability test. CERT Report on systems vulnerabilities. (March 21, 2011)

ONEFS MULTIPROTOCOL SECURITY UNTANGLED

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Product Specification

EXPLORING LINUX KERNEL: THE EASY WAY!

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Example of Standard API

Case Study: Access control 1 / 39

Access Control. Dr George Danezis

COS 318: Operating Systems. File Layout and Directories. Topics. File System Components. Steps to Open A File

White Paper Levels of Linux Operating System Security

Windows Server 2003 Active Directory MST 887. Course Outline

Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

SEER Enterprise Shared Database Administrator s Guide

Windows Advanced Audit Policy Configuration

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

Windows Operating Systems. Basic Security

1. Introduction to the UNIX File System: logical vision

WEB CONFIGURATION. Configuring and monitoring your VIP-101T from web browser. PLANET VIP-101T Web Configuration Guide

PATROL Console Server and RTserver Getting Started

How to Create a Delegated Administrator User Role / To create a Delegated Administrator user role Page 1

CIFS Permissions Best Practices Nasuni Corporation Natick, MA

ADAM 5.5. System Requirements

Restraining Execution Environments

CS161: Operating Systems

1. Product Information

Permissions Mapping in the Isilon OneFS File System

Advanced Audit Policy Configurations for LT Auditor+ Reference Guide

Operating Systems and Networks

SAS 9.4 Intelligence Platform

MCSE TestPrep: Windows NT Server 4, Second Edition Managing Resources

Server & Workstation Installation of Client Profiles for Windows

MapGuide Open Source Repository Management Back up, restore, and recover your resource repository.

Clustered Data ONTAP 8.2

Transcription:

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

Access Control: The Big Picture Objects - resources being protected E.g. files, devices, etc. Subjects - active entities E.g. processes, machines Permissions (or Rights) - Kinds of access requests that are monitored E.g. read, write, execute Reference monitor - mediates requests made by subjects Permits or denies access Sub Sub Sub request Reference Monitor Obj Obj Obj Obj Obj Obj Obj 1/27/06 CIS/TCOM 551 2

Outline Access Control Concepts Matrix, ACL, Capabilities OS Mechanisms Multics Ring structure Amoeba Unix Distributed, capabilities File system, Setuid Windows File system, Tokens, EFS Next time: Java / C# access control Privileges & Stack inspection Some slides courtesy of John Mitchell 1/27/06 CIS/TCOM 551 3

Multics Operating System Designed 1964-1967 MIT Project MAC, Bell Labs, GE At peak, ~100 Multics sites Last system, Canadian Department of Defense, Nova Scotia shut down October, 2000 Extensive Security Mechanisms Influenced many subsequent systems http://www.multicians.org/security.html E.I. Organick, The Multics System: An Examination of Its Structure, MIT Press, 1972 1/27/06 CIS/TCOM 551 4

Multics time period Timesharing was new concept Serve Boston area with one 386-based PC F.J. Corbato 1/27/06 CIS/TCOM 551 5

Multics Innovations Segmented, Virtual memory Hardware translates virtual address to real address High-level language implementation Written in PL/1, only small part in assembly language Shared memory multiprocessor Multiple CPUs share same physical memory Relational database Multics Relational Data Store (MRDS) in 1978 Security Designed to be secure from the beginning First B2 security rating (1980s), only one for years More about government certification levels later 1/27/06 CIS/TCOM 551 6

Multics Access Model Ring structure A ring is a domain in which a process executes Numbered 0, 1, 2, ; Kernel is ring 0 Graduated privileges Segments Processes at ring i have privileges of every ring j > i Each data area or procedure is called a segment Segment protection b1, b2, b3 with b1 b2 b3 Process/data can be accessed from rings b1 b2 A process from rings b2 b3 can only call segment at restricted entry points 1/27/06 CIS/TCOM 551 7

Multics processes Multiple segments Segments are dynamically linked Linking process uses file system to find segment A segment may be shared by several processes Multiple rings Procedure, data segments each in specific ring Access depends on two mechanisms Per-Segment Access Control File author specifies the users that have access to it Concentric Rings of Protection Call or read/write segments in outer rings To access inner ring, go through a gatekeeper Interprocess communication through channels 1/27/06 CIS/TCOM 551 8

Amoeba http://www.cs.vu.nl/pub/amoeba/amoeba.html Distributed system Multiple processors, connected by network Process on A can start a new process on B Location of processes designed to be transparent Capability-based system Each object resides on server Invoke operation through message to server Send message with capability and parameters Sever uses object # to indentify object Sever checks rights field to see if operation is allowed Check field prevents processes from forging capabilities Server port Obj # Rights Check field 1/27/06 CIS/TCOM 551 9

Capabilities Owner capability When server creates object, returns owner cap. All rights bits are set to 1 (= allow operation) Check field contains 48-bit rand number stored by server Derived capability Owner can set some rights bits to 0 Calculate new check field XOR rights field with random number from check field Apply one-way hash function to calculate new check field Server can verify rights and check filed Without owner capability, cannot forge derived capability Server port Obj # Rights Check field Protection by user-process at server; no special OS support needed 1/27/06 CIS/TCOM 551 10

Unix file security Each file has owner and group Permissions set by owner Read, write, execute Owner, group, other Represented by vector of four octal values Only owner, root can change permissions This privilege cannot be delegated or shared Setid bits Discuss in a few slides setid --- rwx rwx rwx owner group other 1/27/06 CIS/TCOM 551 11

Question "owner" can have fewer privileges than "other" What happens? User gets access? User does not? Prioritized resolution of differences if user = owner then owner permission else if user in group then group permission else other permission 1/27/06 CIS/TCOM 551 12

Effective User ID (EUID) Each process has three user IDs (+ more under Linux) Real user ID (RUID) same as the user ID of parent (unless changed) used to determine which user started the process Effective user ID (EUID) from set user ID bit on the file being executed, or sys call determines the permissions for process file access and port binding Saved user ID (SUID) So previous EUID can be restored Real group ID, effective group ID, used similarly 1/27/06 CIS/TCOM 551 13

Process Operations and IDs Root ID=0 for superuser root; can access any file Fork and Exec Inherit three IDs, except when executing a file with setuid bit on. Setuid system calls seteuid(newid) can set EUID to Real ID or saved ID, regardless of current EUID Any ID, if EUID=0 Details are actually more complicated Several different calls: setuid, seteuid, setruid 1/27/06 CIS/TCOM 551 14

Setid bits on executable Unix file Three setid bits Setuid set EUID of process to ID of file owner Setgid set EGID of process to GID of file Sticky Off: if user has write permission on directory, can rename or remove files, even if not owner On: only file owner, directory owner, and root can rename or remove file in the directory 1/27/06 CIS/TCOM 551 15

Example RUID 25 Owner 18 SetUID ; ; exec( ); Owner 18 -rw-r--r-- file Owner 25 -rw-r--r-- file read/write read/write program ; ; i=getruid() setuid(i); ; ; RUID 25 EUID 18 RUID 25 EUID 25 1/27/06 CIS/TCOM 551 16

Setuid programming Can do anything that owner of file is allowed to do Be Careful! Root can do anything; don t get tricked (no middle ground) Principle of least privilege change EUID when root privileges no longer needed Be sure not to Take action for untrusted user Return secret data to untrusted user Setuid scripts This is a bad idea Historically, race conditions Begin executing setuid program; change contents of program before it loads and is executed 1/27/06 CIS/TCOM 551 17

Unix summary We re all very used to this So probably seems pretty good We overlook ways it might be better Good things Some protection from most users Flexible enough to make things possible Main bad thing Too tempting to use root privileges No way to assume some root privileges without all root privileges 1/27/06 CIS/TCOM 551 18

Access control in Windows (NTFS) Some basic functionality similar to Unix Specify access for groups and users Read, modify, change owner, delete Some additional concepts Tokens Security attributes Generally More flexibility than Unix Can define new permissions Can give some but not all administrator privileges 1/27/06 CIS/TCOM 551 19

Sample permission options SID Identity (replaces UID) SID revision number 48-bit authority value variable number of Relative Identifiers (RIDs), for uniqueness Users, groups, computers, domains, domain members all have SIDs 1/27/06 CIS/TCOM 551 20

Permission Inheritance Static permission inheritance (Win NT) Initially, subfolders inherit permissions of folder Folder, subfolder changed independently Replace Permissions on Subdirectories command Eliminates any differences in permissions Dynamic permission inheritance (Win 2000) Child inherits parent permission, remains linked Parent changes are inherited, except explicit settings Inherited and explicitly-set permissions may conflict Resolution rules Positive permissions are additive (take union of all permissions) Negative permission (deny access) takes priority 1/27/06 CIS/TCOM 551 21

Tokens Security Reference Monitor uses tokens to identify the security context of a process or thread Security context privileges, accounts, and groups associated with the process or thread Impersonation token thread uses temporarily to adopt a different security context, usually of another user Related to the EUID used in Unix. 1/27/06 CIS/TCOM 551 22

Security Descriptor Access Control List associated with an object Specifies who can perform what actions on the object Several fields Header Descriptor revision number Control flags, attributes of the descriptor E.g., memory layout of the descriptor SID of the object's owner SID of the primary group of the object Two attached optional lists: Discretionary Access Control List (DACL) users, groups, System Access Control List (SACL) system logs,.. 1/27/06 CIS/TCOM 551 23

Example access request Access token Security descriptor User: Mark Group1: Administrators Group2: Writers Revision Number Control flags Owner SID Group SID DACL Pointer SACL Pointer Deny Writers Read, Write Allow Mark Read, Write Access request: write Action: denied User Mark requests write permission Descriptor denies permission to group Reference Monitor denies request 1/27/06 CIS/TCOM 551 24

Impersonation Tokens Windows equivalent of setuid Process uses security attributes of another Client passes impersonation token to server Client specifies impersonation level of server Anonymous Token has no information about the client Identification server obtain the SIDs of client and client's privileges, but server cannot impersonate the client Impersonation server identify and impersonate the client Delegation lets server impersonate client on local, remote systems 1/27/06 CIS/TCOM 551 25