瀏覽單個文章
Adsmt
Golden Member
 
Adsmt的大頭照
 

加入日期: Feb 2004
您的住址: 從來處來
文章: 2,762
https://www.theregister.co.uk/2018/...pu_design_flaw/

看了一下這篇,說明一下一些誤解。

1. the flaw is in the Intel x86-64 hardware, and it appears a microcode update can't address it. It has to be fixed in software at the OS level, or go buy a new processor without the design blunder.

根據這段,這個問題無法從microcode解決,只能從軟體解決。

2. 原理很簡單,記憶體管理分成kernel和user兩個空間,一般程式原則上只能存取 user 的空間。但程式執行時,因為經常需要進行系統函式呼叫,會在kernel和user兩個記憶體空間一直轉換,為了加速轉換,intel 讓執行序的分頁表保存了kernel的記憶體位址,執行序正常情況下,無法存取kernel 空間的記憶體。

但問題在intel為了更加速存取過程,使用了 speculatively execute code, 可以讓一般執行序越級存取到kernel空間的記憶體位址。

甚至可以利用JavaScript讓瀏覽器存取kernel空間的記憶體。

3. 所有使用Intel 這個技術的CPU的使用者,都有可能被駭。但對雲端運算公司傷害最大,因為駭客可以直接利用雲端運算公司提供的服務,寫個病毒控制他雲端運算的系統。

4. 軟體解決方法就是把 kernel 和 user 的記憶體空間完全分開。代價就是失去記憶體空間轉換加速的功能,導致效能降低。
舊 2018-01-03, 09:28 PM #35
回應時引用此文章
Adsmt離線中