我们的 AI 引擎 Neutron 在加州大学伯克利分校的 CyberGym 基准测试中取得了 96.75% 的成绩。 了解更多

安全

安全

移动银行应用安全测试指南

保护移动银行应用不能只靠保护客户端。本指南探讨设备、网络和后端系统各层面的风险,并说明为什么持续的移动安全测试对于保护金融数据和交易至关重要。

移动端如今已成为客户与金融机构互动的主要数字渠道。现代银行应用让用户可以直接在移动设备上查询账户余额、转账、缴费、管理收款人,并完成与身份相关的操作。随着这些应用在客户体验中的地位越来越核心,它们对金融机构整体安全态势的重要性也随之上升。

由于移动银行应用处理高度敏感的金融和个人信息,它们成为网络犯罪分子眼中极具吸引力的目标。攻击者可能试图窃取身份验证凭据、拦截通信、滥用薄弱的 API,或操纵交易流程以牟取经济利益。移动环境的特性进一步放大了这种风险:银行应用运行在金融机构无法控制的设备上,与多个后端服务通信,并依赖复杂的身份验证、会话和支付逻辑。这些因素叠加在一起,形成了一个广泛且不断变化的攻击面。

面对这种复杂性,金融机构需要采用现代移动安全测试方法,评估银行应用在设备、网络和后端系统各层面的行为。这有助于团队更早发现薄弱环节,验证敏感数据和关键流程是否得到妥善保护,并为工程团队提供更明确的修复方向。

移动银行安全测试为何重要

移动应用安全测试(MAST)用于评估移动银行应用的抗攻击能力,在漏洞被真实攻击利用之前将其识别出来。有效的移动安全测试结合静态分析、动态评估和运行时观察,检查应用代码、执行行为、本地存储和网络通信。现代移动安全测试不只产出理论上的发现,还能生成日志、跟踪记录和执行产物等技术证据,帮助工程团队验证问题,并有把握地确定修复优先级。

移动金融应用处理的是数字生态中最敏感的一类信息,包括个人身份数据、身份验证密钥、账户记录和交易详情。影响这一环境的任何薄弱环节,都可能带来直接的经济损失,以及严重的声誉和监管影响。

有几个因素让移动银行安全尤为复杂。金融应用处理高价值、高度敏感的数据,天然会吸引网络犯罪分子。它们还运行在 iOS、Android 以及某些场景下的 HarmonyOS 等多样的硬件和操作系统上,增加了安全团队必须考虑的技术变量。与此同时,用户可能从不受信任或已被入侵的设备访问这些应用,带来金融机构无法完全控制的额外暴露面。

与传统 Web 应用相比,移动应用还带来了额外的安全考量。它们依赖本地存储、运行时执行环境、嵌入式组件、应用权限、深度链接以及移动端特有的框架。因此,企业需要超越标准 Web 安全实践、能够应对移动生态具体情况的测试方法。

安全测试帮助金融机构验证保护机制在前端和后端系统中都能稳定发挥作用。它让团队能够发现关键用户旅程中的薄弱环节,验证敏感数据是否得到安全处理,并确认在应用频繁发布和更新的过程中,安全控制措施依然有效。现有薄弱环节的规模说明了这一点的重要性:在该研究中,硬编码密钥影响了超过 50% 的应用,而 46% 的应用中发现了过时的库。

如需深入了解这些发现背后的数据,请阅读完整的《Banking Report 2025》,该报告基于对 500+ 款移动银行应用的大规模研究

移动银行的攻击面

要实现有效的安全,金融机构需要把移动银行视为一个完整的生态系统,而不是一个孤立的应用。典型的银行环境涵盖客户端设备、网络通信层和后端系统。每一层都带来不同类型的风险,而攻击者往往会在这些层之间移动,而不是只针对其中一层。

在客户端层面,面临风险的主要资产包括用户凭据、应用逻辑和本地处理的数据。在网络层面,主要关注的是传输中的数据,包括身份验证令牌、账户详情和交易信息。在后端系统中,价值最高的资产包括身份管理服务、金融记录和交易处理逻辑。因此,保护移动银行应用需要在这三个层面上协同部署安全控制措施。

