漏洞图标

**熔毁**（英語：），也译**崩溃**，编号CVE-2017-5754，正式名稱爲「」，常譯作「**恶意数据缓存加载**」，是一个存在于英特爾大部分x86/x86-64微处理器、部分IBM POWER架構處理器以及部分ARM架構處理器中的關於推測執行機制的硬件设计缺陷及安全漏洞。该缺陷使得低權限的进程無論是否取得特權，均可以獲取受高權限保護的内存空間中的資料，漏洞利用是基於時間的旁路攻擊。2018年1月，该缺陷隨另一個基於推測執行機制的重量級資訊安全漏洞、硬體缺陷「Spectre」（幽靈）在通用漏洞披露中公布。

由於英特爾處理器及IBM POWER處理器均在市場上佔據極大的份額（出現缺陷的ARM處理器在缺陷被發現時尚未正式面市），這種涉及資訊安全的硬體缺陷影響範圍甚廣，包括幾乎整個x86、POWER伺服器領域、幾乎整個小型主機及大型主機市場、個人電腦市場等都無一倖免，另外該缺陷的危險程度之高（無需特權即可存取敏感資料所在的記憶體空間），曾一度令資安人員及機構懷疑缺陷的真實性，而提前公佈這些缺陷還極有可能引發全球性的資安災難，因而選擇先與處理器廠商及核心客戶聯絡協商備妥修補方案再另行公佈。目前該硬體缺陷可通過軟體實作規避，包括Linux系、Android、OS X/macOS、Windows等等都有相應的修復程式（像是Linux的内核页表隔离技術），但是軟體規避將導致處理器效能的顯著下降。而從根本上修復該缺陷的方法（包括修復「幽靈」缺陷）是重新設計處理器的微架構，為此英特爾、IBM及ARM都將新處理器微架構的推出時程大幅押後。

概述
--

参见：指令流水线、乱序执行、推測執行、CPU快取、分级保护域、虚拟内存、分頁和記憶體保護
熔毀缺陷是基於設計不良的數位電路設計中出現的竞争条件，再結合許多現代微處理器的非依序執行及推測執行特性而產生。

在具備非依序執行及推測執行特性的處理器上，處理器會檢測指令的相依性，對無相依性的指令會進行預先執行，或者當處理器執行某一指令出現異常而面臨停頓時，處理器會先執行與異常指令無相依性的指令以跳過停頓，這兩類指令執行方式的執行結果都會保存到CPU快取上一段時間以備使用（超過時間即拋棄結果），這些預測執行的動作包括分支预测，预读取，推测性内存访问，缓存缺失的重叠/乱序处理（MSHR）等等。

某行程的某條指令需要其指定某個記憶體位址的資料進行運算，基於CPU快取的機制，該筆資料會先載入至CPU快取上，而這個過程對於指令而言是透明的，因此其它行程是無法直接從CPU快取上得知該筆資料的內容，而又因資料未載入至CPU暫存器上，需要該資料的指令仍無法得知資料內容，在這裏，基於分级保护域機制，CPU將資料從CPU快取載入至CPU的暫存器前是需要經過資料權限檢查和記憶體位址合法性檢查，只有這些資料的存取權限被確認等於或低於該行程的權限、記憶體位址空間的存取權限符合該行程的權限時，方能被相應行程的指令存取，否則將資料丟棄並對該指令進行異常處理。但是，而從記憶體載入資料到CPU快取時，CPU是既沒有對這些資料進行權限檢查也沒有進行記憶體位址的合法性檢查的，而沒有被命中的CPU快取的資料也不會馬上被清空。如果CPU快取的資料內容無法被得知，那麼這種機制的處理邏輯並不會有問題，然而如果有方法可以從其它途徑「偷看」CPU快取的資料內容的話，那麼這種處理邏輯便存在缺陷。

要利用熔毀缺陷，在指令处理期间，用異常的指令使得CPU進入對異常指令的異常處理當中，同時令CPU的推測執行去先執行一些非法指令，内存访问和權限检查或記憶體位址合法性檢查兩種操作在這裏發生竞争冒险，因为受影响的处理器中的指令流水线意味着在推测执行期间，来自未经授权地址的数据几乎总是被临时加载到CPU的缓存中，即使原始读取指令由于特权检查而最终失败并且从不产生可读结果，這個時候再利用旁道攻击，利用存取CPU快取及存取記憶體的時間差，重建目標資料。這樣未经授权的进程就可从映射到当前进程的内存空间的任何地址读取数据。

