北美移动银行应用安全态势
本文考察北美移动银行应用的安全状况,揭示了普遍存在的漏洞以及加强网络安全措施的迫切需求。文章着重介绍了该领域技术的快速发展,以及供应链漏洞、采用可能不安全的编程实践等挑战。
核心洞察
- 不断演进的格局:30% 的银行应用是在 2021 年之后发布的,表明该领域演进迅速,但仍有许多应用已经过时。
- 更新频率:三分之二的应用在过去 3 个月内有过更新,体现了对安全与创新的投入。
- 技术多样性:C++ 占据主导地位,Kotlin 和 Objective-C 分别在各自平台上领先。跨平台开发中 Cordova 更受青睐,这与 Flutter 是新应用首选的整体趋势形成对比。
- 供应链与原生库漏洞:对存在漏洞的原生库的依赖带来了重大安全挑战,超过 85% 的应用包含存在漏洞的组件,凸显了安全供应链管理的必要性。
- 漏洞普遍存在:98% 的应用存在漏洞,其中 55% 存在严重或高危问题。
- 严重的后端问题:远程代码执行、依赖混淆和 XSS 等严重漏洞的存在凸显了安全编码和依赖审查的重要性。
- 生物识别身份验证缺陷:过时的生物识别身份验证 API 需要更新,以确保身份验证方式的安全。
- OAuth 安全弱点:约 10% 的应用存在不安全的 OAuth 机制,表明需要更强的身份验证协议来防止账户接管。
- 加密与通信风险:20% 的应用混合使用加密通信和明文通信,这是亟需加强安全的关键领域。
引言
移动银行应用的广泛普及,彰显了其在当代银行业格局中的重要地位。
Fiserv 的一项研究印证了这一点,揭示了移动银行应用的质量和可用性与客户满意度、流失率等关键客户指标之间存在直接关联。这种关联表明,数字银行解决方案已不再只是一种便利,而是银行价值主张中的关键组成部分。
此外,Delta Risk 开展的研究阐明了银行安全事件以及整体安全态势对客户忠诚度和银行机构偏好的深远影响。这种关系凸显了网络安全在维护客户对数字银行平台的信任和信心方面所起的关键作用。
在此背景下,由于金融利用的潜在收益丰厚,移动银行应用成为移动恶意软件攻击的首要目标。这一现实使得开发安全且保护隐私的移动应用变得更加重要,以保护客户的财务安全,并维护银行机构的声誉和可信度。
本文对北美(包括美国和加拿大)银行移动应用的安全性进行了全面的实证分析。 关键洞察来自对这些应用所提供功能的广泛梳理,包括对其攻击面、潜在漏洞以及支撑这些应用的底层技术栈的评估。
本分析旨在揭示移动银行应用中对强有力的安全措施和隐私保障的迫切需求。
应用概览
本次分析覆盖了 Android 和 iOS 上的 400 多款应用。尽管银行移动应用已相当成熟,但最新数据显示,近 30% 的应用是在 2021 年之后发布的,而 20% 的应用最早可追溯到 2010 年或更早。

值得注意的是,超过三分之二(67%)的应用在过去三个月内有过更新,显示出频繁发布的趋势。然而,约 10% 的应用已超过两年未更新,表明有一部分应用可能正在过时。

在 iOS 平台上,应用体积不断增大,4% 的应用超过 340MB,最大达到 500MB,15% 的应用大于 150MB。相比之下,Android 应用普遍较小,仅有 3% 的应用介于 100MB 到 130MB 之间。


本分析表明,尽管银行应用生态的特点是更新周期稳定、应用体积较大,但仍有相当比例的应用已经过时,超过两年没有更新。
技术架构
技术栈
本节考察移动应用的技术构成,重点关注编程语言、框架及其与应用漏洞之间的关联。
C++ 成为移动应用中最主要的编程语言,这归因于它在原生库中的广泛使用,这些原生库用于增强图像优化和文件压缩等功能。
在 Android 平台上,Kotlin 位居第二,而 Objective-C 在 iOS 开发者中依然流行。在跨平台开发方面,Cordova 是使用最多的框架,这与 Flutter 是新应用首选的整体趋势形成对比。

功能与能力
在功能与能力方面,绝大多数 Android 移动应用都包含相机访问和生物识别身份验证,这凸显了生物识别安全在银行应用中的广泛采用。
此外,30% 的应用需要 WiFi 和蓝牙权限,表明相当数量的应用利用这些连接来增强功能。
相反,只有 15% 的应用集成了广告库,仅 5% 的应用具备用户追踪能力。这表明大多数应用将用户隐私放在优先位置,避免了侵入性的追踪做法。

