李 曄 李沛南 趙路坦 侯 銳 張立新 孟 丹
(*中國科學院計算技術研究所 北京 100190) (**中國科學院信息工程研究所 北京 100093) (***中國科學院大學 北京 100049)
2018年初,谷歌公布了幽靈漏洞[1]與熔斷漏洞[2],揭示了當前主流的高性能處理器架構中存在著泄露敏感數據的安全風險。這2種漏洞的揭露像是打開了潘多拉魔盒,一系列變種接踵而至,層出不窮[3-5]。這些變種利用的根本原理是處理器中的亂序執行及推測執行。這2種技術可顯著地提升性能,被作為最基本的優化技術,廣泛應用于主流的商業處理器中。個人終端以及云端處理器的內核[2]或其他進程[2]的數據、狀態寄存器[6],運行在SGX中的私密數據[3],系統管理模式SMM以及虛擬機管理器VMM[7]中的敏感信息都暴露給攻擊者。幽靈和熔斷漏洞在學術界與工業界引起了巨大的震動,微體系架構設計廠商Intel、AMD以及ARM陷入恐慌,云端至終端的運營商和使用者也都惶恐不安。各大公司研究者們積極并迅速地提出各種防御機制,避免由于此類漏洞引起重大信息泄露,以求平穩地度過安全危機。
在推測執行與亂序執行機制中,存在一些指令被提前推測執行,但最終卻被廢棄、無法提交,這些指令被統稱為瞬態指令。雖然瞬態指令的執行指令不會影響體系結構的狀態,不改變程序的運行結果,但其在微體系結構上遺留的信息可能隱含敏感信息,繼而被攻擊者挖掘。故此類漏洞被稱為瞬態執行漏洞或推測執行側信道[8]。深究瞬態執行漏洞產生的根源,是傳統的體系結構均以性能優先作為設計導向,對于各種性能優化技術的安全性并沒有做深入、詳實的分析?!?br>