Tutorial 3.11: Mandatory Access Control (MAC)

Table of Contents

Learning Objectives

After completing this tutorial, you should be able to:

Overview

In Tutorial 3.10, we examined Discretionary Access Control (DAC), where the owner of a resource has discretion over access. While DAC is flexible and intuitive, it has significant limitations, particularly the Trojan horse problem and the inability to enforce a consistent security policy across an organization. Mandatory Access Control (MAC) addresses these shortcomings by placing authority in a central administrator who sets immutable policies based on security labels and classifications.

MAC is a model where access decisions are determined by a central authority according to a set of rules that cannot be overridden by users or owners. In MAC, every subject and object is assigned a security label (e.g., classification level, clearance, categories). Access is granted only if the labels satisfy the policy rules. This ensures strict information flow control, making MAC ideal for high-security environments such as military, government, and critical infrastructure.

This tutorial provides a comprehensive exploration of MAC. We begin by defining MAC and its foundational concepts, including security labels, classification levels, and clearance. We then delve into two classic formal models: the Bell-LaPadula model, which focuses on confidentiality, and the Biba model, which focuses on integrity. We analyze their rules and properties—the Simple Security Property, the *-Property (Star Property), and the Discretionary Security Property for Bell-LaPadula, and the corresponding rules for Biba.

We compare and contrast these models, highlighting their complementary roles: Bell-LaPadula prevents unauthorized reading of sensitive information (no read up, no write down), while Biba prevents corruption of high-integrity data (no write up, no read down). We discuss the practical applications of each model and how they can be combined.

We then survey real-world MAC implementations, focusing on SELinux (Security-Enhanced Linux) and AppArmor, which are the two most prominent MAC frameworks in Linux. We examine their architectures, policy languages, and typical use cases. We also discuss the advantages of MAC—strong security, centralized control, resistance to user errors—and its limitations—complexity, administrative overhead, and potential for misconfiguration.

The tutorial concludes with case studies illustrating MAC in a military intelligence system and a healthcare environment where integrity is paramount. These examples demonstrate the practical application of MAC principles and the trade-offs involved in deploying such systems.

By the end of this tutorial, you will have a thorough understanding of MAC, enabling you to evaluate when and how to apply it, and to recognize the critical role it plays in protecting highly sensitive or high-integrity systems.

1. Introduction to Mandatory Access Control

1.1 Definition and Core Principle

Mandatory Access Control (MAC) is an access control model in which access decisions are made by a central authority based on a set of system-wide policies. These policies are mandatory and cannot be overridden or modified by users, even the owners of objects. In MAC, every subject (user, process) and object (file, device) is assigned a security label that includes a classification level and possibly other attributes. Access is allowed only if the labels meet the policy's rules (e.g., subject's clearance is at least the object's classification).

The "mandatory" aspect means that the policy is enforced by the system and cannot be bypassed. This is in stark contrast to DAC, where the owner has discretion. MAC is used in environments where a consistent, global security policy is required and where the risk of unauthorized access or data leakage is very high.

1.2 Historical Context

MAC has its roots in military and government security requirements, particularly the U.S. Department of Defense's (DoD) Trusted Computer System Evaluation Criteria (TCSEC), also known as the Orange Book. The Orange Book defined requirements for mandatory protection, including the use of security labels and the enforcement of information flow policies. The Bell-LaPadula model was developed in the 1970s to formalize the confidentiality requirements of MAC. Later, the Biba model addressed integrity. MAC has since been implemented in many operating systems, including security-enhanced Linux (SELinux), Trusted Solaris, and various military-grade systems.

1.3 Key Concepts: Labels, Clearance, and Classification

In MAC, the system enforces rules based on these labels. For example, a subject with clearance "Secret" and categories {NATO, Crypto} can read objects classified as "Secret" or lower, but only if the object's categories are a subset of the subject's categories.

Key Takeaway: MAC centralizes access control decisions using security labels and system-wide policies that are mandatory and non-overridable, providing strong, consistent security enforcement.

2. Security Labels and Classifications

2.1 Classification Hierarchies

Classification levels are typically ordered in a hierarchy from lowest to highest. Common DoD classifications include:

