Join our Newsletter — 33% off our NHI Course
Home› Guides› D3-SPP Strong Password Policy: What It Hardens, What…
Guide Authentication

D3-SPP Strong Password Policy: What It Hardens, What It Blocks and How to Verify It

PDF for newsletter subscribers · free to read online

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 12 November 2026 12 min read
On this page

Most password policies still enforce the rules that make passwords worse (forced complexity and expiry) and skip the one that stops real attacks: screening against known compromised passwords. D3-SPP Strong Password Policy is the MITRE D3FEND countermeasure for the password itself. D3FEND defines it as "Modifying system configuration to increase password strength." It sits in the Harden tactic as a child of Credential Hardening and strengthens the Password artefact. This card covers what D3FEND means by a strong policy, which ATT&CK techniques it relates to, the settings that carry it on common platforms, how to verify it, and where it stops helping. It is written for identity and platform engineers who set password policy; for the full policy design, see the Password Policy Guide (NIST-aligned).

Key takeaways

  • D3FEND's version of "strong" is the modern one. Its knowledge base names length, permitting ASCII and Unicode, and screening new passwords against commonly used or compromised lists, and warns that extreme complexity rules push users to obvious or written-down passwords.
  • It hardens one artefact against a narrow set of attacks. D3FEND's direct relationships are with Password Guessing, Password Cracking and Password Spraying; it does little against phishing, infostealers or reuse of a password that is strong but stolen.
  • Screening matters more than composition. NIST SP 800-63B-4 requires a blocklist check on every new password and prohibits extra composition rules and periodic forced change.
  • A new policy rarely changes existing passwords. Several platforms apply length and character rules only at the next change, so measure the password population, not the setting.
  • Verify by attacking your own hashes, with authorisation. An offline audit against a breached-password corpus is the only direct measure of policy strength.

D3-SPP at a glance

FieldD3-SPP Strong Password Policy
D3FEND IDD3-SPP
TacticHarden
Parent techniqueCredential Hardening (siblings: Certificate Pinning, Credential Rotation, Token Binding)
Child techniqueD3-CDP Change Default Password
Digital artefactPassword (D3FEND: the technique "strengthens" a Password)
D3FEND referencesNIST Digital Identity Guidelines (SP 800-63-3); Weir, Aggarwal, Collins and Stern, "Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords"
Related ATT&CK mitigations (D3FEND links)M1027 Password Policies, M1026 Privileged Account Management
Main limitationRaises the cost of guessing and cracking; does nothing once a password is phished, logged or reused from another breach and still meets the policy

D3FEND's references still point to SP 800-63-3. The current revision is SP 800-63B-4, which keeps the same direction and tightens the length rule; the settings below follow the current text. See the NIST SP 800-63B-4 Authenticator Assurance Levels Guide.

What a strong password policy means now

SettingNIST SP 800-63B-4 positionWhy it matters
Minimum lengthAt least 15 characters when the password is the only factor; at least 8 when it is used within multi-factor authenticationLength is the main driver of guessing and cracking cost
Maximum lengthShould permit at least 64 charactersAllows passphrases and password manager output
Character setShould accept printing ASCII, space and Unicode (NFC-normalised before hashing)Removes friction that pushes users to short passwords
Blocklist screeningShall check new and changed passwords against commonly used, expected or compromised values, and tell the user why a password was rejectedDirectly removes the passwords sprayed and cracked first
Composition rulesShall not impose other composition rulesMixed-class rules produce predictable patterns such as a capital first and a digit and symbol last
Periodic changeShall not require periodic change; shall force change on evidence of compromiseScheduled expiry produces incremented variants of the old password
Hints and security questionsShall not store hints readable before authentication or prompt for knowledge-based questionsRemoves guessable side channels
Password managersShall allow password managers and autofill; should permit pasteMakes long unique passwords practical
Failed attemptsShall rate-limit, with no more than 100 consecutive failures before the authenticator is disabledBounds online guessing; see D3-AL Account Locking
StorageShall salt (at least 32 bits) and hash with a suitable password hashing scheme; cost factor as high as practicalSets the cost of offline cracking after a hash dump

The last row is where D3-SPP meets T1110.002 Password Cracking: policy controls how guessable the password is, and storage controls how fast each guess can be tested. Both have to be right. Breached-password screening is covered in depth in Breached password checks.

ATT&CK techniques D3FEND relates to D3-SPP

