蘋果、特斯拉均受影響,新型漏洞迫使GPU無限循環(huán),直至系統(tǒng)崩潰
近日,Imperva 研究人員發(fā)現(xiàn)了一個名為 ShadyShader 的漏洞。該漏洞允許攻擊者反復(fù)凍結(jié)蘋果設(shè)備的 GPU,最終可能導(dǎo)致系統(tǒng)崩潰。
研究人員認為,主要問題在于現(xiàn)代 GPU 如何檢測和停止無限循環(huán),即如果不終止就會無休止運行的指令序列。雖然 GPU 能夠熟練地檢測并阻止明顯的循環(huán),但研究人員展示了一種方法,即制作一個嵌套循環(huán),并在未被發(fā)現(xiàn)的情況下執(zhí)行。
Imperva 公司的安全研究員羅恩-馬薩斯(Ron Masas)嘗試制作了一個簡單的著色器代碼,該代碼只迭代大量循環(huán),迫使 GPU 執(zhí)行大量計算。這種代碼可以添加到網(wǎng)站上,使用戶系統(tǒng)崩潰。它還可以通過信息、電子郵件和帶有惡意鏈接的 QR 碼掃描器發(fā)送。如果用戶點擊鏈接,瀏覽器就會加載帶有惡意著色器的 WebGL 內(nèi)容,設(shè)備就會進入數(shù)字迷宮。這些操作往往都無需用戶許可,因為在執(zhí)行許多常見任務(wù)時,GPU 訪問都是悄無聲息地進行的。
馬薩斯表示,驅(qū)動程序無法識別著色器不必要地壟斷了資源。這使 GPU 不堪重負,無法再管理其他任務(wù),最終導(dǎo)致系統(tǒng)崩潰。
蘋果的顯示管理服務(wù)(macOS 上的 WindowServer 或 iOS 上的 SpringBoard)會等待 GPU 完成任務(wù)。當(dāng)受到 ShadyShader 的攻擊時,這個負責(zé)管理屏幕的服務(wù)就無法獲得任何更新,整個系統(tǒng)就會變得很遲鈍。
蘋果設(shè)備內(nèi)置的計時器可以監(jiān)控關(guān)鍵進程,確保它們不會耗時過長。120 秒后,該計時器會觸發(fā)內(nèi)核恐慌,迫使系統(tǒng)崩潰并重啟。在 iPhone 和 iPad 上,計時器的反應(yīng)速度更快,只需 30 秒。
研究人員指出:在我們的測試中,Macbook 會在 1-2 分鐘內(nèi)完全重啟,而 iOS 設(shè)備則會在顯示鎖屏之前的 3-6 分鐘內(nèi)保持無響應(yīng)狀態(tài),在大多數(shù)情況下都不會完全重啟。
盡管打了補丁,問題依然存在
蘋果公司早在 2023 年就更新了 GPU 驅(qū)動程序來解決這個漏洞,因此運行最新 iOS 和 macOS 版本的用戶應(yīng)該沒有問題。但根本問題似乎具有更廣泛的影響。
Imperva 警告說:在我們看來,GPU 資源耗盡問題依然存在,并可能在未來的攻擊中被利用。我們在其他設(shè)備上也觀察到了有趣的行為,尤其是在谷歌 Pixel 手機上。
一些機會主義測試顯示,Pixel 手機上的瀏覽器應(yīng)用會變得無法使用,直到用戶重啟手機,盡管設(shè)備并未崩潰。
甚至在特斯拉汽車上,Imperva 的研究人員也觀察到主屏幕在遭遇 ShadyShader 漏洞攻擊后暫時無法響應(yīng)的情況,不過其關(guān)鍵的駕駛功能沒有受到影響。
研究人員表示,雖然目前沒有測試該漏洞可能帶來的全部影響,但所有帶有 GPU 和瀏覽器的系統(tǒng)都可能受到類似的影響。
如果用戶發(fā)現(xiàn)自己的設(shè)備因這種攻擊而陷入崩潰循環(huán),可以嘗試在打開瀏覽器之前在設(shè)置中禁用 JavaScript,然后關(guān)閉有問題的標簽頁。