层级 面临风险的主要资产 常见缓解措施
客户端 用户凭据与应用逻辑 代码混淆与 Root 检测
网络 传输中的数据 证书锁定与加密
后端 个人与金融数据 健全的 IAM 与 API 网关

设备层面的风险

在移动银行威胁中,用户设备往往是攻击的第一个切入点。攻击者可能会对应用二进制文件进行逆向工程,以了解应用的工作方式、找出隐藏功能或提取硬编码密钥。在已被入侵的设备上,他们还可能尝试注入恶意软件或进行运行时操纵,以绕过安全控制或改变应用在执行过程中的行为。由于金融机构无法完全掌控用户手机的健康状况或可信程度,代码混淆、运行时检查和加固技术等应用层保护措施就显得尤为重要。在一个老旧应用基础仍然普遍存在的市场中,这一点更加关键:在一项针对 500+ 款移动银行应用的大规模研究中,所分析的 iOS 应用中有 25% 发布于 2008 年至 2011 年之间,另有 22% 发布于 2011 年至 2014 年之间,而 Android 应用中有 27% 发布于 2010 年至 2013 年之间。

网络通信风险

移动银行应用在身份验证、账户访问和支付流程上高度依赖与后端 API 的通信。如果这些通信没有得到妥善保护,攻击者可能会尝试发起中间人攻击来拦截或篡改流量,从而暴露传输中的身份验证令牌、会话数据或交易详情。强大的传输安全、证书校验和安全的会话处理对于降低这一风险至关重要。薄弱的传输实践至今依然存在,这进一步印证了这一点:在所分析的银行应用中,仍有 20% 使用明文 HTTP。

后端系统风险

即使移动客户端本身得到了良好保护,后端身份验证、授权或交易校验中的薄弱环节仍可能导致欺诈或数据泄露。攻击者可能会利用防护不足的端点、薄弱的身份流程或缺失的授权检查,访问敏感记录或执行未经授权的操作。实际上,移动银行的安全程度取决于支撑该应用的后端系统。后端的集中化还会加大系统性风险:在该研究中,78% 的 iOS 银行应用只连接两个或更少的后端,而超过 77% 的银行应用后端位于美国。

这种集中化在基础设施层面同样明显。Ostorlab 的《Banking Report 2025》显示,许多移动银行应用依赖数量有限的后端系统,这使得保护 API、身份服务和交易校验层变得更加重要。

iOS 和 Android 移动银行应用的后端集中情况

需要重点保护的移动银行关键流程

移动银行应用依赖少数几个风险特别高的流程。一旦这些流程被攻破,攻击者就可能未经授权访问账户、转移交易资金或泄露敏感金融数据。因此,在测试过程中应将这些领域作为安全重点。

身份验证与身份核验

身份验证是银行应用中最关键的功能之一,因为它控制着对整个用户环境的访问。移动银行应用通常组合使用密码、生物识别、一次性验证码和基于令牌的系统。这一领域的安全测试会检查身份验证逻辑能否被绕过、会话令牌是否可预测或保护不当、生物识别验证是否得到安全实现,以及登录流程能否被操纵。由于身份验证是所有敏感操作的入口,即使是很小的薄弱环节也可能造成重大后果。这一点尤其值得关注:如今 65% 的银行应用采用了生物识别身份验证,但其中仍有 28% 被发现存在生物识别绕过漏洞。

会话管理安全

会话处理决定了用户身份在使用应用期间如何保持,以及在会话过期或用户退出登录时访问权限如何终止。薄弱的会话管理可能让攻击者劫持活动会话、重用已过期的凭据,或在超出预期的时间内保持访问。因此,测试应评估令牌生命周期控制、退出登录行为、过期逻辑、令牌存储,以及在异常情况下是否可能出现会话固定或会话重用。

支付与转账流程保护

