Join our Newsletter — 33% off our NHI Course
Home› Guides› D3-SCA System Call Analysis: What It Detects, Which…
Guide SOC & Detection Engineering

D3-SCA System Call Analysis: What It Detects, Which ATT&CK Techniques It Counters 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 13 min read
On this page

Every meaningful action a process takes, from opening a file to writing into another process's memory, ends up as a request to the kernel, and that request stream is one of the hardest things for malicious code to hide. MITRE D3FEND catalogues the defensive use of that stream as D3-SCA System Call Analysis, a Detect tactic countermeasure that sits under Process Analysis (D3-PA). D3FEND defines it as analysing system calls to determine whether a process is exhibiting unauthorised behaviour. This card explains how the countermeasure works on Windows and Linux, which ATT&CK techniques D3FEND relates it to, how to deploy it without drowning in telemetry, and how to prove it fires. It is written for detection engineers, EDR owners and Linux platform teams.

Key takeaways

  • It watches the kernel boundary. D3-SCA analyses the system call artefact: the calls a process makes to the operating system, their arguments and their order.
  • Sequences beat single calls. D3FEND's own examples are behaviour chains, such as fetch a URL, write a new file, execute that file, rather than one suspicious API.
  • Collection method decides what you can trust. User-mode hooks can be removed by the code being watched; kernel sensors (ETW providers, eBPF, kernel audit) are harder to blind but cost more to run.
  • Mappings are broad. D3FEND relates D3-SCA to process injection, signed binary proxy execution, UAC bypass, AppInit and AppCert DLLs and many discovery techniques, all inferred through the System Call artefact.
  • Verification is mandatory. Benign test harnesses, CAR analytics and counts of rule hits per host show whether the sensor and the logic both work.

D3-SCA at a glance

FieldValue
D3FEND IDD3-SCA System Call Analysis
TacticDetect
Parent techniqueD3-PA Process Analysis
Child techniqueD3-FCA File Creation Analysis (properties of file create system call invocations)
Digital artefact analysedSystem Call (synonym: syscall), the programmatic way a program requests a kernel service
Typical data sourcesEDR kernel sensors, Windows ETW and Sysmon (process access, remote thread, image load), Linux audit subsystem, eBPF based runtime sensors, seccomp in LOG mode
EffortMedium to high: sensor deployment is easy, tuning and baselining are the real cost
Main limitationVolume and evasion: hooks can be bypassed, padding calls can disguise sequences, and models age

How it works

D3FEND describes two stages. First, gather: kernel APIs are used to hook a process's system call invocations. On Linux, ptrace lets one process trace and alter another's system calls (debuggers such as GDB use it, and strace builds on it to print each call). Production sensors record the same information to local or remote stores. Second, analyse: each record, with context such as time and the process tree, goes to an analysis module that compares it against a catalogue of known good or known bad patterns, either as exact sequences or by statistical deviation.

D3FEND gives three examples of sequences that rise to user activity worth alerting on:

  • Privilege escalation bursts: many calls in a short window, including several sequences that could be used to escalate privileges.
  • Download and run: fetching content from a URL, writing it to a new file and then executing that same file.
  • Ransomware loop: a loop or many threads that read a file, encrypt it, write a similarly named output and delete the original.

Collection options by platform

