Reptar:Intel處理器內的安全漏洞

在11月14日Google發表了一份關於Intel處理器的報告,提到由2009年Ice Lake世代的處理器開始,漏在的安全漏洞可導致DoS、特權升級和披露敏感資料等問題,截至寫文章之時第12、13代Alder Lake和Raptor Lake已推出補丁,而第10及11代Ice Lake和Tiger Lake的補丁作在製作中。

處理器模糊測試

受影響的完整清單可以在Intel的網頁上找到資料,有過往曾發現AMD處理器存在Zenbleed安全漏洞的研究員,發表了Intel處理器安全漏洞的文章。通過模擬測試的方法,即是把隨機資料送到資訊系統輸入的方式進行測試,通常用作自動尋找軟件安全漏洞(雖要創建專門模糊工具互程式互動及監察狀態),然後進行數萬或數十萬次測試,以識別測試程式碼中的異常行為。

在測試處理器時就更加複雜,因為需要隨機生產不會出現自身故障的程式,並且在處理器上運行,但難以分辨處理器的正常與異常行為,始終並非所有在軟件執行期間的每個錯誤都會導致當機,所以提出了一種技術,把相同的「隨機」代碼放在不同的處理器上同時執行,理論上相同的程式會得相同的結果,否則便代表存在問題,而這種方法發現了Intel處理器的安全漏洞。

無用但危險的代碼

要瞭解Reptar安全漏洞的運作,需要走到最底程式編程,處理器直接執行機器碼,彙編語言有助更方便地展示這些基本指令,但在最後的「movsb」指令會指示處理器把數據從一處搬到另一處記憶體,而它前面的有rep的修飾符,即是movsb指令應該能夠連續執行幾次,但這種字首與所有指令都沒有相關,而Intel的處理器懂得跳過無意義的字首,可惜由Ice Lake的Intel處理器開始,當出現rex.rxb rep movsb指令時,由於該代處理器加入了「Fast Short Repeat Move」技術,原意是加速執行把數據移至RAM,但也能最佳代執行rep movsb指令,基於此功能便使處理器的邏輯出現漏洞(詳細資料),最先被Intel工程師發現,然後到最近的Google專家。

即時威脅

根據研究人員的報告,執行有關指令的導致結果難以預計,從觀察執行代碼得知,程式的某些部份被忽略,處理器理發生不同的錯誤,甚至完全失敗都有可能,而後者需要以某種方式同時對一對處理器核心使用有關安全漏洞。儘管無法預測行為已經夠壞,但它能直接威脅到虛擬私人伺服器托管服務或雲端方案供應商就更危險,在數十或數百個客端共享單一強大伺服器的環境上,每個客端都不應該看到其他客端的主機或資料,一旦有客端在虛擬OS執行可導致服務供應當機的程式,至使就打開了DoS攻擊的可能性,而執行代碼和資料披露這種可能結果,則是由Intel方面提及有關的可能性。

資料來源:Kaspersky Blog