Relationship type: inferred only. D3FEND derives these relationships through shared digital artefacts and labels them inferred and experimental (checked November 2026). The direct relationship is through Password: the three Brute Force sub-techniques access the artefact D3-SPP strengthens. The other rows come through the User Account artefact. Every ID was checked against ATT&CK v20. The last column is NHI Mgmt Group's assessment, not D3FEND content.

ATT&CK IDTechniqueD3FEND relationWhat a strong policy changes (NHI Mgmt Group assessment)
T1110.001Password GuessingAccesses PasswordStrong: blocklisted and short passwords are the ones guessed first
T1110.003Password SprayingAccesses PasswordStrong: spraying relies on a few common passwords across many accounts; screening removes them
T1110.002Password CrackingAccesses PasswordStrong with good storage: long, unlisted passwords resist dictionary and rule-based cracking
T1078.001 to T1078.004Valid Accounts: Default, Domain, Local, Cloud AccountsVia User AccountPartial: helps only where the valid account was obtained by guessing or cracking; default accounts are covered by the child technique D3-CDP
T1098.002, T1098.003Additional Email Delegate Permissions, Additional Cloud RolesVia User AccountIndirect: fewer accounts are taken over to make these changes
T1136.001 to T1136.003Create Account: Local, Domain, Cloud AccountVia User AccountIndirect: the policy applies to attacker-created accounts too, which is not a meaningful barrier
T1548.005Temporary Elevated Cloud AccessVia User AccountIndirect
T1087.001, T1087.002, T1087.004Account Discovery: Local, Domain, Cloud AccountVia User AccountMinimal: discovery is unaffected; only the use of discovered accounts gets harder
T1531Account Access RemovalVia User AccountMinimal

One technique works against the policy itself: T1201 Password Policy Discovery, where an adversary reads the policy to tune guessing and stay under lockout thresholds. See the MITRE ATT&CK T1201 Password Policy Discovery, the MITRE ATT&CK T1110 Brute Force Guide and M1027 Password Policies.

Where it is implemented

Platforms are listed alphabetically. Each row shows the setting names from the vendor's own documentation (checked November 2026) and how existing passwords are treated where the docs say so.

PlatformWhere the policy is setSettings that carry D3-SPP
AWS IAM usersAccount password policy (aws iam get-account-password-policy to read it)Minimum length 6 to 128; optional character requirements; reuse prevention of 1 to 24 previous passwords. Length and character rules apply at the next password change. The policy covers IAM user console passwords; protect the root user with MFA and keep it out of daily use
Linux (PAM)pam_pwquality, configured in /etc/security/pwquality.confminlen (default 8); dictcheck (cracklib dictionary, on by default); usercheck; badwords for organisation terms; enforce_for_root (off by default, so root changes only warn). Set the dcredit, ucredit, lcredit and ocredit credits to 0 so minlen counts raw length
Microsoft Active DirectoryDefault domain password policy; Fine-Grained Password Policies (Password Settings objects in the Password Settings Container, domain functional level Windows Server 2012 or higher)Fine-grained policies apply to users and global security groups with a precedence value, which allows a longer minimum for privileged and service accounts
Microsoft Entra IDMicrosoft Entra Password Protection, with an agent for on-premises AD DS domain controllersGlobal banned password list (always on) plus a custom banned list of up to 1,000 base terms; normalisation, fuzzy matching and a scoring rule that needs at least 5 points. Availability: custom list needs Entra ID P1 or P2; synced users need P1 or P2 for both lists
OktaPassword authenticator policy, per group and authentication providerMinimum length 4 to 30 (Okta recommends at least 12); common password check against one million commonly used passwords; restricted words via expression language; history of 1 to 30. For AD-sourced users, AD enforces length and complexity

Where a directory and an identity provider both validate a password, the user has to satisfy both, so align them or the stricter one decides. Service accounts and other non-human identities often sit outside interactive password policy entirely; long random secrets from a vault, or no password at all, are the better hardening for them. See the How to find AD accounts with password never expires.

Implementation steps

  1. Read the current policy everywhere it lives. Directory default and fine-grained policies, identity provider, cloud accounts, Linux PAM, databases and appliances with local users.
  2. Turn on screening first. Add a blocklist of common and breached passwords plus organisation terms (company, product and place names). This gives the largest gain for the least user impact.
  3. Raise the minimum length. Use 15 for password-only access and at least 8 where a second factor is always required, following SP 800-63B-4. Use fine-grained policies or groups to apply longer minimums to privileged accounts first.
  4. Remove what works against you. Drop composition rules and scheduled expiry where your regulators and auditors accept the NIST position; keep forced change on evidence of compromise.
  5. Pilot with a ring. Apply to IT staff first, watch help desk volumes and rejection messages, then widen. Rollback is reverting the policy object; passwords already set are unaffected.
  6. Bring existing passwords up to standard. New rules usually apply at the next change. Use a breached-password audit to find accounts that need a targeted reset rather than resetting everyone.
  7. Fix storage. Confirm that applications you build use a salted password hashing scheme with a high cost factor.

