Most successful intrusions exploit something that could have been closed before the system went live: a default password, a writable configuration, an unsigned boot path or a memory bug the compiler could have trapped. MITRE D3FEND groups those preventive countermeasures under its Harden tactic, which it defines as being "used to increase the opportunity cost of computer network exploitation", adding that hardening "generally is conducted before a system is online and operational". This hub lists every Harden technique in the D3FEND ontology, shows how the six families fit together, summarises which ATT&CK techniques D3FEND relates them to, and suggests an order of work. It is written for security architects, endpoint engineers and AppSec leads. For the framework itself, see the MITRE D3FEND Guide.
Key takeaways
- Harden is the largest preventive tactic. The D3FEND site (version 1.6.0, checked November 2026) shows 55 Harden entries: six families and 49 techniques beneath them.
- The families follow the stack. Source Code and Application Hardening act on software, Platform Hardening on firmware, boot, storage and hardware, Credential Hardening and Agent Authentication on identities, and Message Hardening on communications.
- ATT&CK links are inferred, not asserted. D3FEND relates Harden techniques to ATT&CK through shared digital artefacts such as Credential, Process Segment or Boot Loader. Treat them as candidates to test.
- Start where the cost to the attacker rises fastest. Credential hygiene, software update and secure configuration close the most common initial access and credential access paths at the lowest cost; compiler and boot integrity work follows.
- Hardening decays. Every Harden technique needs a verification check and a drift metric.
What Harden means in D3FEND
D3FEND organises defensive techniques under seven tactics: Model, Harden, Detect, Isolate, Deceive, Evict and Restore. Harden is the only one that is mostly applied before an adversary is present. Its techniques change a property of a system so that a class of attack becomes harder, noisier or impossible: configuration baselines, patching, encryption, secure boot, compiler mitigations, credential policy and message signing.
Each technique is described by what it does to a digital artefact: Bootloader Authentication "authenticates" a Boot Loader, Strong Password Policy "strengthens" a Password. D3FEND uses these relations to infer which ATT&CK techniques a countermeasure is relevant to: an ATT&CK technique that acts on the same artefact, or a more specific one of the same kind, is related. NHI Mgmt Group computed the relations below from the ontology file; D3FEND hand-maps few Harden techniques to ATT&CK.
Every technique in the Harden tactic
The table is built from the D3FEND ontology file (d3fend-protege.ttl, checked November 2026). Family rows link to the implementation guide for that family; technique rows link to the technique page. The purpose column paraphrases D3FEND's definition; each technique page gives the artefact relations in full. One entry, Particle Radiation Hardening, appears in the ontology without a D3FEND ID and is not shown on the D3FEND site; it is listed for completeness.
| ID | Technique | Parent | Purpose |
|---|---|---|---|
| D3-AA | Agent Authentication | Family under Harden | Verifies the identity of agents (people, services, devices) taking part in a system. |
| D3-BAN | Biometric Authentication | Agent Authentication | Using biological measures in order to authenticate a user. |
| D3-CBAN | Certificate-based Authentication | Agent Authentication | Requiring a digital certificate in order to authenticate a user. |
| D3-MFA | Multi-factor Authentication | Agent Authentication | Requiring proof of two or more pieces of evidence in order to authenticate a user. |
| D3-PWA | Password Authentication | Agent Authentication | Verifies a user or entity by requiring a secret string (a password) associated with it. |
| D3-TBA | Token-based Authentication | Agent Authentication | Exchanges a verified identity for an access token that grants access for the token lifetime. |
| D3-AH | Application Hardening | Family under Harden | Makes executables more resilient to exploits that introduce new code or reuse existing code, at compile time or on the binary. |
| D3-ACH | Application Configuration Hardening | Application Hardening | Changes application configuration to reduce attack surface. |
| D3-DRA | Disable Remote Access | Application Configuration Hardening | Removes remote access that is not required from networks the organisation does not control. |
| D3-CFI | Control Flow Integrity | Application Hardening | Enforcing legal control flow transfers during application process execution. |
| D3-DCE | Dead Code Elimination | Application Hardening | Removes unreachable code from compiled output. |
| D3-EHPV | Exception Handler Pointer Validation | Application Hardening | Validates that a referenced exception handler pointer is a valid exception handler. |
| D3-PAN | Pointer Authentication | Application Hardening | Cryptographically signs and checks pointer values. |
| D3-PSEP | Process Segment Execution Prevention | Application Hardening | Blocks execution from any memory region other than the code segment. |
| D3-SAOR | Segment Address Offset Randomization | Application Hardening | Randomises segment base addresses when a process starts. |
| D3-SFCV | Stack Frame Canary Validation | Application Hardening | Checks a stack value against a known good value to catch overwrites. |
| D3-CH | Credential Hardening | Family under Harden | Changes system or network properties to protect credentials. |
| D3-CP | Certificate Pinning | Credential Hardening | Stores a server certificate or public key and compares it with the identity the server presents. |
| D3-CRO | Credential Rotation | Credential Hardening | Regularly replaces passwords, API keys or certificates to limit the value of a stolen one. |
| D3-CERO | Certificate Rotation | Credential Rotation | Replaces certificates and their private keys to limit the impact of key compromise. |
| D3-PR | Password Rotation | Credential Rotation | Mandates periodic password changes to limit the use of compromised passwords. |
| D3-OTP | One-time Password | Password Rotation | A one-time password is valid for only one user authentication. |
| D3-SPP | Strong Password Policy | Credential Hardening | Modifying system configuration to increase password strength. |
| D3-CDP | Change Default Password | Strong Password Policy | Replaces factory-set credentials with a strong, unique password before deployment. |
| D3-TB | Token Binding | Credential Hardening | Binds cookies or OAuth tokens to a specific connection so a copied token is not usable elsewhere. |
| D3-MH | Message Hardening | Family under Harden | Keeps messages between users and systems confidential, unaltered and verifiable, resisting injection, replay and tampering. |
| D3-MAN | Message Authentication | Message Hardening | Authenticating the sender of a message and ensuring message integrity. |
| D3-BMA | Bus Message Authentication | Message Authentication | Cryptographically authenticates individual bus frames (sender and payload integrity). |
| D3-MENCR | Message Encryption | Message Hardening | Encrypting a message body using a cryptographic key. |
| D3-TAAN | Transfer Agent Authentication | Message Hardening | Validates that messaging servers are authorised to send a given message. |
| D3-PH | Platform Hardening | Family under Harden | Hardens platform components (firmware, boot, storage, configuration, hardware) against exploitation. |
| D3-BA | Bootloader Authentication | Platform Hardening | Cryptographically authenticating the bootloader software before system boot. |
| D3-DENCR | Disk Encryption | Platform Hardening | Encrypting a hard disk partition to prevent cleartext access to a file system. |
| D3-DLIC | Driver Load Integrity Checking | Platform Hardening | Checks the integrity of drivers loaded at OS start-up. |
| D3-FE | File Encryption | Platform Hardening | Encrypting a file using a cryptographic key. |
| D3-HBWP | Hardware-based Write Protection | Platform Hardening | Physical methods of preventing data from being written to computer storage. |
| D3-PEH | Physical Enclosure Hardening | Platform Hardening | Physical changes to an enclosure that reduce tampering and environmental effects. |
| D3-RH | Radiation Hardening | Platform Hardening | Makes electronics resistant to damage or malfunction from ionising radiation. |
| D3-EMH | Electromagnetic Radiation Hardening | Radiation Hardening | Physical and material design measures that reduce susceptibility to electromagnetic damage or disruption. |
| D3-RFS | RF Shielding | Electromagnetic Radiation Hardening | Adding physical barriers to a platform to prevent undesired radio interference. |
| No ID | Particle Radiation Hardening | Radiation Hardening | Design measures against total ionising dose and single-event effects from particles. Present in the ontology without a D3FEND ID or technique page. |
| D3-SU | Software Update | Platform Hardening | Replacing old software on a computer system component. |
| D3-SCP | System Configuration Permissions | Platform Hardening | Restricts who can change system configuration. |
| D3-TBI | TPM Boot Integrity | Platform Hardening | Demonstrates that boot starts from trusted hardware and software and stays trusted until the OS and applications run (measured boot). |
| D3-SCH | Source Code Hardening | Family under Harden | Makes source code harder to exploit and less error prone. |
| D3-CS | Credential Scrubbing | Source Code Hardening | Removes hard-coded credentials from source code. |
| D3-DLV | Domain Logic Validation | Source Code Hardening | Validation of variable state in the context of the domain application. |
| D3-OLV | Operational Logic Validation | Domain Logic Validation | Validates variable state against the control logic of an operational (OT) application. |
| D3-IRV | Integer Range Validation | Source Code Hardening | Ensuring that an integer is within a valid range. |
| D3-PV | Pointer Validation | Source Code Hardening | Checks that a pointer has the properties required for use. |
| D3-MBSV | Memory Block Start Validation | Pointer Validation | Ensuring that a pointer accurately references the beginning of a designated memory block. |
| D3-NPC | Null Pointer Checking | Pointer Validation | Checking if a pointer is NULL. |
| D3-RN | Reference Nullification | Source Code Hardening | Invalidates every pointer to a freed memory block so it cannot be reused. |
| D3-TL | Trusted Library | Source Code Hardening | Uses pre-verified, vetted code modules instead of hand-rolled equivalents. |
| D3-VI | Variable Initialization | Source Code Hardening | Setting variables to a known value before use. |
| D3-VTV | Variable Type Validation | Source Code Hardening | Ensuring that a variable has the correct type. |
How the six families fit together
The families are easiest to read as layers. A weakness at a lower layer undermines the ones above: measured boot is pointless if anyone can change system configuration, and a strong password policy does little if the password is hard-coded in a repository.
| Family | Layer it acts on | Typical owner |
|---|---|---|
| Source Code Hardening (D3-SCH) | Source code and libraries | Developers, AppSec |
| Application Hardening (D3-AH) | Compiled binaries, process memory, application configuration | Build engineering, platform teams |
| Platform Hardening (D3-PH) | Firmware, boot chain, drivers, storage, OS configuration, hardware | Endpoint and infrastructure engineering |
| Credential Hardening (D3-CH) | Passwords, certificates, tokens, keys | Identity and PKI teams, secrets owners |
| Agent Authentication (D3-AA) | Users, services and devices proving who they are | Identity and access management |
| Message Hardening (D3-MH) | Messages between users, systems and devices | Messaging, network and OT engineering |
Which ATT&CK techniques Harden counters
Run across all 55 entries, the shared-artefact method relates Harden to well over a hundred Enterprise techniques, many through broad artefacts such as File or Software. The table below keeps the relations where the Harden technique genuinely changes the outcome; the strength column is NHI Mgmt Group's assessment, not part of D3FEND.
| ATT&CK technique | Shared artefact | Harden techniques | Strength (NHI Mgmt Group assessment) |
|---|---|---|---|
| T1110.001 Password Guessing, T1110.003 Password Spraying | Password | D3-SPP, D3-PR, D3-OTP, D3-MFA | Strong where length rules, breached-password screening and MFA all apply |
| T1078.001 Default Accounts | Password, User Account | D3-CDP | Strong: removes a whole class of first-attempt logins |
| T1552 Unsecured Credentials | Credential | D3-CS, D3-CRO | Partial: scrubbing removes the credential, rotation limits the value of one already leaked |
| T1528, T1550.001 Application Access Token | Access Token | D3-TB, D3-TBA | Partial: binding defeats replay only where client and server both support it |
| T1649 Steal or Forge Authentication Certificates | Certificate | D3-CERO, D3-CP | Partial: short lifetimes shrink the window; forged certificates need CA-side controls |
| T1190, T1203, T1068 | Process Segment, Stack Frame | D3-PSEP, D3-SAOR, D3-SFCV, D3-CFI, D3-SU | Strong in combination: patching removes the bug, memory mitigations raise exploit cost for the ones not yet patched |
| T1542.003 Bootkit | Boot Loader | D3-BA, D3-TBI | Strong where firmware is configured to enforce, weak where secure boot is left in setup or audit mode |
| T1543.003 Windows Service, T1546.012 Image File Execution Options Injection, T1552.002 Credentials in Registry | System Configuration Database | D3-SCP | Partial: stops non-administrators; an attacker who is already an administrator is unaffected |
| T1195.002 Compromise Software Supply Chain | Software | D3-SU, D3-TL | Weak on its own: updating can deliver a poisoned build, so signing and provenance checks matter more |
| T1200 Hardware Additions | Hardware Device | D3-PEH, D3-RFS | Partial: physical controls only where the device is physically exposed |
| T1114.003 Email Forwarding Rule, T1564.008 Email Hiding Rules | Application Configuration | D3-ACH | Partial: blocking external auto-forwarding by policy is effective; hiding rules need detection |
The ontology still points to some ATT&CK IDs that v20 has revoked. Application Configuration is related to a revoked Windows event logging sub-technique, now T1685.001 Disable or Modify Windows Event Log; credential artefacts are related to the old Keychain ID, now T1555.001; and Change Default Password is related to the old ICS default credentials ID, now T1694.001 Default Credentials. Several ICS message techniques that D3FEND relates to Message Hardening are also revoked in v20, which is why only current IDs appear above.
Where to start: a prioritised order
D3FEND gives no priority order. The sequence below is NHI Mgmt Group's view, ordered by how much attacker cost each step adds per unit of effort for a typical enterprise estate.
- Inventory and baseline. You cannot harden what you have not listed. Use configuration benchmarks (see the CIS Benchmarks Guide) as the starting baseline for Application Configuration Hardening and System Configuration Permissions, applied first in audit mode on a pilot ring.
- Credentials first. Change Default Password on every device and appliance before it reaches production, apply Strong Password Policy, enforce Multi-factor Authentication for administrators and remote access, and run Credential Scrubbing on repositories. These close the cheapest attacker paths.
- Software Update. Patching is the Harden technique with the broadest inferred reach. Tie it to exposure: internet-facing first. See the Patch Management Guide.
- Disable Remote Access that is not needed, then verify from outside.
- Platform integrity. Enforce Bootloader Authentication, TPM Boot Integrity, Driver Load Integrity Checking and Disk Encryption on endpoints and servers, rolled out by hardware model, with recovery keys escrowed before enforcement.
- Compiler and runtime mitigations. Make Process Segment Execution Prevention, Segment Address Offset Randomization, Stack Frame Canary Validation and Control Flow Integrity build defaults, and fail builds that lose them.
- Rotation and binding. Short-lived credentials and certificates, then Token Binding where supported.
- Source Code Hardening as a development standard. Pointer, integer and type validation rules belong in coding standards and static analysis; the strongest version is moving new code to memory-safe languages (see the Memory-Safe Languages Guide).
- Message Hardening and physical controls by exposure. Message Authentication and Encryption for mail, APIs and industrial buses; enclosure and RF controls only for physically exposed or regulated environments.
Plan rollback before enforcement: a tested configuration revert, boot recovery media and escrowed keys, and a coordinated cut-over for services that depend on changed passwords or tokens.
Small and large organisations: a small organisation gets most of the value from steps 1 to 4 using vendor defaults and managed services. A large organisation needs owners per family, a baseline per platform and an exception process for legacy devices.
Where identity fits
Two of the six families are identity controls, and they apply to non-human identities as much as to people. Credential Rotation, Certificate Rotation, Credential Scrubbing and Token Binding are the Harden techniques that act directly on API keys, service account passwords, workload certificates and OAuth tokens. These machine credentials typically rotate least often and are the ones found hard-coded in repositories. Change Default Password also applies to device and appliance accounts. For the identity side of this work, see the Non-Human Identity (NHI) Guide and Credential Rotation at Scale.
Verifying hardening and measuring progress
A hardening control that is not checked is an assumption. Verify each family from live state, not build documentation: benchmark scans for configuration (with drift alerts handed to the D3FEND Detect Tactic), secure boot, TPM and encryption status from device management, binary flag checks in the build pipeline, secret scanning and credential age reports, and mail authentication reports for messages.
Example metrics (illustrative targets, not standards):
- Baseline conformance: share of assets passing the configuration benchmark, by platform.
- Patch latency: median days from release to deployment for internet-facing systems.
- Integrity coverage: share of endpoints with secure boot enforced and disk encryption on.
- Credential age: share of machine credentials older than the rotation policy allows.
- Default credentials found: count per quarter, with a target of zero in production.
Limits and common failure patterns
- Treating inferred mappings as coverage: a D3FEND relation shows relevance, not effectiveness; test before reporting coverage.
- Audit mode forever: secure boot, driver integrity and application control are often deployed in audit mode and never enforced, giving reports without protection.
- Admin bypass: System Configuration Permissions and most platform controls do not stop an attacker who already holds administrator or SYSTEM rights. Hardening must be paired with privileged access controls.
- Rotation without discovery: rotating known credentials while unknown copies sit in code, CI variables and scripts leaves the leaked ones valid elsewhere.
- Forgotten device classes: appliances, OT controllers and printers keep default passwords and old firmware long after servers are hardened. Message Hardening is the family most relevant here: D3FEND relates it mainly to ATT&CK for ICS techniques that produce protocol messages, such as T0836 Modify Parameter, T0843 Program Download and T0858 Change Operating Mode.
- Rotating the wrong passwords: NIST SP 800-63B does not require periodic changes of user passwords, only change on evidence of compromise, so aim Password Rotation mainly at shared and machine credentials.
Framework mapping
| Harden family | NIST SP 800-53 Rev 5 | NIST CSF 2.0 | CIS Controls v8.1 | ISO/IEC 27001:2022 Annex A |
|---|---|---|---|---|
| Application Hardening | CM-6, CM-7, SI-16 | PR.PS-01 | Control 4, Control 16 | A.8.9 |
| Platform Hardening | SI-2, SI-7, SI-7(15), SC-28, CM-2 | PR.PS-01, PR.PS-02, PR.DS-01 | Control 4, Control 7, Safeguard 3.11 | A.8.8, A.8.9, A.8.24 |
| Credential Hardening | IA-5 | PR.AA-01 | Control 5 | A.5.17 |
| Agent Authentication | IA-5 | PR.AA-01 | Control 6 | A.8.5 |
| Message Hardening | SC-8 | PR.DS-02 | Control 3 | A.8.24 |
| Source Code Hardening | SA-11, SA-15 | PR.PS-01 | Control 16 | A.8.28 |
The mapping is NHI Mgmt Group's; D3FEND itself cites SP 800-53 Rev 5 as a reference for Agent Authentication. For configuration baselines in CIS terms, see the CIS Control 4 Secure Configuration of Enterprise Assets and Software Guide.
Practitioner checklist
- Map each Harden family to a named owner and a baseline document.
- Apply configuration baselines in audit mode on a pilot ring, then enforce with a tested revert.
- Scan for and remove default passwords on every device class, including OT and appliances.
- Scrub credentials from repositories and CI, then rotate anything that was exposed.
- Enforce secure boot, measured boot and disk encryption, with recovery keys escrowed first.
- Make compiler mitigations build defaults and fail builds that drop them.
- Validate inferred ATT&CK counters with testing before claiming coverage.
- Feed drift and failed-verification signals into detection; plan for failure with the D3FEND Isolate Tactic and D3FEND Evict Tactic.
Standards and references
- MITRE D3FEND: Harden Tactic
- MITRE D3FEND: D3FEND Ontology
- NIST: SP 800-53 Rev 5, Security and Privacy Controls
- NIST: Cybersecurity Framework 2.0
- NIST: SP 800-193 Platform Firmware Resiliency Guidelines
- NIST: SP 800-70 Rev 5, National Checklist Program for IT Products
- CIS: Critical Security Controls v8.1
- CISA: Secure by Design
Related NHI Mgmt Group resources: MITRE D3FEND Guide · MITRE D3FEND Platform Hardening Implementation Guide · MITRE D3FEND Credential Hardening Implementation Guide · CIS Benchmarks Guide · ATT&CK Credential Access Tactic Guide