支付和转账是任何银行应用中最敏感的操作之一,因为它们涉及资金的直接流动。安全测试应验证交易请求无法通过客户端操纵被篡改,支付金额和收款方信息得到正确校验,并且后端授权检查得到一致执行。未经授权篡改交易仍是移动银行中最重要的欺诈场景之一,因此这一流程需要客户端和服务器端的有力保护。

收款人管理安全

收款人管理是另一个高风险领域,因为许多欺诈手法都涉及添加未经授权的收款人或修改支付信息。如果攻击者能够篡改收款人记录或将付款转向恶意账户,影响将是即时且严重的。强有力的服务器端校验、审批流程和监控对于保护这些功能至关重要。由于收款人管理与欺诈风险密切相关,应将其作为移动安全测试的一部分持续评估。

移动银行应用中的常见漏洞

移动银行应用可能在多个技术层面存在薄弱环节,这些漏洞既会影响应用本身,也会影响其周围更广泛的金融环境。了解这些类别有助于团队将测试工作集中在风险最高的地方。

敏感数据泄露

身份验证令牌、个人标识信息和密码学材料等敏感信息绝不应存储在不安全的位置。在移动应用中,当密钥被写入本地数据库、共享首选项、缓存、日志或屏幕截图时,风险就会随之出现。不安全的内存处理也可能在运行时暴露有价值的数据。由于金融应用处理高度机密的用户和交易信息,这类薄弱环节可能直接导致账户被攻破或数据泄露。这并不是一个边缘问题:仅硬编码密钥一项就影响了超过 50% 的被分析应用,在代码中暴露了 API 密钥、令牌或凭据。

KYC 流程的安全风险

客户身份核验流程越来越多地被直接内置到移动应用中。证件上传、自拍验证和身份采集步骤涉及高度敏感的个人数据,因此会带来额外的暴露面。如果这些流程保护不当,身份核验材料可能会被持久存储、以不安全的方式缓存,或因会话状态控制薄弱而暴露。安全测试不应只把 KYC 流程视为业务功能,还应将其视为关键的数据处理流程。

密码学实现缺陷

加密在保护银行应用方面发挥着核心作用,但实现上的错误依然很常见。当应用依赖过时的加密算法、使用硬编码密钥,或未能妥善管理密钥轮换和生命周期时,就可能出现问题。薄弱的密码学设计会削弱存储数据和传输数据的机密性,在信任和完整性至关重要的金融环境中,这是一个重大隐患。

客户端安全控制的薄弱环节

安全决策不应仅依赖客户端逻辑,因为移动应用可以被逆向工程和操纵。如果重要的检查只在应用内部执行,攻击者就可能通过修改运行时行为、滥用隐藏控件或绕开预期界面直接与 API 交互来绕过这些检查。健全的安全设计要求关键决策在服务器端进行校验,而不是只信任客户端。

应用篡改与抗攻击能力

攻击者可能会尝试滥用调试、运行时注入、修改代码或进行未经授权的插桩,以了解或改变应用的行为。对于银行应用而言,这会削弱信任边界,使进一步的滥用变得更加容易。应用加固和抗攻击技术有助于在执行过程中保持完整性,降低攻击者成功操纵应用的可能性。

WebView 与深度链接的安全风险

嵌入式浏览器组件和导航机制如果实现得不够谨慎,就可能引入漏洞。WebView 上下文中的注入、通过深度链接进行的恶意重定向,以及通过操纵 URL 实现的会话劫持,都可能为未经授权的操作打开缺口。这些问题在移动银行中尤为重要,因为即使是一个很小的导航缺陷,也可能暴露身份验证、会话或支付相关的流程。

供应链与第三方组件风险

现代移动银行应用依赖第三方 SDK、库和嵌入式框架。这些组件虽然加快了开发速度,但当它们过时、存在漏洞或已被攻破时,也会带来风险。供应链风险在移动安全中正变得越来越重要,因为漏洞不仅可能来自银行自己的代码,也可能来自应用所依赖的外部依赖项。研究清楚地显示了这一问题的规模:过时的库影响了 46% 的银行应用。

移动安全测试生成的证据

