文章專區

2021-05-15幽靈漏洞陰魂不散,駭客新招全球硬體皆無法倖免? 473 期

Author 作者 編譯|陳亭瑋
維吉尼亞大學(University of Virginia)工程學院的電腦工程團隊發現了一個攻擊方法可以穿過所有針對幽靈漏洞(Spectre)的防禦手段,由於此一漏洞存在於多數的電腦相關設備,也代表了全球都無法免於相關風險。

在2018年,業界與學術研究人員發現了潛在的「幽靈漏洞」,使得全球電腦與其他設備容易受到攻擊。現在多數的電腦處理器,皆有個被稱為推測性執行(Speculative Execution)的技術,主要用以提高速度。該漏洞就是利用推測性執行的特性,進行攻擊。處理器在推測性執行的情況下,會推測指令最終的執行路徑,並藉此推測將指令由記憶體中取出,以加快運作與讀取速度。利用幽靈漏洞進行的攻擊會將處理器引到錯誤的路徑執行指令。而即使後來處理器恢復正常並正確完成任務,駭客仍有機會在這段過程中讀取到機密數據。

自從幽靈漏洞發現以來,業界與學術界最有才華的科學家致力於軟體與硬體的防禦,認為可以補強推測性執行漏洞,而不至於減慢計算速度太多,但他們恐怕要失望了。

 
維吉尼亞大學工程學院的電腦工程團隊由助理教授文卡特(Ashis Venkat)率領,在此的新發現被稱為「微操作快取」(micro-op cache)該團隊在今(2021)年4月向國際晶片製造商通報此發現,而將於6月全球計算架構會上報告。微操作快取在計算時儲存簡單命令串以加塊運算速度,使得處理器可以快速早期存取推測執行。微操作快取自2011年就被內置在英特爾(Intel)的電腦上。

團隊發現,當處理器從微操作快取取得命令時,駭客就可以藉此竊取資訊。

「想像一個機場安全的場景,大門警衛沒有檢查你的登機證就讓你入內,因為這樣比較快而有效率,而且登機證會在後面的關卡被檢查。」文卡特在新聞稿中作出說明「電腦處理器也做了類似的事情,它會先將指令排入,最終如果推測性執行的預測並不正確,所有指令會從排程中移除。但駭客就有機會趁著指令還在排程裡的時候獲取機密訊息,如密碼之類的。」

而由於目前所有的幽靈漏動防禦措施都在執行階段的後期保護處理器,因此面對文卡特新發現的駭客招數即毫無用處。團隊發現兩個變體都可以由Intel與AMD的處理器中竊取資料。

為了避免漏洞而禁用微操作快取與推測性執行顯然都不可行,因為這都會讓現行處理器中的關鍵性能創新失效,讓電腦效能退化。對於此漏洞,英特爾在5月3日發表聲明,建議軟體開發人員使用常數時間(constant-time programming)的方式進行編碼,則不需要擔心此類攻擊。但具體來說應該如何作出更完整的解決方案,尚待電腦科學家進一步通力合作。


新聞來源
1. Their Work Will be Presented at Prestigious International Computing Conference in June,University of Virginia, 2021/5/5.
2. Computer scientists discover new vulnerability affecting computers globally, Science Daily,2021/4/30.