第 2 版

现状报告

移动银行应用安全 2025

我们扫描了 Android 和 iOS 上 500 多款头部银行应用。以下是我们的发现。

PDF,共 40 页 · 数据分析:Ostorlab

Mobile Banking App Security Research 2025 报告封面

调查发现

大多数银行应用仍在交出后端的钥匙

最常见的发现

的银行应用含有硬编码密钥

API 密钥、令牌和凭据就放在代码或资源文件中。任何下载了应用的人都能把它们提取出来。

来源:Ostorlab 对 500 多款主流银行应用的分析,2025 年

我们通过静态、动态和行为分析,测试了全球 500 多款头部银行应用,覆盖 Android 和 iOS。

近二分之一 的应用包含存在已知严重缺陷的库

占测试应用的 超过46%

近十分之三 的应用可被绕过生物识别登录

占测试应用的 超过28%

图 1.1

各漏洞影响的银行应用占比

  1. 硬编码密钥>50%
  2. 存在漏洞的组件>46%
  3. 生物识别认证绕过>28%
  4. 明文 HTTP 请求~20%
  5. OAuth 账户接管~15%

超过 40% 的应用中发现了 Root 检测。少数应用中出现了弱加密(ECB 模式、MD5、静态 IV)。

来源:Ostorlab 对 500 多款主流银行应用的分析,2025 年

严重

多达 19 个

单款银行应用中发现的严重漏洞

大多数应用有 0 到 2 个。一小部分应用有 10 个或更多。对银行应用而言,哪怕一个也很严重。

这些漏洞并非纸上谈兵。它们是影响两大平台数百万用户的真实风险。

应用年龄

银行应用比看上去更老

几乎每款应用在过去六个月内都发布过更新。但其中许多应用首次发布已超过十年,所用代码并非为应对当今的攻击而编写。

47.7%


的 iOS 银行应用首次发布于 2014 年之前

陈旧的代码库需要持续投入才能保持安全。频繁发布并不能证明这些工作已经完成。

图 2.1

按首次发布日期划分的银行应用

  1. 25.3%
    2008–11
  2. 22.4%
    2011–14
  3. 15.3%
    2014–16
  4. 14.1%
    2016–19
  5. 12.9%
    2019–22
  6. 10%
    2022–25

来源:Ostorlab 对 500 多款主流银行应用的分析,2025 年

94.7%

的 iOS 应用在过去六个月内发布过新版本

88.8%

的 Android 应用同样如此

频繁更新不等于安全更新。许多版本只是新增功能或调整界面,仅有 1% 的应用最新版本超过一年。

后端

几乎每家银行的应用都在与美国服务器通信

这些银行大多并非美国银行。美国大型服务商一旦发生泄露或故障,可能同时波及多家银行,而且客户数据受美国法规管辖。

图 3.1

银行应用后端的托管地点(按排名)

>77% 的后端
超过77%

的银行应用后端位于美国

后端数量前 10 名

  1. 1美国
  2. 2加拿大
  3. 3韩国
  4. 4爱尔兰
  5. 5德国
  6. 6法国
  7. 7新加坡
  8. 8荷兰
  9. 9澳大利亚
  10. 10中国香港特别行政区

报告按后端数量对 49 个国家排名,仅给出了美国的占比。

来源:Ostorlab 对 500 多款主流银行应用的分析,2025 年

iOS 应用连接的服务器很少:78% 只连接 2 个或更少。Android 应用连接的服务器要多得多,而每一个都是需要保护的对象。

技术栈

数百款银行应用,用着相同的组件

扫描识别了每款应用中的编程语言、原生代码和库。一个热门库中的缺陷,就是数百家银行的缺陷。

  • zlib

    数据压缩

    ~55%

    每 10 款银行应用中

  • OpenSSL

    网络加密

    >51%

    每 10 款银行应用中

  • SQLite

    本地数据存储

    >35%

    每 10 款银行应用中

  • Firebase

    后端服务

    34%

    每 10 款银行应用中

这并非假设:扫描在银行应用中发现了存在已知漏洞的 zlib 1.2.8 版本。

其他组成C/C++ >72%Kotlin(Android) >61%Objective-C(iOS) >65%
功能生物识别登录 >65%数据分析 >45%用户追踪 1%

权限

有些应用索取了银行根本用不到的权限

每一项权限都是一个入口。大多数请求与银行应用的功能相符,但也有一些难以解释。

合理

银行应用合理需要的权限。报告给出占比时,用条形图显示。

  • 相机 ~95%
  • Face ID 80%
  • 指纹与生物识别 ~80%
  • 网络访问 几乎全部
  • 通知 常见
  • 精确位置 广泛使用

难以说明理由

少数应用申请了与银行业务无明显关联的访问权限。银行应用应只申请所需的最少权限。

通过后台服务录制音频

FOREGROUND_SERVICE_MICROPHONE

银行应用需要这个权限吗?

近 40% 的 Android 银行应用还运行 11 到 20 个后台服务,16% 运行 21 到 30 个。服务越多,需要保护的入口就越多。

案例研究

从 ToxicPanda 看银行木马如何掏空账户

ToxicPanda 是 Cleafy 于 2024 年末发现的一款 Android 银行木马。它接管账户,并从受害者自己的手机上转走资金,从而绕过许多反欺诈校验。

攻击过程

示意图。通用界面,并非真实银行。

  1. ›设备上线伪装应用连接到它的服务器

65%


的受感染设备位于意大利

其次是葡萄牙,占 21.4%。它最初针对欧洲和拉丁美洲的用户。

图 6.1

受感染设备分布

  1. 65%
    意大利
  2. 21.4%
    葡萄牙
  3. 13.6%
    其他

来源:Cleafy,2024 年

它在重启后依然存活,无障碍权限被关闭后会再次申请;服务器被关停时,还会改用生成的域名。来源:Cleafy、Bitsight。

历年版本

查看全部报告

下载完整报告

40 页调查结果、图表以及 ToxicPanda 案例研究。

Mobile Banking App Security Research 2025 报告封面