您當前的位置:首頁 > 旅遊

ASLR保護失效大規模網路攻擊即將來襲

作者:由 嘶吼RoarTalk 發表于 旅遊時間:2017-02-21

ASLR是一種針對緩衝區溢位的安全保護技術,透過對堆、棧、共享庫對映等線性區佈局的隨機化,透過增加攻擊者預測目的地址的難度,防止攻擊者直接定位攻擊程式碼位置,達到阻止溢位攻擊的目的,讓系統免受普通攻擊,例如緩衝區溢位、返回導向程式設計技術(Return-oriented programming,ROP)攻擊等。ASLR是大多作業系統長期使用的系統防禦機制,如今Windows、Linux、macOS、iOS和Andriod等主流作業系統都已採用了該技術。

現在,阿姆斯特丹自由大學的研究員Ben Gras和他的同事Kaveh Razavi,發現了能破解ASLR的技術,這意味著:軟體應用中發現的任何常見的記憶體漏洞,都可能導致我們的PC或智慧手機被更深層次的控制。而且,由於這種攻擊利用的是晶片而不是某一款軟體,所以,透過軟體更新來修復該漏洞是根本不可能的,這也意味著無論我們的裝置裝的什麼作業系統,都將被攻擊。

ASLR保護失效的危險到底有大?攻擊者僅用JavaScript就能攻擊你的裝置,也就是說,我們每訪問一次惡意網站都會觸發一次網路攻擊。網路安全團隊VUSec就釋出了一段關於如何在火狐瀏覽器中執行JavaScript注入攻擊的影片。

傳統上,駭客們只能透過猜測來進行不斷試錯的攻擊,得到被攻擊者的記憶體佈局資訊,這樣就可以知道程式碼或者資料放在哪裡,來定位並進行攻擊。比如可以找到ROP裡面的gadget,如下圖所示。

ASLR保護失效大規模網路攻擊即將來襲

ASLR保護失效大規模網路攻擊即將來襲

而ASLR保護的失效,讓某些漏洞,比如記憶體資訊洩露的情況下,攻擊者會得到部分記憶體資訊,比如某些程式碼指標。傳統的ASLR只能隨機化整個segment,比如棧、堆、或者程式碼區。這時攻擊者可以透過洩露的地址資訊來推導別的資訊,如另外一個函式的地址等。這樣整個segment的地址都可以推匯出來,進而得到更多資訊,VUSec就是利用了計算機硬體最深層次的核心——英特爾、AMD、Nvidia和三星等公司製造的晶片。

ASLR保護失效大規模網路攻擊即將來襲

ASLR保護失效大規模網路攻擊即將來襲

VUSec進行ASLR攻擊的原理

VUSec所展示的這次攻擊,就是利用了晶片與記憶體互動方式的漏洞,晶片有一個名為記憶體管理單元(MMU)的部件,專門負責對映計算機在記憶體中儲存程式的地址。為了跟蹤那些地址,MMU會不斷地檢查一個名為頁表(page table)的目錄。

VUSec此次在網頁攻擊中利用的頁表目錄的漏洞,通常裝置會將頁表儲存在處理器快取中,讓最常訪問的資訊隨時可被計算核呼叫的一小塊記憶體。這種做法可以提升晶片處理速度和效率。

但是,網頁上執行的一段惡意JavaScript程式碼,同樣可以寫入那塊快取。最關鍵的是,它還能同時檢視MMU的工作速度,透過密切監視MMU,JavaScript程式碼可以找出其自身地址—。

VUSec研究人員的攻擊就是將MMU的速度變成了一條暴露行蹤的線索。攻擊程式碼覆蓋快取,每次覆蓋一個記憶體單元,直到它看到MMU的速度慢下來。這個跡象表明,無論快取的哪個部分被覆蓋,它都是MMU在尋找的頁表的一塊――MMU的速度之所以慢下來,是因為它要回過去頭找隨機存取儲存器(RAM)中的頁表副本,而不是找處理器快取中的頁表。

