Description
The device does not contain sufficient protection mechanisms to prevent physical side channels from exposing sensitive information due to patterns in physically observable phenomena such as variations in power consumption, electromagnetic emissions (EME), or acoustic emissions.
An adversary could monitor and measure physical phenomena to detect patterns and make inferences, even if it is not possible to extract the information in the digital domain. Physical side channels have been well-studied for decades in the context of breaking implementations of cryptographic algorithms or other attacks against security features. These side channels may be easily observed by an adversary with physical access to the device, or using a tool that is in close proximity. If the adversary can monitor hardware operation and correlate its data processing with power, EME, and acoustic measurements, the adversary might be able to recover of secret keys and data.
Potential Impact
Confidentiality
Read Memory, Read Application Data
Demonstrative Examples
As each character of
the PIN number is entered, a correct character
exhibits one current pulse shape while an
incorrect character exhibits a different current
pulse shape.Rather than comparing
each character to the correct PIN value as it is
entered, the device could accumulate the PIN in a
register, and do the comparison all at once at the
end. Alternatively, the components for the
comparison could be modified so that the current
pulse shape is the same regardless of the
correctness of the entered
character.The local method of extracting the secret key consists of plugging the key into a USB port and using electromagnetic (EM) sniffing tools and computers.Several solutions could have been considered by the manufacturer. For example, the manufacturer could shield the circuitry in the key or add randomized delays, indirect calculations with random values involved, or randomly ordered calculations to make extraction much more difficult. The manufacturer could use a combination of these techniques....
module mod_exp
...
`UPDATE: begin
if (exponent_reg != 'd0) begin
if (exponent_reg[0])
result_reg <= result_next;
base_reg <= base_next;
exponent_reg <= exponent_next;
state <= `UPDATE;
...
endmodule...
module mod_exp
...
`UPDATE: begin
if (exponent_reg != 'd0) begin
if (exponent_reg[0]) begin
result_reg <= result_next;
end else begin
mask_reg <= result_next;
end
base_reg <= base_next;
exponent_reg <= exponent_next;
state <= `UPDATE;
...
endmoduleMitigations & Prevention
Apply blinding or masking techniques to implementations of cryptographic algorithms.
Add shielding or tamper-resistant protections to the device to increase the difficulty of obtaining measurements of the side-channel.
Detection Methods
- Manual Analysis Moderate — Perform a set of leakage detection tests such as the procedure outlined in the Test Vector Leakage Assessment (TVLA) test requirements for AES [REF-1230]. TVLA is the basis for the ISO standard 17825 [REF-1229]. A separate methodology is provided by [REF-1228]. Note that sole reliance on this metho
- Manual Analysis Moderate — Post-silicon, perform full side-channel attacks (penetration testing) covering as many known leakage models as possible against test code.
- Manual Analysis Moderate — Pre-silicon - while the aforementioned TVLA methods can be performed post-silicon, models of device power consumption or other physical emanations can be built from information present at various stages of the hardware design process before fabrication. TVLA or known side-channel attacks can be appl
Real-World CVE Examples
| CVE ID | Description |
|---|---|
| CVE-2022-35888 | Power side-channels leak secret information from processor |
| CVE-2021-3011 | electromagnetic-wave side-channel in security-related microcontrollers allows extraction of private key |
| CVE-2019-14353 | Crypto hardware wallet's power consumption relates to total number of pixels illuminated, creating a side channel in the USB connection that allows attackers to determine secrets displayed such as PIN |
| CVE-2020-27211 | Chain: microcontroller system-on-chip contains uses a register value stored in flash to set product protection state on the memory bus but does not contain protection against fault injection (CWE-1319 |
| CVE-2013-4576 | message encryption software uses certain instruction sequences that allows RSA key extraction using a chosen-ciphertext attack and acoustic cryptanalysis |
| CVE-2020-28368 | virtualization product allows recovery of AES keys from the guest OS using a side channel attack against a power/energy monitoring interface. |
| CVE-2019-18673 | power consumption varies based on number of pixels being illuminated in a display, allowing reading of secrets such as the PIN by using the USB interface to measure power consumption |
Related Weaknesses
Frequently Asked Questions
What is CWE-1300?
CWE-1300 (Improper Protection of Physical Side Channels) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. The device does not contain sufficient protection mechanisms to prevent physical side channels from exposing sensitive information due to patterns in physically observable phenomena such as variati...
How can CWE-1300 be exploited?
Attackers can exploit CWE-1300 (Improper Protection of Physical Side Channels) to read memory, read application data. This weakness is typically introduced during the Implementation phase of software development.
How do I prevent CWE-1300?
Key mitigations include: Apply blinding or masking techniques to implementations of cryptographic algorithms.
What is the severity of CWE-1300?
CWE-1300 is classified as a Base-level weakness (Medium abstraction). It has been observed in 7 real-world CVEs.