iThome
駭客利用GPU與WebGL可開採記憶體設計漏洞Rowhammer,兩分鐘就能取得手機權限
在2016年曾揭露存在於動態隨機存取記憶體(DRAM)之Rowhammer漏洞的阿姆斯特丹自由
大學(Vrije Universiteit Amsterdam)漏洞安全實驗室VUSec Lab於本周再度披露攻擊
Rowhammer的新途徑,這次該實驗室利用了GPU與瀏覽器標準之一的WebGL,於兩分鐘就取
得了Android手機權限,並將其命名為GLitch攻擊。
Rowhammer被視為DRAM的設計漏洞,現今的記憶體為了擴大容量並維持其尺寸,記憶元(
Cell)的密度也愈來愈高。因此,當駭客鎖定所要攻擊的記憶體列時,只要重複造訪隔壁
列的記憶元,就會造成記憶體控制電路的電壓波動,影響目標記憶體列,造成位元翻轉現
象,例如1變成0或0變成1,駭客只要依照需求持續變更記憶體內的位元,最終將可操控作
業系統數據並取得最高權限。
GLitch是由兩項攻擊所組成,先利用旁路攻擊(side channel)來判斷記憶體的布局,再
執行可翻轉位元的Rowhammer攻擊。
整個惡意攻擊的情境是駭客先設計一個惡意網站,誘導Android手機以Firefox或Chrome瀏
覽器造訪該站,自遠端執行JavaScript,就能開採Rowhammer漏洞,取得系統最高權限。
VUSec Lab說明,執行Rowhammer攻擊需要存取閒置記憶體,因此必須先繞過處理器快取才
能到達DRAM,但此法並不適用於JavaScript,要以JavaScript展開攻擊只能剔除快取,與
CPU的隨機快取相較,GPU快取有更明確的行為,也更容易剔除快取 ,因此在GLitch攻擊
中,他們以GPU取代CPU作為攻擊跳板。
美國政府電腦緊急應變中心US-CERT則指出,GLitch攻擊只在由CPU與GPU共享記憶體的平
台上才有效用,諸如智慧型手機或平板電腦等。
至於WebGL則是一個圖像API,為瀏覽器的標準元件之一,主要提供圖像密集應用的GPU加
速功能,但它的副作用是在GLitch攻擊中,可協助駭客判斷記憶體的快取分布。
GLitch攻擊不但是全球首個將GPU應用在Rowhammer攻擊的案例,也是首個以JavaScript就
可取得手機權限的攻擊途徑,且平均而言只要2分鐘就能攻陷一支智慧型手機。
VUSec Lab是在執行Android 6.0.1的LG Nexus 5上並使用Firefox 57來示範攻擊。不過,
GLitch攻擊同樣也適用於HTC One M8與LG G2等採用Snapdragon 800與801的行動裝置上。
在VUSec Lab的通報下,Google與Mozilla皆已變更了Chrome及Firefox瀏覽器上的WebGL功
能以杜絕GLitch攻擊。
GLitch攻擊示範:
https://www.youtube.com/watch?v=YniqBaSK-Eg
https://www.ithome.com.tw/news/122928
備註: