-
-
Notifications
You must be signed in to change notification settings - Fork 218
Add AMSI telemetry support via a new AmsiScanBuffer event type #706
Copy link
Copy link
Open
Labels
needs: configIndicates the issue requires changes in the config file/flagsIndicates the issue requires changes in the config file/flagsneeds: docsIndicates that the issue needs documentation updatesIndicates that the issue needs documentation updatesscope: events/telemetryAnything related to kernel eventsAnything related to kernel eventstype: featureIntroduces a new functionalityIntroduces a new functionality
Description
Metadata
Metadata
Assignees
Labels
needs: configIndicates the issue requires changes in the config file/flagsIndicates the issue requires changes in the config file/flagsneeds: docsIndicates that the issue needs documentation updatesIndicates that the issue needs documentation updatesscope: events/telemetryAnything related to kernel eventsAnything related to kernel eventstype: featureIntroduces a new functionalityIntroduces a new functionality
Motivation
Extend Fibratus's detection capabilities by obtaining AMSI (Antimalware Scan Interface) telemetry, which captures buffers submitted for scanning by AMSI-aware hosts (most notably PowerShell) before they're executed.
Expectation
Fibratus gains a new AmsiScanBuffer event type, sourced from the
Microsoft-Antimalware-Scan-InterfaceETW provider, that can be used to detect PowerShell cmdlet execution and any other activity surfaced through AMSI scanning (e.g. obfuscated/deobfuscated script content, dynamic code execution via Invoke-Expression, in-memory .NET assembly loading).Proposal
Microsoft-Antimalware-Scan-InterfaceETW provider and handle itsAmsiScanBuffereventParamDecoder, consistent with how other ETW events are decoded in FibratusAmsiScanBuffereventAdditional context
The scanned buffer/content itself is the highest-value field for detection (e.g. matching known malicious PowerShell patterns), so decoding it correctly, including any length/session/correlation fields tying scans to a process, should be a priority