新版 OpenSSH 補丁可避免幽靈、熔斷、及Rowhammer等邊信道攻擊

nana
利用硬件漏洞,黑客可從非特權(quán)進(jìn)程訪問受限內(nèi)存區(qū)域以盜取私鑰。OpenSSH 項目新收到的補丁正是為防止黑客通過這種方法偷盜密鑰而來。其他軟件應(yīng)用程序亦可用相同的方法保護(hù) RAM 中的秘密,直到下一代 SDRAM 芯片和 CPU 解決硬件漏洞問題。

利用硬件漏洞,黑客可從非特權(quán)進(jìn)程訪問受限內(nèi)存區(qū)域以盜取私鑰。OpenSSH 項目新收到的補丁正是為防止黑客通過這種方法偷盜密鑰而來。其他軟件應(yīng)用程序亦可用相同的方法保護(hù) RAM 中的秘密,直到下一代 SDRAM 芯片和 CPU 解決硬件漏洞問題。

該補丁發(fā)布之前,一組研究人員演示了名為 RAMBleed 的攻擊,可利用現(xiàn)代內(nèi)存模塊的設(shè)計從分配給特權(quán)進(jìn)程及內(nèi)核的內(nèi)存區(qū)域中提取信息。

RAMBleed 采用早前披露的 Rowhammer 軟件技術(shù)觸發(fā)物理存儲單元內(nèi)的位翻轉(zhuǎn),然后通過邊信道恢復(fù)出敏感信息。為證明攻擊有效,研究人員以用戶級權(quán)限運行的代碼從 OpenSSH 服務(wù)器恢復(fù)出了 RSA 2048 位簽名密鑰。

現(xiàn)代操作系統(tǒng)中,分配給內(nèi)核的虛擬內(nèi)存與分配給用戶空間應(yīng)用程序的虛擬內(nèi)存是隔離開來的。因為內(nèi)核內(nèi)存包含敏感數(shù)據(jù),比如加密密鑰和密碼,非特權(quán)應(yīng)用程序應(yīng)不能直接訪問這些數(shù)據(jù)。

違反此基本原則即是嚴(yán)重的安全漏洞,因為攻擊者可以通過多種方式獲取計算機系統(tǒng)上的代碼執(zhí)行權(quán)限,如惡意軟件感染或利用用戶空間應(yīng)用程序中的漏洞。系統(tǒng)中所有非特權(quán)應(yīng)用程序的攻擊界面遠(yuǎn)遠(yuǎn)大于內(nèi)核本身的攻擊界面。

OpenSSH補丁加密私鑰

該新 OpenSSH 補丁由 OpenBSD 開發(fā)人員 Damien Miller 提交,旨在 “保護(hù)存儲在 RAM 中的私鑰,防止幽靈、熔斷、Rowhammer 和 Rambleed 這樣的預(yù)測執(zhí)行攻擊和內(nèi)存邊信道攻擊。”

幽靈、熔斷及最近的微架構(gòu)數(shù)據(jù)采樣 (MDS) 均為利用現(xiàn)代 CPU 中預(yù)測執(zhí)行功能的邊信道攻擊,而預(yù)測執(zhí)行功能本是為提升計算機性能而設(shè)計的。其中一些攻擊可用于讀取受保護(hù)的內(nèi)核內(nèi)存。

在駐留內(nèi)存且未與從 16KB 隨機數(shù)據(jù)導(dǎo)出的另一個對稱密鑰一起使用時,私鑰會被該新 OpenSSH 補丁加密。Miller 在補丁注釋中說道:

攻擊者必須先精準(zhǔn)恢復(fù)出整個由大隨機數(shù)構(gòu)成的預(yù)密鑰,才能嘗試解密被保護(hù)的私鑰,但當(dāng)前攻擊方式應(yīng)用到整個預(yù)密鑰上時,累積的誤碼率會高到無法精準(zhǔn)恢復(fù)預(yù)密鑰,也就無法解密私鑰了。只要實現(xiàn)得當(dāng),密鑰就能在加載時處于加密保護(hù)狀態(tài),而在用于簽名或被存儲/序列化時又自動、透明地解除加密保護(hù)。

新補丁應(yīng)用廣泛,或可引介至其他軟件

OpenSSH 是最為流行的 SSH (Secure Shell) 協(xié)議實現(xiàn),用于遠(yuǎn)程訪問和管理計算機系統(tǒng)及服務(wù)器,但也用于自動化機器間通信。OpenSSH 最初是為 OpenBSD 設(shè)計的,但今天的大多數(shù) Linux 發(fā)行版中都默認(rèn)使用,Windows 10 中也受支持。

OpenSSH 新補丁使用的方法可以被其他軟件項目復(fù)制,以保護(hù)自己的密鑰和內(nèi)存中的秘密。然而,正如補丁說明所言,該技術(shù)可降低邊信道攻擊的成功率,卻不能保證杜絕邊信道攻擊成功可能性。

攻擊總是在不斷進(jìn)化發(fā)展,因此未來的 RAMBleed 或 熔斷/幽靈變種可能會攻破該補丁的防護(hù)機制。底層設(shè)計缺陷將在未來新推出的硬件中得到修復(fù),但目前使用中的 CPU 和 SDRAM 芯片需要很多年才會被逐漸替換掉。

可以想見,此類硬件攻擊將對企業(yè) IT 產(chǎn)生長期影響,因此,開發(fā)人員能夠部分緩解漏洞并讓攻擊更難以開展的任何軟件補丁,都極其有用。Miller 在該補丁說明的最后補充道:希望我們在幾年后,在計算機架構(gòu)變得更為安全的時候,能夠卸載該補丁。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論