T0857 System 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
Item | Value |
---|---|
ID | T0857 |
Sub-techniques | |
Tactics | TA0110, TA0107 |
Platforms | Field Controller/RTU/PLC/IED, Input/Output Server, Safety Instrumented System/Protection Relay |
Version | 1.1 |
Created | 21 May 2020 |
Last Modified | 09 March 2023 |
Procedure Examples
ID | Name | Description |
---|---|---|
G0034 | Sandworm Team | In the Ukraine 2015 Incident, Sandworm Team developed and used malicious firmware to render communication devices inoperable. 7 |
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. 6 |
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. 5 Move system’s root of trust to hardware to prevent tampering with the SPI flash memory. 3 Technologies such as Intel Boot Guard can assist with this. 4 |
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. 2 |
M0930 | Network Segmentation | Segment operational network and systems to restrict access to critical system functions to predetermined management systems. 2 |
M0813 | Software Process and Device Authentication | Authenticate connections fromsoftware and devices to prevent unauthorized systems from accessing protected management functions. |
M0951 | Update Software | Patch the BIOS and EFI as necessary. |
Detection
ID | Data Source | Data Component |
---|---|---|
DS0015 | Application Log | Application Log Content |
DS0001 | Firmware | Firmware Modification |
DS0029 | Network Traffic | Network Traffic Content |
DS0040 | Operational Databases | Device Alarm |
References
-
Department of Homeland Security 2016, September Retrieved. 2020/09/25 ↩↩
-
ESET Research Whitepapers 2018, September LOJAX First UEFI rootkit found in the wild, courtesy of the Sednit group Retrieved. 2020/09/25 ↩
-
Intel ESET Research Whitepapers 2018, September LOJAX First UEFI rootkit found in the wild, courtesy of the Sednit group Retrieved. 2020/09/25 Intel Hardware-based Security Technologies for Intelligent Retail Devices Retrieved. 2020/09/25 ↩
-
N/A Trusted Platform Module (TPM) Summary Retrieved. 2020/09/25 ↩
-
DHS CISA 2019, February 27 MAR-17-352-01 HatManSafety System Targeted Malware (Update B) Retrieved. 2019/03/08 ↩
-
Electricity Information Sharing and Analysis Center; SANS Industrial Control Systems 2016, March 18 Analysis of the Cyber Attack on the Ukranian Power Grid: Defense Use Case Retrieved. 2018/03/27 ↩
-
Beek, C., Samani, R. (2017, March 8). CHIPSEC Support Against Vault 7 Disclosure Scanning. Retrieved March 13, 2017. ↩
-
Butterworth, J. (2013, July 30). Copernicus: Question Your Assumptions about BIOS Security. Retrieved December 11, 2015. ↩
-
Intel Security. (2005, July 16). HackingTeam’s UEFI Rootkit Details. Retrieved March 20, 2017. ↩
-
Intel. (2017, March 18). CHIPSEC Platform Security Assessment Framework. Retrieved March 20, 2017. ↩