蘋果M1芯片爆出安全漏洞:無法修復,只能重新設計
蘋果基于 Arm 架構的 M1 芯片因其強勁性能而備受矚目,但近期 Ashai Linux 創始人兼項目負責人 Hector Martin 發現,搭載于新款 iPad Pro、MacBook Air、MacBook Pro、Mac mini 以及重新設計過的 iMac 的 M1 芯片竟然有無法修復的安全漏洞。該漏洞被稱為「M1RACLES」,允許兩個或更多的惡意應用程序建立一個秘密通道來相互通信,并可以在不使用任何操作系統功能的情況下進行,還能在不同用戶層的進程之間交換數據。
Martin 還針對該漏洞專門撰寫了一份報告,并表示該漏洞「被嵌在 Apple Silicon 芯片中,如果要修復這一漏洞,必須重新設計芯片」。
報告詳細地址:https://m1racles.com/
發現該漏洞后,Martin 已經給 product-security@apple.com 發送了電子郵件,蘋果公司承認了這一漏洞,將其命名為 CVE-2021-30747,但并未澄清該漏洞是否會在未來 M1 芯片版本中修復。該漏洞很有可能影響下一代蘋果 M 系列芯片,但也許會在下一代芯片設計中得到修復。
哪些用戶會受到影響呢?Martin 表示,無論是 macOS 或者 Linux 系統,所有搭載蘋果 M1 芯片的用戶都將受到影響。更具體地,版本 11.0 以上(包括 11.0)的 macOS 和版本 5.13 以上(包括 5.13)的 Linux 用戶會受到影響。
低風險漏洞、影響不大,但違反了操作系統的安全原則
該漏洞如何產生的呢?該漏洞源于編碼為 s3_5_c15_c10_1 的 Arm 系統寄存器包含兩個位,可以同時從所有內核以 EL0 (異常級別 0,應用程序級別權限)進行讀寫。
「一對惡意的合作進程可能會通過使用時鐘和數據協議在此兩位狀態(two-bit state)之外建立一個魯棒的通道(例如一側寫入 1x 以發送數據,另一側寫入 00 以請求下一位)。」Martin 解釋說,這導致進程可以交換任意數量的數據,而僅受 CPU 開銷的約束。
他在該漏洞的執行摘要中寫到,「Apple Silicon M1 芯片設計中的一個缺陷允許在操作系統下運行的任何兩個應用程序之間秘密交換數據,繞過使用內存、套接字、文件或任何其他正常操作系統功能。這在以不同用戶身份運行并在不同權限級別下運行的進程之間起作用,為秘密數據交換創建了一個隱蔽通道。」
好消息是該漏洞被認為是低風險的,因為它不能被用來感染 Mac 電腦,也不會被其他漏洞或惡意軟件用來竊取或篡改存儲在電腦上的數據。所以,Mac 用戶并不需要擔心這個漏洞,它基本上無法用于任何惡意行為。
當被問到這個漏洞有多嚴重,Martin 表示,如果以 1 到 10(10 代表最嚴重)來對這個漏洞的嚴重程度進行評分,Martin 給了 2 分,它對正常運行的軟件也沒有任何影響。
Martin 指出,雖然使用這個漏洞的惡意軟件既無法竊取、也無法干擾系統上現有的數據,但一個程序是不應該能夠隱密傳數據給另一個程序,這違反了操作系統的安全原則。
對于這個漏洞是否存在遭到濫用的可能,他認為,廣告商可能會濫用已安裝在 M1 設備上的應用程序進行跨應用程序跟蹤。一些游戲開發者也可能將該漏洞用作同步基元(synchronization primitive)。
這些都與蘋果近期大力推廣的用戶隱私相悖,只要用戶不同意,應用程序開發商就不能偷偷追蹤數據。這項安全漏洞可讓兩個應用程序交換數據,這樣廣告商就能利用漏洞,跨應用程序追蹤數據軌跡。
盡管 M1RACLE 漏洞允許 CPU 進程通過秘密通道將數據傳輸到另一個 CPU 進程,從而違反了操作系統安全原則,但 Martin 認為該缺陷是由蘋果 M1 芯片設計團隊人為錯誤造成的。更具體地說,蘋果決定通過刪除一個強制性功能來破壞 ARM 規范,因為他們認為永遠不需要在 macOS 上使用這個功能。然而根據消息,通過刪除該功能,蘋果使現有的操作系統更難緩解這個漏洞。
對于蘋果 M1 芯片設計團隊人為錯誤造成的漏洞,Martin 認為,「工程師也是人,難免會犯錯誤。」
其實,M1 已不是第一次曝出安全漏洞,去年 11 月,搭載 M1 的 MacBook 就被中國的騰訊玄武實驗室發現了安全漏洞。在他們的新品檢測視頻中,扮演攻擊者的測試人員在 MacBook Air 上打開所有系統保護后,在非常短的時間內獲得了系統的最高權限(root 權限)。而這一權限,可以用來自由訪問用戶的通訊錄、照片、文件等隱私信息。隨后攻擊者嘗試讀寫電腦中的照片、文檔等隱私文件,竟然像查閱自己電腦一樣信手拈來!
這也是第一個公開的可以影響 Apple M1 芯片設備的安全漏洞,隨后騰訊安全玄武實驗室將此漏洞報告給了蘋果安全團隊。
【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】