首頁 > 科技要聞 > 科技> 正文

發(fā)條消息就能破解iPhone?蘋果系統(tǒng)這次像被“內(nèi)鬼”攻破的。。。

差評 整合編輯:黃安莉 發(fā)布于:2024-01-28 21:31

前幾天,差評君在網(wǎng)上沖浪的時候,看到了一條相當震撼的消息:

簡單來講,就是主打封閉安全的 iPhone ,不僅被攻擊者發(fā)現(xiàn)了漏洞成功入侵,完全控制整個手機。

更加抽象的是入侵的還是知名殺毒軟件卡巴斯基團隊成員的 iPhone 。。。

這年頭系統(tǒng)被攻擊的事情本來就少見,更何況被攻擊的還是封閉和安全著稱的 iOS 系統(tǒng)。

這就讓差評君很好奇這樣頂風作案 + 虎口拔牙的人到底是誰?他又是怎么做到的?

同樣好奇的當然也有受害者本人,也就是卡巴斯基團隊。

他們給這個入侵行動起了個名字叫 “ 三角測量行動 ” ,并且對整個入侵事件就進行了復盤,給出了詳細的報告。

卡巴斯基的報告里 ” 三角測量行動 “ 附圖

差評君仔細分析了一下卡巴斯基團隊的分析報告,發(fā)現(xiàn)入侵者的入侵方法堪稱 “ 豪華 ” ,連卡巴斯基團隊自己都懵逼了,從來沒見過這個玩法:

這次針對 iPhone 的攻擊,居然同時利用了 4 個零日漏洞,就是憑借著 4 個漏洞,攻擊者基本實現(xiàn)了對整個硬件設備的完全控制。。。

額外提一嘴,零日漏洞( Zero-Day )又叫零時差攻擊,指的就是那種之前從來沒有被發(fā)現(xiàn)過、所以沒有被修復或者攔截的漏洞。

我嘗試著把攻擊者利用零日漏洞完成攻擊的整個鏈條捋了一遍,大致是這個樣子的:

通俗點來講,就是黑客給目標手機發(fā)了一個假的 iMessage 附件,植入了一個木馬,這個木馬騙過了 iPhone 里各種嚴防死守的保護機制,甚至繞過了蘋果 A 系列處理器芯片上的硬件防護,完全控制了整個手機硬件設備,可以說為所欲為。

在整個過程中,前面提到的 4 個零日漏洞被充分利用,被攻擊的手機只是因為接到了 iMessage 附件,甚至都還沒打開,整個手機就已經(jīng)連底褲都被扒光了。

看完我感覺這個攻擊者的操作離譜到匪夷所思,他真的是普通的攻擊者嗎?

聽我講完這些零日漏洞到底是啥,攻擊者又是怎么利用他們的,估計就會懂我為什么會有這樣的疑問了。

在最開始,攻擊者會給目標手機發(fā)送一份惡意的 iMessage 附件,但是按照 iMessage 對待附件的邏輯,它會在不向用戶顯示任何跡象的情況下處理這個附件。

也就是說,用戶可能還沒察覺這個是不是有問題的附件, iMessage 就已經(jīng)開始處理這個附件了,這個有問題的附件進入到你的 iPhone 的過程,用戶是無法察覺的。

光是無法察覺這一點,估計已經(jīng)嚇壞一大幫人了,但是這還只是入侵者的引子。

攻擊者真正的第一個目標是一個名為 CVE-2023-41990 的零日漏洞。

這個漏洞存在于一款用來調(diào)整字體的顯示效果的系統(tǒng) API 指令中,可以讓攻擊者通過惡意 iMessage 附件遠程執(zhí)行代碼,或者說植入了一個木馬。

是的,蘋果的字體指令中也會有漏洞,而且該指令自上世紀 90 年代初就已存在。

但是這個字體指令本身是蘋果公司獨有的,而且蘋果并沒有公開這一條指令的存在,很多關(guān)注這個事情的人分析到這里的時候都懷疑攻擊者的真實來頭。

第一遍看的時候我以為,攻擊者植入的木馬就是這個 iMessage 附件本身。

