發(fā)條消息就破解iPhone!史上最囂張黑客 連用4個(gè)零日漏洞
前幾天在網(wǎng)上沖浪的時(shí)候,看到了一條相當(dāng)震撼的消息:
簡(jiǎn)單來(lái)講就是,主打封閉安全的 iPhone ,不僅被攻擊者發(fā)現(xiàn)了漏洞成功入侵,完全控制整個(gè)手機(jī)。
更加抽象的是,入侵的還是知名殺毒軟件卡巴斯基團(tuán)隊(duì)成員的 iPhone 。
這年頭系統(tǒng)被攻擊的事情本來(lái)就少見(jiàn),更何況被攻擊的還是封閉和安全著稱的 iOS 系統(tǒng)。
這就讓人很好奇,這樣頂風(fēng)作案 + 虎口拔牙的人到底是誰(shuí)?他又是怎么做到的?
同樣好奇的當(dāng)然也有受害者本人,也就是卡巴斯基團(tuán)隊(duì)。他
們給這個(gè)入侵行動(dòng)起了個(gè)名字叫 “ 三角測(cè)量行動(dòng) ” ,并且對(duì)整個(gè)入侵事件就進(jìn)行了復(fù)盤(pán),給出了詳細(xì)的報(bào)告。

卡巴斯基的報(bào)告里 ” 三角測(cè)量行動(dòng) “ 附圖
仔細(xì)分析了一下卡巴斯基團(tuán)隊(duì)的分析報(bào)告,發(fā)現(xiàn)入侵者的入侵方法堪稱 “ 豪華 ” ,連卡巴斯基團(tuán)隊(duì)自己都懵逼了,從來(lái)沒(méi)見(jiàn)過(guò)這個(gè)玩法:
這次針對(duì) iPhone 的攻擊,居然同時(shí)利用了 4 個(gè)零日漏洞,就是憑借著 4 個(gè)漏洞,攻擊者基本實(shí)現(xiàn)了對(duì)整個(gè)硬件設(shè)備的完全控制。
額外提一嘴,零日漏洞( Zero-Day )又叫零時(shí)差攻擊,指的就是那種之前從來(lái)沒(méi)有被發(fā)現(xiàn)過(guò)、所以沒(méi)有被修復(fù)或者攔截的漏洞。
我嘗試著把攻擊者利用零日漏洞完成攻擊的整個(gè)鏈條捋了一遍,大致是這個(gè)樣子的:
通俗點(diǎn)來(lái)講,就是黑客給目標(biāo)手機(jī)發(fā)了一個(gè)假的 iMessage 附件,植入了一個(gè)木馬,這個(gè)木馬騙過(guò)了 iPhone 里各種嚴(yán)防死守的保護(hù)機(jī)制,甚至繞過(guò)了蘋(píng)果 A 系列處理器芯片上的硬件防護(hù),完全控制了整個(gè)手機(jī)硬件設(shè)備,可以說(shuō)為所欲為。
在整個(gè)過(guò)程中,前面提到的 4 個(gè)零日漏洞被充分利用,被攻擊的手機(jī)只是因?yàn)榻拥搅?iMessage 附件,甚至都還沒(méi)打開(kāi),整個(gè)手機(jī)就已經(jīng)連底褲都被扒光了。
看完我感覺(jué)這個(gè)攻擊者的操作離譜到匪夷所思,他真的是普通的攻擊者嗎?
聽(tīng)我講完這些零日漏洞到底是啥,攻擊者又是怎么利用他們的,估計(jì)就會(huì)懂我為什么會(huì)有這樣的疑問(wèn)了。
在最開(kāi)始,攻擊者會(huì)給目標(biāo)手機(jī)發(fā)送一份惡意的 iMessage 附件,但是按照 iMessage 對(duì)待附件的邏輯,它會(huì)在不向用戶顯示任何跡象的情況下處理這個(gè)附件。
也就是說(shuō),用戶可能還沒(méi)察覺(jué)這個(gè)是不是有問(wèn)題的附件, iMessage 就已經(jīng)開(kāi)始處理這個(gè)附件了,這個(gè)有問(wèn)題的附件進(jìn)入到你的 iPhone 的過(guò)程,用戶是無(wú)法察覺(jué)的。
光是無(wú)法察覺(jué)這一點(diǎn),估計(jì)已經(jīng)嚇壞一大幫人了,但是這還只是入侵者的引子。
攻擊者真正的第一個(gè)目標(biāo)是一個(gè)名為 CVE-2023-41990 的零日漏洞。
這個(gè)漏洞存在于一款用來(lái)調(diào)整字體的顯示效果的系統(tǒng) API 指令中,可以讓攻擊者通過(guò)惡意 iMessage 附件遠(yuǎn)程執(zhí)行代碼,或者說(shuō)植入了一個(gè)木馬。
是的,蘋(píng)果的字體指令中也會(huì)有漏洞,而且該指令自上世紀(jì) 90 年代初就已存在。
但是這個(gè)字體指令本身是蘋(píng)果公司獨(dú)有的,而且蘋(píng)果并沒(méi)有公開(kāi)這一條指令的存在,很多關(guān)注這個(gè)事情的人分析到這里的時(shí)候都懷疑攻擊者的真實(shí)來(lái)頭。
第一遍看的時(shí)候我以為,攻擊者植入的木馬就是這個(gè) iMessage 附件本身。
但實(shí)際上它只是打開(kāi)字體指令漏洞的鑰匙,真正的 “ 木馬 ” 是在沒(méi)公開(kāi)的字體指令的漏洞里被植入的。
被植入之后,這個(gè) “ 木馬 ” 一路高歌猛進(jìn),從代碼框架手上騙到了執(zhí)行手機(jī)上別的程序的能力,這已經(jīng)進(jìn)入到 iOS 系統(tǒng)非常深的內(nèi)部了,甚至已經(jīng)差不多要摸到系統(tǒng)內(nèi)核了。
一般來(lái)說(shuō)到了這里,攻擊者已經(jīng)可以收手了,直接劫持一個(gè)本地程序,也能讀取手機(jī)上的一些隱私和信息。
但對(duì)于這一次入侵的攻擊者來(lái)說(shuō),前面所做的還只是他的開(kāi)胃菜,他真正的目標(biāo)就是 iOS 的系統(tǒng)內(nèi)核。
按照正常的思路,攻擊者現(xiàn)在已經(jīng)進(jìn)入到 iOS 系統(tǒng)內(nèi)部,下一步他應(yīng)該會(huì)直接去攻擊系統(tǒng)內(nèi)核。
但是他沒(méi)有這么做。攻擊者利用了內(nèi)核中第二個(gè)零日漏洞,內(nèi)存管理 - 內(nèi)存映射系統(tǒng)上的一個(gè)漏洞,直接先去控制了最最最底層的硬件內(nèi)存( 獲取了整個(gè)物理內(nèi)存的讀取和寫(xiě)入權(quán)限 )
相當(dāng)于說(shuō),先放下了 iOS 的這一套系統(tǒng)不管,跑到了 A 系列芯片上,控制了處理器上實(shí)際物理內(nèi)存。
我們平時(shí)接觸到的 iMessage 、微信這些應(yīng)用程序,并不會(huì)直接操作實(shí)際的芯片上的物理內(nèi)存。
比如微信要存儲(chǔ)一個(gè)文件,并不是微信自己的代碼跑到硬件內(nèi)存芯片上去寫(xiě),它只要把文件交給系統(tǒng)的接口。
剩下的具體操作系統(tǒng)會(huì)統(tǒng)一安排,到硬件硬件內(nèi)存芯片上去寫(xiě)入。
既然攻擊者的目標(biāo)是 iOS 系統(tǒng)內(nèi)核,那為啥要費(fèi)這么大勁兒繞過(guò)它,而去管那么遠(yuǎn)的硬件內(nèi)存的事情呢?
實(shí)際上到這里為止,系統(tǒng)內(nèi)核還是安全的,只是被利用了一下。
因?yàn)榫退愎粽吣軌蛲鶎?shí)際的物理內(nèi)存里亂寫(xiě)東西,也沒(méi)有用——攻擊只能往這里面寫(xiě),但是不知道這一個(gè)內(nèi)存塊存的是什么東西、是用來(lái)干嘛的。
內(nèi)核訪問(wèn)硬件內(nèi)存的路徑也是七彎八繞的根本不知道,攻擊者企圖從硬件內(nèi)存反攻回內(nèi)核簡(jiǎn)直是在自己找死,自己在里頭繞幾圈沒(méi)準(zhǔn)就迷路繞死了。
除此之外攻擊者還有一個(gè) “困難 ” 要克服 —— 蘋(píng)果的硬件級(jí)內(nèi)存防護(hù)。
比如蘋(píng)果的頁(yè)表保護(hù)層 PPL (Page Protection Layer) ,這樣的硬件級(jí)別的內(nèi)存防護(hù),專門(mén)防這種能搞定硬件內(nèi)存的攻擊者。
在這次的攻擊事件發(fā)生之前,蘋(píng)果的這種深度基于硬件的保護(hù)被認(rèn)為是牢不可破的。
因?yàn)檫@樣的硬件級(jí)別內(nèi)存防護(hù)高度依賴于 SOC 設(shè)計(jì)本身,正常情況下的只芯片設(shè)計(jì)者自己知道這個(gè)保護(hù)是怎么回事。
但是攻擊者又是怎么破的呢 ?
準(zhǔn)確地說(shuō),他并沒(méi)有攻破這一層的硬件級(jí)內(nèi)存防護(hù)。
因?yàn)樗业搅说谌齻€(gè)零日漏洞——蘋(píng)果的這個(gè)頁(yè)表保護(hù)層雖然很強(qiáng)勢(shì),但是可以繞過(guò)。
攻擊者是怎么利用這個(gè)零日漏洞的呢?
用卡巴斯基團(tuán)隊(duì)自己的話來(lái)說(shuō)就是:攻擊者能夠把數(shù)據(jù)寫(xiě)入某個(gè)特定的物理地址,通過(guò)將數(shù)據(jù)、目的地址和數(shù)據(jù)哈希寫(xiě)入到未被固件使用的芯片的未知硬件寄存器,從而繞過(guò)了基于硬件的內(nèi)存保護(hù)。
簡(jiǎn)單講就是,蘋(píng)果的這一層硬件級(jí)防護(hù),只能保護(hù)那些被系統(tǒng)內(nèi)核用過(guò)的硬件區(qū)域。
也就是說(shuō),硬件內(nèi)存里有一塊隱藏區(qū)域,連蘋(píng)果的安全系統(tǒng)都不知道它的存在,保護(hù)不到它,但是這個(gè)黑客知道。于是這塊隱藏區(qū)域成為了繞過(guò)安全檢查的后門(mén)。
攻擊者就這樣繞過(guò)繞過(guò)了這一層硬件級(jí)別的防護(hù),劫持了系統(tǒng)內(nèi)核。
在利用完前面三個(gè)零日漏洞之后,攻擊者基本就可以在設(shè)備上做任何他想做的事情了,他想要進(jìn)的系統(tǒng)內(nèi)核,也能進(jìn)了。
但是攻擊者還沒(méi)有要收手的意思。
估計(jì)手機(jī)自己都無(wú)語(yǔ)了,我現(xiàn)在從到里又從里到外都已經(jīng)被你看了個(gè)遍了,你想讓我干嘛也我也完全要聽(tīng)你的了,你還想怎么樣?
事實(shí)上攻擊者確實(shí)也可以清除掉所有漏洞利用痕跡,繼續(xù)埋伏在這一臺(tái) iPhone 里,悶聲發(fā)大財(cái),或者就干脆擦屁股走人。
但是攻擊者選擇了悄悄地運(yùn)行 Safari 瀏覽器的進(jìn)程,找到了另一個(gè)零日漏洞。
假如讀者里有搞攻防的小伙伴可能現(xiàn)在的心情已經(jīng)日了狗了。
大家可能不知道 iPhone 的一個(gè)零日漏洞有多值錢(qián) —— 去年的 Pwn2Own 大會(huì)拿一百萬(wàn)美元都沒(méi)釣出來(lái)蘋(píng)果的 0day。
結(jié)果這哥們輕輕松松就扔了四個(gè)出來(lái),而且最離譜的是,你們知道他拿這第四個(gè) 0day 漏洞干了什么嗎?
他又執(zhí)行了一遍先控制物理內(nèi)存再反攻 iOS 內(nèi)核的操作!!!(最開(kāi)始提到第一個(gè)漏洞做過(guò)的事情)
這位黑客,請(qǐng)問(wèn)你是來(lái)搞黑客攻擊的還是來(lái)炫富的?!
假如 iPhone 能說(shuō)話,可能也要開(kāi)始大喊開(kāi)掛了。
好了,這次事件的攻擊流程我們總算是大概給大家盤(pán)完了。
這次攻擊事件最有意思就是前面說(shuō)到的,被攻擊者用來(lái)從硬件內(nèi)存,反攻系統(tǒng)內(nèi)核的 “ 隱藏區(qū)域 ” 。
這個(gè)隱藏區(qū)域,其實(shí)是某個(gè)沒(méi)有被用到的硬件寄存器。
正常情況下,各種可用的外圍設(shè)備比如馬達(dá)、揚(yáng)聲器、麥克風(fēng)等等,都會(huì)提供特殊的硬件寄存器,CPU 可以通過(guò)這些寄存器來(lái)操作這些設(shè)備。
而此次攻擊者用來(lái)繞過(guò)蘋(píng)果硬件層保護(hù)的這些寄存器,CPU 自己都沒(méi)有調(diào)用過(guò),也不知道他們是用來(lái)干嘛的。
這就是為啥要說(shuō)這些寄存器是 “ 未知 ” 的。夸張點(diǎn)說(shuō),即使是是蘋(píng)果自己的工程師來(lái)了,不花上一點(diǎn)功夫都不一定能找到這些硬件寄存器在哪里。
那攻擊者是怎么知道這些未知寄存器的存在的?又是怎么知道用這些寄存器就能繞過(guò)蘋(píng)果的硬件級(jí)內(nèi)存保護(hù),從而實(shí)現(xiàn)整個(gè)手機(jī)硬件的控制的?
對(duì)于這一點(diǎn),作為受害者和第一手資料分析者的卡巴斯基團(tuán)隊(duì),并沒(méi)有給出合理的解釋,只是非常委婉地指出:
“ 我們猜測(cè),這個(gè)未知的硬件特性很可能是蘋(píng)果工程師或工廠用于調(diào)試或測(cè)試的目的,或者是無(wú)意中被包含進(jìn)去的。因?yàn)檫@個(gè)特性沒(méi)有被固件使用,我們不知道攻擊者是如何知道如何使用它的。”
但是其他幾個(gè)零日漏洞都隱隱約約地透露出,這個(gè)攻擊者不是一般的外部攻擊者。
這人說(shuō)不定真是個(gè)內(nèi)部人員,一直知道這些工程后門(mén)的存在。
但是這人也知道這些后門(mén)又是iMessage又是硬件內(nèi)存的,會(huì)涉及到很多個(gè)產(chǎn)品線。
按蘋(píng)果這種大公司內(nèi)部的協(xié)調(diào)效率的話,不推他們一下他們大概率是不會(huì)改的。
所以這位大哥直接拿這些東西黑了卡巴斯基,借卡巴斯基的手把事捅大了。
事情是不是一下子的變得合理了起來(lái)?
不過(guò)大家別慌,這些漏洞已經(jīng)被蘋(píng)果堵上了。
本站所有文章、數(shù)據(jù)、圖片均來(lái)自互聯(lián)網(wǎng),一切版權(quán)均歸源網(wǎng)站或源作者所有。
如果侵犯了你的權(quán)益請(qǐng)來(lái)信告知我們刪除。郵箱:business@qudong.com