在 iOS 上,情况依旧如此:所有应用都需要相机访问并使用 Face ID 进行身份验证,进一步印证了银行应用向生物识别安全发展的趋势。iOS 上用户追踪的普遍程度与 Android 一致,比例相同,表明各平台在用户隐私方面的做法保持一致。

原生依赖
分析显示,移动应用普遍严重依赖 Zlib、libpng、libjpeg、sqlite、curl 和 opencv 等原生库。已知这些库存在多种漏洞。

例如,在部分应用中发现的 curl 版本 7.49.0 受多个 CVE 影响,包括但不限于 CVE-2022-35252、CVE-2022-32221 和 CVE-2022-27782,影响范围从拒绝服务到缓冲区溢出不等。

这些依赖的安全影响将在“安全挑战与漏洞”一节中详细讨论。
后端
我们的分析表明,平均而言,80% 的应用与不到 40 个后端交互,范围从 CDN、分析服务到各类 API 系统。值得注意的是,约 20% 的应用连接了多达 120 个不同的后端。

尤其是 Android 应用,其后端连接的多样性更高,10% 的应用使用了 100 到 300 个后端服务。

从地理位置看,这些后端大多位于美国,其次是欧洲,数量相当可观,具体包括荷兰、法国、西班牙、爱尔兰和英国。中国在后端所在地中排名第三,这一点值得关注,因为与中国服务器通信的美国敏感应用往往会受到审查。不过,这类交互主要与中资实体拥有的银行相关。

银行应用的攻击面
权限
分析显示,应用所申请的权限范围很广,从基本的网络访问,到修改 WiFi 设置和使用手电筒。

iOS 的权限系统更为简单,这可能会降低与大量权限相关的风险。
数据显示,iOS 上 20% 的应用请求访问通讯录和麦克风。此外,30% 的应用请求位置访问权限,5% 的应用需要持续的位置追踪。

总之,虽然应用为了实现功能通常需要各种权限,但仍有一部分应用请求了更具侵入性的权限,例如持续位置追踪和访问个人数据。
暴露面
分析揭示了应用内部存在相当大的攻击面。在 Android 上,应用普遍实现了多个 service、content provider 和 activity,扩大了潜在的漏洞点。
在 iOS 上,应用大量使用 URL scheme 处理程序,用途包括身份验证回调、支付和深度链接,这同样增加了面临潜在安全风险的暴露程度。


安全挑战与漏洞
关于本次分析
这些移动应用接受了全面的漏洞扫描,扫描在无用户身份验证的情况下,利用自动化的静态和动态分析技术进行。
静态分析涵盖:
- 配置缺陷,例如 Facebook SDK 中的调试模式,可能泄露会话信息。
- 供应链漏洞,包括过时的依赖和依赖混淆。
- 污点分析,用于检测 SQL 注入或文件路径遍历等编程错误。
- 硬编码密钥和弱加密做法。

动态分析涵盖:
- API Hook 和自动化交互,以提高覆盖率。
- 后端拦截,用于识别已知漏洞,并通过模糊测试发现潜在的未知问题,例如 SQL 注入(SQLi)和 XML 外部实体(XXE)攻击。

结果令人担忧:98% 的应用至少存在一个漏洞,55% 的应用存在严重或高危漏洞。这些漏洞既包括远程数据泄露和不安全的加密等客户端问题,也包括远程代码执行等服务器端问题。


相反,仅有 0.4% 的应用展现出了完善的安全措施:依赖保持更新、采用安全的加密做法和安全的通信协议,并实施了多种加固策略,例如网络安全策略和禁用旧版存储选项。