但實際上它只是打開字體指令漏洞的鑰匙,真正的 “ 木馬 ” 是在沒公開的字體指令的漏洞里被植入的。

被植入之后,這個 “ 木馬 ” 一路高歌猛進,從代碼框架手上騙到了執(zhí)行手機上別的程序的能力,這已經(jīng)進入到 iOS 系統(tǒng)非常深的內(nèi)部了,甚至已經(jīng)差不多要摸到系統(tǒng)內(nèi)核了。

一般來說到了這里,攻擊者已經(jīng)可以收手了,直接劫持一個本地程序,也能讀取手機上的一些隱私和信息。

但對于這一次入侵的攻擊者來說,前面所做的還只是他的開胃菜,他真正的目標就是 iOS 的系統(tǒng)內(nèi)核。

按照正常的思路,攻擊者現(xiàn)在已經(jīng)進入到 iOS 系統(tǒng)內(nèi)部,下一步他應該會直接去攻擊系統(tǒng)內(nèi)核。

但是他沒有這么做。

攻擊者利用了內(nèi)核中第二個零日漏洞,內(nèi)存管理 - 內(nèi)存映射系統(tǒng)上的一個漏洞,直接先去控制了最最最底層的硬件內(nèi)存( 獲取了整個物理內(nèi)存的讀取和寫入權(quán)限 )

相當于說,先放下了 iOS 的這一套系統(tǒng)不管,跑到了 A 系列芯片上,控制了處理器上實際物理內(nèi)存。

我們平時接觸到的 iMessage 、微信這些應用程序,并不會直接操作實際的芯片上的物理內(nèi)存。

比如微信要存儲一個文件,并不是微信自己的代碼跑到硬件內(nèi)存芯片上去寫,它只要把文件交給系統(tǒng)的接口。

剩下的具體操作系統(tǒng)會統(tǒng)一安排,到硬件硬件內(nèi)存芯片上去寫入。

既然攻擊者的目標是 iOS 系統(tǒng)內(nèi)核,那為啥要費這么大勁兒繞過它,而去管那么遠的硬件內(nèi)存的事情呢?

實際上到這里為止,系統(tǒng)內(nèi)核還是安全的,只是被利用了一下。

因為就算攻擊者能夠往實際的物理內(nèi)存里亂寫東西,也沒有用——攻擊只能往這里面寫,但是不知道這一個內(nèi)存塊存的是什么東西、是用來干嘛的。

而且內(nèi)核訪問硬件內(nèi)存的路徑也是七彎八繞的根本不知道,攻擊者企圖從硬件內(nèi)存反攻回內(nèi)核簡直是在自己找死,自己在里頭繞幾圈沒準就迷路繞死了。

除此之外攻擊者還有一個 “困難 ” 要克服 —— 蘋果的硬件級內(nèi)存防護。

比如蘋果的頁表保護層 PPL (Page Protection Layer) ,這樣的硬件級別的內(nèi)存防護,專門防這種能搞定硬件內(nèi)存的攻擊者。

在這次的攻擊事件發(fā)生之前,蘋果的這種深度基于硬件的保護被認為是牢不可破的。

因為這樣的硬件級別內(nèi)存防護高度依賴于 SOC 設計本身,正常情況下的只芯片設計者自己知道這個保護是怎么回事。

但是攻擊者又是怎么破的呢 ?

準確地說他并沒有攻破這一層的硬件級內(nèi)存防護。

因為他找到了第三個零日漏洞——蘋果的這個頁表保護層雖然很強勢,但是可以繞過。

而攻擊者是怎么利用這個零日漏洞的呢?用卡巴斯基團隊自己的話來說就是:

攻擊者能夠把數(shù)據(jù)寫入某個特定的物理地址,通過將數(shù)據(jù)、目的地址和數(shù)據(jù)哈希寫入到未被固件使用的芯片的未知硬件寄存器,從而繞過了基于硬件的內(nèi)存保護。簡單講就是,蘋果的這一層硬件級防護,只能保護那些被系統(tǒng)內(nèi)核用過的硬件區(qū)域。

也就是說,硬件內(nèi)存里有一塊隱藏區(qū)域,連蘋果的安全系統(tǒng)都不知道它的存在,保護不到它,但是這個黑客知道。

