示意圖,與新聞事件無關。

在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攻擊示範:

 


Advertisement

更多 iThome相關內容