后端漏洞
在后端系统中发现的严重漏洞(值得注意的是,均无需身份验证)包括:
- Sitecore 本地文件包含(LFI):该漏洞是在拦截移动应用的后端通信时发现的,攻击者可借此读取服务器上的文件。
- 依赖混淆:通过源码映射(source map)代码泄露发现。由于命名空间混淆,应用错误地下载了伪装成合法依赖的恶意软件包时,就会产生此漏洞。
- 跨站脚本(XSS)和开放重定向:存在于移动应用所使用的第三方软件组件中,这些漏洞可能导致在用户会话上下文中执行未经授权的脚本,或将用户重定向到恶意网站。
供应链
供应链漏洞给银行移动应用带来了重大安全风险:超过 85% 的应用至少包含一个存在漏洞的组件,超过一半的应用存在高危或严重的供应链漏洞。这些问题类型多样,包括原生内存破坏类 CVE 和序列化漏洞。例如:
- zlib@1.2.8 受多个 CVE 影响(CVE-2022-37434、CVE-2018-25032、CVE-2016-9843、CVE-2016-9842、CVE-2016-9841、CVE-2016-9840),问题从数据泄露到潜在的远程代码执行不等。
- 以数据绑定功能著称的 com.fasterxml.jackson 库存在可追溯到 2016 年的序列化漏洞,但仍在多款应用中被发现。 存在漏洞的组件如此普遍,凸显了在软件供应链中进行彻底安全审计和更新的迫切需要,在银行应用这一敏感领域尤其如此。
身份验证
身份验证是银行移动应用的关键环节,但扫描结果揭示了多个漏洞,尤其是在生物识别身份验证的实现方面。主要发现包括:
- 生物识别身份验证绕过:部分应用依赖过时且不安全的 API 进行生物识别身份验证,这些 API 无法将生物识别数据与会话信息安全地绑定,导致身份验证流程容易被绕过。
- OAuth 账户接管:约 10% 的应用使用不安全的 OAuth 身份验证机制,容易受到账户接管漏洞的影响。恶意软件可利用这一缺陷,从而可能未经授权访问用户账户。
这些漏洞凸显了使用最新、安全的身份验证方法的重要性,以及持续监控和升级安全协议以抵御不断演变的威胁的必要性。
流量与加密
银行应用的安全性在很大程度上取决于是否使用安全的通信通道。加密连接辅以网络安全策略(Network Security Policies)等加固机制是标准做法,100% 的应用都对通信进行了加密。然而,令人担忧的是,其中 20% 的应用在部分通信中仍会发起明文请求。这种混合方式会使潜在的敏感数据面临被拦截和泄露的风险,从而削弱整体安全态势。
真实安全事件:案例研究
由中文黑客组织操控的 Android 和 iOS 银行恶意软件
来源:https://thehackernews.com/2024/02/chinese-hackers-using-deepfakes-in.html
GoldFactory 是一个讲中文的网络犯罪团伙,因开发复杂的银行木马而声名狼藉,其中包括针对 iOS 用户窃取身份证件、人脸识别数据和短信的 GoldPickaxe。该团伙自 2023 年年中开始活跃,还与 Gigabud 有关联,其恶意活动集中在亚太地区,尤其是泰国和越南。他们部署了多种恶意软件变种,例如针对 Android 的 GoldDigger 和 GoldDiggerPlus,以及嵌入在 GoldDiggerPlus 中的 GoldKefu,并利用短信钓鱼(smishing)和网络钓鱼等社会工程手段冒充当地银行和政府机构。这些恶意应用通过虚假网站分发;对于 iOS,则通过 TestFlight 和恶意的移动设备管理(MDM)配置文件分发。泰国银行业 CERT 于 2023 年 11 月曝光了其 iOS 分发手法。
GoldFactory 的恶意软件套件旨在绕过安全措施,通过收集敏感信息和拦截通信来实施未经授权的银行交易。例如,GoldPickaxe 可以利用泰国大额交易所使用的人脸识别系统,制作用于欺诈的深度伪造视频。Android 变种 GoldDigger 和 GoldDiggerPlus 以越南金融应用为目标窃取银行凭据,这表明这些恶意软件家族之间存在代码层面的相似性。凭借 GoldKefu 中用于冒充银行客服的 Agora SDK 等高级能力,GoldFactory 展现出很高的作战复杂度。他们的活动凸显了移动银行恶意软件日益严峻的挑战,以及保持网络安全警惕的重要性,包括对可疑链接保持怀疑、谨慎安装应用以及定期检查应用权限。

2023 年 Android 银行木马攻击了 985 款银行应用
来源:https://www.bleepingcomputer.com/news/security/ten-new-android-banking-trojans-targeted-985-bank-apps-in-2023/
2023 年,网络安全领域出现了 10 个新的 Android 银行恶意软件家族,针对金融行业的威胁显著增加。这些新出现的家族,加上前一年已有的 19 个恶意软件家族的更新,已将攻击范围扩大到 61 个国家的 985 款银行及金融科技/交易应用。这些恶意软件变种具备先进功能,可窃取网上银行凭据、绕过双因素身份验证保护,在某些情况下还能直接执行未经授权的交易。这些木马的增强功能包括自动转账系统、捕获多因素身份验证令牌以及运用社会工程手段。Zimperium 对全部 29 个恶意软件家族的综合分析揭示了一些趋势,例如每月售价在 $3,000 到 $7,000 之间的订阅制分发模式,以及键盘记录、钓鱼覆盖层和窃取短信等功能的加入。
威胁格局也已从传统的银行目标扩展到社交媒体、即时通讯应用和个人数据,表明网络犯罪分子的目标日趋多样化。在 2023 年发现的 10 个新木马(变种超过 2,100 个)中,有 Nexus、Godfather 和 Pixpirate 等知名家族,展示了从实时屏幕共享到自动交易系统的多种攻击手段。尽管网络安全专业人员持续努力,Teabot、Exobot 和 Mysterybot 等恶意软件家族仍构成重大威胁,在美国、英国和意大利等国家尤为突出。为应对这些不断演变的威胁,建议用户遵循安全建议,包括只从 Google Play Store 下载应用、仔细查看应用评价和开发者资质、审查所请求的权限,以及避免从外部来源更新或点击来路不明消息中的链接。

