Fact-checked by Grok 2 weeks ago

Mandatory access control

Mandatory access control (MAC) is a nondiscretionary access control mechanism that enforces centralized policies to restrict subjects' (such as users or processes) access to objects (such as files or resources) based on sensitivity labels assigned to the and clearance levels granted to the subjects. Unlike (DAC), where resource owners determine permissions, MAC prevents subjects from altering access rules, ensuring uniform enforcement across the system to protect classified or sensitive data. This model originated in military and government contexts to implement policies, such as the need-to-know principle for handling confidential . MAC policies constrain subjects from actions like passing information to unauthorized entities, granting privileges to others, modifying security attributes, or changing access rules, thereby maintaining and . Foundational MAC models include the Bell-LaPadula model, developed in 1973 for , which enforces the "simple security property" (no read up) and "*property" (no write down) to prevent unauthorized data leakage from higher to lower security levels. Complementing this, the , introduced in 1975, focuses on with rules like "no read down" and "no write up" to avoid corruption of high-integrity data by lower-integrity sources. These models are mediated by a —a tamper-proof component that validates all access requests against the policy. In practice, MAC is implemented in high-assurance operating systems, such as , developed by the , which integrates Flask architecture for flexible MAC enforcement in kernels. Other examples include , which provides path-based MAC in distributions, and systems like those in (TCSEC), formerly known as , for evaluating secure systems. MAC remains essential for environments requiring strict control over information flow, including defense, intelligence, and protection.

Core Principles

Definition and Characteristics

Mandatory access control (MAC) is a non-discretionary access control mechanism in which access decisions are made by a central authority based on predefined security policies, rather than allowing users to determine access permissions. Unlike (DAC), which permits users to share resources at their , MAC enforces policies uniformly across all subjects and objects within a system boundary to prevent unauthorized information flows. Key characteristics of MAC include system-wide enforcement of fixed security labels assigned to subjects (such as users or processes) and objects (such as files or resources), with no provision for user overrides. These labels represent levels or classifications that dictate allowable interactions, emphasizing principles like least privilege—granting only the minimum access necessary—and need-to-know, ensuring access is limited to information required for authorized tasks. This approach focuses on protecting confidentiality and integrity by controlling information flow, making MAC particularly suitable for environments requiring strict . The enforcement of MAC policies relies on the (TCB), which comprises the hardware, firmware, and software components responsible for mediating all access attempts and upholding the system's security . The TCB includes a that intercepts every access request, verifies it against the policy, and ensures from untrusted elements, thereby guaranteeing that MAC rules cannot be circumvented. In the basic workflow of MAC, subjects and objects are assigned fixed labels by administrators or the system policy during creation or classification. When a subject attempts to access an object, the reference monitor within the TCB evaluates the request by comparing the subject's label (e.g., clearance level) against the object's label (e.g., sensitivity) according to predefined rules, granting or denying access accordingly to maintain policy compliance. This process occurs transparently for every operation, ensuring consistent enforcement without user intervention.

Labels and Security Levels

In mandatory access control (MAC), security labels are essential mechanisms for classifying subjects and objects according to their sensitivity and access requirements. These labels typically consist of two primary components: sensitivity levels and categories. Sensitivity levels form a hierarchical classification, often represented as ordered values such as unclassified, confidential, secret, and top secret, where higher levels indicate greater protection needs. Categories, in contrast, are non-hierarchical compartments that provide finer-grained control, such as project-specific tags like "NATO" for alliance-related information or "financial" for economic data, allowing restrictions beyond simple hierarchy. The structure of labels combines hierarchical and non-hierarchical elements to enforce policies through a dominance . In this , a label L_s (for a subject) dominates a label L_o (for an object) if the sensitivity level of L_s is greater than or equal to that of L_o, and the set of categories in L_s contains all categories in L_o. Formally, dominance is defined as: \text{level}(L_s) \geq \text{level}(L_o) \quad \text{and} \quad \text{categories}(L_s) \supseteq \text{categories}(L_o) This relation ensures that access decisions align with the central policy by comparing label components directly. Subjects, such as users or processes, are assigned clearances represented as ranges of sensitivity levels and category sets, indicating the maximum and minimum authorizations they hold. Objects, like files or database records, receive fixed classifications with specific levels and categories that denote their inherent sensitivity. For read access, a subject's clearance must dominate the object's classification, meaning the subject's authorized level meets or exceeds the object's level while encompassing its categories; write access typically requires the reverse dominance to prevent unauthorized information flow. To mitigate covert channels where higher-level information might inferentially leak to lower levels, MAC systems employ polyinstantiation, which allows multiple instances of the same object to exist at different levels. For example, a database entry might have a low-level version with sanitized data and a high-level version with full details, visible only to cleared subjects, thereby preserving without revealing absences that could signal sensitive content.

Access Control Models

Bell-LaPadula Model

The Bell-LaPadula model was developed in 1973 by David Elliott Bell and Leonard J. LaPadula at the under contract for the Electronic Systems Division of the U.S. Air Force. This formal security model provides a mathematical foundation for enforcing in computer systems through mandatory access control, particularly in environments handling . It addresses the need to prevent unauthorized disclosure by controlling based on hierarchical security levels assigned to subjects (active entities like users or processes) and objects (passive entities like files). The model's core properties are the Simple Security Property and the Star Property (*-property). The Simple Security Property ensures confidentiality by prohibiting a subject from reading an object at a higher security level than its own, often termed "no read up." This means a subject at security level n cannot access information classified above n, preventing lower-level entities from obtaining sensitive data. The Star Property complements this by forbidding a subject from writing or appending to an object at a lower security level, known as "no write down." Thus, a subject at level n can only write to objects at level n or higher, avoiding the inadvertent leakage of high-sensitivity information to lower levels through storage or transmission. To formalize these rules, is defined as follows:
  • For read from s to object o: \text{level}(s) \geq \text{level}(o).
  • For write from s to object o: \text{level}(s) \leq \text{level}(o).
