要性能還是要安全? Intel漏洞性能測試對比: 長舒一口氣

這兩天Intel再一次來到了風暴的中心. 繼之前ME爆出嚴重的安全漏洞之後, Intel CPU再一次爆出安全漏洞.

比較要命的是這一次的漏洞修複會帶來一定的性能損失. 一時間各種消息風聲鶴唳, 什麼CPU性能會掉30%, Intel CEO提前賣掉股票跑路等等.

但是八卦歸八卦, 我們還是應該冷靜下來看一下, 這次的漏洞門對我們的日常使用到底有多少影響.

關於本次漏洞:

這次爆出的漏洞分為 'Meltdown' 和 'Spectre' 兩個部分, 兩者的原理基本相同, 但是攻擊深度有區別. Meltdown是攻擊到系統內核層面 (例如WIN10系統的核心部分) , Spectre則會直接訪問系統記憶體, 所以理論上破壞力更大.

現在微軟提供的系統補丁是針對Meltdown, Spectre則因為更為複雜, 所以暫時還沒有修複, 只是由於攻擊難度比較大, 所以暫時還沒有明確的攻擊事件.

目前來看Meltdown漏洞會影響到Intel和ARM不會涉及, AMD. Spectre則會影響到Intel/AMD/ARM三家大廠.

由於Intel對猜測指令依賴性比較強, 所以在這次的事件中波及最大. ARM雖然做了一些防禦措施, 但是有部分產品線是徹底淪陷的. AMD Ryzen因為是重新開發的, 所以Meltdown不會涉及, 但是Spectre一樣還是會中招.

之所以產生如此之大的爭議, 主要就是因為打上系統補丁之後CPU性能會有下降.

從原理上簡而言之, 就是惡意程序可以利用CPU在指令集上的漏洞, 觸發CPU內部的猜測指令, 使CPU會訪問系統記憶體, 緩存中所有的部分, 從而獲取敏感資訊.

只是這個攻擊方式需要被攻擊的數據在攻擊觸發時剛好出現在記憶體, 虛擬記憶體或CPU緩存中, 病毒必須足夠聰明, 所以攻擊難度比較大.

比較可怕的是這個漏洞同樣可以攻擊到RING 0層面, 也就是Intel ME這個級別的CPU廠商保留區, 理論上可以完全控制這台電腦.

那麼問題來了, 為什麼CPU內部會存在一個橫貫20多年的漏洞? (Intel宣稱1995年起的產品都中招)

主要原因就是性能與安全的平衡. 性能與安全, 穩定性, 成本之類的東西互相之間就像是蹺蹺板, 產品設計的時候要考慮互相之間的平衡.

打個比方我們家用的記憶體, 理論上每運行600萬次讀寫必然會出現一次錯誤, 但是這對於消費級來說問題不大, 所以就保留了下來. 對應的在伺服器級上, 就要採用ECC記憶體, 但是這就會帶來不少代價, 價格會貴不少, 超頻性能, 延遲上也會比較難看.

而CPU作為一個綜合性的處理晶片, 內部結構複雜, 採用一些取巧的演算法就很好理解了, 不然CPU都做不出來. 估計這個漏洞是硬體架構導致的邏輯漏洞.

比方說晶片中會有 '與門' 這個元件, 兩個輸入端入1和入2都顯示為真, 這個時候輸出端才會顯示為真, 否則為假. 那當首先檢測的入1就是假, 是不是入2就可以不檢測了, 反正輸出的都是假. 猜測指令的目的就是為了減少環節提升效率.

以上的文字確實比較深奧, 為了幫大家更容易理解, 我來換個比喻幫助大家理解.

CPU廠商就好比是一家做羊肉串的飯店. 照道理羊肉串的竹籤必須要先洗乾淨, 高溫消毒, 再照紫外線, 最後再檢測才能去烤肉, 但是燒烤的時候其實就可以把竹籤殺菌殺乾淨.

CPU廠商覺得他的烤串都是現串現烤, 竹籤上的病菌來不及產生毒素, 所以CPU廠商就選擇洗乾淨, 然後火烤, 把中間高溫消毒, 照紫外線給省了. 這個漏洞就好比是病菌利用這個時間差產生了足夠的毒素, 結果吃的人就拉肚子了. 不是特別確切, 但是大致就是這個感覺.

由於打上這個補丁會讓CPU一部分的取巧的演算法被屏蔽, 所以會影響一定的性能. 這對數據中心的影響最大.

接下來我就針對家用環境先進行一下初步的測試.

測試平台:

這次的測試平台是I5 7500. 這邊利用到的是我正好做到一半的測試. 本來想做一篇7500對比8100的內容, 結果現在系統環境發生了明顯的變化, 所以之前的測試等於作廢. 所以這個做到一半的測試就被我拉過來對比.

從Intel給出的說法, 6, 7, 8三代受到的影響比較小.

針對老平台的測試我還需要有時間準備, 所以先針對市售比較集中的產品吧.

2016 GoodChinaBrand | ICP: 12011751 | China Exports