由于许多操作系统将物理内存、内核进程和其他正在运行的用户空间进程映射到每个进程的地址空间，并依靠特权检查来防止未经授权的访问，因此，熔毁缺陷有效地允许运行在用户空间的恶意进程在不需要权限提升的情况下，读取任何物理内核或其他进程的映射的内存，不管它是否应该能够这样做。若要防范这个缺陷所造成的危害，需要避免使用内存映射方式或使用内存分页隔离（均是基于软件的解决方案，后者是将用户空间的内存地址与内核空间的内存地址相隔离，但这将增加内核态与用户态之间的上下文交换开销），或避免潜在的竞争条件（修改CPU的微代码和/或执行路径）。

惡意程式利用熔毀缺陷進行攻擊活動時也無法被偵測感知，是該資安漏洞的一大危險之處。

受影響硬體
-----

最初發現熔毀缺陷主要在英特爾的微處理器產品上出現，但後來發現一些ARM架構的處理器也有該缺陷並被ARM確認，隨後IBM的POWER架構的處理器也被發現有此缺陷也得到了IBM的確認。同為x86架構的AMD處理器則沒有被發現有熔毀缺陷。而英特爾在處理器缺陷被發現公佈數天後，才發表聲明確認，除了使用依序執行的產品以外全系列的英特爾微處理器都有熔毀缺陷，並且在聲明中指所有非依序執行的x86微處理器都有該缺陷以暗示競爭對手也受熔毀缺陷影響，不過另一家主要的x86微處理器供應商AMD則表示其處理器產品沒有熔毀缺陷，並指出「我們之所以認爲AMD的處理器不受缺陷影響，是因爲我們的分頁架構有特權級保護」。

同時期的另一個硬體缺陷——幽靈，受影響的處理器產品遍及當今所有採用分支預測技術的處理器（包括英特爾、AMD、ARM、IBM POWER等等），雖然相比熔燬缺陷更難利用（視不同CPU的微架構有所不同）

更爲具體的，有缺陷的CPU型號數量非常多，Google的Project Zero報告指出，除了安騰以及2013年前的Atom系列，英特爾自1995年發表基於P6微架構的Pentium Pro開始所有具備非依序執行的CPU產品都有熔燬缺陷，P6微架構是英特爾首款具備预测执行的x86（IA-32）微架構，首發產品便是Pentium Pro，而後續的英特爾x86微架構除Netburst(Pentuim 4)外都是以P6爲藍本。

而ARM表示它們的主要處理器IP核不受影響，具體受影響的IP核型號已經公佈。ARM Cortex-A75除了有熔毀缺陷以外還受幽靈漏洞的影響，而其它型號則沒有熔毀缺陷。帶預測執行技術的Cortex-R7、Cortex-R8、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A17、Cortex-A57、Cortex-A72及Cortex-A73 IP核只受幽靈的影響。ARM是在英特爾之後第二個被發現有熔毀缺陷的產品的，但與英特爾的不同，ARM唯一有熔燬缺陷的IP核產品Cortex-A75尚未有實作商用。另外，不使用預測執行技術的ARM架構處理器，也是當前使用數量最多的ARM產品，不受任何影響，也沒有熔燬缺陷，這部分包括了大量使用在Android行動裝置上的Cortex-A53 IP核，以及即將有商用實作案的Cortex-A55。僅使用Cortex-A53、Cortex-A55的處理器產品包括高通的驍龍630、626/625、400系列等、聯發科的MT6795等、樹莓派單板電腦使用的博通SoC等等。

IBM的POWER架構是第三個被發現有熔燬缺陷、受幽靈的處理器微架構，紅帽公司在2018年1月3日公佈了受這些缺陷影響的處理器型號，涵蓋Z架構、POWER架構（包括最新的POWER8及POWER9）的產品，並發表了適用於這些指令集架構編譯版本的RHEL之修復程式；IBM也立即公佈了受影響型號清單並發佈了相關的韌體修復程式和AIX、z/OS修復程式。

甲骨文公司表示SPARC V9的系統（T5、M5、M6、S7、M7、M8、M10、M12處理器）沒有熔燬缺陷，但並未說明更老的、不再進行技術支援的處理器產品是否受這兩大硬體缺陷的衝擊。

漏洞修復
----

2018年初，微軟發佈了Windows系統的安全性修正以修補漏洞。儘管Intel多次強調安全性修正並不會大幅影響處理器的性能，然而微軟的測試顯示了在安裝漏洞安全性修正的Windows 7與Windows 8環境下，2015年（含）以前生產的Intel處理器會有性能下降，在某些測試下降幅甚至達到30%。性能下降在較舊的微架構如Haswell上尤其明顯，在使用較新的微架構如Skylake、Kaby Lake的Windows 10系統上，降幅則較微小。