These conditions are evaluated in each system . The model is structured as a , where each captures the system's configuration, including the current modes (read, write, append, execute), security levels of all and objects, and the ongoing command. A is deemed secure if every active satisfies both the Simple Security Property and the Star Property. Transition rules specify allowable changes, such as granting or revoking , ensuring that every subsequent remains secure and that cannot in violation of the policy (e.g., from high to low levels). This -based approach allows for that the system preserves confidentiality across operations. The Tranquility Principle reinforces these mechanisms by mandating that security levels of and objects remain fixed during execution. This prevents runtime relabeling that could circumvent the policy, such as declassifying data covertly or escalating privileges. There are strong and weak variants: the strong form prohibits any changes, while the weak allows initial assignments but no further modifications. The Bell-LaPadula model is primarily applied in multilevel secure systems to prevent information leakage, such as in and environments handling classified data at multiple sensitivity levels (e.g., unclassified, confidential, secret, ). It underpins access enforcement in such systems, ensuring that confidential information remains isolated from unauthorized lower-level access while permitting controlled downward flow.

Biba Model

The , developed by Kenneth J. Biba in 1975, serves as a foundational mandatory access control framework specifically designed to enforce in computer systems, acting as a counterpart to confidentiality-focused models like Bell-LaPadula by prioritizing protection against unauthorized modifications rather than disclosures. Originally formulated for secure Department of Defense environments, it addresses the need to maintain the validity and trustworthiness of information flows, ensuring that high-integrity data remains untainted by lower-integrity sources. At its core, the model incorporates two primary to safeguard . The simple integrity property prohibits a from reading an object of lower integrity (no read down), preventing the of a 's with potentially unreliable . The *-integrity property (or star-integrity property) restricts a from writing to an object of higher integrity (no write up in the strict variant), thereby blocking low-integrity from altering trusted . These rules invert the access flow directions typical in models, where information is allowed to flow downward but not upward; here, integrity considerations demand controlled upward flows to preserve trustworthiness. Integrity levels in the Biba model form a ranging from low (representing tainted or untrusted ) to high (indicating trusted or validated ), often exemplified by levels such as confidential, secret, and . These levels are augmented by categories for finer compartmentalization, creating a structure similar to—but inverted from—confidentiality labels, where dominance relations ensure that respects ordering. Formally, read is granted to a subject s from an object o only if the integrity level of o is greater than or equal to that of s, denoted as \text{level}(o) \geq \text{level}(s). Write , under the strict policy, is permitted solely when the levels are equal, \text{level}(o) = \text{level}(s), enforcing precise matching for modifications. To address practical limitations of the strict policy, proposed extensions such as the low-water-mark policy, which dynamically adjusts a subject's level downward to the minimum of its current level and that of any read object, allowing writes to lower levels but risking progressive degradation. Another variant, the ring policy, maintains fixed subject levels while permitting reads from any level but confining writes to equal or lower objects, balancing flexibility with controls. However, these dynamic mechanisms introduce a key limitation: the potential for , where repeated interactions with low- objects cause subjects to drop to the lowest level, eventually restricting access to higher- resources and undermining system utility.

Other Models

The model, proposed by Brewer and Nash in , addresses conflicts of interest in commercial environments by dynamically restricting access to data based on an object's membership in conflict classes and a subject's prior access history. In this model, objects are grouped into conflict classes representing competing interests, such as shares in rival companies, and access to an object in a new class is denied if the subject has previously accessed data from a conflicting class, thereby preventing indirect information leakage through aggregation. Unlike traditional label-based MAC, the Chinese Wall enforces a non-static policy where the system's state evolves with user actions, ensuring that once a "wall" is crossed by reading from one class, access to alternatives is permanently barred for that session. The Clark-Wilson model, introduced by Clark and Wilson in , emphasizes protection for commercial data processing through well-formed transactions, , and certified procedures rather than hierarchical labels. It defines constrained data items (CDIs) that must remain valid and unconstrained data items (UDIs) as inputs, with access mediated exclusively by transformation procedures (TPs) validated against an integrity policy to prevent unauthorized modifications. Although lacking explicit labels, the model's centralized enforcement of rules by a mirrors MAC principles, focusing on certifying that only authorized, auditable operations alter critical data while maintaining to mitigate insider threats. Denning's lattice model, developed in 1976, provides a general framework for secure using partially ordered security s to support non-hierarchical policies beyond simple or . In this model, information flows are governed by relations where a subject at level s can read from levels \leq s and write to levels \geq s, but the structure allows for arbitrary partial orders to model complex dependencies, such as in or multilevel systems. The approach unifies various flow restrictions by classifying systems based on their security objectives, enabling that no unintended flows occur through program execution or storage. Hybrid models integrating mandatory access control labels with (RBAC) enhance granularity by constraining role activations or permissions with MAC policies, allowing finer control in environments requiring both centralized enforcement and user-specific assignments. For instance, in such hybrids, roles may be activated only if a user's MAC label dominates the required security level, preventing across sensitivity compartments while leveraging RBAC for operational separation. This integration, as formalized by in 2000, configures RBAC hierarchies to emulate both mandatory and discretionary constraints without compromising the non-discretionary nature of MAC. Formal aspects of MAC extend to type enforcement and domain models, which partition subjects into constrained domains and objects into types, restricting transitions to prevent unauthorized flows. Type enforcement, originally proposed by Boebert and Kain in for secure Ada targets, uses a to define allowable domain-type interactions, ensuring that processes execute within bounded privileges akin to MAC confinement. Early domain models, such as those in Xerox's Grapevine system from , applied domain-based in distributed settings by associating resources with organizational domains and enforcing authentication-linked permissions to isolate inter-domain communications.

