自從蘋果M系列芯片開售,業(yè)界對其溢美之詞便層出不窮。雖然M系列芯片,為Mac銷售提供了巨大幫助,但卻一直存在一些漏洞,并且都非常難以修復(fù)。
這兩天,研究人員又發(fā)現(xiàn)M系列芯片存在一項(xiàng)新的安全漏洞,這個(gè)漏洞就比較離譜了,不僅不需要root后提權(quán)到kernel,影響面會非常大,而且想要修復(fù),就要拖垮芯片的工作性能。
付斌丨作者
電子工程世界(ID:EEWorldbbs)丨出品
?不用Root權(quán)限,1~10小時(shí)盜走密鑰?
上周,安全專家發(fā)表了一篇論文,他們稱,在蘋果M系列芯片發(fā)現(xiàn)了一個(gè)新的漏洞,該漏洞允許攻擊者在執(zhí)行廣泛使用的加密操作時(shí),發(fā)起側(cè)信道攻擊,從而在Mac中提取密鑰。
該漏洞存在于CPU的一種功能——Data Memory-Dependent Prefetcher(DMP,數(shù)據(jù)內(nèi)存依賴預(yù)取器)中,DMP是解決現(xiàn)代計(jì)算常見瓶頸而放在內(nèi)存中的新功能,能夠減少主內(nèi)存和CPU間的延遲,目前僅在M系列芯片和英特爾的第13代Raptor Lake微架構(gòu)中使用。
蘋果芯片中DMP的一個(gè)行為在過去一直被忽視:有時(shí)候,DMP會將密鑰等敏感數(shù)據(jù)內(nèi)容與內(nèi)存地址指針混淆,導(dǎo)致攻擊者可以通過“解引用”操作泄露信息。即讀取數(shù)據(jù)并通過側(cè)信道泄漏數(shù)據(jù),這明顯違反了常量時(shí)間的操作范式。
這是一個(gè)嚴(yán)重的漏洞,會影響各種加密算法,包括經(jīng)過強(qiáng)化以抵御量子計(jì)算機(jī)攻擊的2048位密鑰。

研究人員嘗試對DMP發(fā)起攻擊,并將這種攻擊命名為GoFetch,它使用一個(gè)不需要Root訪問權(quán)限的應(yīng)用程序,只需要與macOS系統(tǒng)上安裝的大多數(shù)第三方應(yīng)用程序相同的用戶權(quán)限,即可完成攻擊。
M系列芯片的架構(gòu)是Arm經(jīng)典的“集群”形式。例如,M1有兩個(gè)集群:一個(gè)包含四個(gè)效率核心(E核心),另一個(gè)包含四個(gè)性能核心(P核心)。只要GoFetch應(yīng)用和目標(biāo)加密應(yīng)用運(yùn)行在同一個(gè)性能集群上,即使運(yùn)行在該集群中的不同內(nèi)核上,GoFetch就可以挖掘足夠的機(jī)密來泄露密鑰。這種攻擊既可以攻擊經(jīng)典的加密算法,也可以攻擊最新的量子強(qiáng)化算法。
目前,研究團(tuán)隊(duì)已對配備M1芯片的蘋果硬件進(jìn)行了端到端GoFetch攻擊,同時(shí)還在其它蘋果芯片上測試了DMP激活模式,并發(fā)現(xiàn)M2和M3也表現(xiàn)出類似的可利用DMP行為。
至于其有效性,研究人員的測試應(yīng)用程序能夠在不到一個(gè)小時(shí)的時(shí)間內(nèi)提取2048位的RSA密鑰,提取2048位的Diffie-Hellman密鑰則只需兩個(gè)多小時(shí)。除去離線處理時(shí)間,獲取Dilithium-2密鑰需要十個(gè)小時(shí)。

