TLBleed漏洞竟是經過探測TLB獲取CPU祕鑰,你知道嗎?

TLBleed漏洞竟是經過探測TLB獲取CPU祕鑰,你知道嗎?TLBleed漏洞竟是經過探測TLB獲取CPU祕鑰,你知道嗎?
VUsec安全研究員Ben Gras在一篇文章中寫道,一個影響英特爾處理器的邊信道漏洞(稱爲TLBleed)可能經過窺探翻譯後援緩衝器(TLB)泄漏信息。html

Gras將在接下來的Blackhat 2018大會上介紹他的研究發現,聲稱他能夠提取GPG所使用的加密密鑰:linux

咱們的TLBleed漏洞攻擊成功獲取libgcrypt(在GPG中使用)的256位EdDSA密鑰,成功率爲98%,只需單獨監視共駐超線程上的簽名操做,分析耗時17秒。緩存

TLB是一種緩存,用於加快將經常使用虛擬地址轉換爲物理內存地址的速度。 TLBleed經過使用TLB來檢測CPU寄存器中有用的信息,爲超線程訪問運行在同一內核上的另外一個超線程的信息提供了一種方式。此漏洞與Spectre和Meltdown無關,這兩個漏洞都利用推測執行故障泄漏CPU緩存中的信息。安全

關於這個漏洞,人們最關心的是,它使用了數據訪問而不是正在執行的代碼路徑,這意味着現有對已知邊信道攻擊的保護措施可能沒法有效對抗TLBleed。事實上,Gras提到了基於TLBleed的第二種攻擊,該攻擊可能會讓最近的libgcrypt版本發生數據位泄漏,這一版本的libgcrypt包含了一個邊信道抗RSA實現。第二種類型的攻擊利用了機器學習技術。The Register特約做者Chris Williams能夠訪問Gras等人的白皮書,他解釋說,該團隊使用分類器來識別敏感操做,包括基於TLB延遲的加密操做。多線程

英特爾不打算解決這個漏洞,他們認爲,一個可以正確保護本身免受其餘類型邊信道攻擊的程序,例如,無論是否使用加密密鑰,其數據訪問模式看起來都是同樣的,若是能作到這樣一點,也就對TLBleed免疫。Gras雖然也認可這一點,但他認爲,不多有程序寫得這麼完美,libgcrypt泄露RSA密鑰就是最好的例子。架構

OpenBSD維護者採起了不同的立場,他們決定禁用對英特爾處理器禁用併發多線程(SMT):併發

因爲不少現代機器再也不提供在BIOS設置中禁用超線程的能力,所以,能夠在咱們的調度程序中禁用額外的處理器線程。另外,由於咱們懷疑它存在嚴重風險,因此默認將其禁用。機器學習

OpenBSD將在將來將此策略擴展到其餘CPU和其餘架構。學習

對操做系統級具備較低侵入性的緩解措施是防止在同一內核的不一樣進程上併發執行兩個線程,不過這要對操做系統的調度器作出修改,並且不是個小改動。加密

目前還不清楚其餘廠商是否會在操做系統級別上採起任何措施解決TLBleed問題,或者雲提供商是否會提供阻止兩個不一樣虛擬機共享相同內核的可能性。InfoQ將會帶來更多相關信息。

原文來自:https://www.linuxidc.com/Linux/2018-07/153031.htm

本文地址: https://www.linuxprobe.com/tlb-cpu-bug.html編輯:張文祥,審覈員:逄增寶

相關文章
相關標籤/搜索