Secure Os
Secure Os
Secure Os
Security Goal
A secure operating system provides security mechanisms that
ensure that the system's security goals are enforced
despite the threats(threat model) faced by the system and
given a set of software, including the security mechanisms,
that must be trusted(i.e., a trust model).
A high degree of assurance in enforcement have been
called secure systems, or even more frequently trusted
Systems
A security goal defines the operations that can be executed
by a system while still preventing unauthorized access.
Security goals describe how the system implements
accesses to system resources that satisfy the following:
1. Secrecy,
2. Integrity,
3. Availability.
A security goal
-defines a requirement that the systems design can
satisfy and that a correct implementation must
A system access is traditionally stated in terms of which
subjects (e.g., processes and users) can perform which
operations (e.g., read and write) on Objects
objects may contain secrets that not all subjects are
permitted to know secrecy.
limit the objects that subjects can write because objects
may contain information that other subjects depend on
for their correct operation Integrity
limit the system resources (e.g., storage and CPU) that
subjects may consume Availability
Examples
Bell-LaPadula model
This goal states that a process cannot read an object
whose secrecy classification is higher than the processs.
This goal limits operations based on a security
requirement, secrecy
The principle of least privilege which limits a process to
only the set of operations necessary for its execution.
This goal is functional because encourages functional
restrictions that may prevent some attacks
TRUST MODEL
Trusted computing base (TCB)--the set of software and
data upon which the system depends for correct
enforcement of system security goals.
Minimal amount of software necessary to enforce the
security goals correctly
- the software that defines the security goals
- the software that enforces the security goals (i.e.,
the operating systems security mechanism).
- the software that bootstraps this software must also
be trusted.
THREAT MODEL
A set of operations that an attacker may use to compromise
a system
Attacker - who is capable of injecting operations from the
network and may be in control of some of the running
software on the system
- work to violate the system security goals
- provides access to secret information(i.e., violate secrecy
goals)
- permits the modification of information that subjects depend
on (i.e.,violate integrity goals)
The attacker may try any and all operations that are
permitted to the attacker
- If it can only access the system via the network, then the attacker may
try to send any operation to any processes that provide network access
Access Control
An access enforcement mechanism authorizes requests
from multiple subjects (e.g. users, processes, etc.) to
perform operations (e.g., read, write, etc.) on objects
(e.g., files, sockets, etc.).
Two fundamental concepts of access control:
1. A protection system that defines the access control
specification
2. A reference monitor that is the systems access
enforcement mechanism that enforces this specification.
Protection system
A protection system consists of a protection state, which describes the
operations that system subjects can perform on system objects, and a
set of protection state operations, which enable modification of that
state.
A protection state consists of the specific system subjects, the specific
system objects, and the operations that those subjects can perform on those
objects.
LAMPSONS ACCESSMATRIX
a protection state is represented by an access matrix
An access matrix consists of a set of subjects s S, a
set of objects o O, a set of operations op OP, and a
function ops(s, o) OP, which determines the
operations that subjects can perform on object o. The
function ops(s, o) is said to return a set of operations
corresponding to cell (s, o).
Reference Monitor
Takes a request as input, and returns a binary response
indicating whether the request is authorized by the
reference monitors access control policy
Three distinct components of a reference monitor:
determine
- what to authorize (e.g., directory searches, link traversals, and
finally the operations for the target files inode),
- where to perform such authorizations (e.g., authorize
a directory search for each directory inode in the file path)
- what information to pass to the reference monitor to authorize
the open (e.g., an inode reference)
Authorization Module
- takes interfaces inputs (e.g., process identity, object
references, and system call name), and converts these to a
query for the reference monitors policy store.
1. map the process identity to a subject label
2. the object references to an object label,
3. determine the actual operations to authorize (e.g., there may
be multiple operations per interface)
Policy Store
The policy store is a database for the protection state,
labeling state, and transition state.
An authorization query
- These queries are of the form {subject_label,
object_label, operation_set} and return a binary
authorization reply.
SECUREOPERATING SYSTEMDEFINITION
Asecure operating system is an operating system where
its access enforcement satisfies the reference monitor
concept
The reference monitor concept defines the necessary and
sufficient properties of any system that securely enforces a
mandatory protection system, consisting of three
guarantees:
1. Complete Mediation: The system ensures that its
access enforcement mechanism mediates all securitysensitive operations.
2. Tamperproof: The system ensures that its access
enforcement mechanism, including its protection system,
cannot be modified by untrusted processes.
Assessment criteria
1. Complete Mediation: How does the reference monitor interface
ensure that all securitysensitive operations are mediated
correctly?
2. Complete Mediation: Does the reference monitor interface
mediate security-sensitive operations on all system resources?
3. Complete Mediation: How do we verify that the reference
monitor interface provides complete mediation?
4. Tamperproof: How does the system protect the reference
monitor, including its protection system, from modification?
6. Verifiable:What is basis for the correctness of the systems
trusted computing base?
7. Verifiable: Does the protection system enforce the systems
security goals?
MULTICS
First modern operating system
Large, long-term operating system project where many of our
fundamental operating systems concepts, including those for
secure operating systems, were invented
-segmented and virtual memory,
- shared memory multiprocessors,
- hierarchical file systems,
- online reconfiguration among others.
MULTICS FUNDAMENTALS
A layered architecture - access named system resources
that are organized hierarchically
processes- the executable contexts in Multicsprogram
code
segments- All code, data, I/O devices, etc. accessed by a
process
- organized into a hierarchy of directories
A processs protection domain defines the segments that
it can access
- consists of the segments that could be loaded into its
descriptor segment and the operations that the process
could then perform on those segments
Example
Segment
rew Jaeger.SysAdmin.*
rBackup.SysDaemon.*
rw *.SysAdmin.*
Directory
Sma Jaeger.SysAdmin.*
S Backup.SysDaemon.*
Sm *.SysAdmin.*
If r < r1, then the process can read and write to the segment.
If r1 r r2, then the process can read the segment only.
If r2 < r, then the process has no access to the segment.
ensures that lower rings (i.e., more privileged) have strictly
greater access to segments than the higher rings.
3. Multilevel Security(MLS)
prevents a subject from reading data that is more secret than
the subject or writing data to less secret objects
each directory stores a mapping from each segment to a
secrecy level and between each process and its secrecy level
A request is authorized if one of three conditions met:
1. Write: The process requests write access only and the level of the
segment/directory is greater than (i.e., dominates) or equal to the
level of the process.
2. Read: The process requests read access only and the level of the
segment/directory is less than (i.e., dominated by) or equal to the
level of the process.
3. Read/Write: The process requests read and write access and the
level of the segment/directory is the same as the process or the
process is designated as trusted.