一場由英特爾芯片漏洞衍生出的安全問題,波及了全球所有桌面系統、電腦、智能手機及云計算服務器。
兩個漏洞萌萌噠圖
1月4日,國外安全研究機構公布了兩組CPU漏洞:Meltdown(熔斷)和Spectre(幽靈)。
雖然目前全球還沒有發現利用漏洞進行的真實攻擊,但理論上,這次曝出的漏洞讓所有能訪問虛擬內存的CPU都可能被人惡意訪問,理應受保護的密碼、應用程序密匙等重要信息因此面臨風險。
從目前了解情況來看,1995年以來大部分量產的處理器均有可能受上述漏洞的影響,且涉及大部分通用操作系統。雖然是英特爾為主,但ARM、AMD等大部分主流處理器芯片也受到漏洞影響。相應的,采用這些芯片的Windows、Linux、macOS、Android等主流操作系統和電腦、平板電腦、手機、云服務器等終端設備都受上述漏洞的影響。
糟糕的是,英特爾公司本身無法采用固件升級的方式解決這一漏洞,導致微軟、蘋果等操作系統開發商各自尋求修補方法。
1月4日,中國國家信息安全漏洞共享平臺(China National Vulnerability Database)收錄了這兩個漏洞,并對該漏洞的綜合評級為“高危”。
隨后各地網絡安全部門發出安全提醒。1月5日,上海市網信辦向本市各關鍵信息基礎設施主管和運營單位發出預警通報,要求各單位啟動網絡安全應急預案,并采取應對措施。
網絡安全專家表示,雖然漏洞影響范圍廣泛,并引起全球關注,但受影響最大的主要是云服務廠商,對于普通用戶來說,大可不必過于恐慌。
Q:漏洞是如何展開攻擊的?
通常情況下,正常程序無法讀取其他程序存儲的數據,但惡意程序可以利用Meltdown和Spectre來獲取存儲在其他運行程序內存中的私密信息。
具體而言,據騰訊電腦管家安全團隊的專家向澎湃新聞記者介紹:利用Meltdown漏洞,低權限用戶可以訪問內核的內容,獲取本地操作系統底層的信息;當用戶通過瀏覽器訪問了包含Spectre惡意利用程序的網站時,用戶的如賬號、密碼、郵箱等個人隱私信息可能會被泄漏;在云服務場景中,利用Spectre可以突破用戶間的隔離,竊取其他用戶的數據。
目前漏洞的驗證代碼(PoC)已經公布,技術細節在此不作贅述。騰訊安全團隊經過實際驗證,漏洞可在Windows、Linux、Mac OS等操作系統下,成功讀取任意指定內存地址的內容。
Q:漏洞的原理是什么?
這兩組漏洞來源于芯片廠商為了提高CPU性能而引入的新特性。
現代CPU為了提高處理性能,會采用亂序執行(Out-of-Order Execution)和預測執行(Speculative Prediction)。亂序執行是指CPU并不是嚴格按照指令的順序串行執行,而是根據相關性對指令進行分組并行執行,最后匯總處理各組指令執行的結果。預測執行是CPU根據當前掌握的信息預測某個條件判斷的結果,然后選擇對應的分支提前執行。
亂序執行和預測執行在遇到異常或發現分支預測錯誤時,CPU會丟棄之前執行的結果,將CPU的狀態恢復到亂序執行或預測執行前的正確狀態,然后選擇對應正確的指令繼續執行。這種異常處理機制保證了程序能夠正確的執行,但是問題在于,CPU恢復狀態時并不會恢復CPU緩存的內容,而這兩組漏洞正是利用了這一設計上的缺陷進行測信道攻擊。
Q:驚天漏洞為何隱藏這么久?
該漏洞至少2016年年初就已經被安全研究人員發現,但英特爾直到今年年初才最終承認這一漏洞。華爾街日報援引安全專家的話直指,英特爾在事件的披露方面做得亂七八糟。
2016年8月,在美國拉斯維加斯的Black Hat網絡安全大會上,兩位研究者安德斯·福格(Anders Fogh)和丹尼爾·格拉斯(Daniel Gruss)演示了漏洞的早期跡象。福格在去年7月還就此發表博文,鼓勵其他的研究者去展開調查。
與此同時,谷歌內部的安全研究團隊Project Zero的雅恩·霍恩(Jann Horn)早已揭開該問題,并通知了英特爾。最終,來自全球各地的三個其他的研究團隊就同樣的問題聯系英特爾,英特爾接著與他們一道交流和撰寫論文。
然而這種芯片漏洞至少可追溯到2010年,帶來這種漏洞的通用架構原則有幾十年歷史了。那為什么英特爾沒有更早發現漏洞呢?英特爾沒有正面回應這一問題。
上海交通大學網絡空間安全學院孟魁博士表示,這次安全漏洞事件在這個時間點全面爆發可能有兩個原因,第一是英特爾的修復效率低下,進展過慢,引起業界的施壓;第二是因為漏洞的信息泄露時間過長可能將導致被攻擊者利用。因此必須立即采取措施。”
Q:目前有沒有已經報告的惡意攻擊?
騰訊和360等安全廠商都表示,目前沒有任何已知的利用這些漏洞進行攻擊的案例被發現。
英國國家網絡安全中心表示,目前還沒有證據表明Meltdown和Spectre正在被用來竊取數據,但攻擊的本質使他們難以察覺。
360核心安全事業部總經理、Vulcan團隊負責人鄭文彬告訴澎湃新聞記者,攻擊者雖可利用該漏洞竊取隱私,但無法控制電腦、提升權限或者突破虛擬化系統的隔離。此外,該漏洞不能被遠程利用,更無法像“永恒之藍”漏洞一樣,在用戶沒有任何交互操作時就實現攻擊。
騰訊安全專家表示,雖然漏洞細節以及PoC已經公開,但是并不能直接運用于攻擊。漏洞運用于真實攻擊還有許多細節問題需要解決,目前也沒有一個穩定通用,同時可以造成明顯嚴重后果(竊取賬號密碼等)的漏洞利用代碼。
Q:漏洞修復情況如何?
根據英國衛報的說法,由于漏洞是芯片底層設計上的缺陷導致的,修復起來會非常復雜,同時難以完美修復。
鄭文彬表示,CPU硬件的漏洞修復高難度, 僅通過CPU廠商進行安全更新(例如升級CPU微碼)是無法解決這一問題,修復這些漏洞需要操作系統廠商、虛擬化廠商、軟硬件分銷商、瀏覽器廠商、CPU廠商一起協作并進行復雜且極其深入的修改,才能徹底解決問題。
漏洞曝光之后,各家芯片廠商、操作系統廠商、瀏覽器廠商,以及云服務廠商,都已先后作出回應,積極采取措施,發布安全公告,并及時推出緩解措施和修復補丁。
英特爾建議關注后續的芯片組更新、主板BIOS更新;針對Meltdown漏洞,Linux已經發布了KAISER;macOS從10.13.2予以了修復;谷歌稱已經修復;Win10 Insider去年底修復;Win10秋季創意者更新發布了KB4056892,將強制自動安裝;亞馬遜AWS隨后也公布了指導方案;對于難度更高的Spectre漏洞,各廠商目前也仍在攻堅中。
針對該漏洞,上海市網信辦采取了應急處置措施。一是密切跟蹤該漏洞的最新情況,及時評估漏洞對本單位系統的影響。二是對芯片廠商、操作系統廠商和安全廠商等發布的補丁及時跟蹤測試,在做好全面審慎的評估工作基礎上,制定修復工作計劃,及時安裝。三是進一步加強關鍵信息基礎設施網絡安全防護工作,加強網絡安全防護和威脅情報收集工作,發生網絡安全事件及時向市網信辦報告。
Q:普通用戶如何防范漏洞?
目前,網民可以通過以下安全策略進行防護:
1、升級最新的操作系統和虛擬化軟件補丁:目前微軟、Linux、MacOSX、XEN等都推出了對應的系統補丁,升級后可以阻止這些漏洞被利用;
2、升級最新的瀏覽器補丁:目前微軟IE、Edge和Firefox都推出了瀏覽器補丁,升級后可以阻止這些漏洞被利用;
3、等待或要求你的云服務商及時更新虛擬化系統補丁;
4、安裝安全軟件。
騰訊安全專家表示,漏洞可造成的主要危害在于用瀏覽器訪問了一個帶有漏洞利用代碼的網頁,導致敏感信息(賬號密碼等)泄露。只要養成良好的上網習慣,不輕易點擊陌生人發來的鏈接,基本不會受到漏洞影響。同時,瀏覽器針對漏洞發布的補丁和緩解措施簡單有效,而且不會造成性能下降或兼容性問題,用戶可以選擇將瀏覽器升級到最新版本,從而避免受到漏洞攻擊。
Q:“打補丁將導致CPU性能損耗30%”的說法是真的嗎?
修復程序本身的確存在諸多問題。
騰訊安全專家介紹,以Windows 10為例,微軟于北京時間1月4日凌晨緊急發布了1月份系統安全更新,但補丁存在明顯的性能和兼容性的問題:一方面,更新可能會讓受影響的系統性能下滑30%。另一方面,更新可能會導致部分軟件(安全軟件等)不兼容從而致使系統藍屏。
不過根據騰訊安全團隊的實際測試,性能問題對于普通用戶來說,影響并不大:只有在極端的測試下,才會出現明顯的性能問題;而正常的使用過程中一般不會出現。
360鄭文彬也表示,這種說法比較片面,30%的性能損失是在比較極端的專門測試情況下出現的。通常的用戶使用情況下,尤其在用戶的電腦硬件較新的情況下(例如絕大部分在售的Mac電腦和筆記本、32位X86操作系統),這些補丁的性能損失對用戶來說是幾乎可以忽略不計。接下來包括微軟、Intel在內的廠商還會進一步推出針對性的補丁,進一步降低補丁對性能的損耗。
但是騰訊安全團隊提醒,兼容性問題確實比較嚴重:在有安全軟件,以及一些游戲的電腦上,安裝補丁比較容易出現藍屏現象。這也使得眾多安全廠商采取了比較保守的策略,暫時不主動推送微軟的補丁,避免造成用戶電腦無法正常使用。