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
沒有留言:
張貼留言