BlackHat 專題 | 中國黑客5秒幹掉 Mac OS 系統,攻擊方法首次全球揭祕

引用用户在蘋果電腦上點擊了一條鏈接,在他眼裏,一切都那麼平靜。然而他並不知道,隨着點擊的輕響,無數數據在電腦中奔湧激盪。在秒針跳動五次的時間內,蘋果公司頂尖程序員們藉由代碼構建的層層防禦體系毀滅殆盡,賽博世界的上帝悄然易主。電光火石間,黑客奪取了電腦的一切權限。

這件事,真實地發生在“黑客奧運會”——Pwn2Own 2016 上。做出這種華麗攻擊的,正是來自騰訊科恩實驗室的黑客們。令人髮指的是,他們還使用了另一種姿勢,再次讓 Mac OS 的世界失守崩潰。

正是這種震懾人心的黑客美學,幫助他們成功獲得了“世界破解大師”的稱號。

從今年3月開始,全世界都在等待這羣“大師”揭祕那次神祕攻擊的方法。五個月過去了,科恩實驗室的黑客們終於決定還原這次攻擊的技術細節。他們選擇的舞台,是黑客界的最高盛會——BlackHat USA。

【從畫左到畫右分別是:Gross,Flanker(何淇丹)、傅裕斌、陳良】

隱祕入口——關於那次攻擊的驚人真相

陳良、Flanker(何淇丹)、傅裕斌、Gross,正是當時破解 Mac OS 的主力黑客。

他們親口講述的真相,幾乎超出所有人的想象:兩次完美的進攻,全部擊潰了蘋果的圖形渲染系統。這種攻擊方法,在世界上只出現過一次。而那一次攻擊的導演,仍然是他們。

這是一個隱祕的入口。

陳良告訴雷鋒網(搜索“雷鋒網”公眾號關注),

引用遠程攻擊是所有攻擊中難度較大的。而黑客進行遠程攻擊的首選正是瀏覽器 Safari。這兩次成功的攻擊,利用了兩套“Safari+圖形渲染”漏洞。

對於這種攻擊的發生,蘋果也負有一定的責任。Flanker 説,“在舊的蘋果系統中,一般的應用是無權調用 GPU 和圖形渲染系統的,所有的圖形渲染都必須通過“窗口管家”實現;而在新的蘋果系統中,為了保證用户體驗的順暢,蘋果開放了普通應用調用 GPU 的權限。”

這正是一切災難的邏輯起源。


【Mac OS 圖形渲染系統工作邏輯示意】

畸形的數據

簡單科普一下:如果一個 App 想要繪製圖形,需要提供一些邏輯座標,這些座標通過內核驅動器傳遞給 GPU 做繪製,進而轉換成屋裏座標,出現在顯示器上。

對於已經通過漏洞“綁架” Safari 的陳良一眾,可以偽造 Safari 的“矯詔”,向圖形繪製系統發出各種畸形的數據。

引用例如一個非常非常長的矩形,例如一個邊長為負數的矩形。

對於圖像渲染系統來説,無論 Safari 的命令有多麼不靠譜,他都無法“抗旨不尊”。於是,可憐的渲染系統手握小皮鞭,逼迫 GPU 畫出一個“邊長為負數的矩形”。於是 GPU 方了,它的世界崩潰了,各種不着四六的數據被寫進內存,黑客的嘴角露出一絲笑容。

然而,這還遠遠不夠。


【內存溢出示意】

精心構建的數據陷阱

讓系統完全崩潰顯然不是黑客的目的,他們的目的是精準地控制這種崩潰——讓GPU的“哀嚎”組成一段“動人的交響曲”。

為了達到這個目的,他們面對“三座大山”。

引用1、他們要利用這個微小的創口,用手術刀精準地在內存裏排列出他們想要的代碼。

2、即便這麼艱難,但蘋果的代碼還是“閉源”的,他們必須通過逆向工程“猜”出蘋果的代碼邏輯。

3、雪上加霜的是,封閉的蘋果系統在安全防護上之決絕遠超 Windows。

事實上:他們每一個微小的動作,都會造成大面積的影響。

舉例來説,

引用這就像駕駛一部叉車穿針引線,連續完成一百次;

這就像帶上墨鏡打遊戲,連續通關一絲血都不費;

這就像同時交往一百個女朋友,還讓她們感覺不到彼此的存在。

總之,這件事情,比你的想象更難。


【現場展示對 Mac OS 的破解過程】

Flanker 告訴雷鋒網:

引用比較簡單的漏洞,可以允許黑客在任意地址寫任意值。這種情況就很容易。但是和圖形相關的漏洞通常是依靠 GPU 執行浮點運算。所以我們必須滿足它的性質——浮點數要對應很大的整形,所以必須在精確的內存位置佈置極其特別的數據。

從技術上來説,他們需要找到一片穩定的內存,然後再極其短暫的時間內,把自己精心構建的代碼鋪進去。就像在飛馳的列車旁,精準地跳上一個指定的車門。然而,上帝在大多數時候並不那麼給力。

引用這個漏洞處於比較活躍喧囂的內存區,利用時一旦內存收到干擾,就會失敗。所以我們發明了一套“內存風水論”。利用內存分配某些“先進先出”的特性,構造了一些“空洞”,然後想辦法讓我們的代碼正好落入這片“空洞”之中。

Flanker 解釋道。

以上的技術路徑,是兩套破解方案中較為複雜的一套,被他們稱為“內核態漏洞方案”,而另一套“用户態漏洞方案”雖然理論相近,但利用方案相對簡潔。


【現場演示視頻中,攻擊者獲得系統最高權限】

永不消逝的噪音 VS 永不磨滅的黑客精神

正如前文所言,這種破解相當於“在飛馳的列車旁,精準地跳上一個指定的車門”。然而,Flanker 和 傅裕斌 告訴雷鋒網一個殘酷的事實:存在一定的可能性,當你準確地跳向車門時,車門卻是關閉的。

這種在盜夢空間最底層將入侵者扼殺掉的力量,仍然是來自內存的“永不消逝的噪音”。Flanker 説,“用户態漏洞方案”有15%-20%的失敗機率,而“內核態漏洞方案”雖然失敗機率極低,但是仍然難保 100% 成功率。

這些來自賽博實際的的噪聲,是他們盡了最大的努力,仍然不能控制的最低值。

在3月的 Pwn2Own 大賽上,嚴苛的賽制規定,一個團隊只能在15分鐘的時間內最多進行3次嘗試。也就是説,雖然概率很小,但是他們仍然有失敗的可能。

引用然而這一次,一直為他們出難題的上帝終於眷顧了他們,兩種方案全部一次攻擊成功,分別用時 5 秒和 1 分鐘。
上帝眷顧他們的理由或許很多,

但是有一條不容置疑,

那就是這羣中國黑客身上流淌着的,永不磨滅的黑客精神。




資料來源:雷鋒網
作者/編輯:史中

如果喜歡我們的文章,請即分享到︰