Knowledge is Power

Sitewide Search

Search Bare Metal Cyber

Search exact control and technique identifiers, Cyber Wiki articles, framework records, playbooks, books, podcasts, Academy courses, and individual lessons.

MITRE D3FEND™ Learning Center

D3-SCF — System Call Filtering

Controlling access to local computer system resources with kernel-level capabilities.

1NIST mapping
6Mitigation mappings
52Enterprise inferred
14ICS inferred

Isolate · D3FEND ontology 1.6.0 · Active

Open official technique ↗
Official D3FEND definition

Definition

Controlling access to local computer system resources with kernel-level capabilities.

Official D3FEND knowledge-base content

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/)
Bare Metal Cyber interpretation

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.

Ontology hierarchy

Technique hierarchy

Top-level family

Parent techniques

D3FEND graph relationships

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

filtersSystem Call
isolatesProcess
Show inferred artifact relationship paths (2)
System Call FilteringfiltersSystem Call
System Call FilteringisolatesProcess
Curated semantic mapping

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.

Curated D3FEND mapping

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.

Inferred and experimental

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)
T1003.001LSASS MemoryCredential AccessT1003.002Security Account ManagerCredential AccessT1003.004LSA SecretsCredential AccessT1007System Service DiscoveryDiscoveryT1010Application Window DiscoveryDiscoveryT1012Query RegistryDiscoveryT1016System Network Configuration DiscoveryDiscoveryT1018Remote System DiscoveryDiscoveryT1033System Owner/User DiscoveryDiscoveryT1036.005Match Legitimate Resource Name or LocationStealthT1047Windows Management InstrumentationExecutionT1049System Network Connections DiscoveryDiscoveryT1053Scheduled Task/JobExecution, Persistence, Privilege EscalationT1053.005Scheduled TaskExecution, Persistence, Privilege EscalationT1055.001Dynamic-link Library InjectionPrivilege Escalation, StealthT1055.003Thread Execution HijackingPrivilege Escalation, StealthT1055.004Asynchronous Procedure CallPrivilege Escalation, StealthT1055.005Thread Local StoragePrivilege Escalation, StealthT1055.008Ptrace System CallsPrivilege Escalation, StealthT1055.013Process DoppelgängingPrivilege Escalation, StealthT1055.014VDSO HijackingPrivilege Escalation, StealthT1057Process DiscoveryDiscoveryT1074.001Local Data StagingCollectionT1082System Information DiscoveryDiscoveryT1106Native APIExecutionT1113Screen CaptureCollectionT1124System Time DiscoveryDiscoveryT1134.004Parent PID SpoofingPrivilege Escalation, StealthT1140Deobfuscate/Decode Files or InformationStealthT1212Exploitation for Credential AccessCredential AccessT1218.001Compiled HTML FileStealthT1218.002Control PanelStealthT1218.003CMSTPStealthT1218.005MshtaStealthT1218.011Rundll32StealthT1218.013MavinjectStealthT1220XSL Script ProcessingStealthT1497.003Time Based ChecksDiscovery, StealthT1505.001SQL Stored ProceduresPersistenceT1505.002Transport AgentPersistenceT1505.003Web ShellPersistenceT1518.001Security Software DiscoveryDiscoveryT1546.007Netsh Helper DLLPersistence, Privilege EscalationT1546.009AppCert DLLsPersistence, Privilege EscalationT1546.010AppInit DLLsPersistence, Privilege EscalationT1548.002Bypass User Account ControlPrivilege EscalationT1548.004Elevated Execution with PromptPrivilege EscalationT1550Use Alternate Authentication MaterialLateral MovementT1555.003Credentials from Web BrowsersCredential AccessT1556Modify Authentication ProcessCredential Access, Defense Impairment, PersistenceT1562.001Disable or Modify ToolsStealthT1621Multi-Factor Authentication Request GenerationCredential Access
ATT&CK for ICS (14)
T0806Brute Force I/OImpair Process Control
T0813Denial of ControlImpact
T0814Denial of ServiceInhibit Response Function
T0819Exploit Public-Facing ApplicationInitial Access
T0821Modify controller TaskingExecution
T0823Graphical User InterfaceExecution
T0834Native APIExecution
T0846Remote System DiscoveryDiscovery
T0852Screen CaptureCollection
T0863User ExecutionExecution
T0878Alarm SuppressionInhibit Response Function
T0888Remote System Information DiscoveryDiscovery
T0894System Binary Proxy ExecutionEvasion
T0895Autorun ImageExecution
Source record

Authoritative sources