Each level includes all lower levels, so a Top Secret clearance allows access to Secret, Confidential, and Unclassified objects (subject to category restrictions). The hierarchy ensures that the more sensitive the data, the higher its classification and the more restricted its access.

2.2 Categories and Compartments

Categories are non-hierarchical tags that represent areas of interest or specific projects. They are used to implement need-to-know. For example, a user might have clearance Top Secret with categories {NATO, Crypto}. This user can access objects with classification Top Secret or lower, but only if the object's categories are a subset of the user's categories. Thus, the user cannot access a Top Secret document classified with {NATO, Crypto, Personnel} because "Personnel" is not in their set.

2.3 Labeling Subjects and Objects

In a MAC system, every subject (user process) and object (file, device, etc.) must have a security label. The label is often stored in the object's metadata (e.g., extended attributes in a file system). The operating system's reference monitor checks these labels on every access request.

2.4 Example Labels

Entity Label
User Alice Clearance: Secret; Categories: {NATO}
User Bob Clearance: Top Secret; Categories: {Crypto, NATO}
File A Classification: Secret; Categories: {NATO}
File B Classification: Top Secret; Categories: {Crypto}

In this example, Alice can read File A (since her clearance is Secret, and her categories include NATO). She cannot read File B because her clearance is not Top Secret. Bob can read both File A and File B. If File B had categories {Crypto, NATO}, Bob could read it because his categories are a superset.

3. The Bell-LaPadula Model

3.1 Overview

The Bell-LaPadula (BLP) model is a formal security model developed in 1973 by David Bell and Leonard LaPadula. It is a state-machine model that focuses on preserving confidentiality. It is designed to prevent unauthorized disclosure of information by enforcing information flow from lower security levels to higher ones. BLP was developed for the U.S. Department of Defense and is the foundation for many MAC implementations.

3.2 Security Properties

The BLP model defines three main properties:

The key insight is that information flows upward, from lower classifications to higher classifications. A subject with a higher clearance can read lower-classified data, but cannot write down to lower levels, preventing leakage.

3.3 Formal Description

In BLP, each subject and object has a security label consisting of a classification level and a set of categories. The dominance relation (≥) is defined as follows:

The SS property: subject can read object iff the subject's label dominates the object's label. The *Property: subject can write to object iff the object's label dominates the subject's label.

3.4 Example

Consider a subject with label (Secret, {NATO}) and an object with label (Unclassified, {}).

Now consider an object with label (Top Secret, {NATO, Crypto}). Subject's label does not dominate object's label (Top Secret > Secret), so read is not allowed. Write: object's label dominates subject's label, so write is allowed. The subject can write to a higher classification object (which is permissible because it doesn't leak sensitive data).

Note: The Bell-LaPadula model is primarily concerned with confidentiality and preventing information leakage. It does not address integrity or availability.

4. The Biba Model

4.1 Overview

The Biba model was developed by Kenneth J. Biba in 1977 as a complementary model to Bell-LaPadula, focusing on integrity rather than confidentiality. The Biba model is designed to prevent data corruption by ensuring that information flows from higher integrity levels to lower integrity levels, preventing untrusted subjects from corrupting high-integrity data.

4.2 Integrity Labels

In the Biba model, subjects and objects are assigned integrity labels that indicate their level of trustworthiness or correctness. Higher integrity labels indicate more reliable or verified data. For example, a system might have integrity levels: High, Medium, Low.

4.3 Biba Properties

The Biba model defines three properties analogous to BLP but reversed:

In essence, Biba ensures that data flows from high integrity to low integrity, preventing low-integrity data from affecting high-integrity processes.

4.4 Example

Consider a subject (process) with integrity level High, and an object (file) with integrity level Low.

Note: The Biba model is less widely deployed than Bell-LaPadula but is important for integrity-critical systems.

Important: Bell-LaPadula and Biba are often used together to provide both confidentiality and integrity. Some systems implement both models simultaneously, using separate labels for confidentiality and integrity.

5. Comparison of Bell-LaPadula and Biba

Aspect Bell-LaPadula (Confidentiality) Biba (Integrity)
Goal Prevent unauthorized disclosure of information Prevent unauthorized modification or corruption
Label Focus Classification (Confidentiality level) Integrity level
Read Rule No read up (subject can only read at or below its clearance) No read down (subject can only read at or above its integrity level)
Write Rule No write down (subject can only write at or above its clearance) No write up (subject can only write at or below its integrity level)
Information Flow Flows upward (low to high) Flows downward (high to low)
Common Use Military, government, data confidentiality Financial systems, data integrity, healthcare

In practice, a system might use both models by assigning both confidentiality and integrity labels to subjects and objects, enforcing both sets of rules. This is often referred to as a multilevel security system. However, the combined rules can be restrictive and require careful design.

6. MAC Implementations: SELinux and AppArmor

6.1 SELinux (Security-Enhanced Linux)

SELinux is a Linux kernel security module that implements Mandatory Access Control. It was developed by the U.S. National Security Agency (NSA) and released as open source. SELinux uses a flexible policy language based on Type Enforcement (TE) and Role-Based Access Control (RBAC) within a MAC framework. It labels subjects and objects with security contexts that include user, role, type, and level.

Key features:

SELinux is complex but provides fine-grained control over system resources, making it suitable for high-security environments like military systems, government servers, and critical infrastructure.

6.2 AppArmor

AppArmor is another Linux MAC implementation, but it is simpler and easier to use than SELinux. AppArmor uses path-based access control rather than labeling. It confines applications (profiles) to a set of files and permissions. AppArmor is included in many Linux distributions (Ubuntu, SUSE) and is popular for securing network services like web servers, databases, and email servers.

Key features:

AppArmor is less granular than SELinux but is more accessible and requires less administrative overhead.

6.3 Comparison of SELinux and AppArmor

Aspect SELinux AppArmor
Labeling Labels every object (files, processes, sockets) Path-based; no labeling; associates profiles with applications
Complexity High; steep learning curve Low; easier to manage
Policy Language TE, RBAC, MLS; complex Simple profile syntax
Use Cases High-security, military, government Web servers, databases, enterprise applications
Adoption Red Hat, CentOS, Fedora Ubuntu, SUSE, Debian
Key Takeaway: SELinux and AppArmor are the two major MAC implementations in Linux, each with different design philosophies: SELinux offers more granular control but is complex, while AppArmor is simpler and more accessible.

7. Advantages and Limitations of MAC

7.1 Advantages

7.2 Limitations

Caution: MAC is a powerful security tool, but it should be deployed with careful planning and understanding of the organization's needs. Overly restrictive policies can lead to users bypassing controls or system downtime.

8. Security Considerations and Best Practices

8.1 Designing a MAC Policy

8.2 Common Pitfalls

8.3 Integration with Other Controls

MAC is often used in conjunction with DAC, RBAC, and ABAC. For example, SELinux can enforce MAC while allowing DAC (via POSIX ACLs) for additional flexibility. MAC provides the baseline mandatory controls, while other models handle finer-grained or dynamic permissions.

9. Case Studies

9.1 Case Study: Military Intelligence System

Background: A defense intelligence agency operates a classified information system that stores intelligence reports, satellite imagery, and operational plans. The system must comply with DoD security requirements and enforce strict need-to-know and classification controls.

Solution:

Outcome: The system successfully prevents unauthorized disclosure and ensures that intelligence analysts only see information they are cleared for. The system is resilient to Trojan horse attacks because even if a user runs malicious code, it cannot elevate privileges or leak data.

9.2 Case Study: Healthcare Integrity System

Background: A hospital's electronic health record (EHR) system must ensure the integrity of patient records. Incorrect or altered data could lead to serious medical errors. The system must prevent unauthorized modifications and ensure that data entered by trusted clinicians is not corrupted by lower-integrity processes.

Solution:

Outcome: Patient data integrity is maintained. Low-integrity processes (e.g., external lab feeds) are confined and cannot alter high-integrity records. The system provides strong assurance against data corruption.

10. Summary and Transition

This tutorial provided a comprehensive exploration of Mandatory Access Control (MAC). We defined MAC as a model where access decisions are made by a central authority using system-wide policies and security labels that are mandatory and non-overridable. We discussed the key concepts of security labels, classification levels, and clearance, and introduced the Bell-LaPadula model (confidentiality) and the Biba model (integrity), analyzing their properties and rules.

We compared Bell-LaPadula and Biba, highlighting how they complement each other: Bell-LaPadula prevents reading sensitive data (no read up) and writing down (no write down), while Biba prevents reading low-integrity data (no read down) and writing up (no write up). We then examined real-world MAC implementations in Linux: SELinux (complex, label-based, flexible) and AppArmor (simpler, path-based, easier to manage).

We evaluated the advantages of MAC—strong, consistent security, resistance to Trojan horses, and information flow control—as well as its limitations, including complexity, administrative overhead, and rigidity. We discussed best practices for designing and deploying MAC policies, including starting with a permissive mode, regular auditing, and integration with other controls.

The case studies illustrated MAC in a military intelligence system (Bell-LaPadula) and a healthcare integrity system (Biba), demonstrating how MAC is applied in practice to meet specific security requirements.

MAC provides a powerful tool for environments where confidentiality or integrity is paramount. However, its rigidity and complexity mean it is not suitable for all contexts. In the next tutorial, Tutorial 3.12, we will explore Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC), which offer more flexible and scalable approaches to access control while still providing strong security enforcement.

Quiz

Answer the following questions to check your understanding. Click the "Answer" button to reveal the solution.

Q1. In MAC, who has the authority to change access permissions?

Answer
B) In MAC, the central authority (usually the system administrator or security administrator) enforces policies that cannot be overridden by owners.

Q2. The Bell-LaPadula model is primarily concerned with:

Answer
B) Bell-LaPadula focuses on confidentiality.

Q3. In the Bell-LaPadula model, the Simple Security Property states:

Answer
A) The Simple Security Property is "no read up."

Q4. In the Biba model, the purpose is to:

Answer
B) Biba focuses on integrity, preventing unauthorized modification.

Q5. In the Biba model, the Simple Integrity Property is:

Answer
B) The Simple Integrity Property is "no read down" (subject's integrity must dominate object's integrity).

Q6. SELinux is an implementation of MAC that uses which mechanism?

Answer
B) SELinux uses label-based enforcement, specifically Type Enforcement, to control access.

Q7. Which of the following is a limitation of MAC?

Answer
B) MAC is complex and requires significant administrative effort.

Q8. In Bell-LaPadula, the *-Property (Star Property) prevents:

Answer
B) The *-Property is "no write down" to prevent leaking sensitive information to lower levels.

Q9. AppArmor uses which approach for access control?

Answer
B) AppArmor uses path-based profiles to restrict application access.

Q10. A subject with clearance Top Secret and categories {NATO} can read an object classified as Secret with categories {NATO, Crypto}?

Answer
B) The subject's categories {NATO} do not include Crypto, so the subject cannot access the object due to category mismatch.

Q11. Which model is typically used to prevent data corruption by ensuring that low-integrity processes cannot affect high-integrity data?

Answer
B) Biba's "no write up" prevents low-integrity subjects from writing to high-integrity objects.

Q12. SELinux's MLS (Multilevel Security) is based on which model?

Answer
B) SELinux MLS implements Bell-LaPadula for confidentiality.

Exercises

These exercises are designed to help you apply the concepts from this tutorial. Attempt each exercise before revealing the sample solution.

Exercise 3.11-1: Bell-LaPadula Labeling and Access

Given the following labels:

For each subject-object pair, determine if read and write are allowed according to Bell-LaPadula (Simple Security and *-Property). Explain why.

Sample Solution
  • A → X: Read: A's clearance Secret ≥ X's classification Secret, and categories {NATO} ⊆ {NATO}. Allowed. Write: X's classification Secret ≥ A's clearance Secret? No (equal), but the *-Property requires object's classification ≥ subject's clearance. For equal, it's allowed? Actually, *-Property: write allowed if object's label dominates subject's label. Since they are equal, object's label dominates subject's label, so write is allowed. So both read and write allowed.
  • A → Y: Read: A's clearance Secret < Y's classification Top Secret, not allowed. Write: Y's classification Top Secret ≥ A's clearance Secret, so write allowed (no write down). So read denied, write allowed.
  • A → Z: Read: A's clearance Secret ≥ Z's classification Secret, but categories {NATO, Crypto} ⊄ {NATO} (Crypto missing), so read denied due to category mismatch. Write: Z's classification Secret ≥ A's clearance Secret, and categories {NATO, Crypto} ⊇ {NATO}? Actually for write, object's label must dominate subject's label: object's categories must be a superset of subject's categories. Here {NATO, Crypto} ⊇ {NATO, Crypto}? Yes equal, so write allowed. So read denied, write allowed.
  • B → X: Read: B's clearance Top Secret ≥ Secret, categories {NATO} ⊇ {NATO}, allowed. Write: X's classification Secret ≥ B's clearance Top Secret? No, so write denied (no write down). So read allowed, write denied.
  • B → Y: Read: B's clearance Top Secret ≥ Top Secret, categories {NATO} ⊇ {Crypto}? No, Crypto missing, so read denied. Write: Y's classification Top Secret ≥ B's clearance Top Secret, and categories {Crypto} ⊇ {NATO}? No, so write denied as well. So both denied.
  • B → Z: Read: B's clearance Top Secret ≥ Secret, categories {NATO} ⊇ {NATO, Crypto}? No, denied. Write: Z's classification Secret ≥ B's clearance Top Secret? No, denied. So both denied.

Exercise 3.11-2: Biba Model Access Analysis

Consider a system using the Biba model with integrity levels: High (H), Medium (M), Low (L). Subjects and objects have integrity labels. Subject S1 has integrity H, S2 has M, S3 has L. Objects O1 has integrity H, O2 has M, O3 has L.

For each subject-object pair, determine if read and write are allowed according to Biba (Simple Integrity and Integrity *-Property). Explain.

Sample Solution

Biba rules:

  • Simple Integrity: subject can read object only if subject's integrity ≥ object's integrity.
  • Integrity *-Property: subject can write to object only if object's integrity ≥ subject's integrity.

Now evaluate:

  • S1 (H) → O1 (H): Read: H ≥ H allowed. Write: O1 H ≥ S1 H allowed. Both allowed.
  • S1 (H) → O2 (M): Read: H ≥ M allowed. Write: O2 M ≥ S1 H? No, so write denied.
  • S1 (H) → O3 (L): Read: H ≥ L allowed. Write: O3 L ≥ H? No, denied.
  • S2 (M) → O1 (H): Read: M ≥ H? No, denied. Write: O1 H ≥ M allowed. So read denied, write allowed.
  • S2 (M) → O2 (M): Read: M ≥ M allowed. Write: O2 M ≥ M allowed. Both allowed.
  • S2 (M) → O3 (L): Read: M ≥ L allowed. Write: O3 L ≥ M? No, denied.
  • S3 (L) → O1 (H): Read: L ≥ H? No, denied. Write: O1 H ≥ L allowed.
  • S3 (L) → O2 (M): Read: L ≥ M? No, denied. Write: O2 M ≥ L allowed.
  • S3 (L) → O3 (L): Read: L ≥ L allowed. Write: O3 L ≥ L allowed. Both allowed.

Exercise 3.11-3: Comparing MAC and DAC

Compare and contrast DAC and MAC in terms of:

  1. Authority over permissions.
  2. Resistance to Trojan horse attacks.
  3. Administrative overhead.
  4. Flexibility.
  5. Typical use cases.
Sample Solution
  • Authority: DAC – owner has discretion; MAC – central authority enforces mandatory policy.
  • Trojan horse: DAC – vulnerable; MAC – resistant because malicious code is constrained by labels.
  • Administrative overhead: DAC – low; MAC – high (requires labeling, policy maintenance).
  • Flexibility: DAC – high; MAC – low (policy is rigid).
  • Use cases: DAC – general-purpose systems; MAC – high-security (military, government).

Exercise 3.11-4: SELinux Policy Design