MMU要執行四次單獨的頁表查詢,才能找到任給程式碼段的物理地址。因此,攻擊會覆蓋快取四次,找出快取中有一部分頁表的四個地方。每次,惡意程式都會留意MMU速度慢下來的那一刻。MMU多久以後出現速度慢下來這個現象,這實際上給了駭客線索,當裝置將攻擊程式碼從快取複製到記憶體時,就能清楚惡意程式碼自己在快取中的地址,因而清楚其在RAM中的位置――這正是ASLR竭力隱藏起來、不讓駭客看到的那種資訊。

這種攻擊好比是老式的撬竊保險箱的盜賊,他們邊慢慢轉動保險箱的撥盤,邊用聽診器留意動靜。

Ben Gras說:“快取就像是保險箱的齒輪,它會發出讓罪犯得以破解的密碼的微小聲音線索。”

所以想讓ASLR再度恢復其以前的保護效果,恐怕不是作業系統或瀏覽器升級能做到的,對這些晶片地功能重新進行設計才是根本解決之道。

演示影片

ASLR保護失效大規模網路攻擊即將來襲

fast verson - 騰訊影片

https://v。qq。com/x/page/p0375efw3yy。html

ASLR保護失效大規模網路攻擊即將來襲

Cache 演示影片 - 騰訊影片

https://v。qq。com/x/page/v03756vfj33。html

晶片漏洞的應對之策

就在三個多月前,VUSec就已聯絡了荷蘭國家網路安全中心,該中心隨即又聯絡了所有受影響的晶片製造商和軟體公司,包括英特爾、AMD、三星、NVIDIA、微軟、蘋果、谷歌和Mozilla,但是為了保護使用者,研究人員給了這些公司足夠的時間來解決該問題,而不是一發現就公之於眾,另外研究人員也沒有釋出演示攻擊的任何程式碼。不過他們警告,經驗老到的駭客可以在短短几周內透過逆向工程,破解他們披露的那種攻擊技術。

蘋果已經開始著手緩解該威脅並且釋出了旨在強化Safari的軟體更新,但並未揭示該更新到底做了什麼。蘋果發言人表示,他們還向使用其晶片的那些公司建議聯合起來共同應對這個威脅。

徹底的修復版最終需要更換硬體,而不是更換軟體。眾多裝置需要採用新架構的新晶片,以便將MMU及其頁表與處理器的快取分開來。

Ben Gras說:“由於這是個底層問題,上面的軟體層可以讓這個缺陷更難被人鑽空子,但是無法消除它。”

而英特爾、微軟和Mozilla對這個問題卻反應冷漠。

在微軟發給《連線》雜誌的一份宣告稱:“我們已查明,它不是一個安全問題。”英特爾也表示:“這個問題並不代表基於英特爾架構的系統的安全性出現了重大變化。”

來自這三家公司的發言人都同時指出,這個漏洞只有結合其他攻擊才會帶來真正的威脅。而三星、NVIDIA、AMD和Google更是對這個問題沒有任何的回覆。

Yossi Oren表示:“如果科技公司不認真重視ASLR攻擊,那很快駭客就可以利用最常見的方法來對我們的作業系統就行大規模攻擊,到時我們將毫無還手之力。”

為了應對這個威脅,Ben Gras建議了一些緩解之計,比如你可以安裝外掛,像是火狐的NoScript,或者Chrome的ScriptSafe,來封鎖網頁上的JavaScript,另外瀏覽器開發商應該可以調低它們允許指令碼在時間度量方面的精準性,阻止指令碼監視MMU的速度。

不過要徹底的防範ASLR攻擊,最終還是需要更換晶片,而不是在軟體上浪費時間。生產晶片的公司需要重新設計新的晶片,以便將MMU及其頁表與處理器的快取分開來。

本文參考來源於wired,如若轉載,請註明來源於嘶吼:

http://www。

4hou。com/technology/339

7。html

更多內容請關注“嘶吼專業版——Pro4hou”

標簽: MMU  攻擊  快取  ASLR  頁表