跳过内容

移动应用安全验证标准

移动应用安全验证标准 (MASVS) 是由开放全球应用安全项目 (OWASP) 开发的综合安全标准。 该框架为评估和增强移动应用程序的安全性提供了一套清晰简洁的指南和最佳实践。 MASVS 旨在用作移动应用安全验证的指标、指南和基线,是开发人员、应用所有者和安全专业人员的宝贵资源。

MASVS 的目标是通过提供一套控制措施来解决最常见的移动应用安全问题,从而在移动应用的安全方面建立高度的信心。 这些控制措施的开发侧重于在移动应用开发和测试的所有阶段提供指导,并用作采购期间移动应用安全验证的基线。

通过遵守 OWASP MASVS 中概述的控制措施,组织可以确保他们的移动应用程序在构建时考虑到安全性,从而降低安全漏洞的风险并保护敏感的用户数据。 无论是用作指标、指南还是基线,OWASP MASVS 都是增强移动应用程序安全性的宝贵工具。

OWASP MASVS 是一个动态文档,会定期更新以反映不断变化的威胁环境和新的攻击媒介。 因此,及时了解标准的最新版本并相应地调整安全措施非常重要。

移动应用安全模型

该标准分为多个组,这些组代表了移动攻击面的最关键领域。 这些控制组标记为 MASVS-XXXXX,为以下领域提供指南和标准

  • MASVS-STORAGE:安全存储设备上的敏感数据(静态数据)。
  • MASVS-CRYPTO:用于保护敏感数据的加密功能。
  • MASVS-AUTH:移动应用使用的身份验证和授权机制。
  • MASVS-NETWORK:移动应用和远程端点之间的安全网络通信(传输中的数据)。
  • MASVS-PLATFORM:与底层移动平台和其他已安装应用的安全交互。
  • MASVS-CODE:数据处理的安全最佳实践和保持应用更新。
  • MASVS-RESILIENCE:针对逆向工程和篡改尝试的弹性。
  • MASVS-PRIVACY:保护用户隐私的隐私控制。

每个控制组都包含标记为 MASVS-XXXXX-Y 的单独控制,这些控制提供了关于需要实施哪些特定安全措施才能满足该标准的具体指导。

MAS 测试配置文件

MAS 项目传统上提供了三个验证级别(L1、L2 和 R),这些级别在 2023 年的 MASVS 重构期间被重新审视,并已重新设计为 “MAS 测试配置文件”,并已转移到 OWASP MASTG。 这些配置文件现在与 NIST OSCAL(开放安全控制评估语言)标准对齐,该标准是一个全面的安全控制目录,可用于保护信息系统。

通过与 OSCAL 对齐,MASVS 提供了一种更灵活和全面的安全测试方法。 OSCAL 为安全控制信息提供了一种标准格式,从而可以更轻松地在不同系统和组织之间共享和重用安全控制。 这可以更有效地利用资源,并采取更有针对性的移动应用安全测试方法。

但是,重要的是要注意,全部或部分实施这些配置文件应该是与企业所有者协商后做出的基于风险的决策。 配置文件应根据正在开发的移动应用程序的特定安全风险和要求进行定制,并且任何与建议控制的偏差都应仔细地加以证明和记录。

假设

使用 MASVS 时,重要的是要记住以下假设

  • MASVS 不能替代遵循安全开发最佳实践,例如安全编码或安全 SDLC。 这些实践应在您的开发过程中全面遵循,并且 MASVS 专门为移动应用补充它们。
  • MASVS 假设您已针对应用程序生态系统的所有元素(例如后端服务器、物联网和其他配套设备)遵循您所在行业和国家/地区的相关标准。
  • MASVS 旨在评估移动应用的安全性,这些移动应用可以通过获取应用包进行静态分析,可以通过在可能受到威胁的设备上运行它进行动态分析,并且还考虑了任何基于网络的攻击,例如 MITM。

虽然 OWASP MASVS 是增强移动应用程序安全性的宝贵工具,但它不能保证绝对安全。 它应该用作安全要求的基线,但也应实施其他适当的安全措施,以解决移动应用面临的特定风险和威胁。

移动应用的安全架构、设计和威胁建模

OWASP MASVS 假设已经遵循了安全架构、设计和威胁建模的最佳实践作为基础。

从最初的计划和设计阶段到部署和持续维护,安全必须是移动应用开发所有阶段的重中之重。 开发人员需要遵循安全开发最佳实践,并确保安全措施的优先级得到保证,以保护敏感数据、遵守政策和法规,并识别和解决可能成为攻击者目标的安全问题。