對於Intel的處置方式，Linux之父林纳斯·托瓦兹強烈表達了他的不滿，稱Intel的修正方案是「全然的垃圾」並說Intel正在做瘋狂的、毫無道理的事情。以下節錄他在一則郵件中對於Intel修補方式的回應。

> The patches do things like add the garbage MSR writes to the kernel
> 
> 
> entry/exit points. That's insane. That says "we're trying to protect
> 
> 
> the kernel". We already have retpoline there, with less overhead.
> 
> 
> So somebody isn't telling the truth here. Somebody is pushing complete
> 
> 
> garbage for unclear reasons. Sorry for having to point that out.
> 
> 
> If this was about flushing the BTB at actual context switches between
> 
> 
> different users, I'd believe you. But that's not at all what the
> 
> 
> patches do.
> 
> 
> As it is, the patches are COMPLETE AND UTTER GARBAGE.
> 
> 
> They do literally insane things. They do things that do not make
> 
> 
> sense. That makes all your arguments questionable and suspicious. The
> 
> 
> patches do things that are not sane.
> 
> 
> WHAT THE F\*CK IS GOING ON?
> 
> 
> 
>

参考文献
----

1. 全国信息安全标准化技术委员会秘书处.. 全国信息安全标准化技术委员会. 2018-01-16  [2019-01-12]. （原始内容存档于2019-01-12） （中文（中国大陆））.
2. 高源樺.. 香港01. 2018-01-06  [2018-01-07]. （原始内容存档于2020-08-08） （中文（香港））.
3. ↑ .  [2018-01-07]. （原始内容存档于2020-08-10）.
4. ↑ .  [2017-02-01]. （原始内容存档于2022-08-07）.
5. ↑ .  [2018-01-01]. （原始内容存档于2022-08-07）.
6. ↑ .  [2018-04-26]. （原始内容存档于2021-03-27）.
7. ↑  Arm Ltd.. ARM Developer.  [2018-04-08]. （原始内容存档于2018-04-04）.
8. ↑  Bright, Peter.. Ars Technica. January 5, 2018  [January 6, 2018]. （原始内容存档于2018-05-27）.
9. ↑ . January 4, 2018  [2018-04-26]. （原始内容存档于2021-05-08）.
10. ↑ .  [2018-01-10]. （原始内容存档于2022-08-07）.
11. ↑  Schneier, Bruce.. www.schneier.com.  [January 9, 2018]. （原始内容存档于2021-04-12）.
12. ↑ . Cylance.com. 2018-01-05  [2018-01-30]. （原始内容存档于2018-01-09）.
13. ↑ . Rudebaguette.com. 2018-01-08  [2018-01-30]. （原始内容存档于2018-07-05）.
14. ↑  Vaughan-Nichols, Steven J.. ZDNet. January 11, 2018  [January 16, 2018]. （原始内容存档于2020-11-09） （英语）.
15. ↑ . security-tracker.debian.org.  [January 16, 2018]. （原始内容存档于2021-04-12）.
16. ↑ .  [2018-04-26]. （原始内容存档于2020-12-05）.
17. ↑ . Intel newsroom. January 4, 2018  [January 5, 2018]. （原始内容存档于2021-10-06）.
18. ↑  Warren, Tom.. The Verge. March 15, 2018  [March 20, 2018]. （原始内容存档于2018-04-21）.
19. ↑  Shankland, Stephen.. CNET. March 15, 2018  [March 20, 2018]. （原始内容存档于2018-04-23）.
20. ↑  Smith, Ryan.. AnandTech. March 15, 2018  [March 20, 2018]. （原始内容存档于2018-05-04）.
21. ↑  Coldewey, Devin.. TechCrunch. March 15, 2018  [March 28, 2018]. （原始内容存档于2018-04-12）.
22. ↑ . 香港矽谷. 2018-01-10  [2018-05-28] （中文（香港））.
23. ↑ . 2018-01-08  [2018-05-28]. （原始内容存档于2020-02-01）.
24. ↑ .  [2018-05-28]. （原始内容存档于2020-08-09）.
25. ↑ . Spectreattack.com.  [2018-01-30]. （原始内容存档于2018-01-03）.
26. ↑ .  [2018-05-28]. （原始内容存档于2021-01-16）.
27. ↑ . Wired. January 3, 2018  [2018-04-08]. （原始内容存档于2018-01-03）.
28. 1 2 . ARM Developer. ARM Ltd. January 3, 2018  [January 5, 2018]. （原始内容存档于2018-04-04）.
29. ↑  Ibm Psirt Blog.. Ibm.com. 2018-01-25  [2018-01-30]. （原始内容存档于2018-04-03）.
30. ↑  Metz, Cade; Perlroth, Nicole.. The New York Times. January 3, 2018  [January 3, 2018]. ISSN 0362-4331. （原始内容存档于2018-01-03）.
31. ↑ . The Verge.  [January 3, 2018]. （原始内容存档于2018-01-03）.
32. ↑ . www.phoronix.com.  [January 3, 2018]. （原始内容存档于2021-02-20）.
33. ↑  Lendacky, Tom.. lkml.org.  [January 3, 2018]. （原始内容存档于2020-08-03）.
34. ↑ . January 4, 2018  [2018-04-08]. （原始内容存档于2018-01-09）.
35. ↑ .  [2018-04-08]. （原始内容存档于2018-03-17）.
36. ↑ . （原始内容存档于2018-01-04）.
37. ↑ .  [2018-04-08]. （原始内容存档于2018-04-07）.
38. ↑  Staff.. Graz University of Technology. 2018  [January 3, 2018]. （原始内容存档于2018-01-03）.
39. ↑  Busvine, Douglas; Nellis, Stephen.. Reuters. Thomson-Reuters. January 3, 2018  [January 8, 2018]. （原始内容存档于2018-01-03）.
40. ↑ .  [2018-04-08]. （原始内容存档于2021-04-20）.
41. ↑ . www.jaist.ac.jp.  [2018-04-08]. （原始内容存档于2020-01-03）.
42. ↑ .  [2018-04-08]. （原始内容存档于2021-03-08）.
43. ↑ . January 4, 2018  [2018-04-08]. （原始内容存档于2020-09-27）.
44. ↑ . Raspberry Pi. 2018-01-05  [2018-01-30]. （原始内容存档于2021-04-09）.
45. ↑  Tung, Liam.. ZDNet. 2018-01-10  [2018-01-30]. （原始内容存档于2020-08-03）.
46. ↑ . Tales from the Datacenter. January 22, 2018  [January 23, 2018]. （原始内容存档于2021-07-09） （美国英语）.
47. ↑ . PCADV 電腦王 - 狂操、硬幹、玩真的. 2018-01-04  [2020-02-02]. （原始内容存档于2020-12-01） （中文（臺灣））.
48. ↑  Williams, Chris.. www.theregister.co.uk.  [2020-02-02]. （原始内容存档于2018-04-07） （英语）.
49. ↑ .  [2018-01-10]. （原始内容存档于2018-01-10）.
50. ↑ . lkml.iu.edu.  [2020-02-02]. （原始内容存档于2020-11-09）.
51. ↑ . TechCrunch.  [2020-02-02] （美国英语）.
52. ↑  Ranger, Steve.. ZDNet.  [2020-02-02]. （原始内容存档于2020-12-25） （英语）.
53. ↑  Patrizio, Andy.. Network World. 2018-01-24  [2020-02-02]. （原始内容存档于2020-09-24） （英语）.