需要強(qiáng)調(diào)的是,該漏洞無法直接修補(bǔ),因?yàn)樗从谛酒旧淼奈⒓軜?gòu)設(shè)計(jì),也就是Apple Silicon芯片的核心部分,這意味著,短期內(nèi)幾乎無法完全修復(fù)。
相反,只能通過在第三方加密軟件中構(gòu)建防御措施來緩解漏洞,這些防御可能會在執(zhí)行加密操作時(shí)大幅降低M系列的性能,尤其是在早期的M1和M2代上。
此前,研究團(tuán)隊(duì)曾向蘋果公司進(jìn)行了負(fù)責(zé)人的披露,不過目前,蘋果拒絕就此事發(fā)表評論。
?蘋果芯片漏洞屢屢暴露?
事實(shí)上,這并非蘋果芯片第一次被曝漏洞。
2018年,CPU芯片超級漏洞——Meltdown(熔斷)和Spectre(幽靈)被發(fā)現(xiàn),不僅影響了自1997年以來生產(chǎn)的幾乎所有x86設(shè)備,同時(shí)也影響了彼時(shí)所有Mac和iOS設(shè)備。這些安全漏洞依賴于“推測性執(zhí)行”,即芯片可以通過同時(shí)處理多條指令,甚至無序處理來提高速度。
2020年,騰訊安全玄武實(shí)驗(yàn)室對外公布了一個(gè)蘋果M1芯片的安全漏洞。攻擊者在打開所有系統(tǒng)保護(hù)的情況下,在一秒之內(nèi)獲取到了系統(tǒng)的最高權(quán)限(root身份),從而可以任意讀寫設(shè)備中存儲的通訊錄、照片、文件等用戶隱私。
2022年,GoFetch研究團(tuán)隊(duì)在M1和iPhone A14仿生芯片中發(fā)現(xiàn)了一個(gè)以前未知的“指針追逐 DMP”。這項(xiàng)研究來自不同的學(xué)者群體,引發(fā)了名為Augury的攻擊,這是一種識別并利用泄漏指針的內(nèi)存?zhèn)韧ǖ赖墓簟W罱K,當(dāng)使用常量時(shí)間編程后,Augury無法將數(shù)據(jù)信息和數(shù)據(jù)地址混合在一起。
那時(shí)候,攻擊失敗給當(dāng)時(shí)人們帶來了一種錯(cuò)覺:DMP并沒有構(gòu)成太大的威脅。不過,GoFetch表明,DMP比之前想象的更具侵略性,因此也構(gòu)成了更大的安全風(fēng)險(xiǎn)。任何從內(nèi)存中加載的值都有可能被解引。這使我們能規(guī)避Augury的許多限制,并在常量時(shí)間編程演示端到端攻擊。
2022年,麻省理工學(xué)院(MIT)發(fā)現(xiàn),M1芯片的“指針身份驗(yàn)證”(PAC)是廣泛存在于Arm處理器當(dāng)中的一項(xiàng)硬件安全機(jī)制,而黑客則可通過指針身份驗(yàn)證,不留痕跡地攻破M1發(fā)的最后一道防線,并且由于是硬件安全機(jī)制,蘋果無法通過更新M1芯片軟件補(bǔ)丁來修復(fù)它。那時(shí)候,蘋果表示,這不足為懼。
可以說,自從M系列芯片問世以來,漏洞便不斷襲來,修修補(bǔ)補(bǔ)。而這一次的漏洞,可以說是致命的,畢竟用性能無異于拆東墻補(bǔ)西墻,只能期待蘋果有更好的解決辦法。
?同樣的劇情,又來了?
通過漏洞竊取密鑰,通過下降CPU性能的補(bǔ)丁,修復(fù)漏洞……這樣的劇情是不是很熟悉?是的,這次劇情和英特爾此前的“Downfall”漏洞門如出一轍。
2023年8月,英特爾披露了一個(gè)名為“Downfall”的安全漏洞,追蹤編號為“CVE-2022-40982”。其利用“Gather Data Sampling”從計(jì)算機(jī)上竊取其他用戶的數(shù)據(jù)和敏感信息,這一次的影響也堪稱史詩級——橫跨第6代的Skylake至第11代的Rocket Lake和Tiger Lake。
而后,英特爾針對“Downfall”安全漏洞推出了更新的微碼,對此進(jìn)行修復(fù),不過有可能會出現(xiàn)性能損失。
據(jù)Phoronix報(bào)道,為了了解具體的性能影響,通過雙路Xeon Platinum 8380(Ice Lake)、單路Xeon Gold 6226R(Cascade Lake)、以及消費(fèi)端的Core i7-1165G7,使用各種軟件包進(jìn)行了測試。
雙路Xeon Platinum 8380在OpenVKL 1.3.1上的運(yùn)行速度會降低6%左右,OSPRay 2.12的性能會下降34%,各種涉及人工智能的工作負(fù)載也受到了影響,比如Neural Magic DeepSparse 1.5、Tencent NCNN和QMCPACK,最多會降低17%的性能。單路Xeon Gold 6226R的情況也類似,比如在OSPRay 2.12中損失了33%的性能,在Neural Magic DeepSparse 1.5中下降的幅度為20%。Core i7-1165G7并不是測試的重點(diǎn),僅運(yùn)行了三個(gè)測試,不過同樣會帶來損失,性能降低了11%~39%。
從測試結(jié)果來看,更新后不可避免地出現(xiàn)性能下降,損失的幅度還比較大,而且涉及各種工作負(fù)載。不過英特爾的微碼更新不是強(qiáng)制性的,而且提供了一種選擇退出機(jī)制。如果用戶不太在意漏洞帶來的安全性問題,而更重視性能,那么可以選擇不去理會。
這樣的劇情,也曾經(jīng)出現(xiàn)在2018年。影響Intel、AMD和Arm處理器的Meltdown(熔斷)和Spectre(幽靈)內(nèi)存崩潰漏洞讓整個(gè)世界陷入恐慌。雖然后來微軟陸續(xù)推送了KB4090007等安全更新來修補(bǔ)此漏洞,但同時(shí)卻帶來了計(jì)算機(jī)性能下降的問題。后來Google開發(fā)的“Retpoline”修復(fù)方案則解決了性能下載問題,微軟借鑒此了方案。后來,為了解決內(nèi)存問題,Arm甚至還推出了Morello平臺,圍堵內(nèi)存漏洞。
有了類似劇情,有程序員評論:“所以,難道說,蘋果是在利用漏洞,不管不顧地讓跑分看起來很高?”也有程序員稱,“都學(xué)會牙膏倒吸是吧?都學(xué)會牙膏倒吸是吧?”
世界上從來沒有密不透風(fēng)的墻。雖然,我們不知道未來蘋果為了修復(fù)漏洞,會不會暴力降低性能,不過M3剛剛發(fā)布沒多久,就遇上這種嚴(yán)重漏洞,這種尷尬境地,只能看后續(xù)蘋果怎樣修復(fù),而用戶也需要權(quán)衡性能和安全,選擇性地進(jìn)行未來的系統(tǒng)升級。
參考資料
· END ·

