2016年10月26日 星期三

Drammer 漏洞分析

預備知識

Rowhammer:因記憶體製程持續地進步,使得晶圓面積可塞入更多的電晶體線路,而由於記憶單元(cell)靠得太過緊密,彼此會互相受到影響。而 Rowhammer 的作法是,藉由重複存取某一 row 的記憶體單元,造成相鄰記憶單元的位元翻轉(如 0 變 1;1 變 0),而只要依需求改變記憶體內的位元,便能獲取手機的 root 權限。


漏洞說明:Drammer 全名為 Droid and Rowhammer,也就是在 Android 上做 Rowhammer 攻擊。由於漏洞是發生在手機的 DRAM 上,因此所有的智慧型手機都可能有此問題。


攻擊方式

(1)找到在一般使用者權限下就能釋放(flush)記憶體的 API。VUsec 給的 drammer.apk 使用的是 ION。

(2)利用該 API 並結合 Flip Feng Shui(FFS)來做 Rowhammer 攻擊。結合 FFS 是為了讓資料轉存到更容易受 Rowhammer 攻擊的記憶體位置。

(3)修改記憶體的分頁表項目(PTE,Page Table Entry),進而控制整個物理記憶體。



解決方法:等 Patch,或使用具有 pseudo Target Row Refresh(pTRR)或 Target Row Refresh(TRR)技術的 DRAM ,如 LPDDR4 的智慧型手機。

另由於 VUsec 報告裡有提到還可結合 Stagefright 或 BAndroid,因此請盡量將手機系統版本更新到最新。



實測心得:手上的 Nexus 5 用 drammer.apk 跑了兩個多小時是沒有成功。

報告雖然提到使用 LPDDR4 的手機比較不會受到 Rowhammer 的影響,不過 Nexus 5 的 DRAM 是使用 LPDDR4,而在他的表格中,Nexus 5 卻有高達八成的成功率,聽起來就不是很有說服力了。


參考資料

(1)VUSec - DRAMMER: FLIP FENG SHUI GOES MOBILE
(2)iThome - 手機DRAM有漏洞,駭客可竊取手機最高權限
(3)TechTarget - Rowhammer漏洞致“比特位翻转”,如何解决?
(4)電腦王 - 利用硬體缺陷攻擊,Rowhammer 讓所有電腦陷入危機
(5)E安全 - 数百万台安卓智能手机暴露于Drammer Android攻击之下
(6)阿里聚安全 - 通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击


補充資料

(1)VUsec - BANDROID
(2)Freebuf - “风水逆转”:获取云端虚拟机的完整控制权其实很容易
(3)電腦王 - 圖解RAM結構與原理,系統記憶體的Channel、Chip與Bank
(4)KAVEH RAZAVI - Flip Feng Shui: Hammering a Needle in the Software Stack
(5)Victor van der Veen - Drammer: Deterministic Rowhammer Attacks on Mobile Platforms
(6)Mark Seaborn and Thomas Dullien - Exploiting the DRAM rowhammer bug to gain kernel privileges
(7)Yoongu Kim - Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors

沒有留言:

張貼留言