jenhaoliu
|
分享:
x0
|
[資訊教學] HT易遭攻擊 Intel暫不修正
超執行緒(Hyper-Threading)技術爆發資訊安全疑慮,日前英國牛津大學電腦系學生Colin Percival提出研究報告,指此類架構處理器易受名為時序攻擊(Timing Attack)的間碟程序監視,導致加密資料外洩。Intel認為此問題的安全疑慮不大,希望透過系統軟體商更新程式來避免;事實上此類攻擊已發生千餘次,而徹底解決的方式是更改處理器設計。據了解,目前Intel並無修正處理器的相關計畫。
時序攻擊是透過相異執行緒監視共享快取中的特定資料完成,這個可能性早在2002年底就已被初步討論過,2004年10月,Percival針對同步多執行緒(Simultaneous Multithreading)處理器進行研究,並在2005年2月底與Intel及其他軟硬體製造商展開相關問題商討;至2005年5月中旬正式公布報告前,多數Unix系統供應商及組織已提出對策或回應。Precival接受本刊訪問時指出,自從與Intel聯繫後,該公司據悉已和系統供應商討論,但並未提供進一步對策或訊息。
由於Intel是目前市場上最大的處理器供應商,而多數產品和未來規畫產品、包括64位元與Dual Core處理器都將支援Hyper-Threading同步多執行緒功能,因此所受影響相對較大。Intel對本刊詢問時十分低調,認為此問題與特定平台無關,只要共享單一處理器資源的處理器架構上都會發生,可由修正系統軟體解決;該公司已在數個平台上測試,但並不方便以書面方式提供已測平台等詳細的測試資訊。
基本上,時序攻擊的原理是藉由觀察快取記憶體裡未清除的資料,來達到擷取如OpenSSL加解密資訊等特定資料的目的。在處理器架構上,因為同步多執行緒功能可將單一實體處理器模擬成兩個以上共用暫存器、快取記憶體的個別處理器,所以更容易完成時序攻擊。在時序攻擊發生時,間碟程式計算加/解密執行緒特定快取資料的執行時間,以得知欲擷取資料何時會出現在快取記憶體中,然後就能偷得解密訊息。
重點是,間碟程式進行此工作並不需要保護模式下的核心執行特權(Privilege),也就是一般程式都有可能監視快取記憶體內容。在多人使用的系統上,不懷好意的使用者可以利用這類方法,偷取其他使用者的加密資料;即使在個人使用的系統,也可能有間碟程式進行同類資料竊取工作。除了用時序攻擊盜取資料外,此系統弱點被發現後,也有其他駭客級專家開始研究在無特權狀態下干擾其他執行緒的方法。
雖然時序攻擊理論上在任何處理器都能存在,但僅有共享內部記憶快取的多執行緒處理器架構最易實踐。除了Intel處理器外,部分IBM的POWER晶片及Sun的SPARC處理器也有同類架構,但後兩者似乎並沒有同類漏洞。在x86平台上,包括單核心、雙核心、64位元等處理器,目前僅Intel具HyperThreading的處理器支援同步多執行緒功能;不具此類功能的多處理器平台受同類攻擊實現可能性極低。
Percival指出,他所研究的時序攻擊問題的確可藉修改作業系統軟體來避免,但至目前為止,所有的系統都是以「關閉HyperThreading」來確保安全。Percival認為要真正解決可能發生的安全漏洞,改變硬體設計是較為徹底的方式,任何執行緒所使用的快取資料應有不被其他執行緒讀取的獨占性;而作業系統執行應用程式時,也能以更複雜的方法判定程式執行動作。
雖然含Intel在內所有的廠商都強調此類攻擊機率不大,但確實發生過卻是不爭的事實,除了Intel外,目前所知相關廠商多半建議徹底關閉HyperThreading功能,以免在問題確實解決前遭到不測。
|