Last Update: September 10, 2018
In early January 2018, issues known as Meltdown and Spectre were reported as CPU vulnerabilities. Because these vulnerabilities affect many CPUs, such as those manufactured by Intel, AMD, and ARM, and therefore affect many information systems, related information was published from various security vendors, researchers and medias. HIRT-PUB18001 introduces the issues associated with Meltdown and Spectre.
[Update] At the end of May 2018, CPU Vulnerability Variant issues were reported.
[Update] At the middle of June 2018, CPU Vulnerability Variant issues were reported.
[Update] At the middle of July 2018, CPU Vulnerability Variant issues were reported.
[Update] At the middle of August 2018, CPU Vulnerability Variant issues were reported.
1. Overview
Many articles about Meltdown and Spectre use the words "speculative execution".
About Speculative Execution
In order to take maximum advantage of high-speed CPUs, PC are equipped with functionality such as out-of-order execution, which processes instructions as they are able to be processed rather than processing them in order, and branch prediction, which predicts the next choice to be made based on processing history, and performs the predicted processing in advance. This type of functionality is referred to by the general term "speculative execution". Because speculative execution involves performing work in advance, it is effective in increasing the efficiency of processing. However, irregular situations also occur in which the results are ineffective or in which instructions that do not need to be processed are executed, and the results of the processing performed in advance become unnecessary. Exploits such as Meltdown and Spectre can abuse vulnerabilities in this situation. The vulnerabilities came about because the security mechanisms that have existed up to this point did not take into account operations performed during these irregular situations.
Next, we will examine the issues associated with Meltdown and Spectre.
1.1 Meltdown
Meltdown utilizes the functionality that processes instructions as they are able to be processed rather than processing them in order (out-of-order execution) to process data that cannot be accessed without the appropriate permissions, and to execute processing that utilizes such data. By doing so, Meltdown enables information related to data that cannot be accessed without the appropriate permissions to be stored in cache memory, which can be accessed even without permission (Figure 1). Meltdown causes a problem because it allows the execution of processing of data that should not be processed.
Figure 1: [Meltdown] CVE-2017-5754: Rogue Data Cache Load
1.2 Spectre
Spectre takes two approaches, both of which utilize the functionality that predicts the next choice to be made based on processing history, and performs the predicted processing in advance (branch prediction). The first approach accesses areas that cannot be accessed without the appropriate permissions while the CPU is checking whether access is being made to areas that should be inaccessible, thereby storing, in cache memory, information related to the data in the inaccessible areas (Figure 2). The other approach exploits the functionality that predicts the memory addresses of branches based on the processing history in order to induce the prediction of the memory addresses of incorrect branches, thereby reading data in areas that should be inaccessible (Figure 3).
Figure 2: [Spectre] CVE-2017-5753: Bounds Check Bypass
Figure 3: [Spectre] CVE-2017-5715: Branch Target Injection
1.3 CPU Vulnerability Variant issues
RSRE (Variant 3a) is a similar issue of Meltdown. An attacker with local user access may be able to use timing side-channel analysis to determine the values stored in system registers.
SSB, SpectreNG (Variant 4) is issue that systems with microprocessors utilizing speculative execution and speculative execution of memory reads before the addresses of all prior memory writes are known may read an earlier value of the data.
2. Impact
Table 1: Impact
| Date Public | January 30, 2018 | ||
| Name | Meltdown Variant 3 | Spectre Variant 1 | Spectre Variant 2 |
| Vulnerability | Rogue Data Cache Load (CVE-2017-5754) | Bounds Check Bypass (CVE-2017-5753) | Branch Target Injection (CVE-2017-5715) |
| Impact | Leakage of information stored in memory | ||
| Severity | CVSS:2.0/AV:L/AC:M/Au:N/C:C/I:N/A:N CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N | ||
| Affected CPU | Intel, IBM POWER | Intel, AMD, ARM, IBM POWER | |
| Scenarios where attackers may attempt to leverage these vulnerabilities | Circumvents the address space layout randomization function of the kernel. | Attacks against virtualized hosting environments. For example, an attacker might gain access to a host OS from a guest OS. Attacks via a web browser. For example, sensitive information stored by a web browser could be leaked. | |
| Date Public | May 21, 2018 | June 13, 2018 | |
| Name | RSRE Variant 3a | SSB, SpectreNG Variant 4 | |
| Vulnerability | Rogue System Register Read (CVE-2018-3640) | Speculative Store Bypass (CVE-2018-3639) | Lazy FP state restore (CVE-2018-3665) |
| Impact | Leakage of information stored in memory | ||
| Severity | CVSS:2.0/AV:L/AC:L/Au:N/C:P/I:N/A:N CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N | ||
| Affected CPU | Intel, AMD, ARM | Intel, AMD, ARM, IBM POWER | |
| Scenarios where attackers may attempt to leverage these vulnerabilities | |||
| Date Public | July 10, 2018 | ||
| Name | BCBS Spectre 1.1 | Spectre 1.2 | |
| Vulnerability | Bounds Check Bypass Store (CVE-2018-3693) | Read-only Protection Bypass | |
| Impact | Leakage of information stored in memory | ||
| Severity | CVSS:2.0/AV:L/AC:M/Au:N/C:C/I:N/A:N CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N | ||
| Affected CPU | Intel, AMD, ARM | ||
| Scenarios where attackers may attempt to leverage these vulnerabilities | |||
| Date Public | August 14, 2018 | ||
| Name | Foreshadow Foreshadow-SGX | Foreshadow-OS | Foreshadow-VMM |
| Vulnerability | L1 Terminal Fault (L1TF) SGX (CVE-2018-3615) | L1 Terminal Fault (L1TF) OS/SMM (CVE-2018-3620) | L1 Terminal Fault (L1TF) VMM (CVE-2018-3646) |
| Impact | Leakage of information stored in memory | ||
| Severity | CVSS:2.0/AV:L/AC:L/Au:N/C:C/I:P/A:N CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N | ||
| Affected CPU | Intel | ||
| Scenarios where attackers may attempt to leverage these vulnerabilities | |||
3. Solution
Table 2: Countermeasure approaches
| Date Public | May 21, 2018 | June 13, 2018 | ||
| Name | RSRE Variant 3a | SSB, SpectreNG Variant 4 | ||
| Vulnerability | Rogue System Register Read (CVE-2018-3640) | Speculative Store Bypass (CVE-2018-3639) | Lazy FP state restore (CVE-2018-3665) | |
| Basic countermeasure approaches | ||||
| Firmware updates | Intel | INTEL-SA-00115: Q2 2018 Speculative Execution Side Channel Update | INTEL-SA-00145: Lazy FP state restore | |
| AMD | AMD Processor Security Updates | |||
| ARM | Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism | |||
| IBM POWER | Potential Impact on Processors in the POWER Family | |||
| OS updates | Windows | ADV180013 | ADV180012 | ADV180016 |
| Mac | ||||
| Red Hat | What is CVE-2018-3640? | Speculative Store Bypass explained: what it is, how it works | ||
| Android | Android Security Bulletin - January 2018 | |||
| Chrome | ||||
| Virtual environment updates | VMware | VMSA-2018-0012 | ||
| Red Hat | ||||
| Browser updates | Chrome | |||
| Firefox | ||||
| Safari | ||||
| IE/Edge | ||||
| Date Public | July 10, 2018 | |||
| Name | BCBS Spectre 1.1 | Spectre 1.2 | ||
| Vulnerability | Bounds Check Bypass Store (CVE-2018-3693) | Read-only Protection Bypass | ||
| Basic countermeasure approaches | ||||
| Firmware updates | Intel | INTEL-OSS-10002 | ||
| AMD | ||||
| ARM | Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism | |||
| IBM POWER | ||||
| OS updates | Windows | ADV180002 | ||
| Mac | ||||
| Red Hat | CVE-2018-3693 | |||
| Android | ||||
| Chrome | ||||
| Virtual environment updates | VMware | |||
| Red Hat | ||||
| Browser updates | Chrome | |||
| Firefox | ||||
| Safari | ||||
| IE/Edge | ||||
| Date Public | August 14, 2018 | |||
| Name | Foreshadow Foreshadow-SGX | Foreshadow-OS | Foreshadow-VMM | |
| Vulnerability | L1 Terminal Fault (L1TF) SGX (CVE-2018-3615) | L1 Terminal Fault (L1TF) OS/SMM (CVE-2018-3620) | L1 Terminal Fault (L1TF) VMM (CVE-2018-3646) | |
| Basic countermeasure approaches | ||||
| Firmware updates | Intel | INTEL-SA-00161: Q3 2018 Speculative Execution Side Channel Update | ||
| AMD | ||||
| ARM | ||||
| IBM POWER | ||||
| OS updates | Windows | ADV180018 | ||
| Mac | ||||
| Red Hat | L1TF - L1 Terminal Fault Attack - CVE-2018-3620 & CVE-2018-3646 | |||
| Android | ||||
| Chrome | ||||
| Virtual environment updates | VMware | VMSA-2018-0021 | VMSA-2018-0020 | |
| Red Hat | L1TF - L1 Terminal Fault Attack - CVE-2018-3620 & CVE-2018-3646 | |||
| Browser updates | Chrome | |||
| Firefox | ||||
| Safari | ||||
| IE/Edge | ||||
In order to resolve the Meltdown and Spectre issues, partial firmware updates are necessary. However, it is also possible to mitigate the threat by updating applications (such as browsers and virtual environments) and OSs, and it will be necessary to thus implement a defense-in-depth. In addition, however, we have received reports not only of the threat of cyberattacks, but also that the countermeasures result in degraded performance and issues with restarting devices. Therefore, operability must be sufficiently considered when implementing these particular vulnerability countermeasures. As a result, when considering the necessity and details of countermeasures (such as whether to update browsers, virtual environments, OSs, and firmware) and the implementation period, it is necessary to take the following into account: (1) the threat status of cyberattacks, (2) performance degradation as a result of countermeasures, and (3) system failures occurring as a result of countermeasures.
(1) The threat status of cyberattacks
The following types of cyberattacks are possible: Attacks against virtual hosting environments (such as access to a virtual hosting environment by accessing the host OS from a guest OS), and attacks via a web browser (such as leakage of sensitive information stored by a web browser. Countermeasures must be prioritized for environments in which one or both of these types of cyberattacks are possible. Although the AV-TEST Institute in Germany reports the discovery of 139 malware samples that exploit the issues dubbed Meltdown and Spectre.
Cisco Systems
Meltdown and Spectre
http://blog.talosintelligence.com/2018/01/meltdown-and-spectre.html
AV-TEST
[UPDATE: 2018-01-23] #Spectre & #Meltdown
(2) Performance degradation as a result of countermeasures
The actual impact of countermeasures on performance might vary greatly depending on workloads, hardware, devices, and system restrictions. It is important to achieve balance in the trade-off between security and performance, based on already-published materials about the effects of countermeasures on performance, and on the results of verification performed on the actual devices.
Intel
Intel Security Issue Update: Initial Performance Data Results for Client Systems
https://www.intel.com/content/www/us/en/architecture-and-technology/facts-about-side-channel-analysis-and-intel-products.html
Microsoft
Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems
https://cloudblogs.microsoft.com/microsoftsecure/2018/01/09/understanding-the-performance-impact-of-spectre-and-meltdown-mitigations-on-windows-systems/
Red Hat
Speculative Execution Exploit Performance Impacts - Describing the performance impacts to security patches for CVE-2017-5754 CVE-2017-5753 and CVE-2017-5715
https://access.redhat.com/articles/3307751
VMware
VMware Performance Impact for CVE-2017-5753, CVE-2017-5715, CVE-2017-5754 (aka Spectre and Meltdown) (52337) (January 12, 2018)
https://kb.vmware.com/s/article/52337
(3) System failures occurring as a result of countermeasures
The following failures, such as problems with restarting devices as the result of updates, have been reported. When responding to Meltdown and Spectre issues, it is also important from the perspective of ensuring operational continuity to consider system failures that occur as the result of countermeasures.
Microsoft
Important: Windows security updates and antivirus software
https://support.microsoft.com/en-us/help/4072699/windows-security-updates-and-antivirus-software
Intel
Jan. 11, 2018: Intel Security Issue Update: Addressing Reboot Issues
https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/
Intel
Jan. 22, 2018: Root Cause of Reboot Issue Identified; Updated Guidance for Customers and Partners
https://newsroom.intel.com/news/root-cause-of-reboot-issue-identified-updated-guidance-for-customers-and-partners/
4. Hitachi Product Information
Followings are updates of Hitachi products and OEM products (indicated by an asterisk (*)).
October 18, 2018
August 22, 2018
May 22, 2018
April 09, 2018
Published Security Advisory HIRT-PUB18001.
February 13, 2018
Published Security Advisory HIRT-PUB18001[Japanese].
January 17, 2018
January 16, 2018
January 05, 2018
5. References
5.1 Vulnerability Enumeration
This vulnerability has been assigned the following enumeration.
US-CERT Alert (TA18-004A): Meltdown and Spectre Side-Channel Vulnerability Guidance
https://www.us-cert.gov/ncas/alerts/TA18-004A
CERT/CC Vulnerability Note VU#584653: CPU hardware vulnerable to side-channel attacks
https://www.kb.cert.org/vuls/id/584653
Rogue Data Cache Load (CVE-2017-5754) Variant 3
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5754
Bounds Check Bypass (CVE-2017-5753) Variant 1
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5753
Branch Target Injection (CVE-2017-5715) Variant 2
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5715
US-CERT Alert (TA18-141A): Side-Channel Vulnerability Variants 3a and 4
https://www.us-cert.gov/ncas/alerts/TA18-141A
CERT/CC Vulnerability Note VU#180049: CPU hardware utilizing speculative execution may be vulnerable to cache side-channel attacks
https://www.kb.cert.org/vuls/id/180049
Rogue System Register Read (CVE-2018-3640) Variant 3a
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5754
Speculative Store Bypass (CVE-2018-3639) Variant 4
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5753
Bounds Check Bypass Store (CVE-2018-3693)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3693
CERT/CC Vulnerability Note VU#982149: Intel processors are vulnerable to a speculative execution side-channel attack called L1 Terminal Fault (L1TF)
https://www.kb.cert.org/vuls/id/982149
L1 Terminal Fault (L1TF) SGX (CVE-2018-3615)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3615
L1 Terminal Fault (L1TF) OS/SMM (CVE-2018-3620)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3620
L1 Terminal Fault (L1TF) VMM (CVE-2018-3646)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3646
5.2 Related Information
Vulnerabilities Associated with CPU Speculative Execution
https://vuls.cert.org/confluence/display/Wiki/Vulnerabilities+Associated+with+CPU+Speculative+Execution
Meltdown
https://meltdownattack.com/meltdown.pdf
Spectre Attacks: Exploiting Speculative Execution
https://spectreattack.com/spectre.pdf
Speculative Buffer Overflows: Attacks and Defenses
https://arxiv.org/abs/1807.03757
Intel
Intel Analysis of Speculative Execution Side Channels
https://software.intel.com/sites/default/files/managed/b9/f9/336983-Intel-Analysis-of-Speculative-Execution-Side-Channels-White-Paper.pdf
Intel
Analyzing potential bounds check bypass vulnerabilities
https://software.intel.com/security-software-guidance/api-app/sites/default/files/337879-analyzing-potential-bounds-Check-bypass-vulnerabilities.pdf
Intel
L1 Terminal Fault / CVE-2018-3615 , CVE-2018-3620,CVE-2018-3646 / INTEL-SA-00161
https://software.intel.com/security-software-guidance/software-guidance/l1-terminal-fault
Intel
Deep Dive: Intel Analysis of L1 Terminal Fault
https://software.intel.com/security-software-guidance/insights/deep-dive-intel-analysis-l1-terminal-fault
speculative execution, variant 4: speculative store bypass
https://bugs.chromium.org/p/project-zero/issues/detail?id=1528
6. Update history
October 29, 2018
September 10, 2018
August 08, 2018
June 18, 2018
June 06, 2018
June 01, 2018
May 28, 2018
April 09, 2018
Masato Terada (HIRT) and Naoko Ohnishi (HIRT)