外部链接
----

* Meltdown和Spectre漏洞的官方网站 （页面存档备份，存于）（英文）
* Meltdown论文 （页面存档备份，存于）（英文）
* Google Project Zero write-up （页面存档备份，存于）
* 网络安全实践指南—CPU熔断和幽灵漏洞防范指引 （页面存档备份，存于）（简体中文）

参见
--

* 幽灵 (安全漏洞)（Spectre）
* 内核页表隔离
* Row hammer（英语：）
* 奔腾浮点除错误


|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
針對推測執行機制的漏洞利用 |
| --- |
|  |
| 類別 | 
* 邊界檢查旁路（變體1）和分支目標注入（變體2）
* 惡意資料快取載入（變體3）
* 惡意系統暫存器讀取（Spectre-NG，變體3a）
* 推測存儲旁路（Spectre-NG，變體4）（英语：）
* 浮點運算單元延宕狀態泄漏（Spectre-NG）（英语：）
* 邊界檢查旁路存儲（Spectre-NG）

 |
|  |
| 主題 | 
* 推測執行
* 旁路攻擊

 |

 |

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
电脑入侵 |
| --- |
|  |
| 事件 | 
* 2003年骤雨计划
* 2009年极光行动
* 2010年澳大利亚网络攻击（英语：）
* 2010年偿还行动（英语：）
* 2011年DigiNotar黑客入侵事件
* 2011年突尼斯行动（英语：）
* 2011年PSN个人信息泄露事件
* 2011年反安全行动（英语：）
* 2012–2013年斯特拉特福公司电邮泄露事件
* 2012年领英黑客入侵事件
* 2013年南韩网络攻击
* 2013年Snapchat黑客入侵事件
* 2014年Tovar行动（英语：）
* 2014年日本文殊核电站电脑病毒事件
* 2014年名人照片泄露事件
* 2014年心脏出血漏洞
* 2014年破壳漏洞
* 2014年贵宾犬漏洞
* 2014年索尼影业黑客入侵事件
* 2015年FREAK漏洞
* 2015年美国联邦人事管理局资料外泄案
* 伟易达集团
* 孟加拉银行遭黑客入侵事件
* Dyn网络攻击
* 俄羅斯干預美國總統選舉
* WannaCry勒索病毒
* 2017年威斯敏斯特网络攻击（英语：）
* Petya勒索病毒
	+ 2017年乌克兰受网络攻击事件（英语：）