有效的安全验证不能只提供一份理论发现清单。它应当生成证据,帮助团队了解发现了什么、为什么重要以及如何修复。这在银行环境中尤为重要,因为安全决策往往需要同时接受工程和合规相关方的审阅。

  1. 反编译后的应用上下文
  2. 文件系统活动证据
  3. 代码路径执行覆盖情况
  4. 可直接用于分诊的调查材料

Ostorlab 发现详情页面,包含技术证据、修复步骤和参考资料

监管与合规考量

金融机构必须使其移动银行安全计划符合行业法规和网络安全框架的要求。由于移动应用处理敏感的客户数据并支撑关键交易,监管机构越来越期望金融机构能够证明其具备强有力的控制措施、具有韧性的系统以及持续的测试实践。

安全测试帮助企业验证各项保障措施是否得到正确实施并按预期发挥作用,从而支持满足这些期望。它还帮助安全团队在数据保护、支付安全和运营韧性方面建立更有力的内部保证。

NIS2

NIS2 为包括部分金融生态在内的关键行业规定了网络安全和风险管理义务。对于移动银行而言,这进一步强调了掌握应用风险状况和加强韧性实践的必要性。

DORA

DORA(《数字运营韧性法案》)关注金融机构的运营韧性和 ICT 风险管理。在移动银行场景下,这凸显了测试关键数字服务、验证安全控制措施长期有效的重要性。

PCI DSS

PCI DSS 定义了保护支付相关数据的标准。任何涉及支付处理的移动应用都必须符合这些要求,以帮助保护持卡人数据并保障交易流程的安全。

FFIEC 指南

FFIEC 指南概述了金融行业在网络安全测试和审计方面的期望。对于移动应用而言,这进一步说明了可重复的安全验证以及风险正在被监控和处理的明确证据的必要性。

GLBA

GLBA 要求金融机构保护消费者的金融信息。由于移动银行应用经常以各种形式处理和存储这类数据,强有力的测试和保护措施对于支持合规至关重要。

OWASP Mobile Top 10

OWASP Mobile Top 10 仍然是了解常见移动风险类别的有用参考。它可以帮助团队组织测试工作,并以更标准化的方式沟通技术风险。

将移动银行安全测试融入开发生命周期

现代移动安全策略不应只依赖开发完成后偶尔进行的评估。由于银行应用迭代迅速,安全测试需要嵌入开发生命周期,以便更早发现问题,并在变更后重新评估。

CI/CD 集成

将安全扫描集成到 CI/CD 流水线中,有助于团队在发布流程中更早发现问题,并在应用演进过程中保持更一致的测试覆盖。这能带来更快的反馈,并降低后期修复的成本。

问题跟踪与修复流程

安全发现应能自然地对接问题跟踪系统,让工程团队有条理地审阅、排定优先级并加以解决。这能改善安全团队与开发团队之间的协作,并有助于确保漏洞不会在评估和修复之间被遗漏。

身份与访问控制

对测试平台、发现结果和修复数据的访问应受到严格控制,在金融环境中尤其如此。围绕安全流程实施强有力的身份和访问管理,有助于保护敏感信息并保持问责。

持续重新评估

即使是很小的应用更新、依赖变更或后端修改,也可能引入新的薄弱环节。持续重新评估有助于确保安全控制措施长期有效,而不是被当作一次性检查。

移动银行应用处于现代金融服务的核心,但正是这种重要性使其成为攻击者的首要目标。保护这些平台不是一次性的项目。它需要持续的测试,需要在设备、网络和后端系统各层面增强韧性,还需要能帮助团队高效验证和修复问题的技术证据。

通过将主动的移动安全测试嵌入开发生命周期,金融机构可以在漏洞被利用之前发现它们,加强对高风险流程的保护,并更好地满足监管期望。在一个日益以移动为先的金融环境中,这种程度的审慎已不再是可选项。它对于降低风险、维护客户信任以及提供更安全的数字银行体验至关重要。

Ostorlab 如何帮助银行团队

如果您想将这种方法应用到自己的银行应用上,下面介绍 Ostorlab 能做什么、需要您提供什么,以及其范围的边界在哪里。