Historical Development

Origins in Multilevel Security

The origins of mandatory access control (MAC) trace back to the era, when the U.S. military faced urgent needs to safeguard in increasingly shared computing environments. As systems emerged in the late 1950s and , the risk of unauthorized leakage between users with varying clearance levels became a critical concern, particularly for handling sensitive defense across multiple classifications. Early efforts at organizations like and System Development Corporation (SDC) explored multilevel access mechanisms to prevent such leaks, laying groundwork for systems that could process at different sensitivity levels without compromising . A pivotal moment came with the 1972 Anderson Report, formally titled the Computer Security Technology Planning Study, commissioned by the U.S. Air Force. Authored by James P. Anderson, this study highlighted the vulnerabilities of discretionary access controls—where users could freely share resources—in multiuser systems, noting risks such as attacks that could propagate to unauthorized parties. It recommended the development of multilevel secure (MLS) systems incorporating a to enforce centralized, non-discretionary policies based on security labels, emphasizing the need for hardware-enforced protections to achieve reference validation. Anderson's work was instrumental in formalizing these policy requirements, influencing subsequent U.S. Department of Defense (DoD) initiatives by articulating the technical and operational necessities for in classified environments. In response to these recommendations, early prototypes emerged in the and to demonstrate feasible MLS implementations. developed the Secure Communications Processor (SCOMP) in the mid-, a minicomputer-based system enhanced with a hardware Security Protection Module to enforce multilevel security through segmented memory and strict access partitioning, serving as a front-end processor for secure networks. Similarly, advanced secure system prototypes during this period, including modeling and evaluation efforts for time-sharing systems like , which incorporated early ring-based protections and access controls to handle multilevel data in a shared environment. These prototypes validated the practicality of MAC principles, such as label-based enforcement, in real hardware-software configurations. The culmination of these foundational efforts appeared in the Trusted Computer System Evaluation Criteria (TCSEC), commonly known as the Orange Book, initially published by the DoD in 1983 and formalized as a standard in 1985. This standard defined rigorous requirements for MAC in MLS systems, mandating discretionary and mandatory controls for higher evaluation classes: B2 (structured protection, requiring formal security policy models and verified designs) and B3 (security domains, with audited MAC enforcement to prevent unauthorized flows). By specifying MAC as essential for confidentiality in partitioned environments, TCSEC provided a benchmark that directly built on the Anderson Report's vision and prototype experiences, guiding the certification of secure systems for government use.

Evolution and Standards

Following the foundational work in during the era, mandatory access control (MAC) evolved through standardized evaluation frameworks in the late 20th century. The U.S. Department of Defense's (TCSEC, or "Orange Book"), initially published in 1983 and formalized as a standard in 1985, established benchmarks for secure systems, emphasizing MAC for confidentiality in multilevel environments. This was supplanted in the 1990s by the international (ISO/IEC 15408), first published in 1999, which introduced a modular approach to security functional requirements, including MAC via components like FDP_IFF (information flow control) and support for labeled security policies in protection profiles such as the Labeled Security Protection Profile (LSPP). Systems incorporating MAC are often evaluated at 4 (EAL4) or higher under , providing evidence of robust design and testing for commercial and government applications. Key milestones in the advanced MAC implementation beyond theoretical models. The funded secure Unix initiatives, such as the Kernelized Secure Operating System (KSOS) project starting in 1980, which aimed to retrofit MAC into systems for while maintaining portability. Similarly, Gemini Computers developed the Gemini Multiprocessing Secure Operating System (GEMSOS) in the mid-, a kernel-based design that achieved the TCSEC's highest rating by 1989, enabling multilevel secure multiprocessing with object reuse and audit mechanisms for real-time applications like network gateways. These efforts demonstrated MAC's feasibility in hardware-supported, high-assurance environments. The 1990s and 2000s saw MAC transition from military silos to commercial operating systems, driven by government investment in open-source security. In 1999, the (NSA) launched the (SELinux) project in collaboration with Secure Computing Corporation, allocating initial funding to prototype type enforcement—a flexible MAC mechanism—on the to support diverse policies without kernel modifications. This culminated in the first public release in December 2000 under the GNU General Public License, facilitating integration into enterprise distributions and broadening MAC adoption beyond classified systems. International standards bodies like NIST and ISO have since extended MAC principles to modern infrastructures, particularly and . NIST's Special Publication 800-210 (2020) outlines access control guidance for service models, recommending MAC for protecting hypervisors in (IaaS) against and ensuring isolation in virtualized environments through label-based flow control. Complementing this, ISO/IEC 27017 (2015) provides -specific controls under the ISO 27001 framework, incorporating MAC-like mandatory policies for data classification and segregation in virtual machines to address risks. These standards emphasize and assurance for global deployments. From 2020 to 2025, MAC has integrated with containerization and zero-trust architectures to address distributed threats. In container ecosystems like Kubernetes, MAC extensions such as SELinux enable pod-level labeling and policy enforcement, preventing lateral movement in microservices while supporting dynamic scaling. NIST's SP 800-207 (2020) on zero-trust architecture advocates MAC-inspired policy decision points for continuous authentication and attribute-based enforcement, applied in hybrid clouds to verify access regardless of location, with adoption surging post-2022 supply chain incidents to mitigate insider and runtime risks.

Implementations in Operating Systems

Linux and Unix-like Systems

