Linux中國

Rowhammer:針對物理內存的攻擊可以取得 Android 設備的 root 許可權

研究者們發現了一種新的在不利用任何軟體漏洞情況下,利用內存晶元物理設計上的弱點來侵入 Android 設備的方式。這種攻擊技術同樣可以影響到其它如 ARM 和 X86 架構的設備與計算機。

這種稱之為「Rowhammer」的攻擊起源於過去十多年中將更多的 DRAM(動態隨機存取存儲器)容量封裝進越來越小的晶元中,這將導致在特定情況下存儲單元電子可以從相鄰兩 row 的一邊泄漏到另一邊。(LCTT 譯註:參見 https://en.wikipedia.org/wiki/Row_hammer)

例如,反覆且快速的訪問相同的物理儲存位置,這種被稱為 「 錘擊 hammering 」 的行為可以導致相鄰位置的位值從 0 反轉成 1,或者相反。

雖然這樣的電子干擾已經被生產商知曉並且從可靠性角度研究了一段時間了,因為內存錯誤能夠導致系統崩潰。而研究者們現在展示了在可控方式的觸發下它所存在的嚴重安全隱患。

在 2015 年 4 月,來自谷歌 Project Zero 項目的研究者公布了兩份基於內存 「Rowhammer」漏洞對於 x86-64 CPU 架構的 提權利用。其中一份利用可以使代碼從谷歌的 Chrome 瀏覽器沙盒裡逃逸並且直接在系統上執行,另一份可以在 Linux 機器上獲取內核級許可權。

此後,其他的研究者進行了更深入的調查並且展示了通過網站中 JaveScript 腳本進行利用的方式甚至能夠影響運行在雲環境下的虛擬伺服器。然而,對於這項技術是否可以應用在智能手機和移動設備大量使用的 ARM 架構中還是有疑問的。

現在,一隊成員來自荷蘭阿姆斯特丹自由大學、奧地利格拉茨技術大學和加州大學聖塔芭芭拉分校的 VUSec 小組,已經證明了 Rowhammer 不僅僅可以應用在 ARM 架構上並且甚至比在 x86 架構上更容易。

研究者們將他們的新攻擊命名為 Drammer,代表了 Rowhammer 確實存在,並且計劃於周三在維也納舉辦的第 23 屆 ACM 計算機與通信安全大會上展示。這種攻擊建立在之前就被發現與實現的 Rowhammer 技術之上。

VUSec 小組的研究者已經製造了一個適用於 Android 設備的惡意應用,當它被執行的時候利用不易察覺的內存位反轉在不需要任何許可權的情況下就可以獲取設備根許可權。

研究者們測試了來自不同製造商的 27 款 Android 設備,21 款使用 ARMv7(32-bit)指令集架構,其它 6 款使用 ARMv8(64-bit)指令集架構。他們成功的在 17 款 ARMv7 設備和 1 款 ARMv8 設備上實現了為反轉,表明了這些設備是易受攻擊的。

此外,Drammer 能夠與其它的 Android 漏洞組合使用,例如 Stagefright 或者 BAndroid 來實現無需用戶手動下載惡意應用的遠程攻擊。

谷歌已經注意到了這一類型的攻擊。「在研究者向谷歌漏洞獎勵計劃報告了這個問題之後,我們與他們進行了密切的溝通來深入理解這個問題以便我們更好的保護用戶,」一位谷歌的代表在一份郵件申明中這樣說到。「我們已經開發了一個緩解方案,將會包含在十一月的安全更新中。」(LCTT 譯註:緩解方案,參見 https://en.wikipedia.org/wiki/Vulnerability_management

VUSec 的研究者認為,谷歌的緩解方案將會使得攻擊過程更為複雜,但是它不能修復潛在的問題。

事實上,從軟體上去修復一個由硬體導致的問題是不現實的。硬體供應商正在研究相關問題並且有可能在將來的內存晶元中被修復,但是在現有設備的晶元中風險依然存在。

更糟的是,研究者們說,由於有許多因素會影響到攻擊的成功與否並且這些因素尚未被研究透徹,因此很難去說有哪些設備會被影響到。例如,內存控制器可能會在不同的電量的情況下展現不同的行為,因此一個設備可能在滿電的情況下沒有風險,當它處於低電量的情況下就是有風險的。

同樣的,在網路安全中有這樣一句俗語: 攻擊將變本加厲,如火如荼 Attacks always get getter, they never get worse 。Rowhammer 攻擊已經從理論變成了現實可能,同樣的,它也可能會從現在的現實可能變成確確實實的存在。這意味著今天某個設備是不被影響的,在明天就有可能被改進後的 Rowhammer 技術證明它是存在風險的。

Drammer 在 Android 上實現是因為研究者期望研究基於 ARM 設備的影響,但是潛在的技術可以被使用在所有的架構與操作系統上。新的攻擊相較於之前建立在運氣與特殊特性與特定平台之上並且十分容易失效的技術已經是一個巨大的進步了。

Drammer 攻擊的實現依靠於被包括圖形、網路、聲音等大量硬體子系統所使用的 DMA(直接存儲訪問)緩存。Drammer 的實現採用了所有操作系統上都有的 Android 的 ION 內存分配器、介面與方法,這給我們帶來的警示是該論文的主要貢獻之一。

「破天荒的,我們成功地展示了我們可以做到,在不依賴任何特定的特性情況下完全可靠的證明了 Rowhammer」, VUSec 小組中的其中一位研究者 Cristiano Giuffrida 這樣說道。「攻擊所利用的內存位置並非是 Android 獨有的。攻擊在任何的 Linux 平台上都能工作 -- 我們甚至懷疑其它操作系統也可以 -- 因為它利用的是操作系統內核內存管理中固有的特性。」

「我期待我們可以看到更多針對其它平台的攻擊的變種,」阿姆斯特丹自由大學的教授兼 VUSec 系統安全研究小組的領導者 Herbert Bos 補充道。

在他們的論文之外,研究者們也釋出了一個 Android 應用來測試 Android 設備在當前所知的技術條件下受到 Rowhammer 攻擊時是否會有風險。應用還沒有傳上谷歌應用商店,可以從 VUSec Drammer 網站 下載來手動安裝。一個開源的 Rowhammer 模擬器同樣能夠幫助其他的研究者來更深入的研究這個問題。

via:http://www.csoonline.com/article/3134726/security/physical-ram-attack-can-root-android-and-possibly-other-devices.html

作者:Lucian Constantin 譯者:wcnnbdk1 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國