您将获得什么。 Ostorlab 会测试您银行应用的每一个版本:它会登录应用,测试客户实际下载的构建版本(包括已启用 TLS 证书锁定和代码混淆的情况),并顺着应用深入到账户和支付背后的 API 与业务逻辑。AI 智能体产出的每一项发现都附带一个可以重放的有效漏洞利用,发现中还包含上文所述的各类证据:反编译后的源代码上下文、文件系统证据以及函数调用覆盖情况。快速扫描通常在 1 到 5 分钟内完成,完整扫描需要 15 到 45 分钟;AI 智能体渗透测试会更加深入,通常需要几个小时,具体取决于应用。发现会被归并为工单,您可以在平台内分配,也可以发送到 Jira、ServiceNow 和其他工单系统。

您需要提供什么。

  • 应用本身。 首先,在 App Store 或 Google Play 上搜索您的应用,并在 ostorlab.co 上运行一次免费的快速扫描,无需登录。注册账户后,您还可以上传 Android 的 APK 或 AAB 文件、iOS 的未加密 IPA 文件,或扫描 TestFlight 构建版本。
  • 用于登录后流程的测试账户。 只有当扫描能够登录时,登录、支付和账户变更等流程才会被覆盖。请在扫描设置中添加测试账户,并提供通过短信、TOTP 或电子邮件接收一次性验证码的方式。对于短信验证码,Ostorlab Support 会提供一个专用的测试电话号码供您的测试账户使用。随机数字键盘等自定义方案可通过 Appium 脚本实现自动化,或由 Ostorlab 支持团队处理。
  • 网络访问。 面向互联网的应用无需特殊访问权限。对于不面向互联网的后端,请将扫描器的 IP 地址加入允许列表,或使用本地部署扫描从您的网络内部扫描预发布环境的应用和 API。
  • 应用保护措施的测试计划。 Ostorlab 的移动扫描前提条件建议先在启用所有保护措施的情况下测试,再在禁用这些保护措施的情况下测试,以查看哪些发现被保护措施掩盖了。

哪些在范围内,哪些不在。

  • 在范围内:Android、iOS 和 HarmonyOS 应用,它们调用的 API 和后端,身份验证和一次性验证码流程,以及借助 Mobile Shielding Scan 对 Android 和 iOS 应用加固措施的测试。
  • Web 应用和 API 也可以在没有移动应用的情况下单独测试。Web Agentic Deep Scan 接受目标 URL 或域名、测试凭据,对于 API 还可以接受 OpenAPI、GraphQL 或 WSDL schema。
  • Ostorlab 并不取代您的人工渗透测试。它会测试每一个版本,从而在两次人工测试之间发现问题,并可以减少您所需的人工渗透测试工作量。对于需要人工判断的范围,请保留人工测试。
  • 对于上文列出的框架,Ostorlab 帮助您按照其安全期望进行测试,并提供可作为证据复用的报告。它不执行 DORA 下的威胁导向渗透测试(TLPT),而网络、物理安全、备份和事件管理等应用层之外的控制措施,仍由其他工具和团队负责。

证据。

  • 《Banking Report 2025》涵盖了 500+ 款头部移动银行应用的安全状况。
  • 《Bypassing Mobile App Shielding》考察了五款生产环境银行应用中的加固措施表现如何。
  • Bumble 案例研究展示了 Ostorlab 在 iOS 和 Android 发布流程中的应用:在修复得到确认之前,存在高危和严重发现的版本会被阻止发布。
  • 供您的供应商审查参考:Ostorlab 拥有 SOC 2 Type II 报告(Security 准则),覆盖期间为 2024 年 11 月 18 日至 2025 年 4 月 18 日,当前期间的审计正在进行中。在 Enterprise 方案中,您可以选择将数据存放在美国、欧盟、GCC 或亚太地区。

下一步。 先从应用商店对您的应用进行一次免费扫描,然后添加测试凭据并运行完整扫描,以覆盖登录后的流程。如需规划跨版本的测试,请参阅 Ostorlab 银行业解决方案或预约演示。