In Unix-like systems, mandatory access control (MAC) has evolved from early implementations in secure variants of Unix to integrated modules in modern distributions. One pioneering example is Trusted Solaris, developed by in the 1990s, which introduced compartment-based labeling to enforce (MLS) policies alongside traditional discretionary access controls. This system assigned security labels to processes and objects, restricting access based on hierarchical levels and non-hierarchical compartments to prevent information leakage in classified environments. SELinux (Security-Enhanced Linux), developed by the (NSA) and released to the open-source community in December 2000, represents a foundational implementation for . It leverages the (LSM) framework to provide fine-grained control through Type Enforcement (TE), (RBAC), and MLS components. In SELinux, security contexts are assigned to subjects (processes) and objects (files, sockets) in the format user:role:type:level, where the type defines domain-specific permissions, roles limit transitions, and levels enforce MLS rules influenced by the Bell-LaPadula model to prevent unauthorized from higher to lower security classifications. Policies are written in a and compiled into binary modules loaded by the , enabling enforcement modes such as enforcing, permissive ( violations without blocking), and disabled. AppArmor, initially developed under the name by Immunix in the late 1990s and later supported by since 2009, offers a path-based alternative that is simpler to configure than SELinux. Integrated into the via LSM since version 2.6.36, it confines applications using per-program profiles that specify allowed access to file paths, network capabilities, and system calls based on execution context. Profiles operate in enforce or complain modes, with the former blocking violations and the latter logging them for tuning, making AppArmor suitable for desktop and server environments where administrative overhead must be minimized. Smack (Simplified Mandatory Access Control Kernel), introduced in the Linux kernel version 2.6.25 in , is designed for resource-constrained embedded systems and prioritizes simplicity over complexity. It assigns human-readable labels to tasks (processes) and inodes ( objects), enforcing access decisions via a single rule set that supports read/write/execute permissions and MLS hierarchies without the extensive policy infrastructure of SELinux. Smack's lightweight design avoids performance overheads associated with attribute-based systems, making it ideal for and automotive applications where boot-time labeling and runtime checks must be efficient. TOMOYO Linux, launched in March 2003 and sponsored by Corporation, is another LSM-based MAC implementation focusing on process behavior analysis and restriction. It uses path-name-based policies to define security domains for processes, allowing learning modes to generate policies from observed executions and enforcing them via domain transitions. TOMOYO supports for legitimate violations and is designed for ease of policy management in enterprise environments, remaining actively maintained as of 2025. Landlock, introduced in Linux kernel 5.13 in 2021, provides unprivileged MAC for sandboxing file system access. As a stackable LSM, it allows non-root processes to restrict their own access to files and directories through hierarchical rules, preventing escalation while complementing system-wide policies like DAC and other LSMs. Landlock is particularly useful for application-level confinement, with ongoing enhancements including support for "weird files" in kernel 6.14 (2025). Configuration and monitoring of these MAC systems in typically involve dedicated tools and logging mechanisms. For SELinux, the setsebool command toggles boolean policy options to enable or disable specific rules without reloading full policies, such as allowing to connect to . Enforcement events, including denials and s, are recorded in /var/log/audit/audit.log by the Linux Audit daemon (auditd), which can be queried using tools like ausearch or sealert for and policy refinement. profiles are managed via aa-genprof for automatic generation from learning mode traces and aa-logprof for interactive log-based updates, with logs directed to /var/log/[syslog](/page/Syslog) or dedicated files. configuration relies on kernel boot parameters like smack.default_level and user-space tools such as chsmack for labeling files, with access denials logged through the kernel's mechanism or subsystem.

Microsoft Windows

Mandatory Integrity Control (MIC), introduced in Windows Vista and Windows Server 2008, represents 's primary implementation of mandatory access control focused on . MIC assigns integrity levels to securable objects and processes, including low (for untrustworthy code), medium (for standard user processes), high (for elevated privileges), and system (for and trusted components). These levels are represented as security identifiers () in access tokens and system access control lists (SACLs), overriding lists (DACLs) when evaluating access. By default, MIC enforces a no-write-up policy, preventing subjects at a lower level from writing to objects at a higher level, even if the DACL permits it; this is implemented via mandatory label ACEs like SYSTEM_MANDATORY_LABEL_NO_WRITE_UP. For example, a low-integrity process cannot modify medium-integrity files in a user's profile, mitigating risks from or untrusted applications. This integrity mechanism evolved from Windows NT's C2-level security certification, achieved first with NT 3.51 in 1995 and reaffirmed for NT 4.0 in 1999, which provided foundational controlled access protection but lacked explicit mandatory enforcement. Later versions built on this by incorporating Biba-inspired rules in to prioritize over confidentiality. User Account Control (UAC), also debuted in , complements by enforcing least privilege through integrity levels: standard user sessions run at medium integrity, while elevation prompts raise processes to high integrity only after user consent, reducing the attack surface for unauthorized changes. UAC integrates with by filtering administrative tokens and prompting for explicit approval, ensuring that routine tasks avoid high-integrity execution unless necessary. AppLocker, available starting with Enterprise, Ultimate, and Education editions, extends mandatory controls to application execution via centrally managed policies. Administrators define allow or deny rules based on such as publisher signatures, file paths, or hashes, preventing unauthorized scripts, executables, or installers from running regardless of user permissions. This policy-based restriction operates as an explicit allowlist, audited through event logs, and applies to both local and domain-joined systems to enforce organizational security baselines. AppLocker has evolved into Windows Defender Application Control (WDAC), introduced in and Server 2016 (formerly Device Guard), which provides enhanced kernel-mode enforcement, policy signing for tamper resistance, and broader support for supplemental policies, remaining the recommended tool for application control as of 2025. MIC enforcement occurs at the level during access checks, where labels on subjects and objects are compared via the security . Developers interact with these labels through Windows , such as GetTokenInformation with the TokenIntegrityLevel class to retrieve a process's level or SetTokenInformation to adjust it within policy limits (e.g., during ). Violations trigger access denials and optional auditing, ensuring consistent application of mandatory policies across the system.

