英特爾 CPU 再傳針對 TSX 的新推測執行漏洞 企業應儘速安裝修補程式
英特爾本周發佈晶片推測執行漏洞公告。一項名為 ZombieLoad 2 的推測執行漏洞,影響旗下多代處理器的交易同步延伸(Transactional Synchronization Extensions, TSX)功能。
這項漏洞可讓本機攻擊者或惡意程式從作業系統核心或其他行程中竊取敏感資訊。
現代 CPU 為了加快效能,都加入推測執行(speculative execution)功能,它可以在某項指令被呼叫前預先執行,以便更快完成工作。若最後未執行,則呼叫出的資料就會被丟棄。但這些資料可能被駭客繞過 CPU 防護機制而讀取,這類攻擊手法稱為推測執行旁路攻擊。去年的 Meltdown、Spectre 就是最有名的例子。今年 5 月英特爾研究人員再度發現推測執行漏洞,包括 ZombieLoad、RIDL 及 Fallout 等,再度讓駭客或惡意程式從記憶體竊取重要資訊。它們又統稱為 MDS (Microarchitectural Data Sampling) 漏洞。
而在本周,同一批英特爾研究人員再發現類似的漏洞。編號 CVE-2019-11135 的漏洞是利用英特爾處理器中的 Intel TSX (Transactional Synchronization Extensions) 功能,本漏洞又稱為 TSX 非同步取消(Asynchronous Abort,TAA)。
TSX 是英特爾自 2013 年加入 Haswell 的 x86 指令集架構功能。它是藉由增加硬體交易記憶體來提升多執行緒軟體的效能,讓讀寫運算可以共享記憶體和儲存於記憶體中的資料以提升效能,而記憶體和資料會被全部使用、丟棄或取消;交易取消時寫入的記憶體會被撤回到交易前的狀態。但在非同步運算中取消交易時,部份未完成的交易會從處理器微架構讀取資料並傳到行程中。結果如同 Spectre 或 ZombieLoad 一樣,造成記憶體資料可被推測出來。此漏洞又被稱為 ZombieLoad 2。
但 ZombieLoad 2 影響的範圍更廣,涵括 8 到 10 代 CPU 及 Xeon 處理器,以及先前未受影響 ZombieLoad、Fallout 及 RIDL 的 Cascade Lake CPU 系列。
用戶可以直接修改登錄檔設定來關閉 TSX 功能來避免問題:
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel” /v DisableTsx /t REG_DWORD /d 1 /f
記取去年的 Meltdown、Spectre 教訓,英特爾已經及早通知作業系統業者。微軟已在本周的 Patch Tuesday 每月更新中針對 Server、PC 版 Windows 釋出安全更新。英特爾也釋出更新版程式碼,提供用戶安裝。