Skip to content

feat(compliance): add MITRE D3FEND Azure compliance mapping#10810

Open
s1ns3nz0 wants to merge 1 commit intoprowler-cloud:masterfrom
s1ns3nz0:feat/azure-mitre-d3fend-compliance
Open

feat(compliance): add MITRE D3FEND Azure compliance mapping#10810
s1ns3nz0 wants to merge 1 commit intoprowler-cloud:masterfrom
s1ns3nz0:feat/azure-mitre-d3fend-compliance

Conversation

@s1ns3nz0
Copy link
Copy Markdown

Context

MITRE D3FEND is a knowledge graph of cybersecurity countermeasure techniques — the defensive counterpart to MITRE ATT&CK. While Prowler already maps ATT&CK offensive techniques, this PR adds D3FEND to map Azure checks to defensive countermeasures.

Related to #10801 (Shin-723's D3FEND MVP with 4 techniques). This PR expands coverage to 18 techniques across 5 D3FEND tactics, mapping 164 of 167 Azure checks (98.2%).

Co-authored with @Shin-723.

Description

Adds prowler/compliance/azure/mitre_d3fend_azure.json with 18 D3FEND techniques:

Tactic Techniques Checks
Harden (7) MFA, Credential Rotation, Disk/File/Message Encryption, Software Update, App Config Hardening 52
Detect (4) Platform Monitoring, Network Traffic Analysis, OS Monitoring, User Behavior Analysis 51
Isolate (5) Inbound Traffic Filtering, Network Isolation, User Account Permissions, Executable Allowlisting, Encrypted Tunnels 45
Model (1) Asset Vulnerability Enumeration 10
Restore (1) Restore Object 7

All technique IDs and descriptions validated against the official D3FEND ontology at https://d3fend.mitre.org/.

Uses Generic_Compliance_Requirement_Attribute model — no code changes needed beyond the JSON file and tests.

Tests adapted from #10801:

  • test_load_mitre_d3fend_azure_framework — validates framework loading with 18 techniques
  • test_get_check_compliance_azure_mitre_d3fend — validates compliance output engine

Steps to review

  1. Review prowler/compliance/azure/mitre_d3fend_azure.json for technique-to-check mapping accuracy
  2. Verify technique IDs at https://d3fend.mitre.org/technique/d3f:{TechniqueName}
  3. Run python3 -m pytest tests/lib/check/compliance_check_test.py tests/lib/outputs/compliance/compliance_test.py -v
  4. Run python3 -m prowler azure --az-cli-auth --compliance mitre_d3fend_azure --verbose

Checklist

SDK/CLI

  • Are there new checks included in this PR? No — this PR only adds a compliance framework JSON and tests. No new checks or permission changes.

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Add MITRE D3FEND defensive countermeasure framework mapping for Azure
with 18 techniques across 5 tactics (Harden, Detect, Isolate, Model,
Restore), covering 164 of 167 Azure checks (98.2%).

Included D3FEND techniques:
- Harden: MFA, Credential Rotation, Disk/File/Message Encryption,
  Software Update, Application Configuration Hardening
- Detect: Platform Monitoring, Network Traffic Analysis, OS Monitoring,
  User Behavior Analysis
- Isolate: Inbound Traffic Filtering, Network Isolation, User Account
  Permissions, Executable Allowlisting, Encrypted Tunnels
- Model: Asset Vulnerability Enumeration
- Restore: Restore Object

Tests adapted from Shin-723's MVP (PR prowler-cloud#10801) and expanded for full
18-technique coverage.

Co-authored-by: Shin-723 <72019064+Shin-723@users.noreply.github.com>
@s1ns3nz0 s1ns3nz0 requested review from a team as code owners April 21, 2026 04:07
@github-actions github-actions Bot added compliance Issues/PRs related with the Compliance Frameworks community Opened by the Community labels Apr 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Opened by the Community compliance Issues/PRs related with the Compliance Frameworks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant