近期發布的越獄破解程式例如 多巴胺 2.4.x 及其分支 多巴胺根隱藏 引發了關於「無法檢測的越獄」的討論。

Hide Jailbreak 的新功能很快在網路上被描述為能夠完全繞過越獄檢測的隱藏技術。論壇上充斥著成功案例:多年來一直拒絕越獄設備的銀行應用程式突然可以正常使用;安全應用程式也通過了檢測。消息迅速在社區傳開:終於出現了一種真正無法被偵測到的越獄方法。

然而,作為多年來一直關注應用程式安全團隊和越獄社群之間貓捉老鼠遊戲的安全研究人員,我們相信這句話——檢測不到——值得更深入的探討。

這種看法忽略了一個關鍵點。

要了解這個迷思,我們首先需要了解越獄設計在過去幾代 iOS 系統中發生了哪些變化。

從系統性注射到選擇性注射

早期的越獄方法在全球範圍內都有效。一旦核心被打上補丁或檔案系統被重新掛載,所有應用程式都會在提升權限的環境下運作。由於整個系統都被修改了,安全工具很容易檢測到這一點。

從那時起,蘋果公司就對早期的越獄行為做出了迅速而頻繁的回應。這些安全增強措施涵蓋多個面向—從嚴格的授權驗證和沙箱加固到核心修補程式保護(KPP)、核心文字唯讀區域(KTRR)、指標認證碼(PAC)和密封系統磁碟區(SSV)。

這些措施共同迫使越獄開發者做出調整。與早期越獄直接修補核心不同,像 Dopamine 這樣的現代越獄工具首先利用核心漏洞來取得修改特定核心資料結構所需的最低權限。一旦這些結構被修改,越獄工具就可以初始化其用戶空間環境並開始正常運作。

詳見 了解越獄蘋果的多層防禦措施迫使越獄技術採用更受限的架構。

儘管許多系統級的漏洞仍然存在,但現代越獄技術正積極嘗試最大限度地減少其可檢測痕跡,盡可能地將邏輯限制在每個應用程式和沙箱內部。像 Dopamine-RootHide 這樣的計畫更是將這種理念推向了極致。

這種模組化、範圍限定的設計最終使得諸如 Hide Jailbreak 之類的功能在技術上成為可能。越獄的範圍已從系統級控制縮小到局部進程注入,從而限制了其在系統中的影響範圍。

多巴胺 2.4.x 和“隱藏越獄”

引發這一切興奮的功能看似簡單:Dopamine 2.4.x 中的一個名為「隱藏越獄」的開關。

從多巴胺使用者的角度來看,這簡直就像魔法一樣:

  • 啟用手機上特定應用程式的開關
  • 啟動應用
  • 它運作正常——未檢測到越獄,無限制,無錯誤

而且,其他越獄插件在其他應用程式中仍然正常運作。主題依然可以正常渲染。修改過的系統應用仍可運作。越獄功能完全處於啟動狀態——除了被設定為「隱藏」的部分。

測試結果似乎證實了先前的宣傳:

  • 傳統文件系統檢查未能發現越獄痕跡
  • 常用的基於 API 的檢測方法傳回陰性結果
  • 具有複雜安全措施的應用程式運作正常。
  • 已建立的越獄檢測庫報告:“未檢測到越獄”

Dopamine 2.4.x 中的「隱藏越獄」開關並不會掩蓋越獄;它會將其從環境中完全移除。

活化後,多巴胺:

  • 不會向目標應用程式的進程空間注入鉤子、程式庫或任何越獄程式碼。
  • 解除安裝 /var/jb這裡儲存著越獄二進位檔案和調整程式。

但「神話」就在於此:它實際上並沒有隱藏任何事物。

越獄程序不會隱藏自身或變得隱形。相反,它根本就不存在。無需注入、無需鉤子、無需任何修改。應用程式從頭到尾運行,無需觸及任何越獄代碼。

但這只是越獄過程內部的情況。在越獄之外,即使設備已經越獄,攻擊者仍然能夠獲得對應用程式記憶體和檔案的更高存取權限。

這是選擇性缺席,而不是隱瞞。

了解技術現實

要理解為什麼這種方法有效——以及為什麼它如此重要——我們需要了解現代越獄程序在進程層面的運作方式。像 Dopamine 這樣的現代越獄程式會接入… launchd這是iOS上所有其他進程啟動的第一個進程。當一個應用程式即將啟動時,這個鉤子會攔截它的啟動過程。此時,越獄程序會做出決定:注入進程還是不注入進程。

Dopamine-RootHide 的創新之處在於,它透過「隱藏越獄」開關讓使用者能夠控制這個決定。

當應用啟用此開關時:

  • 該應用程式進程無需任何越獄代碼即可啟動。
  • 該應用程式看到的是一個真正乾淨的流程空間——因為它本身就是乾淨的。
  • 其他進程繼續運行,並具備完整的越獄功能。

與最初的多巴胺不同,最初的多巴胺依賴於固定的安裝點,例如… /var/jbDopamine-RootHide 每次執行時都會隨機化其掛載路徑。新的掛載點會在檔案系統的可寫入區域內以不可預測的名稱創建,這使得傳統的基於路徑的檢測方法失效,因為預期的位置根本不存在。

