T1195.003 Sumo Logic CSE · Sumo

Detect Compromise Hardware Supply Chain in Sumo Logic CSE

Adversaries may manipulate hardware components in products prior to receipt by a final consumer for the purpose of data or system compromise. By modifying hardware or firmware in the supply chain, adversaries can insert a backdoor into consumer networks that may be difficult to detect and give the adversary a high degree of control over the system. Hardware backdoors may be inserted into various devices such as servers, workstations, network infrastructure, or peripherals. Real-world examples include UEFI firmware implants (LoJax, CosmicStrand, BlackLotus), compromised network interface card firmware (Equation Group capabilities), and server baseboard management controller (BMC) implants. Detection is inherently constrained because the compromise predates the device's arrival, often manifesting as unexpected kernel-mode drivers, firmware modification activity, anomalous out-of-band management traffic, or covert network channels established through compromised NIC or BMC firmware. Defenders should focus on firmware integrity monitoring, hardware inventory baselining, driver signing verification, and anomalous network activity from system-level processes.

MITRE ATT&CK

Tactic
Initial Access
Technique
T1195 Supply Chain Compromise
Sub-technique
T1195.003 Compromise Hardware Supply Chain
Canonical reference
https://attack.mitre.org/techniques/T1195/003/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
(_sourceCategory=*windows* OR _sourceName=*WinEventLog*)
| where _raw matches /EventCode[>=]+(1|6|7045)/
| parse regex "(?i)EventCode[^>]*>(?P<event_code>\d+)" nodrop
| parse regex "(?i)ImageLoaded[^>]*>(?P<image_loaded>[^<]+)" nodrop
| parse regex "(?i)(?<![a-zA-Z])Image[^>]*>(?P<proc_image>[^<]+)" nodrop
| parse regex "(?i)CommandLine[^>]*>(?P<command_line>[^<]+)" nodrop
| parse regex "(?i)Signed[^>]*>(?P<signed>[^<]+)" nodrop
| parse regex "(?i)ServiceName[^>]*>(?P<service_name>[^<]+)" nodrop
| parse regex "(?i)ServiceType[^>]*>(?P<service_type>[^<]+)" nodrop
| parse regex "(?i)ImagePath[^>]*>(?P<image_path>[^<]+)" nodrop
| where event_code in ("1", "6", "7045")
| eval lower_cmdline = toLowerCase(if(isNull(command_line), "", command_line))
| eval lower_image = toLowerCase(if(!isNull(image_loaded), image_loaded, if(!isNull(proc_image), proc_image, "")))
| eval lower_service_type = toLowerCase(if(isNull(service_type), "", service_type))
| eval lower_image_path = toLowerCase(if(isNull(image_path), "", image_path))
| eval is_firmware_tool = if(event_code = "1" and (
    contains(lower_cmdline, "afuwin") or contains(lower_cmdline, "afudos") or
    contains(lower_cmdline, "fpt.exe") or contains(lower_cmdline, "fptw64") or
    contains(lower_cmdline, "h2offt") or contains(lower_cmdline, "winphlash") or
    contains(lower_cmdline, "phlash16") or contains(lower_cmdline, "amifldrv64") or
    contains(lower_cmdline, "meinfo") or contains(lower_cmdline, "flashrom") or
    contains(lower_cmdline, "fwupdmgr") or contains(lower_cmdline, "chipsec_main")), 1, 0)
| eval is_suspicious_driver_path = if(event_code = "6" and (
    contains(lower_image, "\\temp\\") or contains(lower_image, "\\appdata\\") or
    contains(lower_image, "\\programdata\\") or contains(lower_image, "\\users\\public\\") or
    contains(lower_image, "\\windows\\temp\\")), 1, 0)
| eval is_unsigned_driver = if(event_code = "6" and (signed = "false" or signed = "0" or signed = "no"), 1, 0)
| eval is_kernel_driver_svc = if(event_code = "7045" and
    (contains(lower_service_type, "kernel mode driver") or contains(lower_service_type, "file system driver")) and
    (contains(lower_image_path, "\\temp\\") or contains(lower_image_path, "\\appdata\\") or
     contains(lower_image_path, "\\programdata\\") or contains(lower_image_path, "\\windows\\temp\\")), 1, 0)
