Modify Firmware: System Firmware

ID Name
T1693.001 System Firmware
T1693.002 Module Firmware

System firmware on modern assets is often designed with an update feature. Older device firmware may be factory installed and require special reprograming equipment. When available, the firmware update feature enables vendors to remotely patch bugs and perform upgrades. Device firmware updates are often delegated to the user and may be done using a software update package. It may also be possible to perform this task over the network.

An adversary may exploit the firmware update feature on accessible devices to upload malicious or out-of-date firmware. Malicious modification of device firmware may provide an adversary with root access to a device, given firmware is one of the lowest programming abstraction layers.[1]

ID: T1693.001
Sub-technique of:  T1693
ⓘ
Platforms: Embedded, Linux, Network Devices, Windows
Version: 1.0
Created: 20 April 2026
Last Modified: 13 October 2026

Procedure Examples

ID Name Description
C0028 2015 Ukraine Electric Power Attack

During the 2015 Ukraine Electric Power Attack, Sandworm Team overwrote the serial-to-ethernet gateways with custom firmware to make systems either disabled, shutdown, and/or unrecoverable. [2]

C0063 2025 Poland Wiper Attacks

During the 2025 Poland Wiper Attacks, the adversaries corrupted the firmware in the Hitachi RTUs resulting in a fault that triggered a reboot loop.[3]

C0041 FrostyGoop Incident

During FrostyGoop Incident, the adversary initiated a firmware downgrade on impacted devices.[4]

S1009 Triton

Triton is able to read, write and execute code in memory on the safety controller at an arbitrary address within the devices firmware region. This allows the malware to make changes to the running firmware in memory and modify how the device operates. [5]

Targeted Assets

ID Asset
A0009 Data Gateway
A0017 Distributed Control System (DCS) Controller
A0016 Firewall
A0002 Human-Machine Interface (HMI)
A0005 Intelligent Electronic Device (IED)
A0003 Programmable Logic Controller (PLC)
A0004 Remote Terminal Unit (RTU)
A0010 Safety Controller
A0015 Switch
A0011 Virtual Private Network (VPN) Server

Mitigations

ID Mitigation Description
M0801 Access Management

All devices or systems changes, including all administrative functions, should require authentication. Consider using access management technologies to enforce authorization on all management interface access attempts, especially when the device does not inherently provide strong authentication and authorization functions.

M0947 Audit

Perform integrity checks of firmware before uploading it on a device. Utilize cryptographic hashes to verify the firmware has not been tampered with by comparing it to a trusted hash of the firmware. This could be from trusted data sources (e.g., vendor site) or through a third-party verification service.

M0946 Boot Integrity

Check the integrity of the existing BIOS or EFI to determine if it is vulnerable to modification. Use Trusted Platform Module technology.[6] Move system's root of trust to hardware to prevent tampering with the SPI flash memory.[7] Technologies such as Intel Boot Guard can assist with this.[8]

M0945 Code Signing

Devices should verify that firmware has been properly signed by the vendor before allowing installation.

M0802 Communication Authenticity

Protocols used for device management should authenticate all network messages to prevent unauthorized system changes.

M0808 Encrypt Network Traffic

The encryption of firmware should be considered to prevent adversaries from identifying possible vulnerabilities within the firmware.

M0941 Encrypt Sensitive Information

The encryption of firmware should be considered to prevent adversaries from identifying possible vulnerabilities within the firmware.

M0937 Filter Network Traffic

Filter for protocols and payloads associated with firmware activation or updating activity.

M0804 Human User Authentication

Devices that allow remote management of firmware should require authentication before allowing any changes. The authentication mechanisms should also support Account Use Policies, Password Policies, and User Account Management.

M0807 Network Allowlists

Use host-based allowlists to prevent devices from accepting connections from unauthorized systems. For example, allowlists can be used to ensure devices can only connect with master stations or known management/engineering workstations.[9]

M0930 Network Segmentation

Segment operational network and systems to restrict access to critical system functions to predetermined management systems.[9]

M0813 Software Process and Device Authentication

Authenticate connections from software and devices to prevent unauthorized systems from accessing protected management functions.

M0951 Update Software

Patch the BIOS and EFI as necessary.

Detection Strategy

ID Name Analytic ID Analytic Description
DET0731 Detection of System Firmware AN1864

Real-time monitoring identifies a field device entering firmware update mode and receiving a large data transfer on its firmware-capable protocol port from a source not in the approved engineering workstation list, followed by a device reboot, with post-reboot firmware hash not matching the authorized inventory. OT operational-fidelity gate: Alert only when the action is not attributable to an authorized operator/engineering source for the specific target and function, and it is either outside an approved change/maintenance window or lacks matching change-control context; where telemetry permits, require corroborating device, configuration, or process-state effect. Suppress activity that fully matches approved maintenance, commissioning, failover, recovery, or tested control procedures.

AN2126

Real-time monitoring identifies a firmware update utility on an Industrial Control System (ICS) Linux engineering host initiating a connection to a device Internet Protocol (IP) address on its firmware update port, by a User Identifier (UID) not in the approved firmware manager UIDs, outside a scheduled maintenance window. OT operational-fidelity gate: Alert only when the action is not attributable to an authorized operator/engineering source for the specific target and function, and it is either outside an approved change/maintenance window or lacks matching change-control context; where telemetry permits, require corroborating device, configuration, or process-state effect. Suppress activity that fully matches approved maintenance, commissioning, failover, recovery, or tested control procedures.

AN2170

Real-time monitoring identifies vendor-specific firmware-update protocol traffic to ICS device IP addresses from a source not in the approved engineering-workstation or firmware-management baseline. OT operational-fidelity gate: Alert only when the action is not attributable to an authorized operator/engineering source for the specific target and function, and it is either outside an approved change/maintenance window or lacks matching change-control context; where telemetry permits, require corroborating device, configuration, or process-state effect. Suppress activity that fully matches approved maintenance, commissioning, failover, recovery, or tested control procedures.

AN2259

Real-time monitoring identifies a vendor firmware update utility executing outside a scheduled maintenance window or invoked by an account not in the approved firmware management role, immediately followed by a network session to a field device IP on its firmware protocol port. OT operational-fidelity gate: Alert only when the action is not attributable to an authorized operator/engineering source for the specific target and function, and it is either outside an approved change/maintenance window or lacks matching change-control context; where telemetry permits, require corroborating device, configuration, or process-state effect. Suppress activity that fully matches approved maintenance, commissioning, failover, recovery, or tested control procedures.

References