引言
昨天,越南資訊保安社群報告稱,兩個流行的銀行應用程式——BIDV智慧銀行和農業銀行——正在使用隱藏/私有的iOS API來檢測使用者iPhone上安裝的其他應用程式。
這一行為最初由TrollStore的開發者@opa334在兩天前在infosec.exchange上突出指出,後來又在越南J2TEAM論壇的Facebook帖子中提及。這一爭議迅速引起關注,因為這種行為暗示違反了蘋果的政策並侵犯了使用者隱私。
[後續內容保持不變,完整翻譯為簡體中文]com.opa334.Dopamine.roothide
com.roothide.manager
com.cokepokes.AppStorePlus
xyz.willy.Zebra
com.opa334.Dopamine
com.kahsooa.piqwkk.dummy
下面是在斷點處的LLDB螢幕截圖,顯示了對"com.opa334.Dopamine.roothide"的檢查。
私有API被用作透過返回的錯誤程式碼驗證應用程式存在的側通道:
如果已安裝:由於缺少Apple授權而返回安全策略錯誤(錯誤號9)。
如果未安裝:返回未找到應用程式(錯誤號7)。
這證明了透過私有iOS驗證應用程式是否已安裝的側通道漏洞,在類呼叫VNPShieldBridgingManager中執行。
然而,在執行利用此私有API檢測使用者裝置上已安裝軟體的銀行應用程式時,應用程式的控制檯日誌將顯示嘗試在沒有許可權的情況下啟動應用程式的錯誤訊息。
Apple Store政策違規
根據Apple的App Store稽核指南(第2.5.1節和法律第5節),在沒有明確使用者同意的情況下使用非公開(私有)API或隱藏的系統呼叫,違反了資料透明度、使用者控制和安全標準,破壞了使用者信任。
具體而言,指南2.5.1要求應用程式"僅可使用公共API",並且必須嚴格按照其預期目的使用這些API。任何使用內部、未披露的系統框架或功能都將導致應用程式被拒絕或移除。Apple實施這些指南是為了維護應用程式穩定性、保護使用者隱私和維護平臺安全。
除了合規性之外,濫用私有API還可能是安全和隱私問題。Apple的規則部分存在是為了防止應用程式訪問使用者未同意的資料或功能。例如,使用隱藏的系統呼叫探測裝置狀態可能會違反使用者隱私和平臺安全。未經許可掃描使用者裝置上已安裝的應用程式是明確禁止的,並且會破壞使用者信任。
試圖繞過iOS沙盒限制或收集未經授權的資料(例如已安裝應用程式列表)是一個重大違規,為Apple和注重安全的使用者敲響了嚴重警鐘。這種做法可能會導致應用程式被禁止或從App Store移除,可能會影響數百萬銀行客戶。
結論
技術分析顯示,BIDV SmartBanking(v5.2.62,於2025年3月14日更新)和Agribank Plus(v5.1.8,於2025年3月25日更新)使用商業移動應用程式防護盾DexProtector和Dexguard,以及可能名為"VNPay執行時保護"的自主開發程式碼。
VNPay執行時保護使用未經授權的iOS私有API(SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions)來檢測使用者iOS裝置上的應用程式存在,並結合非常弱的異或加密來嘗試隱藏私有API字串。
這些做法可能違反Apple App Store政策,並構成重大風險,可能導致應用程式被Apple移除,進而影響數百萬銀行客戶。
此事件與BShield無關。儘管我們不時瞭解各種檢測方法,包括某些利用N-day漏洞或私有API的技巧,但作為銀行級移動應用程式保護解決方案,BShield嚴格使用穩定和合法的檢測技術。我們不使用風險或危險的方法,確保完全符合應用商店政策,在日益增長的針對銀行應用程式的威脅中優先考慮使用者和業務安全。