千年蟲之後最大危機,Intel晶元漏洞這隻黑天鵝背後福禍難料
Intel晶元出新漏洞了,而這可能是計算機史上最大的漏洞。過往十年內Intel銷售的所有CPU都存在這一漏洞,帶來的影響之嚴重,堪比20年前的「千年蟲」。
當然,也有人說「這是Intel逼迫大家升級電腦的陰謀」。
眾說紛紜,這波CPU漏洞有些怪
據Google、Intel、AMD三方發布的聯合聲明顯示,這次漏洞由Google發現,是CPU內核設計級別的漏洞,一共三種類型,合計2個漏洞(meltdown 崩潰和 spectre幽靈)。
其中meltdown崩潰漏洞目前只在Intel晶元上出現(未來不定),這一漏洞的修復最高將使CPU的性能折損30%。另一spectre幽靈漏洞則在AMD、ARM旗下所有cortex A系列晶元上出現,按照AMD的官方說法,這一漏洞影響不大,修復程序對CPU的性能影響也幾乎可以忽略不計。但這一漏洞的發現者Daniel Gruss表示,不能低估這一漏洞的影響。
AMD回應
目前這一漏洞影響的操作系統有:Windows、Linux、macOS、亞馬遜AWS、Android等幾乎所有通用及伺服器操作系統。
也有專家用戶在翻閱了Google、Intel、AMD的聯合聲明後,解讀表示:這一漏洞對廣泛採用虛擬機技術的伺服器及部分PC用戶有影響,對於普通用戶來說可以忽略不計。
同時,Intel等晶元廠商的這一漏洞是在實驗室中研究發現的,黑客們目前尚未掌握這一漏洞,在很長時間內不會對用戶構成威脅。
不過,關於漏洞的詳細信息還未完全披露,未來的影響還未知。
Google捅出的CPU漏洞,是CPU誕生就有的缺陷
從技術原理上來說,這次的Intel晶元漏洞發生在CPU內部的cache緩存設計上,CPU在執行任務的過程中沒有刪除cache緩存里調用的應用數據,導致在亂序執行、推測執行中,其他同步運行的應用任務讀取到相關敏感信息,進而黑進其他應用。
為了從系統底層上修復這一漏洞,要麼給CPU增加一個緩存清理流程,要麼給CPU增加一個密鑰驗證流程,CPU突然多出來這麼多運算流程,當然性能就下降了。
按照專業用戶的推測,這一漏洞從現有精簡架構CPU出現以來就已經存在。曾經的計算機上出現過Lisp Machine技術,這一項技術為每一個程序指令都定製了專門的處理模塊。隨著業界對計算機的通用性要求越來越高,擁有更高效率的ABI(Application Binary Interface應用程序二進位介面)技術開始被用戶廣泛接納,這種技術就是將所有程序指令轉化為統一的二進位數據進行高速處理,大大簡化了CPU的複雜程度,提升了CPU的研發推廣速度。從此CPU微處理器(MCU)不再依附於內存快閃記憶體,成為獨立的產品品類——CPU。Intel就是在1980年代,才從存儲器業務全面轉向CPU業務。
但ABI技術存在一個黑盒,那就是CPU內部的cache緩存,CPU中cache緩存數據的處理是個棘手的問題。而CPU緩存內部的執行步驟越少,反映到用戶面前的處理效率就越高,所以CPU架構設計者就傾向於精簡CPU的處理流程。
例如程序的數據調取之後是不是要刪除?還是任由下一個軟體的數據進行覆蓋?這是一個問題。現在的表現看,Intel、AMD、ARM都採用的是不刪除直接覆蓋的方案。
在CPU剛剛誕生,過去那個單線程單任務處理的時代,這一問題幾乎不存在,因為cache內的數據自動就覆蓋了。但進入21世紀,新研發的流水線設計、超線程設計、亂序執行、推測執行等並行技術出現後,就成為了頭疼的問題。
架構設計者們面對這樣的問題當然採用的是最輕便的解決方案,在處理器處理緩存數據的時候加上密鑰核對。按說這一方案已經解決了問題,但現代CPU的數據處理量越來越大,就容易出現繞過的方案。由於各家CPU內部的hash加密演算法各不相同,所以表現在漏洞功能影響上也有所差別。
像推測執行過程中產生的未執行任務數據,就成了一個漏洞。所以也可以說,這一次的Intel等各家CPU的漏洞門,就是從2000年千年蟲危機之後,埋下的全新隱患。
但是這些漏洞出現在CPU內部,一般人發現不了,也很難攻破。所以十幾年來,也沒人提這個事。
這一次問題能夠被發現,其實也跟近兩年突然興起的CPU自研熱潮有關,才有Google這樣的公司把漏洞捅了出來。
這一次Intel漏洞是逼你升級PC的陰謀嗎?
有人說當年的世紀千年蟲危機最後的影響也不大,卻來回吵了三四年的時間,逼得一堆公司個人換了電腦。最亂的時候,甚至還有人拿著千年蟲的幌子賣葯治病……
一次千年蟲危機,最後讓全球電腦都進行了大規模更新,為Intel帶來了大把創收。
所以有人堅稱:這一次絕對是Intel故技重施!
這一說法很有市場,也不能否認Intel有因為PC市場不景氣,放大招逼迫市場全面翻新的主管因素。畢竟這樣級別的漏洞十幾年來自己一點都不清楚,擱誰誰都不相信。
甚至,Intel也有實力每隔一段時間公布一個漏洞,逼迫用戶進行產品升級換代。
但,無論千年蟲還是今天的CPU漏洞都是實實在在存在的。
2000年的千年蟲危機,是在1997年全球公司提前準備、做測試、找解決方案,才將那次危機的影響降到了最小。但還是有諸多證券、銀行、政府部門、水電設施服務公司,因此受到了極大的影響。諸多個人也因此丟失了大量個人數據。
今天Intel的CPU漏洞,即便是Intel提前知曉,甚至是為了推動市場換新而故意放出的消息,那也有技術發展局限的原因。畢竟十年前的安全技術受限於當時的技術能力,不可能一直有用。
各家CPU內部用到的hash加密演算法,在十年前甚至五年前、半年前都還認為是可靠的,但是技術更新太快,昨天的可靠就演變成今天的驚天漏洞。
或者說,為了保障大家的計算機安全,不得不為CPU增加越來越多的安全線程,而這必然會折損CPU的性能。
我們或許不得不承認一個事實:技術跟其他產品一樣,是有保質期的。
但如何預防Intel晶元漏洞這種突然到來的「保質期」,需要Intel們給出合理的答案。
接下來,會有一大批對安全要求高的軍政企單位部門,不得不大規模更換自家的數據中心、伺服器、PC、智能手機等軟硬體設備。如果市場反饋及時,那麼2018年的市場寒冬就又可以避過去了,成為今年最大的黑天鵝事件。
2018,真是有意思的一年。在這個全球市場經濟面臨大規模動蕩的一年裡,不知道接下來還有多少個Intel,來貢獻一波波的黑天鵝。
文/水上焱
本文系百略網(http://www.ibailve.com)原創,微信ID:wwwbailve。
推薦閱讀:
※Windows遠程桌面漏洞Esteemaudit(CVE-2017-9073)補丁簡要分析
※讓我們一起來消滅CSRF跨站請求偽造(上)
※Adobe ColdFusion 任意命令執行漏洞(CVE–2017–11283, CVE–2017–11284)預警