介绍
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 应用商店政策,在针对银行应用程序的威胁上涨的背景下优先考虑用户和企业安全。