介紹
3 月 27 日,越南信息安全社群報告稱,兩款著名的銀行應用程序 BIDV SmartBanking 和 Agribank Plus挖礦隱藏的 iOS API 來檢測用戶 iPhone 上安裝的其他應用程序。
兩天前,TrollStore 的開發者 @opa334 在infosec.exchange上次報告了這一行為,隨後 J2TEAM 在 Facebook 帖子中提到了這一行為。該事件很快引起轟動,因為它違反了蘋果的政策並侵犯了用戶隱私。
Facebook 帖子中的初步信息懷疑此次洩密是由移動安全解決方案BShield Mobile Security 引起的,從而引發誤解,影響了 BShield 和 Verichains 的聲譽。
因此,我們對提到的兩個銀行應用程序進行了技術分析: BIDV SmartBanking (v5.2.62,2025 年 3 月 14 日更新)和Agribank Plus (v5.1.8,2025 年 3 月 25 日更新)。本文對其對用戶和銀行應用的影響進行了詳細的分析和評估。
免責聲明:
發佈此分析的目的是為了安全研究、透明度和客戶保護。該文件還旨在澄清有關 BShield 參與的虛假指控,促使技術透明度。
雖然我們盡力確保準確性,但我們不對本文中包含的信息、產品、服務或相關圖形的完整性、準確性、可靠性、適用性或可用性作出任何明示或暗示的陳述或保證。所提供的信息不旨在鼓勵、指導或支持任何違反 Apple、Google 政策或適用法律的行為。對於因本分析中信息誤用而造成的任何損失或後果,我們概不負責。
技術分析
概括
技術分析顯示,VNPay開發的兩款銀行應用程序BIDV SmartBanking(v5.2.62,2025年3月14日更新)和Agribank Plus(v5.1.8,2025年3月25日更新)使用了商業應用程序保護解決方案DexProtector/Licel和Dexguard/iXGuard,以及一個可能名為“ VNPay Runtime Protection ”或“ VNPShield ”的自開發模塊。
該模塊挖礦隱藏的iOS API SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions的側信道漏洞來識別用戶在iPhone/iPad設備上安裝的應用程序,並使用加密機制來隱藏這些隱藏的API鏈。根據蘋果的安全賞金計劃,挖礦此側信道漏洞屬於“通過用戶安裝的應用程序攻擊設備 - 未經授權訪問敏感數據”類別,賞金為 5,000鎂。
上述行為嚴重違反了蘋果應用商店政策,如果蘋果禁止或刪除該應用程序,將帶來極大風險,影響數百萬銀行客戶。
該問題與 Verichains 的 BShield 產品無關。 Mobile Shield解決方案的主要目的是主動幫助保護銀行應用程序免受用戶設備上的惡意軟件攻擊,防止近期頻繁發生的賬戶劫持、資金盜竊和個人數據盜竊。雖然挖礦N-day 漏洞或隱藏 API 可能在一定程度上有助於上漲惡意軟件檢測能力,但 BShield 不會採用這些風險或危險的技術方法,而是確保完全遵守 Apple 和 Google 應用商店政策,在針對銀行應用程序的威脅上漲的背景下優先考慮用戶和企業安全。
混淆分析
為了隱藏隱藏 API 的使用,銀行應用程序使用非常弱的 XOR 加密方法來混淆敏感鏈,例如 API 名稱和應用程序的捆綁包標識符。該技術旨在向 Apple 的靜態分析工具隱藏 API鏈,從而使檢測 API 濫用變得更加困難。在執行過程中,加密的鏈將通過與密鑰進行異或運算來解密,以恢復原始值。
從解碼的鏈中,我們發現該代碼很可能是名為“ VNPay Runtime Protection”的模塊的一部分。回到處理代碼:
該代碼可以簡化為v40 = dlopen(XOR_DECRYPT(X), 1) ,其中 X 是在數據區域中要編碼的鏈。例如:
上述代碼相當於從/usr/lib/libSystem.B.dylib
調用csops
函數:
"/usr/lib/libSystem.B.dylib".csops(a1, a2, a3, a4);
隱藏 API 分析以獲取有關設備上已安裝應用程序的信息
注意:SpringBoard 的這個 API 是一個隱藏 API,並非 Apple官方提供給開發者,因此使用它違反了 App Store 政策。
根據SBSLaunchApplicationWithIdentifier API 返回的錯誤代碼:
• 如果已安裝:由於缺乏 Apple 認證,將返回安全策略錯誤(錯誤代碼9 )。
• 如果未安裝:返回未找到應用程序(錯誤代碼7 )。
這是一種側信道挖礦,它使用隱藏的 iOS API 來檢查應用程序是否已安裝。此挖礦是在名為VNPShieldBridgingManager 的類中實現的。
當銀行應用程序挖礦此 API 時,應用程序的控制檯日誌將顯示有關該應用程序嘗試啟動另一個應用程序的多條錯誤消息。
討論 Apple 的 App Store 政策
根據蘋果的 App Store評估指南(第 2.5.1和5. 法律部分),在未經蘋果和用戶批准的情況下使用隱藏的、非公開(私有)API 違反了數據透明度、用戶控制和隱私標準,從而破壞用戶信任。
結論
該模塊挖礦隱藏的iOS API SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions的側信道漏洞來識別用戶在iPhone/iPad設備上安裝的應用程序,並使用加密機制來隱藏這些隱藏的API鏈。根據蘋果的安全賞金計劃,挖礦此側信道漏洞屬於“通過用戶安裝的應用程序攻擊設備 - 未經授權訪問敏感數據”類別,賞金為 5,000鎂。
上述行為嚴重違反了蘋果應用商店政策,如果蘋果禁止或刪除該應用程序,將帶來極大風險,影響數百萬銀行客戶。
該問題與 Verichains 的 BShield 產品無關。 Mobile Shield解決方案的主要目的是主動幫助保護銀行應用程序免受用戶設備上的惡意軟件攻擊,防止近期頻繁發生的賬戶劫持、資金盜竊和個人數據盜竊。雖然挖礦N-day 漏洞或隱藏 API 可能在一定程度上有助於上漲惡意軟件檢測能力,但 BShield 不會採用這些風險或危險的技術方法,而是確保完全遵守 Apple 和 Google 應用商店政策,在針對銀行應用程序的威脅上漲的背景下優先考慮用戶和企業安全。