英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

關注《一碳科技》吧,每天給你乾貨,千萬別錯過哦!

《一碳科技》8月15日消息,據外媒報道,德國的計算機研究人員發現英特爾處理器存在一個新的漏洞,暫時被命名爲“預兆”,該漏洞爲2018年1月份發現的”Spectre(幽靈) ”、“Meltdown (熔化)”的衍生,該漏洞幾乎存在於英特爾所有的處理器當中,如果被攻擊者惡意利用,地球上的每一臺電腦都無一倖免!

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

爲什麼說是無一倖免呢?首先我們先來了解一項技術——分支預測,分支預測技術是處理器廠商用來優化處理器處理速度的一項技術,該技術通俗一點來理解就是:“用處理器空閒的資源,提前去處理一些指令。這些指令可能是沒用的,也可能是有用的(“預測”體現在這裏)”,Spectre(幽靈)類似於分支預測漏洞。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

​現在,市面上主流的處理器生產廠商都使用這種技術,包括AMD,ARM,Intel等,而最可怕的就是這裏,AMD,ARM,Intel這三家廠商幾乎包攬了全球的計算機處理器市場,其中Intel和AMD都使用X86架構,幾乎“全軍覆沒”,ARM使用了ARM架構,受影響較小。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

▲這兩個漏洞其實在2017年就發現過

這兩個漏洞的ID分爲CVE-2017-5754(Meltdown)和CVE-2017-5753 (Spectre ),由此可見,這兩個漏洞早已在2017已經被發現。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

講到這兩個漏洞,就必須瞭解一下亂序執行!

以前的處理器一般都是按照編寫的指令一條一條按順序執行的,但這樣導致處理器的資源不能充分的利用,處理速度降低,所以研究人員開發出了一種新的技術——亂序執行。

我們來做一個簡單的假設,如果你現在要泡一壺茶,通常的步驟是這樣的:洗水壺、燒開水、洗茶壺、洗茶杯、拿茶葉、泡茶。那麼,如果用亂序執行技術來執行這些步驟是怎麼樣的呢?

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

圖片長度代表時間

現在,我們先洗水壺,然後燒開水、洗茶壺、洗茶杯這三件事情一起進行,緊接着拿茶葉、泡茶。這樣一來,“泡茶”這一事件的執行時間就減少很多了,這就是亂序執行技術的好處,但是要將它運用到處理器上面可不是一件簡單的事情,因爲處理器可不明白哪些事情是可以一起進行,哪些事情是要分開進行的。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

圖片長度代表時間

▲在處理器中是怎樣的?

我們舉一個簡單的例子(小編水平有限,請諒解),請看如下C語言代碼:

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

處理器按照正常的執行順序是這樣的:聲明一個變量A並賦值、聲明一個B變量並將A值的賦給它,聲明一個C變量並賦值。那麼按照分亂序執行技術是怎樣執行的呢?

我們仔細觀察一下,第二步必須在第一步執行完之後才能開始執行,因爲第二步中的B的值是由第一步中A的值決定的,他們兩個存在“制約關係”,而第三步則是聲明C變量並賦值,不論第一步或第二步是否執行完都可以執行,所以,按照分支預測技術的思想,第一步和第三步指令可以先同時發送到兩個邏輯單元去執行,然後在返回執行第二步。

無論執行的步驟怎樣,最終的結果都是一樣的,只不過是所用的所用的時間不同而已。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

▲Spectre 漏洞就是利用了分支預測技術的漏洞

分支預測技術跟亂序執行相類似,分支預測技術極大地提升了處理器的處理速度,但副作用是帶來了一些嚴重的漏洞,並且這些漏洞跟軟件、硬件無關,而是跟處理器的架構有很大關係,所以在技術層面上根除這種漏洞是比較困難的,好在英特爾公司都及時發佈相應的安全補丁,避免了重大事故的發生。

英特爾再爆重大安全漏洞:恐怕波及全球電腦系統!

對計算機編程有興趣的可以關注《一碳科技》哦,共同進步!不定時更新各種編程案例、教程,千萬別錯過了!

相關文章