TID-108: ROM/NVRAM Data Extraction or Modification
Threat Description
Contents of non-volatile memory chips or non-fixed storage (e.g., SD cards, Compact Flash, hard disks, USB sticks) can be directly read out for examination or modification by a chip reader. In some cases this may be possible without removing the chip from the circuit board, but most often this will involve physically desoldering the chip and non-destructively removing it from the device. By reading information from ROM or NVRAM, a threat actor would be able to extract any secrets stored on it.
If the extracted storage contents contain unencrypted firmware (even partial), this can ease reverse engineering by an adversary to identify other potential vulnerabilities or security-relevant data (e.g., passwords, cryptographic keys).
Threat actors may also be able to load malicious changes to the ROM/NVRAM, potentially giving them increased and unauthorized access to the device.
Threat Maturity and Evidence
Proof of Concept
Uprooting Trust: Learnings from an Unpatchable Hardware Root-of-Trust Vulnerability in Siemens S7-1500 PLCs
“This Siemens S7-1500 uses two non-volatile NAND flash memories as primary storage for the main SoC. We identified these two non-volatile NAND flash memory chips as W29N01HV (1G-bit) NAND Flash memory [35]. We desoldered the two NAND chips from the device’s PCB and used the Xgecu Minipro TL866II [36] NAND programmer to extract the content of them.”
CWE
CWE-311: Missing Encryption of Sensitive Data
“The product does not encrypt sensitive or critical information before storage or transmission.”
CWE-312: Cleartext Storage of Sensitive Information
“The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.”
CWE-1282: Assumed-Immutable Data is Stored in Writable Memory
“Immutable data, such as a first-stage bootloader, device identifiers, and “write-once” configuration settings are stored in writable memory that can be re-programmed or updated in the field.”