通殺所有系統(tǒng)的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻擊
大家肯定知道前幾天剛爆出來一個linux內(nèi)核(Android也用的linux內(nèi)核)的dirtycow漏洞。此洞可以說是個神洞,通過dirtycow,一個普通權(quán)限的app可以做到root權(quán)限的文件任意寫,隨后還可以轉(zhuǎn)化為android上的通用root。就在大家紛紛埋頭研究dirtycow的時候,Drammer橫空出世,號稱也可以root最新版的Android 6.0.1,同時還放出了CCS論文和POC。
那么這個Drammer到底是什么東西呢?
Drammer可以說是一種針對android設(shè)備的攻擊方式,利用的是內(nèi)存芯片設(shè)計上的一個缺陷。然而,這個問題并不是只出現(xiàn)在Android系統(tǒng)上,而是所有使用內(nèi)存的系統(tǒng)都會出現(xiàn)這個問題。最早提出這種攻擊方式的人是卡內(nèi)基梅隆大學(xué)的Yoongu Kim寫的一篇paper -《Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors》 在這篇文章中,作者提到有個有趣的現(xiàn)象,如果不斷的訪問兩個具有"侵略者"性質(zhì)的虛擬地址會讓一個具有"受害者"性質(zhì)的內(nèi)存數(shù)據(jù)進行位翻轉(zhuǎn),更神奇的是這個具有"受害者"性質(zhì)的內(nèi)存可能會在當前進程可訪問的虛擬地址以外。
為什么會有這種現(xiàn)象呢?
原因是內(nèi)存廠商為了能讓內(nèi)存芯片存儲更多的數(shù)據(jù),于是將內(nèi)存中的DRAM(The Dynamic Random Access Memory)cell越做越小并且離的越來越近,從而導(dǎo)致相鄰的cell在通電的過程中會受到影響。因此,如果我們不斷的訪問某個位置上的內(nèi)存,就可能會造成相鄰的內(nèi)存進行位翻轉(zhuǎn)。隨后google project zero還通過PC上的linux提權(quán),證明了這種現(xiàn)象的確存在并且可以用來進行攻擊(https://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html)并將這種攻擊方式稱為RowHammer。因此,這次出現(xiàn)的drammer是受之前研究的啟發(fā),從而實現(xiàn)了Android上的rowhammer攻擊,所以drammer全稱其實是DRoid and rowhAMMER。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