2024 年 Coyote 银行恶意软件及其规避技术
来源:https://www.darkreading.com/threat-intelligence/coyote-malware-preying-61-banking-apps
网络安全社区近期发现了“Coyote”,这是一种新型银行木马,专门针对 61 款网上银行应用,主要聚焦于巴西。这一发现值得关注,不仅因为该木马对巴西构成直接威胁,还因为它可能产生国际影响——过去的巴西恶意软件活动就曾将其触角伸向全球。Coyote 的构成尤为复杂,集成了 Squirrel(一种相对冷门的编程语言)等多种技术,以及十多种恶意功能。这代表了金融恶意软件格局的重大演进,展示了自 2000 年以来一直活跃并不断发展的巴西恶意软件开发者的持续创新。
Coyote 的能力超出了典型银行木马的范畴,包括执行截屏、记录键盘输入、终止进程等命令,以及部署具有欺骗性的“Working on updates…”覆盖层以使受害者的机器无法使用。这些功能表明 Coyote 可能会发展成更危险的恶意软件形式,例如初始访问木马和后门。此外,Coyote 采用独特的规避技术来逃避检测:利用 Squirrel 伪装成合法的软件更新打包工具,并选用 Nim 编写其最终阶段的加载器,以进一步降低被检测到的可能。这种有意避开 Delphi 等恶意软件开发中更常用编程语言的做法,凸显了向更复杂、更难检测的手法转变的趋势,预示着全球网络安全防御面临的挑战日益严峻。
移动银行安全的未来
- 银行服务与非金融平台的整合:由于潜在的数据隐私和安全问题,这一趋势带有重大风险。将金融服务整合到并非以金融交易为主的平台中,可能会扩大网络威胁的攻击面,使用户数据更加脆弱。
- 开放银行与金融生态系统的扩展:开放银行虽然有望带来创新和个性化,但也带来了与数据安全和客户隐私相关的风险。在机构和第三方提供商之间共享金融数据,需要强有力的数据保护措施来防止数据泄露和滥用。
- 新型银行和纯数字金融机构的兴起:新型银行对传统银行模式和监管框架提出了挑战。它们完全数字化的存在形式可能在监管合规、金融稳定和客户信任方面带来风险,尤其是在发生技术故障或安全事件时。
- 人工智能和机器学习的更多应用:人工智能和机器学习带来的风险包括:决策过程不透明、算法中可能存在影响客户服务的偏见,以及如何确保 AI 系统免受操纵或利用的挑战。
- 借助生物识别和区块链增强安全措施:这些技术虽然旨在提升安全性,但也引入了风险。生物识别数据一旦泄露,无法像密码那样更改;区块链技术虽然安全,但并非完全不存在漏洞,尤其是在其与银行系统的集成和应用方面。
结论
在技术进步、消费者期望变化以及新金融参与者涌现的推动下,移动银行应用的格局正在快速演变。我们对北美银行机构的全面分析不仅揭示了移动银行安全的现状,也指出了未来的挑战与机遇。
主要发现:
- 安全与隐私问题:尽管移动银行应用已被广泛采用,但重大的安全和隐私问题依然存在。近 98% 的应用存在漏洞,其中包括严重和高危漏洞,这凸显了加强安全措施的迫切需要。
- 供应链漏洞:在所考察的银行应用中,超过 85% 存在供应链漏洞,这表明亟需强有力的供应链管理和安全实践。这些漏洞使金融机构面临潜在的入侵和数据泄露风险。
- 新兴趋势与风险:银行服务与非金融平台的整合、开放银行的扩展、新型银行的兴起、AI 和机器学习的更多应用,以及生物识别和区块链技术的采用,既带来了机遇,也带来了挑战。这些趋势各自都蕴含固有风险,从数据隐私问题到监管合规问题,再到潜在的安全漏洞。