Dopamine-RootHide 在底層仍然完全運作。內核資料結構和系統鉤子仍然會被修改。但在受保護的應用程式沙箱內,這些隨機掛載點大多無法訪問,從而使該進程有效地與活躍的越獄環境隔離。這種設計使其能夠同時維持兩種狀態:一個功能齊全的越獄操作系統,以及乾淨、隔離的進程。

可以把它想像成進程級容器化:每個應用程式都在自己的氣泡中運行,而 Dopamine-RootHide 控制每個氣泡包含的內容。

這意味著什麼:能力和局限性

了解其機制可以揭示 Dopamine-RootHide 的功能及其限制。

受保護的應用程式成功隱藏了哪些內容:

  • 越獄檔案和目錄(它們仍然存在,但應用程式無法存取它們)
  • 注入的程式碼或動態程式庫(因為沒有任何東西被注入到該進程中)
  • 修改後的系統呼叫(僅限該進程空間)
  • 標準檢測庫檢查(檢查應用程式本身的進程)

仍有可能被偵測到的內容:

  • 系統級核心修改(如果從核心級別檢查)
  • 設備上存在其他已越獄的進程
  • 系統運作方式中的行為異常
  • 基於硬體的認證,用於檢查系統完整性
  • 超越流程層級檢查的高階完整性檢查

能夠執行深度系統分析(例如檢查核心狀態、使用硬體安全功能或進行行為監控)的應用程式有可能偵測到以下情況: 東西 即使應用程式本身的進程看起來很乾淨,它也可能被系統層級修改。

因此,「無法檢測」的說法具有誤導性。更準確的說法是: 無法透過常規流程層級檢查檢測到。

對安全工程師的啟示

對於應用程式安全團隊而言,這種演進要求他們更新偵測和回應策略的想法。傳統的二元方法—「偵測到越獄=阻止應用」—在越獄是系統級攻擊時是合理的。如果存在任何越獄,所有進程都會受到影響。

如今的現實情況更為複雜:設備可能已被越獄,但某些應用程式進程卻能正常運作。簡單的越獄檢測已無法全面反映實際情況。

正如在討論中 了解越獄企業在應對越獄跡象時,應該採取手術刀而非大錘。對於像 Dopamine-RootHide 這樣的選擇性注入架構,這條建議就顯得格外重要。

請考慮以下更新後的策略:

  • 重點在於偵測越獄引發的攻擊,而不僅僅是越獄本身。
  • 將越獄指標與其他行為訊號結合起來
  • 實現運行時完整性檢查,檢查系統狀態,而不僅僅是進程狀態
  • 使用 RASP 在多個守衛同時開火時觸發回應
  • 考慮以風險為基礎的因應措施,而非非此即彼的決策。

越獄本身就是一種賦能工具。對應用程式安全而言,關鍵在於越獄是否會導致篡改、程式碼注入或針對應用程式的惡意行為。

結語

「隱藏越獄」這個術語在語意上是錯誤的。多巴胺所描述的隱藏實際上並非越獄,而是一種禁用其自身環境以保護特定進程的操作。

一旦越獄程式隱藏起來,它就不再在應用程式的進程空間內運行,傳統的檢測手段幾乎無法對其進行分析。但這並不代表裝置的行為就與未越獄的手機完全相同。越獄後的設備仍然賦予手機所有者(潛在攻擊者)進程外的系統級權限。

這並非隱蔽,而是選擇性缺席。越獄本身並沒有偽裝,它只是不在檢測的範圍內而已。但更廣泛的風險仍然存在,因為即使應用程式運行在未越獄的環境中,設備仍然擁有越獄等級的存取權限。

如今真正的軍備競賽發生在 Dopamine-RootHide 和致力於揭露它的應用安全團隊之間。 Dopamine-RootHide 的每個新版本都會調整其隱藏邏輯,例如隨機化路徑、改變注入模式以及改變隱藏痕蹟的方式。每當檢測規則有所改進,Dopamine-RootHide 都會再次做出調整。由於雙方都在不斷地對彼此的舉動做出反應,因此每次新引入的變更雖然並非革命性的或重大的技術挑戰,但仍需要持續的警惕。

由於這種快速迭代,組織必須跟上新的應用程式安全版本,因為過時的版本會逐漸失去對越獄行為的可見性。

只有近乎即時地掌握這些變化,才能確保檢測手段始終有效。因此,最可靠的防禦措施是檢測越獄所允許的行為(篡改、操縱等),並不斷更新檢測和保護工具,以便在 Dopamine-RootHide 出現新變化時能夠立即做出回應。

阿米爾-阿米泰

串聯共榮。

Amir Amitai,首席安全研究員

要了解更多有關如何 Digital.ai Application Security 能夠偵測複雜的越獄技術,並透過執行時間應用程式自我保護 (RASP) 保護您的 iOS 應用,請下載我們的產品簡介。

產品總覽

世界新動態 Digital.ai

2025 年 11 月 17 日

多巴胺與多巴胺根隱藏:無法檢測的越獄神話

最近發布的越獄工具,例如 Dopamine 2.4.x 及其分支…

瞭解更多
2025 年 7 月 30 日

令人興奮的消息:我們全新的合作夥伴中心和認證計劃正式上線!

我們很高興地宣布推出全新的合作夥伴計畫…

瞭解更多
2025 年 5 月 14 日

引領人工智慧革命: Digital.ai企業軟體交付願景

發現如何 Digital.ai的務實方法幫助企業在軟體交付中平衡創新、透明度和可衡量的結果。

瞭解更多