虽然 MASVS 和 MASTG 侧重于应用安全评估的控制和技术测试用例,但诸如遵循 OWASP 软件保障成熟度模型 (SAMM)NIST.SP.800-218 安全软件开发框架 (SSDF) 规定的安全架构、设计和威胁建模的最佳实践等非技术方面仍然很重要。 MASVS 也可以用作威胁模型的参考和输入,以提高对潜在攻击的认识。

为了确保遵循这些实践,开发人员可以提供文档或证据来证明遵守这些标准,例如设计文档、威胁模型和安全架构图。 此外,可以进行访谈以收集有关遵守这些实践的信息,并了解遵守这些标准的程度。

安全的应用生态系统

OWASP MASVS 假设还利用其他相关的安全标准来确保应用运行中涉及的所有系统都满足其适用的要求。

移动应用通常与多个系统交互,包括后端服务器、第三方 API、蓝牙设备、汽车、物联网设备等。 这些系统中的每一个都可能引入其自身的安全风险,这些风险必须被视为移动应用安全设计和威胁建模的一部分。 例如,在与后端服务器交互时,应使用 OWASP 应用安全验证标准 (ASVS) 以确保服务器安全并满足所需的安全标准。 在蓝牙设备的情况下,应用程序的设计应防止未经授权的访问,而对于汽车,应用程序的设计应保护用户的数据并确保汽车的运行不存在安全问题。

安全知识和专业技能

OWASP MASVS 假设使用该标准的开发人员和安全专业人员具备一定的安全知识和专业技能。 重要的是要对移动应用安全概念以及用于移动应用安全测试和评估的相关工具和技术有很好的了解。 为了支持这一点,OWASP MAS 项目还提供了 OWASP 移动应用安全测试指南 (MASTG),该指南提供了有关移动应用安全测试和评估的深入指导。

移动应用开发是一个快速发展的领域,新的技术、编程语言和框架不断涌现。 对于开发人员和安全专业人员来说,及时了解这些发展趋势以及掌握坚实的基础安全原则至关重要。

OWASP SAMM 提供了一个专门的 “教育与指导”领域,旨在确保参与软件开发生命周期的所有利益相关者都了解软件安全风险,并具备减轻这些风险的知识和技能。 这包括开发人员、测试人员、架构师、项目经理、高管以及参与软件开发和部署的其他人员。

MASVS 的适用性

通过遵守 MASVS,企业和开发人员可以确保他们的移动应用程序是安全的并满足行业标准的安全要求,而无论使用的开发方法如何。 对于可下载的应用程序来说,情况就是如此,因为该项目传统上专注于此,但 MAS 资源和指南也适用于业务的其他领域,例如预加载的应用程序和 SDK。

原生应用

原生应用程序是用特定于平台的语言编写的,例如 Android 的 Java/Kotlin 或 iOS 的 Objective-C/Swift。

跨平台和混合应用

基于跨平台(Flutter、React Native、Xamarin、Ionic 等)和混合(Cordova、PhoneGap、Framework7、Onsen UI 等)框架的应用程序可能容易受到原生应用程序中不存在的特定于平台的漏洞的攻击。 例如,某些 JavaScript 框架可能会引入其他编程语言中不存在的新安全问题。 因此,遵循所用框架的安全最佳实践至关重要。

MASVS 与正在开发的移动应用程序的类型无关。 这意味着 MASVS 中概述的指南和最佳实践可以应用于所有类型的移动应用程序,包括跨平台和混合应用程序。

预加载应用

预加载的应用程序是指在用户设备上出厂时安装的应用程序,可能具有更高的权限,这使得用户容易受到剥削性商业行为的侵害。 鉴于普通用户设备上预加载的应用程序数量众多,以可量化的方式衡量其风险非常重要。

设备上可能附带数百个预加载,因此自动化至关重要。 一组 MAS 标准,这些标准易于自动化,可能是一个很好的基础。

SDK

SDK 在移动应用价值链中起着至关重要的作用,它为开发人员提供了更快、更智能、更有利地构建代码所需的代码。 开发人员严重依赖它们,平均每个移动应用使用 30 个 SDK,并且 90% 的代码来自第三方。 虽然这种广泛的使用为开发人员带来了显着的好处,但它也传播了安全和保障问题。

SDK 提供各种功能,应被视为一个独立的项目。 您应该评估 MASVS 如何应用于所使用的 SDK,以确保尽可能高的安全测试覆盖率。