于是這塊隱藏區(qū)域成為了繞過安全檢查的后門。

攻擊者就這樣繞過繞過了這一層硬件級別的防護,劫持了系統(tǒng)內(nèi)核。

在利用完前面三個零日漏洞之后,攻擊者基本就可以在設備上做任何他想做的事情了,他想要進的系統(tǒng)內(nèi)核,也能進了。

但是攻擊者還沒有要收手的意思。

估計手機自己都無語了,我現(xiàn)在從到里又從里到外都已經(jīng)被你看了個遍了,你想讓我干嘛也我也完全要聽你的了,你還想怎么樣?

事實上攻擊者確實也可以清除掉所有漏洞利用痕跡,繼續(xù)埋伏在這一臺 iPhone 里,悶聲發(fā)大財,或者就干脆擦屁股走人。

但是攻擊者選擇了悄悄地運行 Safari 瀏覽器的進程,找到了另一個零日漏洞。。。

假如讀者里有搞攻防的小伙伴可能現(xiàn)在的心情已經(jīng)日了狗了。

大家可能不知道 iPhone 的一個零日漏洞有多值錢 —— 去年的 Pwn2Own 大會拿一百萬美元都沒釣出來蘋果的 0day。

結(jié)果這哥們輕輕松松就扔了四個出來。

而且最離譜的是,你們知道他拿這第四個 0day 漏洞干了什么嗎?

他又執(zhí)行了一遍先控制物理內(nèi)存再反攻 iOS 內(nèi)核的操作。。。ㄗ铋_始提到第一個漏洞做過的事情)

這位黑客,請問你是來搞黑客攻擊的還是來炫富的?!假如 iPhone 能說話,可能也要開始大喊開掛了。

好了,這次事件的攻擊流程我們總算是大概給大家盤完了。

這次攻擊事件最有意思就是前面說到的,被攻擊者用來從硬件內(nèi)存,反攻系統(tǒng)內(nèi)核的 “ 隱藏區(qū)域 ” 。

這個隱藏區(qū)域,其實是某個沒有被用到的硬件寄存器。

正常情況下,各種可用的外圍設備比如馬達、揚聲器、麥克風等等,都會提供特殊的硬件寄存器,CPU 可以通過這些寄存器來操作這些設備。

而此次攻擊者用來繞過蘋果硬件層保護的這些寄存器,CPU 自己都沒有調(diào)用過,也不知道他們是用來干嘛的。

這就是為啥要說這些寄存器是 “ 未知 ” 的。

夸張點說,即使是是蘋果自己的工程師來了,不花上一點功夫都不一定能找到這些硬件寄存器在哪里。

那攻擊者是怎么知道這些未知寄存器的存在的?

又是怎么知道用這些寄存器就能繞過蘋果的硬件級內(nèi)存保護,從而實現(xiàn)整個手機硬件的控制的?

對于這一點,作為受害者和第一手資料分析者的卡巴斯基團隊,并沒有給出合理的解釋,只是非常委婉地指出:

“ 我們猜測,這個未知的硬件特性很可能是蘋果工程師或工廠用于調(diào)試或測試的目的,或者是無意中被包含進去的。因為這個特性沒有被固件使用,我們不知道攻擊者是如何知道如何使用它的!

卡巴斯基團隊

但是其他幾個零日漏洞都隱隱約約地透露出,這個攻擊者不是一般的外部攻擊者。。。。

這人說不定真是個內(nèi)部人員,一直知道這些工程后門的存在。

但是這人也知道這些后門又是iMessage又是硬件內(nèi)存的,會涉及到很多個產(chǎn)品線。

按蘋果這種大公司內(nèi)部的協(xié)調(diào)效率的話,不推他們一下他們大概率是不會改的。

所以這位大哥直接拿這些東西黑了卡巴斯基,借卡巴斯基的手把事捅大了。

事情是不是一下子的變得合理了起來?

不過大家別慌,這些漏洞已經(jīng)被蘋果堵上了。

本文來源:差評

差評

網(wǎng)友評論

聚超值•精選

推薦 手機 筆記本 影像 硬件 家居 商用 企業(yè) 出行 未來
二維碼 回到頂部