kevmap

TechniquesT1027.014 › AN0921

AN0921 Analytic 0921

macOS · attack.mitre.org · ATT&CK Enterprise v19.2

<p>Tracks modification of executables or interpreter payloads (e.g., Mach-O, dylib) that mutate across runs—using scripting engines, JIT compilers, or side-loaded plugins.</p>
Detects
T1027.014 Polymorphic Code
Part of
DET0324 Detection Strategy for Polymorphic Code Mutation and Execution

Log sources and channels

Exactly as MITRE states them in x_mitre_log_source_references. Where a channel is vague, it is vague in the source; kevmap does not tidy it.

Log sourceChannelData component
macos:unifiedlogcode signature/memory protectionDC0034 Process Metadata
fs:fsusagefile open/writeDC0039 File Creation
macos:endpointsecurityES_EVENT_TYPE_NOTIFY_EXECDC0032 Process Creation
macos:endpointsecurityES_EVENT_TYPE_NOTIFY_MMAPDC0020 Process Modification

Mutable elements

Parameters MITRE marks as environment-specific. These are the knobs you are expected to tune; they are why an analytic is not a rule.

FieldDescription
ScriptEnginePatternsDetection may vary based on whether Python/Swift/AppleScript is used to mutate payloads.
MachOEntropyThresholdEntropy tuning based on expected baseline for system vs user binaries.
SignedBinaryChangeRateHelps flag apps that change but maintain signed status across invocations.