引言
昨天,越南信息安全社区报告称,两个流行的银行应用程序——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严格使用稳定和合法的检测技术。我们不使用风险或危险的方法,确保完全符合应用商店政策,在日益增长的针对银行应用程序的威胁中优先考虑用户和业务安全。