PROTECTION
Goals of Protection:
- Protection : mechanism for controlling the access of the program, processes.
- It inproves reliability.
Principles of Protection
- Principle of least privilege
- programs, users and systems should be given just enough privileges to perform their tasks.
- this limits damage if entity has a bug or gets abused.
- can be static or dynamic i.e. changed by process as needed.
- ex: domain switching, privilege escalation
- Need to know: another similar concept like above.
For Protection :
- In Contiguous memory allocation system : we use
limit registers.
- In Paging system : we use
Page Table.
- Each process has its own Page Table.
- In Segmentation system : we use
Segmentation Table
.
- Each table is protected by base address and limit register.
- In Secondary Storage system : we have
access rights
.
Access Control :
- is a method that sets :
- types of access given on different resources, under what cases, by whom.
- 3 basic Components :
- Subjects (S) or Domain : set of entities having access to current object.
- Objects (O) : set of resources that need access.
- Rights (R) : set of Operations → that subjects can perform on object.
- Protection Domain : is a collection of object and access rights.
(Permission -rwx-)
Access Control Policies (Rules)
Domain Structure
- each column can be implemented as an access list.
domain is a set of access-rights.
<object-name, rights-set>
, right-set contains permissions.
Access Matrix
it is a representation of protection as a matrix.
- rows represent domains
- columns represent objects

Implementation of Access Matrix
- Access Control List
- created by dividing access-matrix column-wise.
- Capability List
- created by dividing access-matrix row-wise.
- divided into 2 fields:
- Object descriptor
- Access Rights
Operation on Access Matrix Entries
- Copy → allow access to be copied only within the column
- denoted by *
copy from O_i to O_j
- Owner → allows addition or removal of acces rights.
Copy and Owner allows a process to change the entry in column.
- Control Right → used to change entries in a row.
D_i can modify D_j access rights
- transfer → switch domains from
D_i
to D_j
Implementation of Access Matrix
- Global Table : it consists of a ordered set of triples <domain, object, right set>
- if a triple is found → operation is allowed to continue, other wise error/exception.
- Drawback :