Transcript Chapter 4-1

Chapter 4 – Protection in General-Purpose Operating
Systems
Section 4.1 Protected Objects and Methods of Protection
Section 4.2 Memory and Address Protection
4.3 Control of Access to General Objects
4.4 File Protection Mechanisms
In this Section
 Memory Protection
 Fence
 Base/Bound
 Segmentation
 Page
 Segmentation/Page
 Object Control
 Directory
 Access Control List
 Access Control Matrix
 Kerberos
 File Protection Mechanisms
Protection in General-Purpose OS
 Some program are insecure just based upon the nature of
the program
 Problem Children: Operating Systems and Databases
(require access by many different “privileged” users)
 OS General Goal: Controlling Shared Access and Interface.
 OS Function (each have much security concern)
 Access Control
 Identification and Credentials
 Information flow
 Need to separate levels of security for particular users
Projected Objects and Methods of
Protection
 In the beginning there was no OS…. Programs were
just inputted – cards/switches and the human hand
were the OS
 Early OS was just a utility called an executive and only
handled a single user - system resources managed by
user
 Multiprogrammed OS allowed for more than one
user – system resources managed by the monitor
 Early day protection was easy – you protected the user
from themselves but today you must protect all users
of an OS from each other and Malory
Protected Objects
 In a multiprogram environment many objects need
protection:
 Memory
 Sharable I/O devices
 Serially/Parallel reusable I/O devices
 Sharable programs and subprocedures
 Networks
 Sharable Data
 Notice the single correlation of all these “Shared”
Security Methods of Operating
Systems
 Basis of protections is separation (keeping user
objects away from other users)
 Methods of Separation:
 Physical – nothing shared
 Temporal – operating things a different times
 Logical – running together but can’t access each other
 Cryptographic - running together but concealed
Levels of Share Protection
 Do not Prevent – no protection when procedure are being run





at different times
Isolate – running concurrently but aware of each other; separate
space, objects and files
Share all or share nothing – owner of objects declare it public
or private (all or none)
Share via access limitation – each user is checked for access
availability of an object
Share by compatibilities- dynamic creation of shared objects
Limit use of an object- user has varying access to an object
Each has a varying level of granularity - Greater granularity
creates greater access control
Fence/Fence Register – Memory
and Address Protection




Simplest of all protection
Confine the user to one side of a boundary
Used to separate OS and Program (wasteful use of space)
Protects a user from an OS but not a user from another user
Base/Bound Register
 Created for a multiuser environment
 Base Register – variable fence register (lower bound)
 Bound Register – the upper address limit
Tagged Architecture
 In base/bound, it is an all or nothing on the sharing of data. It is
hard to manage because of it contiguous data space.
 Tagged Architecture- every word of machine memory has one
extra bits to identify access right
Segmentation
 Segmentation – notion of dividing a program into
separate pieces – each has a logical unity
 Code for a procedure, sub procedure, array
 Unlimited number of base/bound registers <name, offset>
Segmentation
 Segment Address Table is created for each program
used to determine the true memory address of an
instruction or data
Paging
 Program divided into equal size chunks called pages and
inserted into page frames; <page, offset>
 Unlike segmentation all pages are the same size removing most
fragmentation
 slight sifting of data can cause security problems
Paging-Segmentation
 Combing the benefits of Paging and Segmentation
Control of Access to General Object
 Objects to Protect
 Memory
 File or data on storage device
 Executing program in memory
 Directory of files
 Hardware device
 Data structure
 Tables of the OS
 Instructions, privileged instructions
 Passwords - Authentication
 The protection mechanism
Goals to Protecting Objects
 Check every access – able to revoke a right to an
object
 Enforce least privilege – user/object should have
access to the smallest number of objects necessary to
perform some task
 Verify acceptable usage – Not just access an object
but check to see if its use of the object is acceptable
Directory Access
 Each user has a list to determine access to an object
 Problem – large lists, revocation of access, and multiple entries of the
same name
Access Control List
 A single list for each object
 Lots of advantages over Directory Access
Access Control Matrix
 Each row represents a subject and each column
represents a object. Each entry is the set of access
rights
 Table 4-1 in textbook
Capability
 Capability is an unforgettable token that gives rights to an
object
 Sometimes a user must have a ticket; Domain useage
Kerberos
 Kerberos is an implementation of a ticket based
system with authentication
 Authentication Server (AS) – authenticates the user
 Ticket Granting Server (TGS) – provides the ticket
 Key Distribution Center (KDC) – is made up of the AS
and TGS
File Protection Mechanisms
 All-None System (Unacceptable)
 Lack of Trust
 Too Course
 Rise of Sharing
 Complexity
 File Listings
 Group Protection (has problems)
 Group Affiliation
 Multiple Personalities
 All Groups
 Limited Sharing