| where is_firmware_tool = 1 or is_suspicious_driver_path = 1 or is_unsigned_driver = 1 or is_kernel_driver_svc = 1
| eval detection_category = if(is_firmware_tool = 1, "Firmware Flash Utility Execution",
    if(is_suspicious_driver_path = 1 and is_unsigned_driver = 1, "Unsigned Driver From Suspicious Path",
    if(is_suspicious_driver_path = 1, "Driver From Non-Standard Path",
    if(is_kernel_driver_svc = 1, "Kernel Driver Service From Suspicious Path", "Unknown"))))
| eval risk_score = is_firmware_tool + is_suspicious_driver_path + is_unsigned_driver + is_kernel_driver_svc
| table _messageTime, _sourceHost, detection_category, risk_score, event_code, proc_image, image_loaded, command_line, signed, service_name, service_type, image_path
| sort by risk_score desc, _messageTime desc
high severity medium confidence

Sumo Logic query detecting T1195.003 hardware supply chain compromise using Sysmon and Windows System event XML parsing. Identifies firmware flash tool execution (EventCode 1) via command line substring matching, unsigned or suspicious-path kernel driver loads (EventCode 6), and kernel driver service installation from writable paths (EventCode 7045). Risk scoring accumulates flags for prioritized triage.

Data Sources

Windows Sysmon via Sumo Logic collectorWindows System Event Log via Sumo Logic collector

Required Tables

XmlWinEventLog:Microsoft-Windows-Sysmon/OperationalWinEventLog:System

False Positives & Tuning

  • Enterprise firmware update management platforms (Ivanti Neurons, Tanium Patch) deploying BIOS or NIC firmware updates through system management agents that use non-standard staging paths
  • OEM hardware lifecycle management tools (Dell Command Update, HP Support Assistant) that temporarily stage and execute flash utilities in AppData or ProgramData during update workflows
  • Platform security teams running authorized firmware integrity tools (flashrom, chipsec) against endpoints as part of hardware supply chain verification audits
Download portable Sigma rule (.yml)

Other platforms for T1195.003


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Firmware Inventory Tool Execution (Read-Only Audit)

    Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'Win32_BIOS' and 'Win32_BaseBoard'. Security Event ID 4688 (if command line auditing enabled). Note: WMI queries also generate Event ID 4688 for wmiprvse.exe child processes.

  2. Test 2Simulate Firmware Flash Tool Execution From Temp Directory

    Expected signal: Sysmon Event ID 1: Process Create with Image=C:\Windows\Temp\AFUWINx64.EXE. Security Event ID 4688 with NewProcessName=C:\Windows\Temp\AFUWINx64.EXE. The OriginalFileName in PE headers will show cmd.exe (indicating the binary was renamed), which is an additional forensic signal.

  3. Test 3Inject Rogue PCI Device Registry Key

    Expected signal: Sysmon Event ID 12 (Registry Key Create): TargetObject=HKLM\SYSTEM\CurrentControlSet\Enum\PCI\VEN_DEAD&DEV_BEEF&SUBSYS_00000000&REV_00, Image=powershell.exe. Sysmon Event ID 13 (Registry Value Set): TargetObject containing DeviceDesc. DeviceRegistryEvents in MDE will record ActionType=RegistryKeyCreated with InitiatingProcessFileName=powershell.exe.

  4. Test 4Install Kernel Driver Service From Temp Path

    Expected signal: Windows System Event ID 7045 (New Service Installed): ServiceName=HWImplantTestDrv, ServiceType=kernel mode driver, StartType=demand start, ImagePath=C:\Windows\Temp\hw_implant_test.sys. Security Event ID 4697 (A service was installed in the system). The ImagePath pointing to \Windows\Temp\ is the primary anomaly indicator.

  5. Test 5Simulate BMC/IPMI Network Reconnaissance From Management Interface

    Expected signal: Sysmon Event ID 1: Process Create with Image=curl.exe, User=SYSTEM (or NT AUTHORITY\SYSTEM). Sysmon Event ID 3: Network Connection attempted from curl.exe running as SYSTEM to 127.0.0.1:9876. DeviceNetworkEvents in MDE: InitiatingProcessAccountName=SYSTEM, RemotePort=9876.

Unlock Pro Content

Get the full detection package for T1195.003 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections