全新 OWASP Mobile Top 10
全新 OWASP Mobile Top 10 发布:改进、更新内容以及幕后故事。
自上一版 OWASP Mobile Top 10 发布以来,我们看到了一些新型安全问题,例如依赖混淆(Dependency Confusion)、任务劫持(Task Hijacking)和应用冒充(App Impersonation)。
2023 年版 OWASP Top 10 是一次重大更新。它带来了保护移动应用的新方法,并应对了这些新的安全问题。移动安全领域出现了一些关键进展,深刻影响了最新的 Top 10。Android 和 iOS 平台都经历了重大变化,在增强安全功能的同时,也引入了带有新潜在漏洞的新攻击面。
值得关注的进展包括 Instant Apps 的推出、生物识别身份验证的集成以及 iOS 扩展的增多。
在平台发生这些变化的同时,移动应用的复杂度和体量也在增长。Flutter 和 React Native 等新兴框架正在重新定义应用开发,带来了机遇,也带来了安全挑战。
最重要的是,移动应用的角色已经超越了传统边界。它们正被整合进工业系统、物联网、军事和汽车行业等关键领域,这凸显了移动安全在更大范围内日益增长的重要性和影响。
幕后故事

鉴于移动安全形势的快速演变,更新 2023 年版 OWASP Top 10 的必要性显而易见。
这一新版本是众多贡献者和企业大力投入的成果。特别感谢 Milan Singh Thakur、Kunwar Atul、Mohammed Junaid Tariq 和 Stefen Lortz 的突出贡献。
此外,Google 提供了宝贵的数据,Japan CERT 提供了富有洞见的反馈,并分享了他们的 Top 10 发现。
Ostorlab 发挥了关键作用,Alaeddine Mesbahi 和 Mohamed Benchikh 是主要贡献者。我们对多年来收集的、包含超过 20 million 条漏洞记录的庞大数据库进行了汇总,极大地丰富了这项研究。
Top 10 的制定历时数月,期间每周举行公开会议。这些会议每次持续 30 到 60 分钟,对于讨论进展、行动、任务和意见起到了重要作用。
最初的重点是确立起草新版 Top 10 的方法论,并强调以数据为驱动。这需要从各方利益相关者那里广泛收集数据,以尽量减少单一数据来源带来的偏差,这是一项富有挑战且耗时的任务。
数据收集完成后,经过了清洗、归一化和分析的过程。在征询了一系列利益相关者的意见后,我们准备了 Top 10 的草案。
一个关键考量是如何平衡这份榜单,需要综合考虑普遍性、影响和易用性等方面。每个方面都经过了仔细评分,最终排名依据这些分数确定。
这种方法产生的榜单反映了业界所认为的优先事项,对普遍性、影响和检测难易度给出了平衡的视角。
新版本

最新的 2023 年版 OWASP Top 10 带来了一些显著变化,并引入了新的挑战。
榜单顶部出现了新的条目,其中包括 不当的凭据使用(Improper Credential Usage) 和 供应链安全不足(Inadequate Supply Chain Security)。这一变化反映了一个令人担忧的趋势:对 API 密钥、硬编码凭据等机密信息的不当处理已经普遍得令人担忧。
此外,供应链问题 的普遍性也有所上升,尤其是那些涉及过时且存在漏洞的依赖(通常来自开源项目)的问题。
另一个关键领域是此前与 身份验证和授权 相关的问题的合并。由于移动应用努力简化这些流程,这些问题如今更加突出,包括集成 OAuth、生物识别身份验证以及支持离线模式,所有这些都会引入各种漏洞。
第四项问题出人意料地是新增的,因为它在 Web Top 10 等其他类别中一直属于最常见的问题之一。
这是因为移动应用正变得越来越复杂,它们会通过 IPC 接收来自其他应用的输入,或者可以通过自定义 URL 和自定义 Scheme 或 Webview javascript 接口从浏览器与之交互。
不安全的通信 问题虽然从此前的第三位下调,但仍然是一个重大隐患。尽管操作系统努力实现了网络安全配置等功能,明文流量和其他不安全的做法依然存在。
隐私问题 已上升至第六位,这得益于人们对尊重隐私的应用日益增长的认识和关注。然而,挑战依然存在,尤其是那些过度收集数据的第三方广告 SDK。常见的隐私侵犯包括收集 SSID 端点以追踪用户的位置和行踪,以及识别用户之间的关系。
二进制保护 是另一个关键问题,涵盖源代码泄露、调试符号泄露以及缺乏代码混淆。
安全配置错误 排在第八位,它会导致严重的漏洞,例如在 SDK 或 Webview 实例中启用调试模式,从而可能导致会话泄露或远程利用。
不安全的数据存储 曾经是首要关注点,如今排名有所下降。这一变化归功于操作系统的改进,例如 Android 更安全的 file provider 和新的存储访问模式,降低了这类漏洞的影响。
最后,不安全的加密 虽然仍是一个隐患,但其普遍性也有所下降,这要归功于安全库的引入,它们简化并加强了加密实现。另一个原因是利用这类漏洞的复杂性。
如何利用新版 OWASP Top 10
2023 年版 OWASP Top 10 是对移动应用安全检查进行优先级排序的重要工具。为了有效地使用它,可以考虑以下方法:
-
API 使用审查:梳理应用中所有的 API 使用情况。确保 API 密钥和机密信息没有内嵌在应用中。评估 API 密钥绑定(pinning)的使用情况,并核实这些密钥的权限是否恰当。
-
依赖验证:使用锁文件和软件物料清单(SBOM)列出所有依赖。这包括彻底检查原生依赖,确认它们是最新且安全的。
-
身份验证机制审计:整理出所使用的所有身份验证方法,例如基于密码的身份验证、SSO、2FA、SAML 和 OAuth。严格审查这些实现的安全性。
-
API 访问控制:评估应用中所有 API 的访问控制。
-
接口安全分析:识别应用所有对外暴露的接口,包括 Activity、URL Scheme 和深度链接。确保它们以安全的方式处理数据。
-
后端与网络安全:确保应用中所有指向后端的连接都使用加密流量。检查 TLS 设置是否足够健壮,网络安全策略是否配置得当。
-
隐私合规:审查所有数据收集行为。确认没有任何第三方 SDK 在未经同意的情况下收集用户数据,并且所有做法都符合隐私法规。
-
二进制保护:在构建出的 APK 或 IPA 中,确认没有暴露任何符号或源代码。必要时应用代码混淆。
-
配置与数据存储安全:检查 manifest 和 info.plist 中的配置设置,以及各类框架中的设置。确认本地存储是安全的,敏感数据使用标准、安全的方法进行了加密。

此外,Ostorlab 平台可以作为自动化执行这些检查的宝贵资源。它提供全面的分析能力,涵盖机密信息、依赖、不安全的编码实践、通信以及后端 API。Ostorlab 经过多年发展的广泛能力支持众多框架,可为您的移动应用提供全面的安全概览。