Security

An operating system must prevent unauthorized access to the system and permit authorized sharing of resources.

1. Security Aspects

A security policy specifies what security is provided:

A security mechanism describes:

1.1 People Security

1.2 Hardware Security

1.3 Software Security

Software bugs* may allow attackers to compromise a system by gaining root privaleges, crashing an application, stealing data, compromising data integrity and denying access to the system.

2. Authentication

Authentication verifies identity based on personal characteristics, possessions and knowledge. It is based on hard to forge personal characteristics (e.g. fingerints, etc.). It can suffer from problems like false positives / negatives and high equipment cost.

2.1 Passwords

2.2 Access Control

Specifies who, when and how someone can access a resouce with a policy. The Principle of Least Privelage (PoLP) is used, which gives users minimum rights required to carry out a task.

Protection domains are a set of access rights defined as a set of objects and the operations permitted on them. This can be represented in an access control matrix, where rows represent principles, columns represent objects and cells represent access rights. However, these can be expensive to implement, so instead we use:

(!) Access Control in Unix

  • Users are principals, each has a unique UID. Superuser root has UID 0.
  • Files are objects. In UNIX, everything is a file.
  • Each user can belong to one or more groups. Each file can only belong to one group.
  • Access rights are read, write and execute.
  • Each program has three UIDs. The real UID - the user who started the program, the effective UID - the user who owns the program and the saved UID - a saved id which the effective id can be changed to.
  • When a program starts, the effective UID is set to the real UID. If the program needs to perform an operation that requires a different UID, it can change the effective UID to the saved UID.

There are two kinds of access control

2.3 Bell-LaPadula Model

A MAC model that uses security levels to control access. It has two rules:

2.4 Biba Model

A MAC model that uses integrity levels to control access. It has two rules:

3. Design Principles for Security

Back to Home