* Equifax数据泄露
* 德勤
* 熔毀/幽灵漏洞
* 美国中央情报局被指对中国大陆网络渗透攻击
* Zoom轟炸
* Twitter比特币骗局
* 2020年美国联邦政府数据泄露事件
* 殖民管道網絡攻擊
* Log4j2漏洞事件
* 2022年俄罗斯对乌克兰的网络攻击
* 上海公安數據庫泄露事件
* 2022年西北工业大学遭网络攻击事件
* 2023年美国五角大楼文件泄露事件

 |
|  |
| 政府机构 | 
* 
* 特定入侵行动办公室
* 中国人民解放军战略支援部队网络系统部
* 朝鲜网络部队（日语：）（朝鮮人民軍第121局）
* 叙利亚电子军（英语：）
* 日本网络防卫队
* 国际打击网络威胁多边伙伴（英语：）
* 美国互联网犯罪投诉中心（英语：）
* 欧洲网络犯罪中心（英语：）
* 中華民國數位發展部
* 中華民國國防部資通電軍指揮部
* 烏克蘭資訊科技軍
* 新加坡共和國數碼部隊

 |
|  |
| 黑客组织 | 
* 匿名者
	+ 乌克兰战争期间的行动（英语：）
* 网络金雕（英语：）
* Derp（英语：）
* Goatse安全（英语：）
* Hacking Team
* 蜥蜴小队（英语：）
* LulzRaft（英语：）
* LulzSec
* NullCrew（英语：）
* RedHack（英语：）
* TeaMp0isoN（英语：）
* 地下纳粹（英语：）
* 混沌计算机俱乐部
* 死牛崇拜
* 红客
* 韩国网络外交使节团
* L0pht重工
* 方程式
* 隱形人安全集團
* DarkSide
* APT 27
* 网络游击队

 |
|  |
| 个人 | 
* 陳盈豪
* 约翰·德雷珀（英语：）
* 凯文·米特尼克
* 下村努
* 罗伯特·泰潘·莫里斯
* 凱文·
* 阿德里安·拉莫
* Donncha O'Cearbhaill（英语：）
* 杰里米·哈蒙德（英语：）
* 乔治·霍兹
* 古驰法（英语：）
* 阿尔伯特·冈萨雷斯（英语：）
* 赫克特·蒙赛格 (萨布)（英语：）
* 杰克·戴维斯 (绿色雕塑)（英语：）
* 小丑 (The Jester)（英语：）
* weev（英语：）
* 加里·麦金农（英语：）

 |
|  |
| 恶意软件 | 
* Careto (面具)（英语：）
* CryptoLocker
* Dexter（英语：）
* 毒区（英语：）
* FinFisher（英语：）
* 火焰
* Gameover ZeuS（英语：）
* Mahdi（英语：）
* Metulji僵尸网络（英语：）
* NSA ANT产品目录（英语：）
* R2D2（英语：）
* Shamoon（英语：）
* Stars（英语：）
* 震网
* 黑暗幽灵 (DCM)
* 震荡波蠕虫
* 手机病毒
* TeslaCrypt
* VPNFilter
* WannaCry
* Petya
* 瑞晶
* peacenotwar（英语：）

 |
|  |
| 概念·思想 | 
* 《黑客宣言》
* 网络战
* 網路恐怖主義
* 黑客行动主义（英语：）
* 駭客
* 电脑犯罪
* 软件破解（逆向工程）

 |
|  |
| 手段·技术 | 
* 安全漏洞
* 漏洞利用
* 高级长期威胁（APT）
* 零日攻击
* DNS污染
* 缓冲区溢出
* 堆风水（英语：）
* 堆噴射（英语：）
* 穷举攻击/蛮力攻击
* 跨站脚本攻击（XSS）
* 水坑攻击
* 偷渡式下载
* SQL注入
* 中间人攻击
* 中途相遇攻擊
* 谷歌駭侵法

 |

 |