CS 111 Spring 2010 Scribe Notes

Lecture 18 (6/1/2010)

by Tim Fabian and Samuel Karp

Table of Contents

Methods for accessing system resources

Top

Access control

Goals

Design concepts

Keeping track of what access is allowed - The access control data itself should be protected, but updatable (sensitive operation).

There are two main forms of implementing access control

In both cases, access control data

Representing ACL data

Array

Image of cube showing labeled axes Principals, Objects, and Operations
Three-dimensional array of permission bits. One axis represents Principals (processes and/or users), the second axis represents all objects, and the third axis represents operations. If the axis of principals is 1e4 bits, the axis of objects is 1e6 bits, and the axis of operations is 1e2 bits, the total storage space required for this information is 1e12 bits.

Unix permissions model

Each object has 9 permissions bits plus a user ID and group ID. If the user ID and group ID are each 32-bits, the total is 73-bits.

$ ls -l
rwxrwxrwx
  1. A bit too generous in many cases
  2. Sysadmin (root) is in charge of group membership (which can be very inflexible)
  3. Hard to maintain (lots of people, lots of roles

ACLs (Windows NT-style) - Now in Linux, Solaris as well

Associated with each file is a list of users (+ groups) that can access the file +flags (operations)

  1. A bit too generous in many cases
  2. Hard to maintain (lots of people, lots of roles

Role Based Access Control (RBAC) - Solaris, Active Directory

Users can assume roles

This often comes with fine-grained control over operations

Capabilities

Possession of this "word" implies right to object

Top

Denial of Service (DoS) attacks

Bog a server down without enough requests to render it unable to process legitimate user requests

Defense methods

  1. captcha
    Image of typical CAPTCHAs
  2. log IP addresses
  3. change server IP address
  4. make the server faster!

Top

Valid HTML 4.01 Strict

CS 111 Operating Systems Principles, UCLA. Paul Eggert. June 1, 2010.