You are tasked with designing an SELinux policy for a web server that hosts confidential data. The web server process must be able to read files in a specific directory but not write to them. The system also has a database that the web server should not access directly. Outline the steps to design and implement this policy. What types and domains would you define? How would you test the policy?

Sample Solution
  • Steps:
    1. Identify the web server process (e.g., httpd) and its domain.
    2. Identify the files: assign a type (e.g., httpd_conf_t, httpd_data_t).
    3. Define a policy that allows the httpd domain to read files with type httpd_data_t, but not write.
    4. Ensure the httpd domain cannot access the database files (assign a different type, e.g., db_data_t, and deny access).
    5. Use audit logs to see what is being denied and adjust.
    6. Test in permissive mode first, then switch to enforcing.
  • Types: httpd_t (domain for web server), httpd_data_t (type for data files).
  • Testing: Use audit2allow to generate policy rules based on denials, then refine.

Exercise 3.11-5: Multilevel Security Scenario

A system uses both Bell-LaPadula for confidentiality and Biba for integrity. A subject has clearance Secret and integrity High. An object has classification Secret and integrity Low. Determine what operations are allowed (read/write) according to both models. Explain any conflicts.

Sample Solution
  • Confidentiality (Bell-LaPadula):
    • Read: Subject's clearance Secret ≥ Object's classification Secret → allowed.
    • Write: Object's classification Secret ≥ Subject's clearance Secret → allowed (no write down).
  • Integrity (Biba):
    • Read: Subject's integrity High ≥ Object's integrity Low → allowed (no read down? Actually Biba says no read down, meaning subject cannot read lower integrity? Wait, Biba's Simple Integrity is "no read down" – subject's integrity must be ≥ object's integrity. Here High ≥ Low, so read is allowed. So read allowed.
    • Write: Object's integrity Low ≥ Subject's integrity High? No, so write denied (no write up? Actually Biba's *-Property says no write up – subject can only write to objects with integrity ≥ its own. Here Low ≥ High is false, so write denied.
  • Result: Read is allowed by both; write is allowed by Bell-LaPadula but denied by Biba. Therefore, overall write is denied. This shows how combining models can restrict actions.

Homework

These homework questions require deeper analysis, research, and application. Answer each question comprehensively.

Homework 3.11-1: Bell-LaPadula Formal Analysis

Write a 1,000–1,250 word essay on the Bell-LaPadula model. Include its motivation, formal definitions, security properties, and its practical implications for system design. Discuss the model's limitations, particularly its inability to address integrity and its potential for overly restrictive policies. Provide examples of systems where Bell-LaPadula is appropriate and where it may not be.

Sample Answer

Bell-LaPadula Model: Confidentiality Through Mandatory Control

  • Motivation: Developed to formalize military security requirements, focusing on preventing unauthorized disclosure.
  • Properties: Simple Security (no read up), *-Property (no write down), Discretionary Security.
  • Implications: Enforces information flow from low to high, preventing leakage.
  • Limitations: Does not address integrity or availability; can be too restrictive; requires careful labeling.
  • Use cases: Government, military, corporate data classification.

Homework 3.11-2: Biba Model and Integrity

Write a 750–1,000 word paper on the Biba model. Compare it with Bell-LaPadula and explain why integrity is critical in certain systems. Discuss scenarios where Biba would be the preferred model and how it can be combined with other models. Provide a practical example of a Biba policy in a healthcare or financial system.

Sample Answer

Biba Model: Ensuring Integrity

  • Goal: Prevent data corruption by controlling information flow based on integrity levels.
  • Properties: Simple Integrity (no read down), Integrity *-Property (no write up).
  • Comparison: Biba is the dual of Bell-LaPadula, focusing on integrity rather than confidentiality.
  • Use cases: Financial transaction systems, EHRs, industrial control systems.
  • Integration: Often used with Bell-LaPadula to provide both confidentiality and integrity.

Homework 3.11-3: SELinux Policy Development

Research SELinux and write a 1,000–1,250 word guide on creating a custom SELinux policy for a new application. Include steps to define types, domains, rules, and how to transition from permissive to enforcing. Discuss tools like audit2allow, semanage, and seinfo. Provide a simple example of a policy for a hypothetical application.

Sample Answer

Developing SELinux Policies: A Practical Guide

  • Introduction: SELinux policy structure: types, attributes, rules.
  • Steps:
    1. Identify the application and its files.
    2. Define custom types and domains.
    3. Write TE (Type Enforcement) rules.
    4. Use audit2allow to generate policy from denials.
    5. Test in permissive mode.
    6. Switch to enforcing.
  • Tools: audit2allow, semanage, seinfo, sesearch.
  • Example: Policy for a custom web app that reads files in /var/www/myapp.

Homework 3.11-4: MAC in Cloud Environments

Write a 750–1,000 word analysis of how MAC can be applied in cloud environments. Discuss the challenges of implementing MAC in multi-tenant, dynamic cloud infrastructures. Consider the use of SELinux in containerized environments (e.g., OpenShift, Kubernetes) and the role of MAC in zero-trust architectures. Provide recommendations for organizations considering MAC in the cloud.

Sample Answer

MAC in the Cloud: Challenges and Opportunities

  • Challenges: Dynamic workloads, ephemeral containers, multi-tenancy.
  • Solutions: SELinux in containers (e.g., OpenShift's security context constraints), AppArmor profiles for containers.
  • Zero Trust: MAC complements zero trust by providing mandatory policy enforcement.
  • Recommendations: Use container-optimized MAC profiles, automate policy deployment, and monitor violations.

Homework 3.11-5: Multilevel Security System Design

Design a multilevel security system for a government agency that handles information at three classification levels (Unclassified, Secret, Top Secret) and multiple categories. The system must enforce both confidentiality (Bell-LaPadula) and integrity (Biba). Describe the labeling scheme, the enforcement mechanisms (e.g., SELinux MLS), the workflow for users, and how auditing is handled. Discuss potential conflicts and how to resolve them.

Sample Answer

Multilevel Security System Design

  • Labeling: Subjects: users assigned clearance (TS, S, U) and category set. Objects: files assigned classification and categories.
  • Enforcement: SELinux with MLS enabled, enforcing both Bell-LaPadula (for confidentiality) and Biba (for integrity).
  • Workflow: Users authenticate, get labeled sessions. Read/write operations are checked by reference monitor.
  • Auditing: All access attempts logged; violations trigger alerts.
  • Conflicts: Combining confidentiality and integrity can be restrictive (e.g., high clearances may not be able to write down). Resolve by careful policy design and using separate labels for integrity.

Summary

This tutorial provided a comprehensive exploration of Mandatory Access Control (MAC). We defined MAC as a model where access decisions are made by a central authority based on system-wide policies and security labels that are mandatory and non-overridable. We introduced the key concepts of security labels, classification levels, categories, and clearance, and examined two classic formal models: the Bell-LaPadula model (confidentiality) and the Biba model (integrity).

We analyzed the properties of Bell-LaPadula—Simple Security (no read up), *-Property (no write down), and Discretionary Security—and compared them with Biba's Simple Integrity (no read down) and Integrity *-Property (no write up). We discussed how these models can be used together to enforce both confidentiality and integrity in multilevel security systems.

We surveyed real-world MAC implementations: SELinux (complex, label-based, flexible) and AppArmor (simpler, path-based), highlighting their strengths and typical use cases. We evaluated the advantages of MAC—strong, consistent security, resistance to Trojan horses, and information flow control—and its limitations, including complexity, administrative overhead, and rigidity.

The case studies illustrated MAC in a military intelligence system (Bell-LaPadula) and a healthcare integrity system (Biba), demonstrating how MAC is applied in practice to meet specific security requirements. We also discussed best practices for designing and deploying MAC policies, emphasizing testing, auditing, and integration with other controls.

MAC provides a powerful tool for environments where confidentiality or integrity is paramount. However, its rigidity and complexity mean it is not suitable for all contexts. In the next tutorial, Tutorial 3.12, we will explore Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC), which offer more flexible and scalable approaches to access control while still providing strong security enforcement.

© 2026 COMP400 – Computer and Network Security • School of Computing and Information Systems, TrustOpen University • Unit 3: Authentication and Access Control