靠著M系列芯片,蘋果這幾年風生水起。同時,M系列常常因其卓越的性能而備受稱贊。不過,光輝的背后也時常被曝出漏洞和隱患。尤其這幾年,誕生了許多詭譎的攻擊方式,讓人防不勝防。
這幾日,Apple Silicon就被曝存在新的安全漏洞。這個漏洞非常可怕,根本不需要安裝什么惡意軟件,只是打開Safari或者Chrome瀏覽器就有可能泄漏機密信息。同時,這些漏洞機制非常類似當初震驚世界的Meltdown(熔斷)和幽靈(Spectre)漏洞,而且針對蘋果硬件進行了設計。
甚至不需要物理訪問
上周,佐治亞理工學院和波鴻魯爾大學的安全研究人員團隊發表了兩篇論文,介紹了針對 Apple芯片的兩種側信道推理執行攻擊——SLAP和FLOP。
此論文一經發布,就引發了軒然大波,因為這兩個漏洞的影響面太大了,也太可怕了。它們對現代和廣泛使用的硬件有影響,而且可以遠程執行,并且不需要物理訪問。
據演示網站的演示,通過使用腳本執行一系列內存加載,就可以獲取到一些私密的信息。也就是說,不需要感染惡意軟件,只要現代瀏覽器允許高級計算,就能有效地充當攻擊工具。
受害者只需要訪問惡意網站就可能會泄露機密,繞過瀏覽器沙盒、ASLR和傳統的內存保護。同時,這項漏洞獲取數據的范圍包括位置歷史記錄到信用卡信息。
受影響的 Apple 設備如下:
2022年至今的所有Mac筆記本電腦(MacBook Air、MacBook Pro)
2023年至今的所有 Mac臺式機(Mac Mini、iMac、Mac Studio、Mac Pro)
2021年9月至今的所有iPad Pro、Air和Mini 型號(Pro第6代和第7代、Air第6代、Mini第6代)
2021年9月至今的所有 iPhone(所有13、14、15和16型號,SE第3代)
雖說迄今為止,沒有任何證據表明SLAP或FLOP已被用于“野生”,但仍然是很大的隱患。
值得一提的是,這兩個漏洞研究人員早就向蘋果反應,但蘋果覺得沒什么大不了,就一直沒有修復。據稱,研究人員于2024年3月24日 (SLAP) 和2024年9月3日(FLOP) 向 Apple披露了這些漏洞。Apple承認存在這樣的漏洞,并表示計劃解決這些問題。然而,在撰寫本文時,這些缺陷仍未得到緩解。
蘋果向知名IT媒體bleepingcomputer的回應則是:“我們要感謝研究人員的合作,因為這個概念驗證促進了我們對這些類型威脅的理解,根據我們的分析,我們認為這個問題不會對我們的用戶構成直接風險。”
在Apple提供安全更新之前,一種可能的緩解措施是關閉Safari和Chrome中的 JavaScript,盡管這預計會破壞許多網站。
注:JavaScript和WebAssembly是構成交互式網頁的主干,例如在線游戲和視頻流服務業。JavaScript可以直接更新網站的內容,而WebAssembly用于高性能Web應用程序。最終 WebAssembly與JavaScript交互,以向用戶提供動態內容。 由于兩者都在瀏覽器環境中沙盒化,因此側信道攻擊是 在這些語言中實現明顯更難。瀏覽器會自動執行這兩種類型的代碼,并且不要求用戶下載惡意程序。
又是側信道攻擊,原理很有意思
為什么這兩個漏洞這么強大,只要從瀏覽器就能獲得信息?因為這兩個漏洞是一種“側信道攻擊”。
所謂側信道攻擊(Side Channel Attack,SCA)指的是通過收集分析加密軟件或硬件在工作時附帶產生的各類側信道物理量來破解密鑰的方法。比如,密碼算法的功耗分析攻擊、電磁分析攻擊、計時攻擊、故障注入攻擊等。
而SLAP和FLOP的信道,都來自CPU的微架構。每當攻擊者和目標在物理CPU上運行時,它們都會共享CPU的內部資源,例如內核、緩存和內部緩沖區。共享資源會導致爭用,而爭用可以間接衡量通過幾個變量,如timing或power consumption等。這些測量會在CPU 上目標的行為上留下“指紋”。 因此,攻擊者可以濫用此漏洞來推斷目標的密鑰,即使它們在進程級別或虛擬機管理程序級別被隔離。
兩個漏洞的攻擊原理也都非常有意思。
SLAP的工作原理
攻擊者可以“訓練”CPU 預測特定的內存訪問模式,然后通過突然改變內存布局來操縱其訪問秘密數據,導致后續的預測指向該秘密數據。
CPU在信任其預測的情況下,會在意識到并糾正錯誤之前讀取并處理敏感數據,從而使攻擊者能夠利用緩存計時或其他側信道來推斷泄露的數據。
通過反復實施SLAP攻擊,攻擊者能夠重構被盜取的信息,比如獲取Gmail收件箱數據、亞馬遜訂單及瀏覽數據,還有Reddit用戶活動信息。
根據研究人員的說明,他們對Apple實現的加載地址預測(LAP)進行了逆向工程,如果在步進內存地址上訓練LAP,LAP將訪問步進模式中的下一個序列地址,并使用該地址中的數據執行計算,即使程序從未實際訪問過該地址。需要注意的是,這與硬件預取不同。雖然預取器可能會將預測地址中的數據帶入緩存,但它們不會基于預測推測性地執行后續指令。
FLOP的工作原理
研究人員通過一個執行循環對蘋果 M3 CPU 進行訓練,該循環先加載一個特定常量值,然后觸發預測錯誤,誘使M3 CPU做出錯誤猜測,以此展示了FLOP攻擊。
當CPU處于這種錯誤狀態時,它會通過緩存時序攻擊泄露數據。這種數據泄露持續的時間足夠長,使得研究人員能夠在CPU自我糾正之前測量內存訪問時間并推斷出秘密數據的值。
通過 FLOP,研究人員演示了如何逃離Safari的沙盒、從Proton Mail收件箱中檢索發件人和主題信息、竊取Google地圖位置歷史記錄以及從iCloud日歷中恢復私人事件。
與SLAP類似,研究人員對蘋果CPU中的加載值預測(LVP)機制進行了逆向工程,并發現,如果LVP觀察到相同的內存子系統為相同的加載指令反復返回相同的數據值,LVP將嘗試在下一次執行該加載指令時猜測加載結果,即使該加載指令訪問的內存現在包含完全不同的值。因此,利用LVP,可以誘使CPU對錯誤的數據值進行計算。
SLAP和FLOP有啥區別?
從原理來看,好像兩個漏洞基本一致,都是通過測量內存訪問時間,來推測數據的值。
不同的是,SLAP利用了Safari中的一個現象,即屬于不同網頁的字符串可以在彼此接近的內存區域中分配,從而泄露與攻擊者自身字符串相鄰的跨源字符串;而FLOP是一種推測性類型混淆攻擊,它導致CPU繞過對數據結構的完整性檢查,從而在Safari和Chrome中實現從任意地址讀取內存的原數據。
此外,SLAP和FLOP利用的底層CPU微架構也有所不同。SLAP使用加載地址預測器(LAP),而FLOP使用加載值預測器(LVP)。顧名思義,LAP預測地址,而LVP預測值。
詭譎的攻擊,現實的科幻片
側信道攻擊,堪稱是“現實的科幻片 ”。黑客并不需要直接侵入目標系統,而是通過分析系統周圍環境中的各種信息,包括能量消耗、電磁輻射、聲音、時間計算以及熱量等來發動攻擊。早在2016年,熔斷(Meltdown)和幽靈(Spectre)將“側信道”概念引入了更廣泛的公共意識中。
迄今為止,幾乎所有現代 CPU 都采用了性能優化技術——分支預測,即當結果不易獲取時,對CPU應采用的控制流(如分支和返回指令)進行預測。一旦完成預測,CPU 便會按照預測結果執行指令,這一過程被稱為推測執行。倘若CPU意識到預測錯誤,就必須恢復到預測前的狀態。幾乎所有臺式機和移動設備的CPU,無論其制造商是蘋果、AMD 還是英特爾,都存在這種行為。
不過,攻擊者正是可以利用推測執行過程中產生的諸如緩存訪問模式、執行時間等側信道信息,來推斷出敏感數據。盡管CPU會在預測錯誤時嘗試恢復,但這些短暫的執行狀態變化所泄露的信息,足以被攻擊者利用,從而突破系統原本的安全防護。
事實上,CPU“推測執行”(Speculativeexecution)本身并不是一件壞事,你可以把它看作是一種性能優化,讓CPU“推測”它下一步需要執行什么。但除非它受到嚴格控制,否則它很容易出現安全漏洞,而且這些漏洞幾乎不可能在不降低性能的情況下修復。比如,自從幽靈、熔斷爆發以來,Intel、Arm一直致力于“預測執行”類側信道攻擊的緩解,而迄今為止的25個相關變種緩解技術中,一般都伴有較大的性能開銷。
“預測執行”+“側信道”組合對芯片來說,沖擊是巨大的,為攻擊者的攻擊又指明了一個方向。因此,這幾年引發了許多芯片行業者的關注。
在這一領域,荷蘭Riscure公司的Inspector和FI系統、法國Secure-IC的Smart-SIC Analyzer以及日本RCIS研究中心的SASEBO開發板等工具均被視為領先的側信道分析產品。 防護方法也是現如今研究熱點,包括設計特殊邏輯電路、構造抗泄漏安全性密碼方案、消除側信息泄漏、使用隨機對數算法流程中易受攻擊的點進行掩碼處理。
蘋果的苦惱,漏洞頻發
事實上,這并非蘋果芯片第一次被曝漏洞,自從面世以來,M系列芯片就在經受著諸多考驗。
2018年,CPU芯片超級漏洞——Meltdown(熔斷)和Spectre(幽靈)被發現,不僅影響了自1997年以來生產的幾乎所有x86設備,也波及到彼時所有Mac和iOS設備。這些安全漏洞依賴于“推測性執行”,即芯片可以通過同時處理多條指令,甚至無序處理來提高速度。
2020年,騰訊安全玄武實驗室對外公布了一個蘋果M1芯片的安全漏洞。攻擊者在打開所有系統保護的情況下,在一秒之內獲取到了系統的最高權限(root身份),從而可以任意讀寫設備中存儲的通訊錄、照片、文件等用戶隱私。
2022年,GoFetch研究團隊在M1和iPhone A14仿生芯片中發現了一個以前未知的“指針追逐 DMP”。這項研究來自不同的學者群體,引發了名為Augury的攻擊,這是一種識別并利用泄漏指針的內存側通道的攻擊。最終,當使用常量時間編程后,Augury無法將數據信息和數據地址混合在一起。
2022年,麻省理工學院(MIT)發現,M1芯片的“指針身份驗證”(PAC)是廣泛存在于Arm處理器當中的一項硬件安全機制,而黑客則可通過指針身份驗證,不留痕跡地攻破M1發的最后一道防線,并且由于是硬件安全機制,蘋果無法通過更新M1芯片軟件補丁來修復它。那時候,蘋果表示,這不足為懼。
2023年,美國佐治亞理工學院公布一種針對蘋果M/A系列芯片側信道攻擊的方法iLeakage,利用該攻擊方法可以從 Safari 網頁瀏覽器中提取敏感信息。
2024年,蘋果最新的M系列芯片中,安全專家意外發現一個可被用于提取加密操作中使用的秘密密鑰的安全缺陷。 這一安全漏洞被正式命名為“GoFetch”,與數據內存依賴預取器(Data Memory-Dependent Prefetcher, DMP)功能有關,該功能通過微結構側信道攻擊,針對頻繁時間同步的加密處理過程,進而在CPU緩存中截取敏感信息。
可以說,自從M系列芯片問世以來,漏洞便不斷襲來,修修補補。而除了M系列芯片本身,蘋果GPU也發現過漏洞。
2024年1月,蘋果公司確認Apple GPU存在安全漏洞報告,并承認iPhone 12和M2 MacBook Air受影響。該漏洞可能使攻擊者竊取由芯片處理的數據,包括與ChatGPT 的對話內容等隱私信息。
總之,黑客的手段越來越高級了,蘋果面臨的挑戰也越來越多了。目前,對于側信道攻擊,唯一的方法的就是自損性能,要么就是自損功能,很難有更高明的修復手段。可能這就需要我們期待,蘋果未來如何應對這些漏洞。
上一篇:匯頂科技 2024 年業績亮眼,展現強勁發展韌性
下一篇:消息稱蘋果最快下周發布新款iPhone SE 有望月內發售
推薦閱讀最新更新時間:2025-05-30 14:42


- STM32L053C8 MCU探索套件
- 帶有看門狗定時器的 CAT824MTDI-GT3 4.38V 系統監控電壓監視器的典型應用
- ADR444A 4.096 Vout 超低噪聲、LDO XFET 電壓基準的典型應用,具有電流吸收器和電流源
- AM1G-1215DH30Z ±15V 1 瓦 DC/DC 轉換器的典型應用
- VN7008AJ評估板
- L7885C 帶溫度補償的可調輸出電壓的典型應用
- 使用 Analog Devices 的 LTC1596BISW 的參考設計
- LTC3634MPFE 降壓型穩壓器的設計示例電路
- DER-832 - 基于LinkSwitch-TN2和Nordic BLE微控制器的兩線制(無中性線)、寬范圍、隔離式反激式藍牙墻壁開關
- 采用 EM3588 的 ZigBee Wi-Fi 以太網網關參考設計