Knowledge is Power

Sitewide Search

Search Bare Metal Cyber

Search courses, individual lessons, wiki entries, books, podcasts, magazine articles, Daily Cyber News, and Darwin.

MITRE D3FEND™ Learning Center

D3-SCA — System Call Analysis

Analyzing system calls to determine whether a process is exhibiting unauthorized behavior.

40Enterprise inferred
7ICS inferred
1Direct child
1Parent technique

Detect · D3FEND ontology 1.6.0 · Active

Open official technique ↗
Official D3FEND definition

Definition

Analyzing system calls to determine whether a process is exhibiting unauthorized behavior.

Official D3FEND knowledge-base content

How it works

System calls are APIs between a user application and the operating system [1].

By analyzing a process's use of these APIs, it is, in some cases, possible to ascertain whether a program is exhibiting unauthorized behavior, including trying to escalate its privileges.

Gathering System Calls

A common method to capture system calls is to use kernel APIs to hook [2] a process's system call invocations.

The Linux system call `ptrace` tracks other system calls in a process and allows their alteration; this is made use of by GDB. `strace` utilizes `ptrace` and will print to stdout each system call invoked. Other applications record this data in local or remote databases.

The log entry for each system call, which may reference additional information such as the date and time, and the process tree for the process which made the system call, is relayed, in real time or post-facto, to an analysis module which consults a catalog or model to determine whether the distribution matches a known-good or known-bad pattern.

Analysis

System calls are analyzed with a variety of methods. Some analytics look for specific sequences of instructions, others may apply statistical methods to identify abnormal behavior. Sequences of instructions can be abstracted into conceptually higher order user activities, for example:

  • An attacker executes many system calls in a short period of time, with several sequences which could be used to escalate privileges.
  • Getting the contents from a URL, writing to a new file, and then executing the same file.
  • A ransomware program which either uses a loop or creates many threads to: read a specified file, encrypt its contents, create an output file with a similar name to the original file, and delete the unencrypted original.

Considerations

[1] [Syscalls](http://man7.org/linux/man-pages/man2/syscalls.2.html)

[2] [Hooking](http://dbpedia.org/resource/Hooking)

  • Duplicative or extraneous system calls may be added to malware to defeat analytics.
  • Malware could replace API hooking instructions to allow system calls to be made without being monitored.
  • A model built from a training set of system calls and related data may not be updated fast enough to detect new threats.
Bare Metal Cyber interpretation

Implementation perspective

System Call Analysis should be treated as a technical defensive capability rather than a product checkbox. In practice, teams should define the protected scope, the conditions under which the technique acts, and the observable evidence that demonstrates the intended behavior. For this technique, likely engineering context includes System Call.

Use the technique to identify suspicious, unauthorized, or abnormal activity through observable evidence and repeatable analysis.

Questions to ask

  • Which events, states, or artifacts must be observed for the analysis to work?
  • What analytic logic, threshold, comparison, or signature turns observations into a finding?
  • How are expected false positives, blind spots, and environmental variations documented?
  • Who receives the result, and what action is expected when the technique produces a finding?

Evidence and validation

  • Telemetry and data-source configuration records
  • Analytic logic, thresholds, signatures, and version history
  • Test cases demonstrating expected positive and negative results
  • Alert, triage, escalation, and tuning records

Common failure patterns

  • Required telemetry is missing, delayed, or transformed in a way that invalidates the analysis.
  • The technique produces alerts without an accountable triage and response process.
  • Detection coverage is claimed from product deployment without testing the relevant analytic behavior.

This implementation perspective is original Bare Metal Cyber educational content. It does not replace the official D3FEND definition or establish that a specific product implements the technique.

Ontology hierarchy

Technique hierarchy

Top-level family

Parent techniques

Direct child techniques

D3FEND graph relationships

Artifacts and ontology entities

These relationships describe how D3FEND connects a defensive technique to artifacts or other ontology entities. They describe graph semantics, not a product certification.

Explicit technique relationships

analyzesSystem Call
Show inferred artifact relationship paths (1)
System Call AnalysisanalyzesSystem Call
Inferred and experimental

Offensive-technique relationships

These relationships are generated from D3FEND graph paths and are explicitly experimental. They should be treated as hypotheses for defensive analysis—not as proof that the technique prevents, detects, or removes an offensive behavior.

ATT&CK Enterprise (40)
T1007System Service DiscoveryDiscoveryT1010Application Window DiscoveryDiscoveryT1012Query RegistryDiscoveryT1016System Network Configuration DiscoveryDiscoveryT1018Remote System DiscoveryDiscoveryT1033System Owner/User DiscoveryDiscoveryT1036.005Match Legitimate Resource Name or LocationStealthT1047Windows Management InstrumentationExecutionT1049System Network Connections DiscoveryDiscoveryT1053Scheduled Task/JobExecution, Persistence, Privilege EscalationT1055.001Dynamic-link Library InjectionPrivilege Escalation, StealthT1055.003Thread Execution HijackingPrivilege Escalation, StealthT1055.004Asynchronous Procedure CallPrivilege Escalation, StealthT1055.005Thread Local StoragePrivilege Escalation, StealthT1055.008Ptrace System CallsPrivilege Escalation, StealthT1055.013Process DoppelgängingPrivilege Escalation, StealthT1055.014VDSO HijackingPrivilege Escalation, StealthT1057Process DiscoveryDiscoveryT1074.001Local Data StagingCollectionT1082System Information DiscoveryDiscoveryT1106Native APIExecutionT1113Screen CaptureCollectionT1124System Time DiscoveryDiscoveryT1134.004Parent PID SpoofingPrivilege Escalation, StealthT1140Deobfuscate/Decode Files or InformationStealthT1218.001Compiled HTML FileStealthT1218.002Control PanelStealthT1218.003CMSTPStealthT1218.005MshtaStealthT1218.011Rundll32StealthT1218.013MavinjectStealthT1220XSL Script ProcessingStealthT1497.003Time Based ChecksDiscovery, StealthT1505.001SQL Stored ProceduresPersistenceT1518.001Security Software DiscoveryDiscoveryT1546.009AppCert DLLsPersistence, Privilege EscalationT1546.010AppInit DLLsPersistence, Privilege EscalationT1548.002Bypass User Account ControlPrivilege EscalationT1548.004Elevated Execution with PromptPrivilege EscalationT1555.003Credentials from Web BrowsersCredential Access
ATT&CK for ICS (7)
T0834Native APIExecution
T0846Remote System DiscoveryDiscovery
T0852Screen CaptureCollection
T0863User ExecutionExecution
T0888Remote System Information DiscoveryDiscovery
T0894System Binary Proxy ExecutionEvasion
T0895Autorun ImageExecution
Source record

Authoritative sources