Security Model
Security Model
PRIVACY
Week 3: Security Models: BLP, Biba,
and Clark-Wilson
•1
Readings for This Lecture
Using principals
• Determines which principals (user accounts) can access what documents
Using subjects
• Determines which subjects (processes) can access what resources
• This is where BLP focuses on
Multi-Level Security (MLS) (1)
Introduce in 1973
Air Force was concerned with security in time-sharing systems
• Many OS bugs
• Accidental misuse
Main Objective:
• Enable one to formally show that a computer system can securely process
classified information
What is a Security Model?
Subjects Objects
Current
Accesses
Trusted
Subjects
Access Matrix
The BLP Security Policy
Objects
Highest
Can Write
Max Level
Subject
Current
Can Read & Write
Level
Can Read
Lowest
STAR-PROPERTY
Consider a system with two subjects s1,s2 and two objects o1,o2
• fS(s1) = fC(s1) = fO(o1) = high
• fS(s2) = fC(s2) = fO(o2) = low
And the following execution
• s1 gets read access to o1, read something, release access, then change
current level to low, get write access to o2, write to o2
Every state is secure, yet illegal information flow exists, assuming
that a subject can store information from one state to the next
Solution: tranquility principle: subject cannot change current levels,
or cannot drop current level to below the highest level read so far
More on the BLP Notion of Security
• Deal only with confidentiality, does not deal with integrity at all
• Confidentiality is often not as important as integrity in most situations
• Integrity is addressed by models such as Biba, Clark-Wilson, which we will
cover later
Secret, {}
The need-to-know principle
The set of all hardware, software and procedural components that enforcing the
security policy depends upon.
• In order to break security, an attacker must subvert some part of the TCB.
• The smaller the TCB, the more secure a system is.
What would a Trusted Computing Base in a Unix/Linux system consists of?
• Depends on the security objective
• hardware, kernel, system binaries, system configuration files, setuid root programs, etc., at the
minimum
One approach to improve security is to reduce the size of TCB, i.e., reduce
what one relies on for security.
Assurance
User
Uses the reference monitor concept process
Reference monitor
• Part of TCB
• All system calls go through reference monitor Reference
monitor
for security checking
TCB
• Security does not depends on the whole kernel OS kernel
• Most OS not designed this way
Kernel space
Reference Monitor
Emphasizes confidentiality
Evaluation Classes C and D
B1 Labeled security protection : informal security policy model; MAC for named
objects; label exported objects; more stringent security testing
B2 Structured protection : formal security policy model; MAC for all objects,
labeling; trusted path; least privilege; covert channel analysis, configuration
management
B3 Security domains : satisfies three reference monitor requirements; system
recovery procedures; constrains code development; more documentation
requirements
Division A: Verification Protection
A1 Verified design :
functionally equivalent to B3, but require the use of formal methods for
assurance; trusted distribution; code, formal top-level specification (FTLS)
correspondence
Limitations
functionality
• functionality is multi- B3 A1
dimensional B2
B1
• assurance has a linear
C2
progression C1
assurance
Common Criteria: 1998–Present
A higher EAL means nothing more, or less, than that the evaluation completed
a more stringent set of quality assurance requirements.
It is often assumed that a system that achieves a higher EAL will provide its
security features more reliably, but there is little or no published evidence to
support that assumption.
Anything below EAL4 doesn’t mean much
Anything above EAL4 is very difficult to achieve for complex systems such as
OS
Evaluation is done for environments assumed by vendors
Criticism of CC
Motivations
• BLP focuses on confidentiality
• In most systems, integrity is equally, if not more, important
• Data integrity vs. System integrity
• Data integrity means that data cannot be changed without being detected
What is integrity in systems?
Rules:
s can read o iff i(s) ≤ i(o)
• no read down
• stops indirect sabotage by contaminated data
s can write to o iff i(s) ≥ i(o)
• no write up
• stops directly malicious modification
Fixed integrity levels
No information path from low object/subject to high object/subject
Too restrictive for practice. Why?
Subject Low-Water Policy
Rules
• s can always read o; however, after reading
i(s) ← min[i(s), i(o)]
• s can write to o iff i(s) ≥ i(o)
Subject’s integrity level decreases as reading lower integrity data
No information path from low-object to high-object
Dual to a form of Tranquility Principle in BLP
Object Low-Water Mark Policy
Rules
• s can read o; iff i(s) ≤ i(o)
• s can always write to o; after writing
i(o) ← min[i(s), i(o)]
In the end, objects that have high labels have not been
contaminated
Low-Water Mark Integrity Audit Policy
Rules
• s can always read o; after reading
i(s) ← min[i(s), i(o)]
• s can always write to o; after writing
i(o) ← min[i(s), i(o)]
Rules
• Any subject can read any object
• s can write to o iff i(s) ≥ i(o)
Integrity levels of subjects and objects are fixed.
Intuitions:
• subjects are trusted to process low-level inputs correctly
Dual to Trusted Subjects (not subject to star-property) in BLP
Five Mandatory Policies in Biba
In practice, one may be using one or more of these policies, possibly applying
different policies to different subjects
• E.g., subjects for which ring policy is applied are trusted to be able to correctly handle inputs;
Integrity Policies Options
When high subject requests to read low object:
What should be the relationship between the two meanings, which level should
be higher?
Integrity vs. Confidentiality
Confidentiality Integrity
Well-formed transaction
• a user should not manipulate data arbitrarily, but only in constrained ways that
preserve or ensure data integrity
• e.g., use an append-only log to record all transactions
• e.g., double-entry bookkeeping
• e.g., passwd
Separation of duty
• ensure external consistency: data objects correspond to the real world objects
• separating all operations into several subparts and requiring that each subpart
be executed by a different person
• e.g., the two-man rule
Implementing the Two High-level Mechanisms
or
88
Next Topic