網絡安全研究人員發現了兩種截然不同,針對Intel服務器處理器的攻擊,兩者都可以從處理器的受信任執行環境(TEE)中竊取敏感信息。
第一種攻擊名為SGAxe,是今年較早時發現的CacheOut攻擊(CVE-2020-0549)的一個變種,可以讓黑客從處理器的L1緩存裏獲取數據。
據研究人員表示,雖然英特爾已經採取了措施,通過若干微碼更新以及新架構來應付這些針對SGX的側信道攻擊,但事實證明,這種措施是無效的。這使得黑客可以用瞬時執行攻擊來從一部已經完全升級過打過安全補丁的Intel主機上重新獲得SGX密鑰,而這部主機也是被Intel服務器所信任的。
對於SGAxe攻擊,Intel表示其基礎的CacheOut攻擊漏洞是已經被堵上了的,並且將會進行一次可信計算基礎(Trusted Compute Base)恢復來使所有之前簽名的證明密鑰無效。
密歇根大學的一組研究人員表示:
“通過對由Intel提供並且簽名的架構性SGX enclave進行多次攻擊,我們從這個網絡中獲得了用於證明這個enclave真實性的證明密鑰,從而可以讓假的enclave偽裝成真的。”
第二種攻擊是由阿姆斯特丹自由大學發現,被歸類為微架構數據採樣類別(Microarchitectural Data Sampling),名為CrossTalk的攻擊。這種攻擊可以讓由黑客所控制的代碼在一個處理器核心上運行,然後判斷在另一個不同核心上運行的SGX enclave的密鑰是甚麼。
CrossTalk的工作方式是在瞬時執行期間讀取暫存緩衝區,來泄漏先前受害者訪問的敏感數據。
與上面SGAxe攻擊一樣,Intel也推出過不同的方法來防止這種攻擊,但是大部分都無效,因為這些方法都是依賴邊界的空間隔離(spatial isolation)來實行的,CrossTalk的跨核心攻擊性質則讓這些措施完全失效。
而Intel在最近向軟件供貨商發放的微碼更新可以鎖定全部內存總線,從而可以防止這種攻擊。考慮到這個漏洞從發現到允許公佈之期拖了21個月,這也説明了CrossTalk攻擊是比較難解決的問題。
這次受影響的是從2015年至2019年之間發佈的服務器處理器,Intel也是建議了相關的用户儘快更新固件來預防這樣的攻擊。