ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OWASP MASTG 入门指南:从 MASVS 安全模型到移动应用安全测试方法

OWASP MASTG 入门指南:从 MASVS 安全模型到移动应用安全测试方法 文档教程网络安全【免费下载链接】mastgThe OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security Weakness Enumeration (MASWE) weaknesses, which are in alignment with the OWASP MASVS.项目地址https://gitcode.com/gh_mirrors/ow/mastg点击查看免费下载移动应用的安全风险与桌面软件有着本质差异而 OWASP 移动应用安全项目Mobile Application Security, MAS通过《移动应用安全验证标准》MASVS与《移动应用安全测试指南》MASTG的组合为移动应用安全给出了从定义需求到验证实现的完整闭环。本文是 MASTG 仓库中 0x03-Overview 一章的展开解读将带你理解 MASVS 与 MASTG 如何协同工作、MASTG 的三大章节结构以及数据存储、密码学、认证授权、网络通信、平台交互、代码质量与防逆向这六大 MASVS 安全领域各自要解决的核心问题。读完本文你将掌握这套开源安全测试体系的整体脉络知道如何用它为 Android/iOS 应用建立安全基线并规划渗透测试。移动应用为何需要专门的测试指南新技术总会引入新的安全风险而移动应用的安全关注点与传统桌面软件在几个重要方面存在差异。虽然现代移动操作系统通常比传统桌面操作系统更安全但如果开发者在移动应用开发过程中没有认真考虑安全问题问题依然会出现。这些安全风险往往超出了常见的数据存储、应用间通信IPC、密码学 API 的正确使用以及安全网络通信等常规关注范畴。正是基于这一背景OWASP 移动应用安全项目应运而生。该项目以两个核心文档为支柱MASVS 定义什么是安全的移动应用MASTG 则回答如何验证一个移动应用是否安全。如何使用 OWASP 移动应用安全项目项目给出的使用路线非常清晰先以 MASVS 为骨架定义安全策略再以 MASTG 为工具验证实现。MASVS定义安全模型与通用需求MASVS 定义了移动应用安全模型并列出适用于移动应用的通用安全需求。它面向架构师、开发者、测试人员、安全专家和消费者设计帮助各方定义并理解一个安全移动应用应具备的品质。你在确定 OWASP MASVS 如何适用于自己移动应用的安全模型之后项目才建议你进一步使用 MASTG。MASVS 需求最典型的应用场景是应用规划与架构设计阶段安全需求可以在项目早期就被确定下来而不是等应用开发完成后再补救。仓库中 Document/0x02b-MASVS-MASTG-Adoption.md 记录了这套标准的落地情况——例如 Google 通过 App Defense Alliance 的 MASAMobile Application Security Assessment项目推动开发者将应用对照 MASVS Level 1 需求做独立验证CREST 在 2022 年推出以 ASVS 和 MASVS 为底座的 OVS 认证项目ioXt 联盟也把 MASVS 纳入其移动应用安全配置文件可见这套需求模型已被广泛用作行业基线。MASTG映射需求的测试指南MASTG 与 MASVS 映射同一套基本安全需求。根据上下文两者可以单独使用也可以组合使用以实现不同目标规划与架构设计阶段使用 MASVS 的安全需求作为设计输入开发中或开发后使用 Checklist 和测试指南作为手动安全测试的基线或作为自动化安全测试的模板。例如MASVS 需求可用于应用的规划与架构设计阶段而清单checklist与测试指南可作为手动安全测试的基线或作为开发期间与开发后的自动化安全测试模板。如何在一次真实的移动应用渗透测试中应用 checklist 和 MASTG在 Mobile App Security Testing移动应用安全测试 一章中有详细描述。下图展示了 MASVS 与 MASTG 在项目体系中的关联——两者同为 OWASP MAS 旗舰项目MASVS 定义了逐条验证需求含 L1/L2 等级、Android/iOS 平台列与状态跟踪MASTG 则对应提供测试方法值得一提的是按照仓库 README.md 的说明当前 MASTG 描述的技术流程用于验证 OWASP 移动安全弱点枚举MASWE中列出的弱点而这些弱点与 MASVS 中的控制项保持一致形成了MASVS 需求 → MASWE 弱点 → MASTG 测试的完整链路。MASTG 覆盖的范围平台范围Android 与 iOS整本指南聚焦于运行在智能手机上的 Android 与 iOS 应用。这两个平台目前主导市场且同样运行在其他设备类别上包括平板、智能手表、智能电视、车载信息娱乐单元以及其他嵌入式系统。虽然这些额外设备类别不在主要范围内但针对目标设备稍作调整后你仍可应用本指南中的大部分知识与测试技术。应用类型以原生应用为核心考虑到移动应用框架数量庞大指南不可能穷尽覆盖所有框架因此聚焦于各操作系统上的原生应用。但同样的技术在处理 Web 应用或混合应用Hybrid Apps时同样有用——因为无论底层框架是什么每个应用最终都建立在原生组件之上。仓库中的 Mobile Application Taxonomy移动应用分类 一章进一步区分了原生应用、跨平台框架应用如 .NET MAUI、Flutter、React Native、Unity、Web 应用、混合应用与 PWA并强调识别应用使用的技术栈有助于完整覆盖攻击面。如何浏览 MASTG三大章节结构MASTG 包含 MASVS 中所有需求的描述主体由以下三个主要部分构成通用测试指南General Testing Guide入口为 Mobile Application Taxonomy包含移动应用安全测试方法论以及适用于移动应用安全的通用漏洞分析技术还包含与操作系统无关的附加技术测试用例例如认证与会话管理、网络通信、密码学等。对应仓库中tests/下的通用测试用例以及 Document/SUMMARY.md 中General Mobile App Testing Guide分组的各章。Android 测试指南Android Testing Guide入口为 Android Platform Overview涵盖 Android 平台上的移动安全测试包括安全基础、安全测试用例、逆向工程技术及防护、篡改技术与防护。仓库中tests/android/、knowledge/android/、demos/android/、techniques/android/目录即按 MASVS 分类组织这些内容。iOS 测试指南iOS Testing Guide入口为 iOS Platform Overview涵盖 iOS 平台上的移动安全测试包括 iOS 操作系统概述、安全测试、逆向工程与防护、篡改与防护。对应仓库中tests/ios/、knowledge/ios/、demos/ios/、techniques/ios/目录。仓库内容按上述分类落地为可操作资产tests/与tests-beta/存放按平台与 MASVS 类别组织的测试用例如 tests/index.md、tests-beta/index.mdtechniques/收录具体测试技术如 techniques/index.md 中 Android/iOS/通用三类技术编号demos/为每个测试用例提供配套演示项目与脚本tools/则记录测试工具用法。这意味着在阅读完本文建立整体认知后你可以按平台 MASVS 类别直接索引到对应的测试用例与技术细节。安全人员应如何开展移动安全测试许多移动应用渗透测试人员拥有网络与 Web 应用渗透测试背景这种经验对移动应用测试非常有价值几乎每个移动应用都会与后端服务通信而这些服务同样容易遭受我们在桌面 Web 应用上熟知的攻击类型。但移动应用与传统 Web 应用有明显区别移动应用的攻击面更小因此在注入类攻击上的暴露面更少。相应地MASTG 将重点放在设备端与网络上的数据保护上以此提升移动应用的整体安全性。在此基础上仓库的 Mobile App Security Testing 一章给出了具体的测试方法论框架可归纳为测试类型黑盒测试零知识模拟真实攻击者、白盒测试拥有源码与文档测试更快更细、灰盒测试介于两者之间通常只提供凭据是行业中最常见的测试方式。指南强烈建议测试方申请源码访问以高效利用测试时间。分析手段静态分析SAST审查代码而不执行与动态分析DAST运行时检查并强调需结合手动代码审查规避自动扫描工具的误报。渗透测试阶段准备确定范围、协调客户、识别敏感数据、识别代码中的安全相关上下文→ 情报收集 → 应用映射 → 利用 → 报告。在准备阶段对照 MAS-L1 与 MAS-L2 配置文件与业务和技术干系人逐项过一遍是确定测试覆盖等级的有效方式。OWASP MASVS 概览移动应用安全的六大关键领域MASVS 将移动应用安全需求组织为六大领域MASTG 的测试用例也按这六大领域组织。以下逐一展开其核心关注点。MASVS-STORAGE数据存储与隐私标准基于一个原则保护敏感数据如用户凭据和隐私信息对移动安全至关重要。如果应用没有正确使用操作系统 API尤其是涉及本地存储或进程间通信IPC的 API就可能将敏感数据暴露给同一设备上运行的其他应用或无意中把数据泄漏到云存储、备份或键盘缓存中。移动设备更容易丢失或被盗攻击者因此可能获得设备的物理访问权使数据更容易被取回。基于这一威胁模型我们必须格外小心地保护移动应用中存储的用户数据。一些可行方案包括使用合适的密钥存储 API并在可用时利用硬件支持的hardware-backed安全特性。这里还涉及 Android 特有的碎片化问题并非每台 Android 设备都提供硬件支持的加密存储且许多设备运行着过时的 Android 版本。为了让应用在这些过时设备上运行开发者可能被迫使用较旧版本的 Android API而旧 API 可能缺少重要的安全特性。为了获得最大安全性最佳选择是使用当前 API 版本开发应用即便这意味着排除一部分用户。在仓库中该领域对应tests/android/MASVS-STORAGE/、tests/ios/MASVS-STORAGE/与tests-beta/下的存储测试用例例如检查应用是否正确使用了 KeyStore、是否将数据明文写入共享存储等场景可参考 tests/index.md 定位具体用例编号。MASVS-CRYPTO密码学密码学是保护存储在移动设备上数据的关键要素也是很容易出错、尤其是未遵循标准惯例时极易出错的领域。必须确保应用按照行业最佳实践使用密码学包括使用经过验证的密码学库、正确选择与配置密码学原语primitives以及在需要随机性的场合使用合适的随机数生成器。仓库中rules/目录下的一组 YAML 规则文件即为该领域的机器可读落地例如mastg-android-broken-encryption-algorithms.yaml、mastg-android-broken-encryption-modes.yaml、mastg-android-hardcoded-crypto-keys-usage.yml、mastg-android-key-generation-with-insufficient-key-length.yml、mastg-android-non-random-use.yml与mastg-android-random-apis-insufficient-entropy.yml分别覆盖弱算法、弱工作模式、硬编码密钥、密钥长度不足与随机性不足等典型弱点对应的密码学测试用例位于tests/android/MASVS-CRYPTO/、tests/ios/MASVS-CRYPTO/中。MASVS-AUTH认证与授权在大多数情况下让用户登录远程服务是整体移动应用架构中不可或缺的一部分。尽管大部分认证与授权逻辑发生在服务端endpoint移动应用侧也存在实现挑战与 Web 应用不同移动应用常存储长期会话令牌session tokens并使用用户与设备之间的认证特性如指纹扫描来解锁这些令牌。这虽然带来了更快的登录和更好的用户体验但也引入了额外的复杂性和出错空间。移动应用架构日益引入授权框架如 OAuth2将认证委托给独立服务或将认证流程外包给认证提供方。使用 OAuth2 允许将客户端认证逻辑外包给同一设备上的其他应用例如系统浏览器。因此安全测试人员必须了解不同授权框架与架构的优缺点。相关测试用例见tests/android/MASVS-AUTH/与tests/ios/MASVS-AUTH/仓库还提供了配套演示项目例如demos/android/MASVS-AUTH/下针对认证相关场景的 Demo 与脚本。MASVS-NETWORK网络通信移动设备经常连接到各种网络包括与可能恶意的其他客户端共享的公共 Wi-Fi 网络这为多种网络攻击创造了机会——从简单到复杂、从古老到新颖。因此保持移动应用与远程服务端点之间交换信息的机密性与完整性至关重要。作为基本要求移动应用必须使用配置恰当的 TLS 协议建立安全、加密的通信信道。仓库中对应网络通信测试用例位于tests/android/MASVS-NETWORK/、tests/ios/MASVS-NETWORK/与tests-beta/相应目录rules/下的mastg-android-network-insecure-trust-anchors.yml、mastg-android-network-hostname-verification.yml、mastg-android-network-checkservertrusted.yml、mastg-android-network-onreceivedsslerror.yml等规则则覆盖了不安全的信任锚、主机名验证缺失等典型问题。MASVS-PLATFORM与移动平台的交互移动操作系统架构与传统桌面架构有重要差异所有移动操作系统都实现了应用权限系统来规范对特定 API 的访问它们还提供丰富程度不同的进程间通信IPC设施Android 较丰富iOS 相对有限使应用之间能够交换信号与数据。这些平台特有功能自带一系列陷阱——例如如果 IPC API 被误用敏感数据或功能可能无意中暴露给设备上运行的其他应用。仓库中平台交互相关测试用例分布在tests/android/MASVS-PLATFORM/、tests/ios/MASVS-PLATFORM/与tests-beta/中rules/下如mastg-android-content-provider-exported.ymlContent Provider 导出、mastg-android-implicit-intent-internal-communication.yml、mastg-android-implicit-intent-leaking-extras.yml隐式 Intent 内部通信与数据泄漏、mastg-android-webview-bridges.ymlWebView 桥接、mastg-android-custom-deeplink-scheme.yml自定义 Deep Link等规则将这些平台特性对应的弱点形式化。MASVS-CODE代码质量与漏洞缓解传统的注入与内存管理问题在移动应用中并不常见因为移动应用攻击面更小。移动应用大多与可信的后端服务及 UI 交互因此即使应用存在大量缓冲区溢出漏洞这些漏洞通常也打不开有用的攻击向量。同理适用于 Web 应用中非常普遍的浏览器漏洞如 XSS——跨站脚本允许攻击者向网页注入脚本。当然总有例外XSS 在移动端某些情况下理论上可行但能被利用的 XSS 问题非常罕见。但这并不意味着开发者可以借此写出草率的代码。遵循安全最佳实践才能产出加固的secure发布构建使其具备抗篡改能力。编译器与移动 SDK 提供的免费安全特性有助于提升安全性并缓解攻击。仓库中对应测试用例位于tests/android/MASVS-CODE/、tests/ios/MASVS-CODE/与tests-beta/例如检查应用是否启用了调试标志mastg-android-debuggable-flag.yml、是否启用 StrictModemastg-android-strictmode.yml等。MASVS-RESILIENCE防篡改与防逆向软件防护控制在移动应用世界中广泛使用因此安全测试人员需要应对这些防护的方法。MASTG 的态度是只要防护措施有明确目的和现实预期且不被用来替代真正的安全控制客户端防护就有其价值。这即是防篡改与防逆向领域MASVS-RESILIENCE存在的原因。仓库为这一领域提供了丰富的实操资源测试用例见tests/android/MASVS-RESILIENCE/、tests/ios/MASVS-RESILIENCE/与tests-beta/对应目录逆向工程与篡改技术见techniques/android/如反调试、反篡改相关的 MASTG-TECH 条目与techniques/ios/仓库还提供了一套Crackmes破解挑战应用见 Crackmes/README.md包括 Android 的 Level_01 至 Level_04、License_01以及 iOS 的 UnCrackable-Level1/Level2供测试人员在实际环境中练习绕过防护的技术rules/下则有mastg-android-root-detection.yamlRoot 检测、mastg-android-debugger-checks.yml、mastg-android-native-debugger-checks.yml等可自动化检查的规则。从概览到实践仓库资源导航读完本概览后你可以按如下路径在仓库中继续深入阅读各平台与领域章节Document/SUMMARY.md 给出了完整的目录树从通用测试指南到 Android/iOS 测试指南一应俱全按平台与 MASVS 类别索引测试用例tests/正式用例见 tests/index.md与tests-beta/实验性用例学习具体技术techniques/见 techniques/index.md动手实践demos/下每个 Demo 都配有源码片段与执行脚本如demos/android/、demos/ios/demos/index.md 可作索引查找工具用法tools/index.md 收录了 Android、iOS、通用与网络各分类下的工具条目获取每个 MASVS 类别的知识要点knowledge/index.md。总而言之OWASP MASTG 的价值在于把 MASVS 的抽象安全需求转化为可执行、可验证的测试体系先用 MASVS 明确要保护什么、安全等级是什么再用 MASTG 的三大章节、按六大领域组织的测试用例与配套工具资源回答如何验证。从本文出发你已经握住了打开这套体系整体脉络的钥匙。赞分享文档教程网络安全【免费下载链接】mastgThe OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security Weakness Enumeration (MASWE) weaknesses, which are in alignment with the OWASP MASVS.项目地址https://gitcode.com/gh_mirrors/ow/mastg点击查看免费下载相关推荐OWASP移动应用安全测试指南MASTG教程OWASP移动应用安全测试指南MASTG教程 项目介绍 OWASP移动应用安全测试指南MASTG是一个全面的移动应用安全测试和逆向工程手册。它详细描述了文档教程网络安全OWASP移动应用安全测试指南MASTG——打造安全的移动世界OWASP移动应用安全测试指南MASTG——打造安全的移动世界 在数字化时代移动应用程序已经成为我们日常生活和商业运营不可或缺的一部分。然而随着其普及度文档教程网络安全CANN FmodScalarFmodTensor算子开发FmodScalarFmodTensor算子开发任务书 基础信息 技术标签 算子开发 适配硬件 Atlas A2 训练系列产品/Atlas A3 系列产品CANN文档高性能计算创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表