Attackers rarely bring a binary that a hash list will catch; they run PowerShell, inject into trusted processes and abuse signed system tools, so the only reliable signal is what processes actually do. MITRE D3FEND groups the runtime observation of processes under Process Analysis (D3-PA), a technique in the Detect tactic that it describes as observing a running application process and analysing it for behaviours or conditions that may indicate adversary activity, either inside the process or through a third-party monitoring tool. D3-PA has eleven child techniques, from process spawn and lineage analysis through system call, script and database query analysis to hardware-assisted checks such as shadow stack comparison. This guide explains how the family fits together, which telemetry each child needs, how to sequence a rollout and how to measure it. It is written for detection engineers, endpoint owners and SOC leads. Each child has its own page on this site; this page does not repeat them. For D3FEND itself see the MITRE D3FEND Guide.
Key takeaways
- Process Analysis watches behaviour, not identity. It sits above hash and indicator checks on the Pyramid of Pain because attackers find behaviour harder to change than file names or hashes.
- The family has eleven children in two levels. Process Spawn Analysis contains Process Lineage Analysis, and System Call Analysis contains File Creation Analysis; the other nine sit directly under D3-PA.
- Telemetry decides what you can do. Spawn, lineage and file creation analysis run on standard operating system and EDR logs; memory and control-flow checks need agents or processor features.
- Start with process creation, then go deeper. Command-line and parent-child analysis gives the broadest coverage for the least effort, and most published analytics build on it.
- D3FEND's ATT&CK links are broad and inferred. They span injection, privilege escalation, credential access, discovery and persistence, and the site labels them inferred and experimental.
What D3FEND means by Process Analysis
In the D3FEND ontology D3-PA sits directly under Defensive Technique and enables the Detect tactic. Across its children D3FEND relates the family to nine digital artefacts: it analyses Process, Create Process, Process Tree, System Call, Local Resource Access, Stack Frame, Database Query and Script Application Process, and it verifies Process Code Segment. Those artefacts are a useful guide to telemetry: each one is a log source or sensor you either have or need.
Analysis can happen in two places. In-process techniques, such as script engines passing content to a scanner or an application inspecting its own database queries, see decoded content and context. Third-party techniques, such as an EDR agent, Sysmon or the Linux audit subsystem, observe from outside and are harder for the monitored process to disable. Most estates need both.
The child techniques
Every child technique in the D3FEND ontology under D3-PA, as of November 2026. Indented names are children of the row above.
| D3FEND technique | Artefact | One-line purpose |
|---|---|---|
| D3-PSA Process Spawn Analysis | Create Process, Process | Analyse spawn arguments and attributes to find unauthorised processes |
| D3-PLA Process Lineage Analysis | Process, Process Tree | Judge a process by its ancestry and siblings (synonym: Process Tree Analysis) |
| D3-SCA System Call Analysis | System Call | Analyse a process's system calls for unauthorised behaviour |
| D3-FCA File Creation Analysis | Create File | Analyse file create calls, for example in autostart and system locations |
| D3-FAPA File Access Pattern Analysis | Local Resource Access | Detect wipers and ransomware from the pattern of files a process touches |
| D3-SEA Script Execution Analysis | Script Application Process | Hook the script engine to inspect commands before they run |
| D3-DQSA Database Query String Analysis | Database Query | Analyse database queries to detect SQL injection |
| D3-PSMD Process Self-Modification Detection | Process | Detect processes that modify or replace their own code at runtime |
| D3-PCSV Process Code Segment Verification | Process Code Segment | Compare in-memory code segments with a source of truth |
| D3-IBCA Indirect Branch Call Analysis | Processor branch records | Use processor branch recording to detect return-oriented programming |
| D3-SSC Shadow Stack Comparisons | Stack Frame | Compare the call stack with a processor-maintained shadow stack |
The children fall into three tiers by what they need. Log-based (PSA, PLA, FCA, SCA, FAPA) run on process, file and system call telemetry. Engine-hooked (SEA, DQSA) need a hook in the script engine or the data access layer. Memory and control-flow (PSMD, PCSV, IBCA, SSC) need an agent with memory inspection or processor features, and are usually delivered by endpoint products or the platform rather than built in-house.
Telemetry by child technique
The sources below are examples, listed by platform. They are not the only options; endpoint detection products collect equivalent data.
| Child | Windows example | Linux example |
|---|---|---|
| PSA, PLA | Security event 4688 with "Include command line in process creation events" enabled; Sysmon Event ID 1 with command line, parent and ProcessGUID | Audit rule on the execve system call (for example -a always,exit -F arch=b64 -S execve -k exec) |
| SCA | Sysmon Event ID 8 CreateRemoteThread and Event ID 10 ProcessAccess | Audit syscall rules filtered by executable or key |
| FCA, FAPA | Sysmon Event ID 11 FileCreate | Audit file watches and syscall rules on sensitive paths |
| SEA | Antimalware Scan Interface (AMSI), which PowerShell, Windows Script Host, JavaScript, VBScript and Office VBA use to submit content for scanning | Shell and interpreter logging where available |
| PSMD, PCSV | Sysmon Event ID 25 ProcessTampering (raised for hiding techniques such as hollowing) | Agent-based memory integrity checks |
| SSC, IBCA | Processor control-flow features exposed by the operating system | CET user shadow stack (user_shstk in /proc/cpuinfo, enabled per thread by the loader) |
| DQSA | Database audit logs, query firewalls or application-layer query inspection (platform independent) | |
Two details trip up many deployments. Microsoft documents that the Process Command Line field in event 4688 is empty unless the command-line policy setting is enabled. The Linux auditctl manual warns that some systems install a default -a never,task rule that stops new processes being audited, and that arch should precede -S in syscall rules. See the Sysmon Guide.
How to choose, combine and sequence the children
The order below is our recommendation, not a D3FEND requirement. It front-loads the children with the widest coverage and the most published analytics.
- Process creation with command lines (PSA). Turn on full command-line capture on every Windows and Linux host. MITRE's Cyber Analytics Repository (CAR), which D3FEND cites heavily for PSA, provides analytics with a hypothesis, pseudocode and a unit test for each, mapped to ATT&CK.
- Lineage (PLA). Add parent and grandparent context to every process event, keyed on a stable process identifier such as Sysmon's ProcessGUID, so you can flag office applications spawning shells or services launching command interpreters.
- Script inspection (SEA). Make sure the script engines you allow submit content for scanning, so decoded and dynamically generated script is seen, not only the obfuscated launcher. See the T1059 Command and Scripting Interpreter Defensive Guide.
- Sensitive system calls and file creation (SCA, FCA). Watch handle access to credential stores, remote thread creation and writes to autostart locations, filtered to remove expected access.
- Behavioural file patterns (FAPA). Detect mass rename, overwrite or delete patterns typical of ransomware and wipers, ideally with an automatic response.
- Memory and control-flow (PSMD, PCSV, SSC, IBCA). Turn on what your endpoint product and platform provide, and enable shadow stack support for applications built with it. These are hard to build yourself.
- Application-specific (DQSA). Apply to internet-facing applications with databases, alongside parameterised queries in code. See the ORM Security Guide.
Testing and rollback
- Audit volume first: Sysmon's documentation warns that image load and process access logging generate large volumes and should be filtered. Pilot new collection on a small ring, measure events per host per day, then expand.
- Detect before you block: run new behavioural rules as alerts for two to four weeks, tune exclusions with named owners, then enable prevention ring by ring with a documented switch back to alert mode.
- Prove each rule fires: run the CAR unit test or a safe emulation in a test environment and confirm both the event and the alert.
ATT&CK techniques D3FEND relates to Process Analysis
D3FEND relates D3-PA to offensive techniques through the artefacts its children analyse and states that these mappings are "inferred, experimental, and will improve as the knowledge graph grows". The list is long, so the table groups representative entries by tactic using ATT&CK v20 IDs.
| Tactic | Examples D3FEND lists (ATT&CK v20) | Child most involved (our reading) |
|---|---|---|
| Privilege Escalation and Stealth | T1055.001 Dynamic-link Library Injection, T1055.012 Process Hollowing, T1055.013 Process Doppelgänging, T1134.004 Parent PID Spoofing, T1548.002 Bypass User Account Control | SCA, PSMD, PCSV, PLA |
| Stealth | T1218.005 Mshta, T1218.011 Rundll32, T1218.013 Mavinject, T1036.005 Match Legitimate Resource Name or Location | PSA, PLA |
| Credential Access | T1003.001 LSASS Memory, T1003.002 Security Account Manager, T1003.004 LSA Secrets, T1056.004 Credential API Hooking | SCA, PSA |
| Execution | T1047 Windows Management Instrumentation, T1053.005 Scheduled Task, T1106 Native API | PSA, PLA, SCA |
| Persistence | T1505.003 Web Shell, T1505.001 SQL Stored Procedures, T1546.010 AppInit DLLs | PLA, FCA, DQSA |
| Discovery | T1057 Process Discovery, T1518.001 Security Software Discovery, T1497.003 Time Based Checks | PSA |
| Initial Access and Privilege Escalation | T1190 Exploit Public-Facing Application, T1068 Exploitation for Privilege Escalation | DQSA, SSC, IBCA |
D3FEND's page still lists the revoked Impair Defenses entry for disabling tools; its ATT&CK v20 successor is T1685 Disable or Modify Tools, which process analysis helps detect when security agents are stopped or tampered with. For depth on the most common techniques see the T1055 Process Injection Defensive Guide, T1003 OS Credential Dumping and T1685 Disable or Modify Tools Defensive Guide.
Limits and bypasses
- Parent spoofing: T1134.004 lets an attacker set a misleading parent, so lineage rules should also check the creating process where the operating system records it (event 4688 records the Creator Process ID and, from Version 2, the Creator Process Name).
- Native API and direct calls: techniques that avoid common user-mode APIs can bypass hooks, which is why kernel or processor-level sources matter for SCA and SSC.
- Sensor tampering: an attacker with administrative rights can stop or blind a monitoring agent. Alert on sensor health and on gaps in event flow per host.
- Living off the land: signed system tools generate legitimate-looking process events; detection depends on unusual arguments and lineage, not the binary name. See the Living off the Land Guide.
Where identity fits
Every process runs as an identity, and many of the most useful D3-PA detections are really identity detections: a service account spawning an interactive shell, a CI runner starting credential-dumping tools, a web server process running reconnaissance commands. Record the user and logon session on every process event, baseline what each service account normally launches, and alert on departures. Process access to credential stores (SCA) is also the main way stolen machine credentials are harvested from hosts. See the Credential Dumping Guide.
Detection and measurement
Metrics we suggest at NHI Mgmt Group:
- Command-line coverage: percentage of hosts sending process creation events with full command lines.
- Lineage completeness: percentage of process events with resolvable parent context.
- Child coverage: number of the eleven D3-PA children with a working data source and at least one tested rule.
- Emulation pass rate: percentage of tested ATT&CK behaviours that produced both telemetry and an alert.
- Sensor health: percentage of hosts with no unexplained telemetry gap over 24 hours.
- Noise: alerts closed as benign per rule per week, tracked to drive tuning.
Framework mapping
| Framework | Reference | Link to D3-PA |
|---|---|---|
| NIST CSF 2.0 | DE.CM-09, DE.AE-02 | Runtime environments monitored; adverse events analysed |
| NIST SP 800-53 Rev. 5 | SI-4 System Monitoring, AU-12 Audit Record Generation | Process, system call and file telemetry |
| NIST SP 800-53 Rev. 5 | SI-3 Malicious Code Protection, SI-7 Software, Firmware, and Information Integrity, SI-16 Memory Protection | Script scanning, code segment verification and control-flow checks |
| NIST SP 800-53 Rev. 5 | SI-10 Information Input Validation | Database query string analysis |
| ISO/IEC 27001:2022 Annex A | 8.7 Protection against malware, 8.15 Logging, 8.16 Monitoring activities | Endpoint monitoring and logging controls |
| MITRE CAR | Analytics referenced by D3FEND for PSA, PLA and SCA | Ready-made detection logic |
Common failure patterns
- Process events without command lines. The executable name alone cannot separate legitimate PowerShell from malicious PowerShell.
- Collecting everything, analysing nothing. Unfiltered process access and image load logging overwhelms storage and analysts, and rules are never written.
- Lineage keyed on reused process IDs. Without a stable identifier, parent-child joins link unrelated processes and produce wrong conclusions.
- Exclusions that never expire. Broad path or process exclusions added to cut noise become blind spots attackers use. See the EDR Tuning and Exclusions Management Guide.
- Linux and servers left out. Coverage on workstations only misses web servers and build hosts, where web shells and supply chain attacks run.
- No sensor health monitoring. A stopped agent looks identical to a quiet host.
Practitioner checklist
- Enable command-line capture in process creation events on all Windows and Linux hosts.
- Correlate process events on a stable process identifier and keep parent context.
- Map each of the eleven D3-PA children to a data source, rule set and owner.
- Make allowed script engines submit content for scanning.
- Filter process access and file creation telemetry to sensitive targets before scaling.
- Run new rules in alert mode, tune with owners, then enable prevention in rings.
- Test each rule with a CAR unit test or safe emulation and record the result.
- Baseline what each service account launches and alert on new process types.
Standards and references
- MITRE D3FEND: Process Analysis
- MITRE: Cyber Analytics Repository (CAR)
- Microsoft Learn: 4688(S) A new process has been created
- Microsoft Learn: Sysmon
- Microsoft Learn: Antimalware Scan Interface (AMSI)
- Linux man-pages: auditctl(8)
- Linux kernel documentation: Control-flow Enforcement Technology (CET) Shadow Stack
- NIST: SP 800-53 Rev. 5
Related NHI Mgmt Group resources: MITRE D3FEND Guide · EDR Guide · Sysmon Guide · Detection Engineering Guide · Memory Forensics Guide