The sub-techniques beta is now live! Read the release blog post for more info.

System Firmware

The BIOS (Basic Input/Output System) and The Unified Extensible Firmware Interface (UEFI) or Extensible Firmware Interface (EFI) are examples of system firmware that operate as the software interface between the operating system and hardware of a computer. [1] [2] [3]

System firmware like BIOS and (U)EFI underly the functionality of a computer and may be modified by an adversary to perform or assist in malicious activity. Capabilities exist to overwrite the system firmware, which may give sophisticated adversaries a means to install malicious firmware updates as a means of persistence on a system that may be difficult to detect.

ID: T1019
Tactic: Persistence
Platform: Windows
Permissions Required: Administrator, SYSTEM
Data Sources: API monitoring, BIOS, EFI
Contributors: Ryan Becwar; McAfee
Version: 1.0
Created: 31 May 2017
Last Modified: 21 June 2019

Procedure Examples

Name Description
Hacking Team UEFI Rootkit

Hacking Team UEFI Rootkit is a UEFI BIOS rootkit developed by the company Hacking Team to persist remote access software on some targeted systems.[4]


LoJax is a UEFI BIOS rootkit deployed to persist remote access software on some targeted systems.[6]


Trojan.Mebromi performs BIOS modification and can download and execute a file as well as protect itself from removal.[5]


Mitigation Description
Boot Integrity

Check the integrity of the existing BIOS or EFI to determine if it is vulnerable to modification. Use Trusted Platform Module technology.

Privileged Account Management

Prevent adversary access to privileged accounts or access necessary to perform this technique.

Update Software

Patch the BIOS and EFI as necessary.


System firmware manipulation may be detected. [7] Dump and inspect BIOS images on vulnerable systems and compare against known good images. [8] Analyze differences to determine if malicious changes have occurred. Log attempts to read/write to BIOS and compare against known patching behavior.

Likewise, EFI modules can be collected and compared against a known-clean list of EFI executable binaries to detect potentially malicious modules. The CHIPSEC framework can be used for analysis to determine if firmware modifications have been performed. [9] [10] [11]