問:x86處理器之前被發現有保安漏洞,導致英特爾(Intel)以及超微(AMD)兩間公司,都要推出軟件修補,但後果是令x86處理器速度比原有設計減慢不少。但這個問題似乎未解決,美國的大學研究人員,近日再度發現處理器有保安漏洞,x86處理器特別受到嚴重影響。為何這次這個保安漏洞,只有x86的電腦才發現,使用ARM技術的Android,以至蘋果系統都不如上次一樣受影響。
李建軍:x86處理器所使用的技術,有相當多上世紀遺留的技術,是為了顧及與舊有軟件的兼容,以及令開發人員可以繼續使用舊的工具,因此這些舊的技術,縱使十分之影響運行速度,都要保留下來。像x86處理器的指令,就比蘋果和Android用的ARM結構來得複雜。為了處理器要跑得快,又要與這些上世紀留下來的東西並存,處理器生產商都扭盡六壬,在處理器中加了不少快取記憶的技術,務求提升運作速度。而這些快取記憶,就變成了黑客用作入侵系統的工具,因為處理器內部的記憶,很難要作出特別保護。如果要保護快取記憶的內容,就要犧牲運算速度。
x86處理器,由於採用相對複雜的指令集系統,為了提升速度,處理器會將一個複雜的指令集拆細來執行,而拆細了的指令放入快取記憶之中,正正成為這次保安漏洞的源由。亦解釋到為何這次ARM未有受影響,因為ARM採用比較簡單的指令集設計,並不需要將指令拆細執行,以提升運作速度而造成的保安漏洞。。
問:那現時 x86處理器的保安漏洞,又是否有相應的軟件作出修補?
李建軍:一如上次處理器保安漏洞的情況,因為必須要在作業系統中加入軟件才能修補漏洞,所以相信要在幾個月後,等蘋果、微軟以至Linux社群紛紛推出相應的軟件更新,才會解決問題。相信安裝了更新修補軟件後,x86處理器的主機的效能會減低,因為可能涉及關閉拆細指令後快取記憶功能,而快取記憶對系統速度和效能,有十分之關鍵的作用。如果修補軟件是依靠關閉快取記憶功能去暫時解決問題,那就肯定對電腦速度構成相當大的負面影響。現時惟期望各處理器製造商和開發作業系統的組織,能夠及時推出新軟件,防止有黑客成功利用漏洞偷洩資料。
問:如果處理器加速指令執行方式會導致保安問題,而利用作業系統作出一個治標不治本的更新,也始終未能夠徹底解決,更有為保安而犧牲速度之嫌。長遠而言,未來的處理器設計,又有甚麼方法可以杜絕其保安漏洞?
李建軍:以往的黑客,比較少直接在處理器上打主意,因此,處理器製造商其實並無投放太多資源去改善其設計和內部運作。但接二連三發現由處理器快取記憶導致的保安問題後,相信日後處理器的指令會更簡單,並減少用到快取記憶的機會。另一方面,製造商也可能會一併考慮保安問題,推出新指令集或技術,最終令處理器上的記憶受到一定程度的保護。不過,要做到這一點,牽一髮而動全身,無論軟件以至硬件的變動都會相當大,這不會是一兩年內會發生的事。
因此,由處理器引發的保安問題仍然會再度出現,在五至十年後,都不見得會解決。無論軟件公司,還是個別使用者,都可能不得不投放時間和精力去與黑客周旋,而用戶唯一可以做,就是定時更新作業系統軟件,盡量堵塞保安的漏洞。