Other Systems

Apple's macOS and implement mandatory access control through (), introduced in in 2015. enforces read-only restrictions on critical system files, directories, and processes, preventing even root or administrative users from modifying protected components such as the , extensions, and system binaries. This mechanism relies on to assign labels to software, ensuring that only Apple-signed or explicitly authorized code can execute in protected areas, thereby providing a layered defense against and unauthorized alterations. Google's Android operating system integrates Security-Enhanced Linux (SELinux) for mandatory access control, with initial permissive enforcement introduced in Android 4.3 in 2013 and full enforcement in Android 5.0 in 2014. SELinux assigns security domains to applications and system processes, confining their access to resources based on predefined policies that override discretionary controls, which helps isolate apps and mitigate privilege escalations. The system supports enforcing mode for active policy application and permissive mode for logging violations without blocking, allowing developers to refine policies during testing. IBM's z/OS mainframe operating system employs the to support through security labels assigned to users, resources, and data sets. These labels enable by enforcing hierarchical classifications, such as , secret, and unclassified, ensuring that subjects can only access objects at compatible levels as defined by the Bell-LaPadula model. RACF's MAC features are critical for government and financial environments requiring strict information flow controls. FreeBSD incorporates the TrustedBSD Mandatory Access Control (MAC) framework, developed in the early 2000s and first integrated in FreeBSD 5.0 in 2003. This pluggable system allows kernel modules to enforce policy-agnostic security labels on subjects and objects, extending beyond traditional discretionary access controls to support fine-grained restrictions on operations like file access and process signaling. Example policies include seeotheruids, which limits inter-user process visibility by restricting debugging and signaling based on user IDs, enhancing isolation in multi-user scenarios. Emerging operating systems like Google's and BlackBerry's for systems are incorporating advanced MAC mechanisms. uses the kernel's capability-based to enforce mandatory controls, where processes receive only explicit handles to resources, preventing unauthorized access through isolated namespaces and components that adhere to least-privilege principles. In Software Development Platform (SDP) 8.0, released in 2023 with support through 2033, mandatory access controls build on introductions in version 7.0 (2012) via formal security policies compiled into the kernel, extending permissions with label-based enforcement suitable for safety-critical applications like automotive and medical devices.

Advantages and Limitations

Benefits of MAC

Mandatory access control (MAC) significantly enhances by enforcing strict policies that prevent unauthorized users from accessing sensitive data, even in shared environments where multiple security levels coexist. This is achieved through centralized administration of access decisions based on security labels assigned to subjects and objects, ensuring that information flows only in permitted directions as defined by models like Bell-LaPadula. Similarly, MAC bolsters integrity by restricting modifications to data, as exemplified by the , which prohibits lower-integrity subjects from altering higher-integrity objects, thereby mitigating risks of unauthorized alterations in multilevel secure systems. These mechanisms collectively prevent unintended data leaks or tampering in environments such as government networks handling . MAC facilitates regulatory compliance, particularly for standards requiring robust protection of sensitive data, such as FedRAMP's moderate and high baselines, which mandate access enforcement controls to safeguard federal cloud services, where mechanisms such as can be implemented. In the Department of Defense () context, aligns with requirements for in handling , enabling systems to meet directives like those in NIST 800-53 for control. This centralized policy enforcement ensures organizations can demonstrate adherence to frameworks like FISMA without relying on user discretion, reducing compliance burdens. By assigning security labels to processes and resources, MAC provides effective containment of , isolating compromised components to prevent lateral movement across the system. For instance, label-based isolation in implementations like SELinux confines malicious code to its designated security domain, blocking unauthorized or that could affect higher-sensitivity areas. This approach limits the of infections in shared infrastructures, enhancing overall system resilience against threats. MAC improves auditability through centralized of all access decisions and enforcements, creating detailed records that support forensic investigations into incidents. These logs capture subject-object interactions, enabling administrators to trace violations or anomalies for reporting and . In large-scale deployments, such audit trails integrate with broader systems, providing verifiable evidence of adherence. MAC scales effectively for large s with strict hierarchies by leveraging compartmentalized levels that align with organizational structures, allowing efficient management of across thousands of users and resources without per-user customization. Hierarchical schemes, such as those in lattice-based models, support tiered clearances that mirror command chains, ensuring consistent enforcement as the organization grows. This makes MAC particularly suitable for enterprises requiring uniform postures, like multinational corporations or federal agencies.

Challenges and Criticisms

Mandatory access control (MAC) systems are often criticized for their inherent complexity, particularly in policy writing and management, which imposes a steep on administrators. Defining and maintaining policies, such as those using domain type enforcement in systems like SELinux, requires a deep understanding of system resources and intricate labeling schemes, frequently leading to configuration errors or an unusable system if not handled expertly. This complexity arises because policies must account for every possible interaction between subjects and objects, making even minor updates cumbersome and error-prone. Performance overhead represents another significant challenge in MAC implementations, as constant label checks, context switching, and auditing mechanisms can substantially slow down system operations. For instance, SELinux policies have been shown to introduce typical overheads of 10-20% in microbenchmarks, with peaks up to 33% in certain scenarios due to the enforcement hooks integrated into the kernel. File operations, such as opening, may experience up to an 87% performance drop in modern Linux kernels when MAC is enabled, exacerbating latency in resource-intensive environments. The rigid nature of MAC policies further hinders flexibility, making them ill-suited for dynamic environments where requirements evolve rapidly. Policies are typically immutable during , requiring system restarts or redeployments for changes, which limits adaptability to emerging threats or operational shifts. This rigidity stems from MAC's historical focus on in contexts, where strict confidentiality hierarchies prioritize non-discretionary enforcement over user needs, often resulting in usability issues like "label creep" in less structured settings. Covert channels pose a persistent vulnerability in MAC systems, enabling potential information leaks through timing, storage, or other indirect means that bypass explicit label-based controls. These channels can transmit data at high speeds—comparable to disk or rates—and are difficult to fully eliminate without compromising system functionality, as hardware advancements like caching exacerbate the problem. While mitigations such as or partitioning exist, they often reduce but do not eradicate the risk, remaining a key bottleneck for high-assurance deployments. Critics argue that is often for non-sensitive commercial applications, where its military-derived emphasis on rigid, centralized adds unnecessary administrative burden without proportional benefits in diverse business contexts. This has contributed to the discrediting of pure MAC doctrines since the , prompting evolution toward models that blend MAC with discretionary or role-based elements to balance security and usability.

References

  1. [1]
    MAC - Glossary | CSRC - NIST Computer Security Resource Center
    Definitions: A means of restricting access to system resources based on the sensitivity (as represented by a label) of the information contained in the system ...
  2. [2]
    [PDF] Mandatory Access Control - CS@Cornell
    Multi-level security policies, which supports a need-to-know principle for accessing confidential information. Developed for use by the military, diplomatic, ...
  3. [3]
    [PDF] The Bell and La Padula Security Model
    The paper is intended to provide a basis for more exact, formal, and scientific discussion of the model than has been the case heretofore. 1 Introduction. In ...
  4. [4]
    [PDF] Integrity Considerations for Secure Computer Systems
    Jun 30, 1975 · Our concern, in this paper, is an examination of how information validity may be maintained. Our context is the Secure General Purpose Computer ...
  5. [5]
    Security-Enhanced Linux
    The results of several previous research projects in this area have yielded a strong, flexible mandatory access control architecture called Flask. A reference ...
  6. [6]
    Containers and MicroServices Introduction - CMS
    Security mechanisms such as SELinux or AppArmor enforce mandatory access controls (MAC) for every user, application, process, and file. Related CMS ARS Security ...
  7. [7]
    non-discretionary access control - Glossary | CSRC
    An access control policy that is uniformly enforced across all subjects and objects within the boundary of an information system. · See mandatory access control ...
  8. [8]
    discretionary access control (DAC) - Glossary | CSRC
    Definitions: An access control policy that is enforced over all subjects and objects in an information system where the policy specifies that a subject that has ...
  9. [9]
    mandatory access control (MAC) - Glossary | CSRC
    An access control policy that is uniformly enforced across all subjects and objects within the boundary of an information system.
  10. [10]
    Mandatory Access Control - IBM
    Mandatory access control is a system-enforced method restricting access based on object sensitivity and user clearance, using sensitivity labels.
  11. [11]
    [PDF] Trusted Computer System Evaluation Criteria ["Orange Book"]
    Oct 8, 1998 · 6.3 The Trusted Computing Base . . . . . . . . . . . . 65. 6.4 ... for mandatory access control decisions. In order to import non ...
  12. [12]
    [PDF] FIPS 188, Standard Security Label for Information Transfer
    Oct 19, 2015 · SSL are required to meet mandatory access control requirements in Section 3.1. ... originating system (e.g., a trusted computing base, security ...
  13. [13]
    Dominance relationships between security labels - IBM
    Mandatory access checking is based on the dominance relationships between user security labels and object security labels. One security label dominates another ...
  14. [14]
    [PDF] Archived NIST Technical Series Publication
    Jun 9, 2015 · An example of polyinstantiation is included in section 3.2, Mandatory Access Control. Examples of inference and aggregation may be found in ...
  15. [15]
    [PDF] Access Control Models - Jackson State University
    Mandatory Access Control (MAC). • Used in multi-level security systems. • Access permissions are decided by the operating system and not by the subject (i.e. ...
  16. [16]
    [PDF] Secure Computer Systems: Mathematical Foundations - DTIC
    SECURE COMPUTER SYSTEMS: MATHEMATICAL FOUNDATIONS. D.E. Bell. L.J. ... Elliott Bell and Leonard J. LaPadula of che MITRE Corporation. Th:.s report ...
  17. [17]
    [PDF] Looking Back at the Bell-La Padula Model
    Dec 7, 2005 · The Bell-La Padula security model produced conceptual tools for the analysis and design of secure computer sys- tems. Together with its sibling ...
  18. [18]
    [PDF] Foundations of Computer Security - Lecture 10: Tranquility and BLP
    This formalization is due to D. Elliott Bell and Len LaPadula. (1973–75) and is called the Bell and LaPadula Model (BLP). Despite its age BLP ...Missing: origins David Leonard J. US Air<|control11|><|separator|>
  19. [19]
    [PDF] Topic 5: The Bell LaPadula Model - Data Security and Privacy
    • Solution: tranquility principle: subject cannot change current levels, or cannot drop to below the highest level read so far. Page 18. 18. More on the BLP ...
  20. [20]
    None
    Summary of each segment:
  21. [21]
    [PDF] The Chinese Wall Security Policy - Purdue Computer Science
    This paper presents a basic mathematical theory which implements one such policy, the. Chinese. Wall, and shows that it cannot be correctly represented by a ...
  22. [22]
    [PDF] A Lattice Model of Secure Information Flow
    This paper investigates mechanisms that guarantee secure information flow in a computer system. These mechanisms are examined within a mathematical.
  23. [23]
    Configuring role-based access control to enforce mandatory and ...
    In this paper we provide systematic constructions for various common forms of both of the traditional access control paradigms using the role-based access ...
  24. [24]
    [PDF] Grapevine - cs.wisc.edu
    Grapevine also offers authentication, access control, and resource location services to clients. For example, a document preparation system might use ...
  25. [25]
    [PDF] Computer Security Discourse at RAND, SDC, and NSA (1958–1970)
    This article documents, describes, and assesses new evidence about two early multilevel access, time-sharing systems, SDC's Q-32 and. NSA's RYE, and outlines ...<|control11|><|separator|>
  26. [26]
    [PDF] Computer Security Technology Planning Study (Volume I)
    Oct 8, 1998 · This is Volume I of a two volume report of the Computer Security Technology. Planning Study conducted during the period 2 February--· 1 ...Missing: DoD | Show results with:DoD
  27. [27]
    Integrity Considerations for Secure Computer Systems - June 1975 ...
    Integrity constraints for secure computer systems. January 1977. Ken Biba · View full-text. Article. Integrity considerations for secure computer systems'' ...
  28. [28]
    [PDF] Computer Security Technology Planning Study
    ANDERSON. OCTOBER 1972. Page 4. FOREWORD. This is Volume II of a two-volume report of the work of the Computer Security. Technology Planning Study Panel. This ...Missing: DoD | Show results with:DoD
  29. [29]
    The Birth and Death of the Orange Book | IEEE Journals & Magazine
    Jun 2, 2015 · The TCSEC was eventually supplanted by the international Common Criteria, which after almost 15 years, have moved to a model based on more ...<|separator|>
  30. [30]
    [PDF] LABELED SECURITY PROTECTION PROFILE - Common Criteria
    Oct 8, 1999 · The Common Criteria (CC) Labeled Security Protection Profile, hereafter called LSPP, specifies a set of security functional and assurance ...
  31. [31]
    KSOS Secure Unix Implementation Plan (Kernelized Secure ...
    Publication Date, 1980. Page Count, 67. Abstract, This report presents a discussion of the implementation plan for the KSOS project. Programming techniques ...Missing: GEMSOS | Show results with:GEMSOS<|separator|>
  32. [32]
    SELinux History - O'Reilly
    During the 1990s, researchers at the U.S. National Security Agency (NSA) worked with Secure Computing Corporation (SCC) to develop a strong and flexible ...
  33. [33]
  34. [34]
    Validated patterns for confidential container deployment - Red Hat
    Aug 4, 2025 · Confidential computing leverages a trusted execution environment (TEE) to protect memory in use, which helps ensure encryption for data at ...
  35. [35]
    [PDF] THE TRUSTED SOLARIS™8OPERATING ENVIRONMENT - Oracle
    TRANSPARENT ACCESS TO REMOTE FILES. Trusted Solaris 8 software uses Sun's distributed network file system, NFS, to provide transparent access to remote files ...Missing: 1990s | Show results with:1990s
  36. [36]
    Case Study: Solaris Trusted Extensions
    Solaris (TM) Trusted Extensions is a feature of the Sun Microsystems's Solaris operating system that enforces multilevel security (MLS) policies [23].Missing: compartments | Show results with:compartments
  37. [37]
    What is SELinux? - Red Hat
    Aug 30, 2019 · It was originally developed by the United States National Security Agency (NSA) as a series of patches to the Linux kernel using Linux Security ...
  38. [38]
    49.3. Brief Background and History of SELinux | Deployment Guide
    SELinux was originally a development project from the National Security Agency ( NSA ) and others. It is an implementation of the Flask operating system ...Missing: funding 1999
  39. [39]
    [PDF] NSA Security-Enhanced Linux (SELinux)
    Originated from NSA R&D. • First public release by NSA in Dec 2000. • Large and growing user and developer community. • First packaged externally for Debian ...Missing: funding 1999
  40. [40]
    AppArmor
    ... (MAC). It has been included in the mainline Linux kernel since version 2.6.36 and its development has been supported by Canonical since 2009. Installation.Missing: history | Show results with:history
  41. [41]
    AppArmor - Linux Audit
    Mar 12, 2025 · In this article we look at the basics of this security framework, its purpose and features. History. AppArmor was developed by Canonical Ltd.
  42. [42]
    An introduction to AppArmor - Canonical
    AppArmor provides a crucial layer of security around applications. By providing the capability to whitelist an application's permissible actions, AppArmor ...
  43. [43]
    Smack — The Linux Kernel documentation
    Smack is a Mandatory Access Control mechanism designed to provide useful MAC while avoiding the pitfalls of its predecessors. The limitations of Bell & LaPadula ...Missing: embedded | Show results with:embedded
  44. [44]
    [PDF] Smack in Embedded Computing
    Jul 23, 2008 · This paper explores use of the Smack Linux Security. Module (LSM) as a tool for improving the security of embedded devices with rich feature ...
  45. [45]
    A Brief Tour of Linux Security Modules - Star Lab Software
    Nov 21, 2019 · Unlike SELinux, SMACK was designed for embedded systems and to be simpler to administer. SMACK is the default MAC implementation in Automotive ...
  46. [46]
    How to read and correct SELinux denial messages - Red Hat
    Nov 16, 2020 · SELinux denials are logged in /var/log/messages and /var/log/audit/audit.log. Use `grep "SELinux is preventing"` or `sealert -l` to view ...
  47. [47]
    Mandatory Integrity Control - Win32 apps - Microsoft Learn
    Jul 8, 2025 · Mandatory Integrity Control (MIC) provides a mechanism for controlling access to securable objects. This mechanism is in addition to discretionary access ...Missing: Vista | Show results with:Vista
  48. [48]
    [PDF] Windows Vista System Integrity Technologies
    It builds on the Mandatory Integrity Control (MIC) which restricts writes to higher integrity folders. Protected mode uses COM to call two new broker.
  49. [49]
    C2-level Security - Win32 apps - Microsoft Learn
    Jan 7, 2021 · C2-level security includes controlled access, memory protection, unique user identification, limited audit access, and protection from external ...
  50. [50]
    Microsoft Receives Two Major U.S. Government Evaluations - Source
    Dec 6, 1999 · ... security built into these systems. Past evaluations include C2 for Windows NT 3.5, and E3/FC2 for Windows NT 3.51 and Windows NT 4.0.Missing: history | Show results with:history
  51. [51]
    Set Access Control on Mandatory - Redmondmag.com
    Jul 1, 2007 · WIC is a variant of the Biba Integrity Model, which has been around since 1977 and describes a set of access control rules implemented to ensure ...
  52. [52]
    User Account Control | Microsoft Learn
    Apr 15, 2025 · User Account Control (UAC) is a Windows security feature designed to protect the operating system from unauthorized changes.
  53. [53]
    How User Account Control works | Microsoft Learn
    Apr 15, 2025 · User Account Control (UAC) is a key part of Windows security. UAC reduces the risk of malware by limiting the ability of malicious code to execute with ...Uac Process And Interactions · Sign In Process · The Uac User Experience
  54. [54]
    AppLocker - Microsoft Learn
    Oct 1, 2024 · This article provides a description of AppLocker and can help you decide if your organization can benefit from deploying AppLocker policies.
  55. [55]
    Understanding AppLocker allow and deny actions on rules
    Oct 1, 2024 · Each AppLocker rule collection functions as an explicit allowlist of files. You can only run files that are covered by one or more allow rules within the rule ...
  56. [56]
    GetTokenInformation function (securitybaseapi.h) - Win32 apps
    Oct 12, 2021 · The GetTokenInformation function retrieves a specified type of information about an access token. The calling process must have appropriate access rights to ...Syntax · Parameters · RequirementsMissing: AdjustTokenIntegrityLevel | Show results with:AdjustTokenIntegrityLevel
  57. [57]
    SetTokenInformation function (securitybaseapi.h) - Win32 apps
    Feb 19, 2025 · The SetTokenInformation function sets various types of information for a specified access token. The information that this function sets replaces existing ...Missing: AdjustTokenIntegrityLevel | Show results with:AdjustTokenIntegrityLevel
  58. [58]
    System Integrity Protection - Apple Support
    Feb 18, 2021 · macOS uses mandatory access controls—policies that set security restrictions, created by the developer, that can't be overridden. This approach ...
  59. [59]
    Security-Enhanced Linux in Android - Android Open Source Project
    Aug 26, 2024 · In Android 5.0 and later, SELinux is fully enforced, building on the permissive release of Android 4.3 and the partial enforcement of Android 4 ...SELinux concepts · Write SELinux policy · Implement SELinux · Validate SELinux
  60. [60]
  61. [61]
    Chapter 6. The TrustedBSD MAC Framework
    Feb 18, 2025 · The MAC Framework is a pluggable access control framework, permitting new security policies to be easily linked into the kernel, loaded at boot, or loaded ...MAC Documentation Copyright · Synopsis · Introduction · MAC Framework Kernel...
  62. [62]
    Secure | Fuchsia
    Feb 28, 2025 · Fuchsia builds on a kernel designed to securely isolate software. Zircon is a capability-based, object-oriented kernel.
  63. [63]
    [PDF] What's New in QNX Neutrino OS 7.0 - Direct Insight
    7.0 sees the introduction of “Mandatory Access Controls” which are defined by a formal security policy, which is developed and expressed as a text source file ...
  64. [64]
    What is mandatory access control (MAC)? | Definition from TechTarget
    Nov 9, 2023 · Mandatory access control (MAC) is a security strategy that restricts the ability individual resource owners have to grant or deny access to resource objects in ...Missing: dominance | Show results with:dominance
  65. [65]
    [XLS] HHH Moderate Baseline Controls - FedRAMP
    ... [MAC] or Transmission Control ... Supplemental Guidance: Security plans relate security requirements to a set of security controls and control enhancements.
  66. [66]
    [PDF] Enforcing Mandatory Access Control in Commodity OS to Disable ...
    As a useful malware defense technology, Mandatory Access Control (MAC) works without relying on malware signatures and blocks malware behaviors before they ...Missing: containment | Show results with:containment
  67. [67]
    7 Best Practices for Mandatory Access Control - Jit.io
    Sep 17, 2024 · The Biba model focuses on data integrity with its core principle: “no write up, no read down.” Users can only write data at their integrity ...
  68. [68]
    What is Mandatory Access Control (MAC) and 7 Ways To ... - Spectral
    Aug 22, 2024 · One of MAC's standout advantages is its ability to help organizations navigate regulatory compliance. Adhering to strict security standards is a ...5. Preventing Data Leakage · 6. Scaling Security In Large... · Implementing Mac: Challenges...
  69. [69]
    [PDF] Enabling Dynamic Mandatory Access Controls Using Security Tokens
    Jul 24, 2023 · Unfortunately, current implementations lack the flexibility to adapt to emergent malware threats and are known for being difficult to configure.
  70. [70]
    A Comparative Analysis of Linux Mandatory Access Control Policy ...
    May 8, 2023 · SELinux policies can introduce an overhead of up to 33% with typical overheads of 10–20% for microbenchmarks [13]. This performance overhead is ...
  71. [71]
    Analyzing the Overhead of File Protection by Linux Security Modules
    Jun 4, 2021 · In our evaluation, we find opening a file would see about 87% (Linux v5. 3) performance drop when the kernel is integrated with SELinux hooks ( ...
  72. [72]
    [PDF] CSE509 : Computer System Security - Stony Brook Computer Science
    CSE509 - Computer System Security - Slides: R Sekar. Page 17. Mandatory Access Control (MAC). ❑ DAC Limitations o provides no protection if a resource owner ...
  73. [73]
    [PDF] Access Control: The Neglected Frontier - Prof. Ravi Sandhu
    Over the past ten years, the doctrine of mandatory and discretionary access controls has slowly become discredited but no dominant doctrine has emerged to ...