How to verify it works

  • Rejection tests: try to set a known common password, a password containing the company name, and a 14-character password on a password-only system. Each should be rejected with a reason.
  • Resultant policy check: for a sample of users, admins and service accounts, read the policy that actually applies (in AD, the resultant password settings object) rather than the default.
  • Authorised offline audit: with written approval and strict handling of the hash extract, test directory hashes against a breached-password corpus. This measures the population, which is what attackers face. See the Hashcat and Password Cracking for Defenders Guide.
  • Spray telemetry: watch failed sign-ins spread across many accounts from few sources; successful sign-ins in that pattern mean a sprayed password survived.
MetricWhat it showsExample target (illustrative, not a standard)
Accounts whose password appears in a breached-password corpusReal exposure to spraying and stuffingFalling to zero for privileged accounts
Share of accounts whose password was set after the current policyHow much of the population the policy actually coversRising steadily
Passwords recovered in an authorised cracking audit within a fixed time budgetResistance to offline crackingFalling each audit
Accounts with password never expires and no owner (non-human)Stale secrets outside policyEach one owned or replaced
Successful sign-ins following spray patternsWhether screening removes the sprayed valuesZero

Limits, bypasses and failure patterns

  • Weak minimums on customer-facing logins: the 23andMe breach page records an eight-character minimum with little else, and passwords reused from other breaches. Breached-password screening, rate limiting and MFA were the missing layers; length alone would not have stopped reused passwords.
  • Policy set, population unchanged: rules that apply only at the next change leave old weak passwords in place for years when expiry is turned off. Pair the change with an audit and targeted resets.
  • Complexity theatre: mixed-class rules and 90-day expiry produce patterns that cracking rules model well, the outcome D3FEND's own considerations warn about.
  • Root and break-glass outside policy: local root, cloud root users and emergency accounts often bypass the managed policy. Set them by hand to long random values held in a vault.
  • Strong but stolen: phishing, infostealers and keyloggers capture the password whatever its strength. D3-SPP needs D3-MFA Multi-factor Authentication beside it; see the Password Spraying and Credential Stuffing Defence Guide.

Framework mapping

FrameworkReferenceRelationship to D3-SPP
MITRE ATT&CKM1027 Password Policies; M1026 Privileged Account ManagementThe mitigations D3FEND links to D3-SPP
NIST SP 800-53 Rev 5IA-5(1) Password-based AuthenticationBlocklist screening, salted hashing and change on compromise
NIST SP 800-63B-4Section 3.1.1 PasswordsThe current verifier requirements summarised above
NIST CSF 2.0PR.AA-01Identities and credentials are managed by the organisation
ISO/IEC 27001:2022Annex A 5.17 Authentication informationAllocation and management of authentication information

Practitioner checklist

  • Inventory every place a password policy is set, including Linux PAM, cloud accounts and appliances.
  • Enable breached and common password screening with organisation-specific terms.
  • Set a 15-character minimum for password-only access and at least 8 where MFA is always required.
  • Allow at least 64 characters, spaces, Unicode, paste and password managers.
  • Remove composition rules and scheduled expiry where your compliance obligations allow; force change on compromise.
  • Apply stricter fine-grained policies to privileged accounts and set root and break-glass passwords by hand to long random values.
  • Run an authorised breached-password audit after the change and reset the accounts it finds.
  • Confirm application password storage uses salted hashing with a high cost factor.

Standards and references

Related NHI Mgmt Group resources: Password Policy Guide (NIST-aligned) · Breached password checks · Account Lockout and Brute-Force Protection Guide · MITRE D3FEND Guide

PDF for subscribers

Take this guide with you

Every section, table and checklist in one PDF, with links to the sources and related guides. Subscribe to our weekly NHI & AI Identity Journal and we’ll email you a download link.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 12 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org

PDF Downloads for Newsletter Subscribers

Get the guide

Enter your details and we’ll email you a download link.

The full guide is free to read online. The PDF is a thank you for subscribing.

Fill in all fields marked * and tick the PDF box to continue.