陳徐毅
2018年席卷全球的“芯片漏洞門”事件讓人們神經緊繃,行業各方、各個IT領域都受到了不同程度的影響。Meltdown(熔斷)和Spectre(幽靈)兩組漏洞是這起事件的罪魁禍首,它們暴露了現代處理器的先天設計缺陷,允許黑客突破操作系統和用戶、進程間的隔離,從被攻擊系統內存獲取敏感數據。
隨著兩組處理器漏洞事件的發展和愈演愈烈,英特爾、AMD的市值縮水,籠罩著CES 2018展會上空的陰霾,蘋果公司遭遇多地集體訴訟,一系列的問題仍在發酵,麻煩正不斷增多,整個業界從未感受到有史以來源自芯片安全的巨大壓力。
芯片門的起因
1月3日,安全小組Google Project Zero的研究員Jann Horn在其組織官博上公布了兩組芯片漏洞Meltdown和Spectre,分別對應全球統一漏洞庫的CVE-2017-5754、CVE-2017-5753/CVE-2017-5715。Meltdown的發現者包括三個獨立小組,Cyberus Technology小組、格拉茨技術大學研究小組得出相似結論。
兩組漏洞的起因皆為芯片廠商長期為提高CPU執行效率而引入的兩個特征:Out-of-Order Execution(亂序執行)和Speculative Execution(推測執行)。人類將二十世紀工程學的偉大思想運用到計算機科學上,現代處理器為了提高執行效率有別于早期處理器的順序指令執行,對指令執行進行相關性分析后進行亂序并行處理,這大大提高了CPU的性能。這種設計思想有賴于英特爾處理器的三級緩存構架,線程之間共享緩存的設計。
為了確保并行執行的準確性,處理器對執行指令進行安全檢查,只有符合當前用戶權限的指令才能被執行。然而這里有一個窗口期,在并行執行的一段過程中,被加載到緩存的指令并不會接受安全檢查,而那些被丟棄的指令也不會在緩存中被重置。推測執行在性能提升的方法上有別于亂序執行,但是指令在緩存中的狀態卻是相似的。因此,緩存中的對象就成了著名的側信道攻擊的目標。攻擊者通過非正面推測緩存中的信息,以此獲得隱私數據。
行業各方措手不及
據稱,Jann Horn于2017年6月分別向三大芯片制造商報告了這一問題,可能是基于投資者和股東壓力,芯片商的答復比較含糊,處理結果也比較糟糕,直到今年1月漏洞曝光,一石激起千層浪,鋪天蓋地的麻煩接踵而至,終于誰都躲不過了。
起初英特爾首當其沖,老同行AMD則初步調查后聲稱有別于英特爾處理器的不同架構,這次安全漏洞對自家處理器產品的影響幾乎為零。然而很快一記重拳就打在AMD的臉上,漏洞發布者和測試研究員旋即宣布AMD處理器同樣受到影響,同時ARM、英偉達無一幸免。英特爾CEO科再奇發布公開信,呼吁所有芯片商與相關的行業各方聯手共渡難關。這一次它們終于“乖乖站好”齊心協力。
事件發酵數日后,英特爾宣布針對各大操作系統發布了更新,這些更新將覆蓋近5年來超過90%的英特爾芯片產品。AMD則從一開始咬住“架構不同”不松口到慢慢承認“可能會受到Spectre的影響”,然后默默更新補丁。影響最大的云端Linux各發行版相繼發布內核安全補丁,為搶救Windows 10的微軟同樣忙得急火燎原。谷歌則宣布對部分自家產品作出了“優雅地回避”,但未公布具體細節。2018 CES上各位巨頭一臉疲態,大伙相視而(苦)笑。
芯片門的影響
1月的業界身“芯”疲憊,Meltdown和Spectre一躍成為史上影響最深刻、最廣泛的史詩級安全漏洞,雖然至今還沒有一起關于該漏洞引發的安全實例,但是它的影響力和波及范圍足以令整個業界瑟瑟發抖。
Meltdown和Spectre同時影響1995年之后除2013年之前安騰、凌動之外的全系英特爾處理器,后者還影響AMD、ARM、英偉達的芯片產品,幾乎波及整個計算機處理器世界。受影響的操作系統包括Windows、Linux、Mac OS、Android。科技企業重災區還包括微軟、亞馬遜、谷歌這類云計算大戶。
近期廠商更新的相應補丁雖解燃眉之急,但對處理器性能造成了最高30%的降速影響,這一結果相當于讓全球CPU技術進程倒退至少五年。
今年2月底,英特爾提供了針對Skylake架構處理器的新微代碼,它適用于Skylake變種處理器以及之后的主流芯片漏洞的修復,其中Skylake、 Kaby Lake、Coffee Lake處理器存在的“幽靈”(Spectre)漏洞包括變種漏洞都能得到修復。這也是迄今為止業界所獲悉關于解決漏洞門問題最好的消息。
除了被迫在性能和安全之間作權衡之外,更重要的是,芯片安全已經撼動了迄今為止的原始計算機架構本身。二十一世紀人類亟需算力資源以求發展當下生機蓬勃的人工智能等技術之時,關于現代計算機架構重構的聲音歷經半個多世紀或將再次浮上水面。