RAMBleed利用位翻轉(zhuǎn)漏洞攻擊,成功獲取OpenSSH 2048位密鑰
無國界 2019-06-13
近日,國外幾名安全研究人員發(fā)表了一篇論文,介紹了一種基于位翻轉(zhuǎn)漏洞 Rowhammer,并且將其威脅從內(nèi)存完整性缺失擴展到內(nèi)存信息泄露領域的技術 RAMBleed,表明位翻轉(zhuǎn)的利用能力遠超出當前人們的想象。
RAMBleed 是一種側(cè)信道攻擊,攻擊者可以讀取其它進程中的物理內(nèi)存。研究者介紹,這一技術利用了幾年前就出現(xiàn)的位翻轉(zhuǎn)漏洞 Rowhammer,這是一種故障攻擊,攻擊者使用特定的存儲器訪問序列,使得內(nèi)存出現(xiàn)位翻轉(zhuǎn),也就是 bit 值(0/1)改變。由于攻擊者不直接訪問更改的內(nèi)存位置,因此 CPU 或操作系統(tǒng)一般不會察覺到問題。雖然這種位翻轉(zhuǎn)技術不太好控制,但是其能力已被應用于沙箱逃逸、對操作系統(tǒng)和虛擬機管理程序的提權(quán)攻擊、DoS 與加密協(xié)議故障注入等攻擊。
過去人們認為 Rowhammer 攻擊都是只能夠破壞內(nèi)存的完整性,也就是說,攻擊者使用 Rowhammer 將有限的寫入原語獲取到其它無法訪問的內(nèi)存中,然后修改該內(nèi)存的內(nèi)容,而只要通過內(nèi)存完整性檢查就可以緩解這種攻擊,比如使用以保護內(nèi)存完整性為目標的內(nèi)存或者帶有糾錯碼(ECC)的內(nèi)存。特別是糾錯碼技術,一直被認為是防止 Rowhammer 的有效手段,它可以在檢測到位翻轉(zhuǎn)時將其糾正。雖然近期有證據(jù)表明攻擊者可以繞過 ECC 機制,使得在糾錯后仍可觀察到的位翻轉(zhuǎn),但成功糾正翻轉(zhuǎn)仍然被認為是良性的,沒有任何安全隱患。
但是研究者認為這樣的想法不可靠,于是論文提出兩個問題:
Rowhammer 構(gòu)成的威脅是否僅限于內(nèi)存完整性缺失?
糾正位翻轉(zhuǎn)的安全隱患是什么?即使 ECC 內(nèi)存糾正了所有翻轉(zhuǎn)位,攻擊者是否可以使用 Rowhammer 來破壞機密性?
結(jié)果表明位翻轉(zhuǎn)的利用能力遠超出當前人們的想象,位翻轉(zhuǎn)漏洞 Rowhammer 的威脅不僅僅是內(nèi)存完整性缺失,它還可以用于獲取內(nèi)存信息。
研究人員研究出了一種 RAMBleed 攻擊方法,這是一種側(cè)信道攻擊,通過觀察 Rowhammer 引發(fā)的位翻轉(zhuǎn),可以推斷出附近 DRAM 行中的值,因此可以讀出屬于其它進程的物理內(nèi)存,論文中他們還演示了使用 RAMBleed 對 OpenSSH 的攻擊,并成功獲取了泄漏的 2048 位 RSA 密鑰。
此外,與 Rowhammer 不同,RAMBleed 不需要持久的位翻轉(zhuǎn),因此服務器機器常用的 ECC 內(nèi)存對于緩解該攻擊是無效的。
研究人員將在 2020 年 5 月舉行的第 41 屆 IEEE 安全和隱私研討會上發(fā)表題為“RAMBleed:在沒有訪問它們的情況下讀取內(nèi)存位”(RAMBleed: Reading Bits in Memory Without Accessing Them)的論文,進一步介紹該攻擊手法。
以上內(nèi)容由四川無國界(warmw001.com.cn) 整理編輯——專業(yè)從事網(wǎng)絡信息安全培訓與IT風險管理咨詢服務。