PlatformMechanismWhat it gives youWatch out for
WindowsSysmon Event ID 8 CreateRemoteThreadSource and target process plus StartAddress, StartModule and StartFunction of the new threadStartModule and StartFunction are inferred and can be empty when the address is outside loaded modules
WindowsSysmon Event ID 10 ProcessAccessOne process opening another, the precursor to memory reads such as LSASS accessMicrosoft advises filters that remove expected accesses, as diagnostic tools generate heavy volume
WindowsSysmon Event ID 7 Image loaded, Event ID 25 ProcessTamperingDLL loads and process image changesEvent 7 is off by default (enable with -l) and is very noisy unfiltered
WindowsEDR kernel and ETW sensorsWider API coverage than Sysmon, often with in-line blockingUser-mode hook sensors can be unhooked by the monitored process
LinuxKernel audit (auditctl -a always,exit -F arch=b64 -S ...)Per-syscall records with a searchable key (-k)Every syscall rule is evaluated for every call, so rule count drives overhead
LinuxeBPF runtime sensors (for example the CNCF Falco project's modern eBPF probe)Streaming syscall events with container and process contextNeeds BTF and BPF ring buffer support; the sensor itself needs privileged capabilities
Linuxseccomp filter with SECCOMP_RET_LOGLog of calls a workload makes, useful for building an allow listLogged only if log is in /proc/sys/kernel/seccomp/actions_logged; ALLOW cannot be logged

See the Sysmon Guide, the Linux Logging and auditd for Defenders Guide and the eBPF Security Guide for sensor setup detail.

Where identity fits

Credential theft from memory is a system call story: a process opening LSASS with read access, or creating a remote thread inside it, is how service account and machine credentials leave a Windows host. Three of the CAR analytics D3FEND cites for D3-SCA are exactly this (CAR-2020-05-001 MiniDump of LSASS, CAR-2021-05-011 Create Remote Thread into LSASS, CAR-2019-08-001 Credential Dumping via Windows Task Manager). On Linux and in containers, a workload process reading a mounted token or secret file and then opening an outbound connection is a sequence worth a rule, because that is how a stolen workload identity is typically used.

ATT&CK techniques D3FEND relates to D3-SCA

Relationship type: inferred, not a direct mapping. D3FEND does not map ATT&CK techniques to D3-SCA directly; it infers each relationship because the technique and the countermeasure involve the same digital artefact (System Call). An inferred relationship shows relevance, not coverage.

The table shows a selection of the techniques on the D3FEND D3-SCA page, each checked against ATT&CK v20 and grouped by ATT&CK v20 tactic. The evidence column is an NHI Mgmt Group illustration of what to look for, not D3FEND content.

ATT&CK IDNameExample system call evidence (NHI Mgmt Group illustration)
Stealth and privilege escalation: process injection
T1055.001Dynamic-link Library InjectionVirtualAllocEx, WriteProcessMemory, then CreateRemoteThread starting at LoadLibrary (CAR-2013-10-002)
T1055.003Thread Execution HijackingSuspend, context change and resume of a thread in another process
T1055.004Asynchronous Procedure CallRemote memory write followed by APC queueing to a foreign thread
T1055.005Thread Local StorageRemote write that alters TLS callbacks before thread start
T1055.008Ptrace System Callsptrace attach to an unrelated process outside debugging workflows
T1055.013Process DoppelgängingTransacted file operations followed by section and process creation
T1055.014VDSO HijackingMemory mapping changes affecting the vDSO of another process
T1134.004Parent PID SpoofingProcess creation with an explicit parent attribute that differs from the creator
Stealth: proxy execution, masquerading and evasion
T1218.001, .002, .003, .005, .011, .013Compiled HTML File, Control Panel, CMSTP, Mshta, Rundll32, MavinjectSigned binary followed by network, file write or remote thread calls it does not normally make
T1036.005Match Legitimate Resource Name or LocationSystem binary name executing from an unexpected path
T1497.003Time Based ChecksSleep and timing calls clustered before payload behaviour
Privilege escalation and persistence
T1548.002Bypass User Account ControlElevated process spawned by an auto-elevating binary with a modified environment
T1548.004Elevated Execution with PromptmacOS authorisation API calls that prompt for administrator credentials
T1546.009, T1546.010AppCert DLLs, AppInit DLLsUnexpected DLL loads into many processes at creation
T1505.001SQL Stored ProceduresDatabase server process spawning shells or writing files
Discovery, collection and credential access
T1518.001Security Software DiscoveryEnumeration of processes, services and drivers of security tools
T1074.001Local Data StagingMany reads followed by writes into one archive or directory
T1555.003Credentials from Web BrowsersNon-browser process opening browser credential stores

D3FEND also relates D3-SCA to T1106 Native API, T1047 Windows Management Instrumentation, T1053 Scheduled Task/Job, T1140 Deobfuscate/Decode Files or Information, T1220 XSL Script Processing and a set of discovery techniques, including T1007, T1016, T1018, T1033, T1049, T1057 and T1082. For the defensive detail behind the main ones, see the T1055 Process Injection Defensive Guide, the T1218 System Binary Proxy Execution Defensive Guide, MITRE ATT&CK T1548 Abuse Elevation Control Mechanism and the MITRE ATT&CK T1134 Access Token Manipulation guide.

Choosing an approach

ApproachBest whenTrade-off
Signature sequences (known bad chains)You need high-confidence alerts for injection and credential accessMisses novel chains; attackers vary call order
Allow list per workload (seccomp LOG then enforce)Containers and services with a stable, narrow call setBreaks on upgrades unless profiles are regenerated; kernel docs stress seccomp alone is not a sandbox
Statistical or model basedLarge fleets with good baselines and a data science functionD3FEND notes models trained on old data may lag new threats
Vendor EDR behavioural engineMost Windows and mixed estatesLogic is opaque; you must test it rather than read it

Small organisations: rely on EDR behavioural detection plus a filtered Sysmon config for events 8 and 10, and keep Linux audit rules to a short, high value set. Large organisations: add per-workload syscall profiles in Kubernetes, stream eBPF events to the SIEM and own a detection-as-code library with tests. See the seccomp Guide and the EDR Guide.

Implementation steps

  1. Pick the questions first. Start with three: who opens LSASS, who creates remote threads, which signed binaries make network or write calls. Each maps to rows in the table above.
  2. Deploy the sensor in audit mode. On Windows, enable Sysmon events 8 and 10 with onmatch="exclude" filters for known diagnostic and security tools (exclude rules win over include rules). On Linux, add audit rules with explicit -F arch=b64 and keys, combining calls that share action and fields in one rule as the auditctl manual recommends, and check that no shipped -a never,task rule silences them.
  3. Baseline for two to four weeks. Record which processes legitimately inject or open others: CAR-2013-10-002 notes csrss.exe and host security software as normal sources of remote threads.
  4. Write sequence rules. Express detections as chains with a time window and the process tree, not single events, and tag them with the ATT&CK ID.
  5. Pilot on a ring. Alert only to the detection team for a pilot group; measure false positives per rule per day.
  6. Move to blocking only where proven. Promote to EDR prevention or seccomp enforce mode (for example SECCOMP_RET_ERRNO or SECCOMP_RET_KILL_PROCESS) only for rules with a clean pilot.
  7. Keep rollback simple. Version sensor configs and seccomp profiles in source control so a bad rule is a single revert, and return enforced profiles to LOG first rather than removing them.

How to verify it works

  • Sensor health: every in-scope host reports system call events within the expected interval; alert on silence.
  • Safe emulation: run benign, authorised test harnesses that perform a remote thread creation into a test process you own, and a process access to a dummy target, then confirm the rule fires with the right ATT&CK tag.
  • Analytic parity: compare your rules with the CAR analytics D3FEND cites (CAR-2013-10-002, CAR-2020-05-001, CAR-2021-05-011, CAR-2019-08-001) and record gaps.
  • Tamper test: confirm that stopping or unloading the sensor raises its own alert. See the EDR Evasion and Defence Guide.
MetricTarget signal
Host coveragePercentage of in-scope hosts sending syscall telemetry in the last 24 hours
Rule hit rateAlerts per rule per 1,000 hosts per day, trending down after tuning
True positive ratioShare of D3-SCA alerts confirmed as malicious or policy breaking
Emulation pass rateShare of scheduled tests that produced the expected alert
Dropped eventsSensor-reported drops per host; spikes mean you are blind during load

Limits, bypasses and failure patterns

  • Padding the sequence: D3FEND notes duplicative or extraneous calls can be added to defeat analytics. Use windows and ordering tolerance rather than strict adjacency.
  • Removing the hooks: malware can replace hooking instructions so calls go unmonitored. Prefer kernel-side collection and watch for the unhooking itself. See the Bring Your Own Vulnerable Driver and EDR Killers Guide.
  • Stale models: a model built from old training data may not detect new behaviour; retrain on a schedule and keep signature rules alongside.
  • Over-broad exclusions: excluding a whole directory or a common binary to cut noise creates a hiding place. See the EDR Tuning and Exclusions Management Guide.
  • Unfiltered noise: enabling Sysmon event 7 or audit rules on every call without filters floods the pipeline, and analysts stop looking.
  • Architecture gaps on Linux: rules without arch= or only for b64 miss 32-bit calls, because syscall numbers differ between the two.

Framework mapping

FrameworkReferenceRelevance
NIST SP 800-53 Rev 5SI-4 System MonitoringMonitoring for attacks and unauthorised behaviour on hosts
NIST SP 800-53 Rev 5AU-12 Audit Record GenerationGenerating the syscall audit records
NIST CSF 2.0DE.CM-09Monitoring software and runtime environments for adverse events
NIST CSF 2.0DE.AE-02Analysing events to understand associated activity
MITRE D3FENDD3-PA (parent), D3-FCA (child)Placement in the D3FEND tree

Other children of Process Analysis complement D3-SCA: D3-PSA Process Spawn Analysis, D3-SEA Script Execution Analysis, D3-FAPA File Access Pattern Analysis, D3-PSMD Process Self-Modification Detection, D3-PCSV Process Code Segment Verification, D3-IBCA Indirect Branch Call Analysis, D3-SSC Shadow Stack Comparisons and D3-DQSA Database Query String Analysis. Its own child, D3-FCA File Creation Analysis, narrows the analysis to file create calls. For the framework as a whole, see the MITRE D3FEND Guide.

Practitioner checklist

  • Confirm which sensor collects system call or API events on each platform and whether it works in kernel or user mode.
  • Enable Sysmon events 8 and 10 (or EDR equivalents) with exclude filters for documented legitimate sources.
  • Write Linux audit rules with explicit architecture, keys and combined syscalls, and remove any blanket never rule.
  • Build at least one sequence rule each for LSASS access, remote thread creation and signed binary proxy behaviour.
  • Profile container workloads with seccomp LOG before enforcing allow lists.
  • Run safe emulation tests monthly and track the pass rate.
  • Alert on sensor silence, dropped events and sensor tampering.
  • Review exclusions quarterly and remove any without an owner.

Standards and references

Related NHI Mgmt Group resources: MITRE D3FEND Guide · T1055 Process Injection Defensive Guide · Sysmon Guide · seccomp Guide · EDR 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.