Definition
Controlling access to local computer system resources with kernel-level capabilities.
How it works
System call filtering uses a mandatory access control paradigm (that is, a non-discretionary access control) system because the rules and polices that determine access is determined by a security control authority and not distributed to local users. Access determinations are based on designed access control polices and are not based on local resource owner determinations.
Access is typically granted by defining sets of subjects and sets of objects. Subjects are the entities requesting access and objects are the resources that subjects are trying to access. Rules and policies are defined that associate subjects and object permissions and access controls.
Common implementations
Security label access control
A fine-grained form control is to apply security labels to individual resources, including processes, and the access control decisions are against a particular resource and a given user attempting to gain access. This type of control requires that the file system has built-in support for security labels.
Access controls are typically implemented through the use of label identifiers for every file system object. Identifier labels are applied to resources and users are assigned a similar access identifier. Users attempting to access a resource will result in the operating system performing an access control check. The access control check will compare the assigned user's credentials to that of the resource or object they are attempting to access.
A security context is associated with resources and is used to determine assess. Typical basic access control elements include users, roles and types and together they form a security context which is the basis for the security labels.
This type of access control is what is employed in SELinux [2]. This form of security kernel access control is considered the most flexible implementation, but it also is the most complex to deploy across the enterprise. Where multiple virtual machines (VM) are run together this type of access control is typically employed to ensure true isolation of processes and VMs.
File path level controls
A less fine-grained form of mandatory access control is to apply security labels that allow for access control at the file path level. Access control is filesystem agnostic and no relabeling of resources is required. Pathname access control usually seems more natural for implementation and corresponding access audits.
This type of system call filtering is what is employed in AppArmor [3]. AppArmor was developed to provide a simpler alternative method with much less management overhead. A simple access policy is maintained that defines path resource access rules. Access control attributes are typically associated with programs instead of users.
Considerations
Some implementations of security label-based control contain complex rules set that are hard to verify and complex to maintain over time.
Initial planning of access model and continuous monitoring of the available users, resources and object is necessary.
Implementations
- Linux C-Groups, and policy engines like SELinux and AppArmor
- Windows Mandatory Integrity Control introduced in Windows Vista
Citations
- [SELinux](https://selinuxproject.org/)
- [AppArmor](https://www.apparmor.net/)
Implementation perspective
System Call Filtering should be treated as a technical defensive capability rather than a product checkbox. In practice, teams should define the protected scope, the conditions under which the technique acts, and the observable evidence that demonstrates the intended behavior. For this technique, likely engineering context includes Process, System Call.
Use the technique to create a logical or physical boundary that limits access, execution, communication, or movement.
Questions to ask
- What is being isolated, from whom or what, and under which conditions?
- Which flows or operations remain explicitly allowed across the boundary?
- What happens when the isolation mechanism fails or loses policy context?
- How is the boundary tested for alternate paths, bypasses, and unintended dependencies?
Evidence and validation
- Architecture and data-flow diagrams showing the isolation boundary
- Policy, rule, or configuration exports from enforcing components
- Tests of allowed, denied, and failure-state behavior
- Monitoring evidence for boundary violations and policy changes
Common failure patterns
- The intended boundary has undocumented alternate paths or inherited trust relationships.
- Rules accumulate without ownership, review, or removal of obsolete exceptions.
- Isolation is assumed from network location while application, identity, or management paths remain open.
This implementation perspective is original Bare Metal Cyber educational content. It does not replace the official D3FEND definition or establish that a specific product implements the technique.
Technique hierarchy
Top-level family
Parent techniques
Direct child techniques
Artifacts and ontology entities
These relationships describe how D3FEND connects a defensive technique to artifacts or other ontology entities. They describe graph semantics, not a product certification.
Explicit technique relationships
Show inferred artifact relationship paths (2)
NIST SP 800-53 relationships
The relation label is preserved from the D3FEND ontology. It is not converted into a claim that the control automatically implements or validates this technique.
ATT&CK Enterprise mitigation relationships
These links come from the D3FEND ontology’s ATT&CK mitigation mapping. They help users navigate between the knowledge bases and do not guarantee mitigation effectiveness.
D3FEND note: D3-SCF is one possible way to filter library loading.
D3FEND note: "Sandboxing" is often used to describe a detection environment which includes some forms of analysis (see D3-DA.)" Many forms of isolation (e.g., quarantining) are more static in nature and simply limit software's access to system resources.
Offensive-technique relationships
These relationships are generated from D3FEND graph paths and are explicitly experimental. They should be treated as hypotheses for defensive analysis—not as proof that the technique prevents, detects, or removes an offensive behavior.
ATT&CK Enterprise (52)
ATT&CK for ICS (14)
Authoritative sources
- Open this technique on the official D3FEND website ↗
- Open the official ontology resources ↗
- Analysis of the Windows Vista Security Model ↗Symantec Corporation · Matthew Conover · AcademicPaperReference
- Architecture of transparent network security for application containers ↗Neuvector Inc · Gang Duan · PatentReference
- Overview of the seccomp sandbox ↗InternetArticleReference
Bare Metal Cyber is an independent educational publisher and is not affiliated with or endorsed by The MITRE Corporation. MITRE D3FEND™ and the D3FEND logo are trademarks of The MITRE Corporation. MITRE ATT&CK® and ATT&CK® are registered trademarks of The MITRE Corporation. Use of D3FEND source material is subject to the official Terms of Use.