is a set of access control rules defined by the system itself ➡ Objectives of MAC policies • Ensure the confinement of trusted domains • Control the information flow between these trusted domains
• The access control is realized by the system but defined by the users • The object owners manage the rights MAC - Mandatory Access Control • The access control is realized by the system and defined by the system (very lowly configurable) • The system (administrator) manage the rights
policy but a MAC is not a multilevel security Concept of confinement • Vertical confinement compartments • Horizontal confinement sensitivities Multilevel is also called the lattice model ➡ Partial order between pairs of compartments and sensitivities
but for what purpose? • Confidentiality (also called Military Security Policy) • Integrity (also called Commercial Security Policy) What are the operations considered here? • Reading • Blind writing
• Indicates the confidentiality of the information Subjects have a confidentiality clearance level • Indicates the user's ability of not releasing sensitive information • A subject with high confidentiality clearance level is supposed to keep secret sensitive information
of information between different confidentiality sensitivity levels Hypothesis ➡ A subject must choose a security clearance level when accessing an object - concept of sessions currentClearance(subject) ≤ clearanceMax(user)
by the “Need to know” rule ➡ No Read-up confidentiality(object) ≤ currentClearance(user) Information leakage is limited by the “Star Property” rule ➡ NoWrite Down currentClearance(user) ≤ confidentiality(object)
in the extended Bell-LaPadula model ➡ Declassification must be trustworthy (paradox?) 2. Sometimes hiding an information is not enough when the existence of this information should be hidden ➡ Sensitive information systems must lie [Cuppens 94]
• Indicates the reliability of the information Subjects have a integrity clearance level • Indicates the user's ability of releasing reliable information • A subject with high integrity level is supposed to release reliable information
a subject with low integrity clearance modifies high integrity objects using information from low integrity objects Hypothesis • There is no concept of session here • Integrity is not exactly the dual of confidentiality
reliable person can release a reliable information ✓ This person must not be influenced by by a lower reliable information ➡ No Write up integrity(object) ≤ clearanceMax(subject) ➡ No Read down clearanceMax(subject) ≤ integrity(object)
one sensitivity level ➡ For reading and writing: clearanceMax(user) = security(object) ๏ Naive approach not sustainable in practice An object has two sensitivity levels ➡ Each operation is integrity or confidentiality sensitive (must be a strict distinction) ๏ Very hard to implement in practice
based on two different policies • a MAC policy that rules all objects and all subject (defining system trusted domains) • a DAC policy defined by users on the set of objects they own (defining user trusted domains) ➡ SELinux (Security-Enhanced Linux) from the NSA