Knowledge is Power

Sitewide Search

Search Bare Metal Cyber

Search courses, individual lessons, wiki entries, books, podcasts, magazine articles, Daily Cyber News, and Darwin.

MITRE D3FEND™ Learning Center

D3-EDL — Executable Denylisting

Blocking the execution of files on a host in accordance with defined application policy rules.

4NIST mappings
3Mitigation mappings
51Enterprise inferred
7ICS inferred

Isolate · D3FEND ontology 1.6.0 · Active

Open official technique ↗
Official D3FEND definition

Definition

Blocking the execution of files on a host in accordance with defined application policy rules.

Official D3FEND knowledge-base content

How it works

Criteria

A policy-enforcing application can register an application for denylisting based on conditions including the following:

This may be done to prevent execution of applications which are:

System administrators will customize the rules for the given environment.

  • File attributes
  • file name
  • file path
  • file hash
  • file publisher, as obtained from the digital signature
  • permissions of the file
  • File malware scan (eg. Windows SmartScreen)
  • User-File combination
  • an old version with known vulnerabilities
  • without a valid license, which could cause legal issues
  • in a directory that is accessible to low-privileged users, that could be accessed by a malware dropper
  • known trojan horse programs
  • too open in their permissions, possibly set to run as a user other than the originator or allowing execution when they should not be
  • a match to the hash of other known malware
  • are detected as undesirable based on a file scan runtime behavior

Backend

The policy-enforcing program may work by running in kernel mode, and [intercepting] [system calls which execute a process].

Considerations

  • If denylisting is done by filename, filepath, or hash, these mechanisms may be a worthy first line of defense and detection, but could still be evaded by an attacker.
  • Continuous management is needed to keep the denylist up to date, whether it is based on hash, publisher, behavior, or any other digital artifact.
  • Although denylists based on attributes such as file path and virus scan could defend against some threats which they have not been explicitly coded to block, denylists may not provide protection from new, unknown, or zero day attacks.

Examples

On a Windows machine the Windows Defender Application Control (WDAC) policy enforcement is run in the kernel and allows for restricting applications.

Bare Metal Cyber interpretation

Implementation perspective

Executable Denylisting 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 Create Process, Executable File.

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

Parent techniques

Direct child techniques

None listed at this level.

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

blocksExecutable File
filtersCreate Process
Show inferred artifact relationship paths (2)
Executable DenylistingblocksExecutable File
Executable DenylistingfiltersCreate Process
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.

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 (51)
T1007System Service DiscoveryDiscoveryT1010Application Window DiscoveryDiscoveryT1016System Network Configuration DiscoveryDiscoveryT1018Remote System DiscoveryDiscoveryT1027.001Binary PaddingStealthT1027.002Software PackingStealthT1027.004Compile After DeliveryStealthT1033System Owner/User DiscoveryDiscoveryT1036.001Invalid Code SignatureStealthT1036.003Rename Legitimate UtilitiesStealthT1037.001Logon Script (Windows)Persistence, Privilege EscalationT1037.002Login HookPersistence, Privilege EscalationT1037.003Network Logon ScriptPersistence, Privilege EscalationT1037.004RC ScriptsPersistence, Privilege EscalationT1047Windows Management InstrumentationExecutionT1053Scheduled Task/JobExecution, Persistence, Privilege EscalationT1055.003Thread Execution HijackingPrivilege Escalation, StealthT1055.004Asynchronous Procedure CallPrivilege Escalation, StealthT1055.013Process DoppelgängingPrivilege Escalation, StealthT1057Process DiscoveryDiscoveryT1059Command and Scripting InterpreterExecutionT1082System Information DiscoveryDiscoveryT1124System Time DiscoveryDiscoveryT1134.004Parent PID SpoofingPrivilege Escalation, StealthT1137.001Office Template MacrosPersistenceT1140Deobfuscate/Decode Files or InformationStealthT1204.002Malicious FileExecutionT1218.001Compiled HTML FileStealthT1218.002Control PanelStealthT1218.003CMSTPStealthT1218.005MshtaStealthT1218.011Rundll32StealthT1220XSL Script ProcessingStealthT1505.001SQL Stored ProceduresPersistenceT1505.003Web ShellPersistenceT1546.002ScreensaverPersistence, Privilege EscalationT1546.005TrapPersistence, Privilege EscalationT1546.006LC_LOAD_DYLIB AdditionPersistence, Privilege EscalationT1546.008Accessibility FeaturesPersistence, Privilege EscalationT1546.009AppCert DLLsPersistence, Privilege EscalationT1546.010AppInit DLLsPersistence, Privilege EscalationT1546.013PowerShell ProfilePersistence, Privilege EscalationT1546.015Component Object Model HijackingPersistence, Privilege EscalationT1547.001Registry Run Keys / Startup FolderPersistence, Privilege EscalationT1547.009Shortcut ModificationPersistence, Privilege EscalationT1548.002Bypass User Account ControlPrivilege Escalation
T1562.003Impair Command History LoggingStealth
T1565.003Runtime Data ManipulationImpactT1574.007Path Interception by PATH Environment VariableExecution, StealthT1574.008Path Interception by Search Order HijackingExecution, StealthT1574.009Path Interception by Unquoted PathExecution, Stealth
ATT&CK for ICS (7)
T0846Remote System DiscoveryDiscovery
T0853ScriptingExecution
T0863User ExecutionExecution
T0871Execution through APIExecution
T0888Remote System Information DiscoveryDiscovery
T0894System Binary Proxy ExecutionEvasion
T0895Autorun ImageExecution
Source record

Authoritative sources