MASTG 测试

关于 MASTG 测试

MASTG “原子测试” 是 MAS 项目的新增内容。它们是可以用来评估移动应用程序的安全性和隐私性的一小组独立测试的集合。每个测试都设计得简单,并侧重于单个问题。目标是使开发人员和安全专业人员更容易识别和修复其移动应用程序中的问题。

测试根据 OWASP MASVS 组织成类别,并从 OWASP MASWE 分配了弱点。

每个测试包括

  • 概述:测试的简要说明。
  • 步骤:用于识别移动应用程序中的弱点的一组步骤。
  • 观察:针对应用程序运行测试的结果的描述。
  • 评估:用于评估测试结果的特定说明。

每个测试都附带一组演示,这些演示演示了示例应用程序中的弱点。这些演示是用 Markdown 编写的,位于 MASTG 的 演示 部分。

ID 标题 平台 L1 L2 R P 状态
MASTG-TEST-0049 测试模拟器检测 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0227 针对 WebViews 启用的调试 platform:android profile:R newstatus:new
MASTG-TEST-0264 StrictMode API 的运行时使用 platform:android profile:R newstatus:new
MASTG-TEST-0226 AndroidManifest 中启用的可调试标志 platform:android profile:R newstatus:new
MASTG-TEST-0224 不安全签名版本的使用 platform:android profile:R newstatus:new
MASTG-TEST-0263 StrictMode 违规的日志记录 platform:android profile:R newstatus:new
MASTG-TEST-0040 测试调试符号 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0039 测试应用程序是否可调试 platform:android profile:R deprecatedstatus:deprecated
MASTG-TEST-0265 引用 StrictMode API platform:android profile:R newstatus:new
MASTG-TEST-0045 测试 Root 检测 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0048 测试逆向工程工具检测 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0051 测试代码混淆 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0041 测试调试代码和详细错误日志记录 platform:android profile:R deprecatedstatus:deprecated
MASTG-TEST-0046 测试反调试检测 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0249 安全屏幕锁定检测 API 的运行时使用 platform:android profile:L2 newstatus:new
MASTG-TEST-0050 测试运行时完整性检查 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0247 引用用于检测安全屏幕锁定的 API platform:android profile:L2 newstatus:new
MASTG-TEST-0038 确保应用程序已正确签名 platform:android profile:R deprecatedstatus:deprecated
MASTG-TEST-0047 测试文件完整性检查 platform:android profile:R update-pendingstatus:update-pending
MASTG-TEST-0225 不安全签名密钥大小的使用 platform:android profile:R newstatus:new
MASTG-TEST-0255 未最小化的权限请求 platform:android profile:P placeholderstatus:placeholder
MASTG-TEST-0257 未重置未使用的权限 platform:android profile:P placeholderstatus:placeholder
MASTG-TEST-0256 缺少权限理由 platform:android profile:P placeholderstatus:placeholder
MASTG-TEST-0254 危险的应用程序权限 platform:android profile:P newstatus:new
MASTG-TEST-0206 网络流量捕获中的敏感数据 platform:android profile:P newstatus:new
MASTG-TEST-0034 测试对象持久性 platform:android profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0042 检查第三方库中的弱点 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0026 测试隐式 Intent platform:android profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0036 测试强制更新 platform:android profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0223 未启用堆栈金丝雀 platform:android profile:L2 newstatus:new
MASTG-TEST-0002 测试本地存储以进行输入验证 platform:android profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0222 未启用位置无关代码 (PIC) platform:android profile:L2 newstatus:new
MASTG-TEST-0272 识别 Android 项目中具有已知漏洞的依赖项 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0274 应用 SBOM 中具有已知漏洞的依赖项 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0027 测试 WebViews 中的 URL 加载 platform:android profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0245 引用平台版本 API platform:android profile:L2 newstatus:new
MASTG-TEST-0044 确保免费安全功能已激活 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0025 注入缺陷测试 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0043 内存损坏漏洞 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0022 测试自定义证书存储和证书固定 platform:android profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0238 运行时使用网络 API 传输明文流量 platform:android profile:L1 profile:L2 占位符状态:占位符
MASTG-TEST-0019 测试网络上的数据加密 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0244 网络流量中缺少证书固定 平台:网络 profile:L2 newstatus:new
MASTG-TEST-0286 允许信任用户提供的 CA 的网络安全配置 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0242 网络安全配置中缺少证书固定 platform:android profile:L2 newstatus:new
MASTG-TEST-0283 服务器主机名验证的错误实现 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0234 使用 Sockets 时缺少服务器主机名验证的实现 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0020 测试 TLS 设置 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0023 测试安全提供程序 platform:android profile:L2 更新待定状态:更新待定
MASTG-TEST-0236 在网络上观察到的明文流量 平台:网络 profile:L1 profile:L2 newstatus:new
MASTG-TEST-0021 测试端点身份验证 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0243 网络安全配置中的过期证书固定 platform:android profile:L2 newstatus:new
MASTG-TEST-0285 过时的 Android 版本允许信任用户提供的 CA platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0233 硬编码的 HTTP URL platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0282 不安全的自定义信任评估 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0237 允许明文流量的跨平台框架配置 platform:android profile:L1 profile:L2 占位符状态:占位符
MASTG-TEST-0218 网络流量中不安全的 TLS 协议 平台:网络 profile:L1 profile:L2 newstatus:new
MASTG-TEST-0284 WebViews 中不正确的 SSL 错误处理 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0217 代码中明确允许的不安全的 TLS 协议 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0239 使用底层 API(例如 Socket)来设置自定义 HTTP 连接 platform:android profile:L1 profile:L2 占位符状态:占位符
MASTG-TEST-0235 允许明文流量的 Android 应用配置 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0251 在 WebViews 中运行时使用内容提供程序访问 API platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0253 在 WebViews 中运行时使用本地文件访问 API platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0252 在 WebViews 中引用本地文件访问 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0010 在自动生成的屏幕截图中查找敏感信息 platform:android profile:L2 更新待定状态:更新待定
MASTG-TEST-0008 检查是否通过用户界面泄露敏感数据 platform:android profile:L2 更新待定状态:更新待定
MASTG-TEST-0028 测试深层链接 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0033 测试通过 WebViews 公开的 Java 对象 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0032 测试 WebView 协议处理程序 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0024 测试应用权限 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0037 测试 WebViews 清理 platform:android profile:L2 更新待定状态:更新待定
MASTG-TEST-0250 在 WebViews 中引用内容提供程序访问 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0007 确定是否已通过 IPC 机制泄露敏感存储数据 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0030 测试 PendingIntent 的漏洞实现 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0029 测试通过 IPC 暴露的敏感功能 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0035 测试覆盖攻击 platform:android profile:L2 更新待定状态:更新待定
MASTG-TEST-0031 测试 WebViews 中的 JavaScript 执行 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0258 引用 UI 元素中的键盘缓存属性 platform:android profile:L2 newstatus:new
MASTG-TEST-0216 未从备份中排除的敏感数据 platform:android profile:L1 profile:L2 profile:P newstatus:new
MASTG-TEST-0231 引用日志记录 API platform:android profile:L1 profile:L2 profile:P newstatus:new
MASTG-TEST-0001 测试本地存储中的敏感数据 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0003 测试日志中的敏感数据 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0005 确定是否通过通知与第三方共享敏感数据 platform:android profile:L1 profile:L2 更新待定状态:更新待定
MASTG-TEST-0012 测试设备访问安全策略 platform:android profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0009 测试备份中的敏感数据 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0201 运行时使用 API 访问外部存储 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0004 确定是否通过嵌入式服务与第三方共享敏感数据 platform:android profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0207 运行时存储在应用程序沙盒中的数据 platform:android profile:L2 newstatus:new
MASTG-TEST-0262 未排除敏感数据的备份配置引用 platform:android profile:L1 profile:L2 profile:P newstatus:new
MASTG-TEST-0200 写入外部存储的文件 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0203 运行时使用日志记录 API platform:android profile:L1 profile:L2 profile:P newstatus:new
MASTG-TEST-0006 确定是否为文本输入字段禁用键盘缓存 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0011 测试内存中的敏感数据 platform:android profile:L2 更新待定status:update-pending
MASTG-TEST-0202 访问外部存储的 API 和权限引用 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0018 测试生物特征认证 platform:android profile:L2 更新待定status:update-pending
MASTG-TEST-0017 测试确认凭据 platform:android profile:L2 更新待定status:update-pending
MASTG-TEST-0016 测试随机数生成 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0212 在代码中使用硬编码的加密密钥 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0014 测试加密标准算法的配置 platform:android profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0204 不安全的随机 API 用法 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0013 测试对称密码 platform:android profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0208 密钥大小不足 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0205 非随机源的使用 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0221 损坏的对称加密算法 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0015 测试密钥的用途 platform:android profile:L2 更新待定status:update-pending
MASTG-TEST-0232 损坏的对称加密模式 platform:android profile:L1 profile:L2 newstatus:new
MASTG-TEST-0089 测试反调试检测 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0219 测试调试符号 platform:ios profile:R newstatus:new
MASTG-TEST-0092 测试模拟器检测 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0241 运行时使用越狱检测技术 platform:ios profile:R newstatus:new
MASTG-TEST-0240 代码中的越狱检测 platform:ios profile:R newstatus:new
MASTG-TEST-0248 引用用于检测安全屏幕锁定的 API platform:ios profile:L2 newstatus:new
MASTG-TEST-0246 安全屏幕锁定检测 API 的运行时使用 platform:ios profile:L2 newstatus:new
MASTG-TEST-0093 测试代码混淆 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0261 entitlements.plist 中启用了可调试授权 platform:ios profile:R newstatus:new
MASTG-TEST-0084 测试调试代码和详细错误日志记录 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0082 测试应用程序是否可调试 platform:ios profile:R deprecatedstatus:deprecated
MASTG-TEST-0083 测试调试符号 platform:ios profile:R deprecatedstatus:deprecated
MASTG-TEST-0091 测试逆向工程工具检测 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0090 测试文件完整性检查 platform:ios profile:R 更新待定status:update-pending
MASTG-TEST-0220 使用过时的代码签名格式 platform:ios profile:R newstatus:new
MASTG-TEST-0088 测试越狱检测 platform:ios profile:R deprecatedstatus:deprecated
MASTG-TEST-0081 确保应用程序已正确签名 platform:ios profile:R deprecatedstatus:deprecated
MASTG-TEST-0281 未声明的已知跟踪域 platform:ios profile:P newstatus:new
MASTG-TEST-0080 测试强制更新 platform:ios profile:L2 更新待定status:update-pending
MASTG-TEST-0085 检查第三方库中的弱点 platform:ios profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0275 应用 SBOM 中具有已知漏洞的依赖项 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0273 通过扫描依赖项管理器工件识别具有已知漏洞的依赖项 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0086 内存损坏漏洞 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0230 未启用自动引用计数 (ARC) platform:ios profile:L2 newstatus:new
MASTG-TEST-0087 确保免费安全功能已激活 platform:ios profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0229 未启用堆栈金丝雀 platform:ios profile:L2 newstatus:new
MASTG-TEST-0228 未启用位置无关代码 (PIC) platform:ios profile:L2 newstatus:new
MASTG-TEST-0079 测试对象持久性 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0068 测试自定义证书存储和证书固定 platform:ios profile:L2 更新待定status:update-pending
MASTG-TEST-0065 测试网络上的数据加密 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0066 测试 TLS 设置 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0067 测试端点身份验证 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0280 剪贴板内容不限于本地设备 platform:ios profile:L2 newstatus:new
MASTG-TEST-0277 运行时 iOS 常规剪贴板中的敏感数据 platform:ios profile:L2 newstatus:new
MASTG-TEST-0076 测试 iOS WebViews platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0278 使用后未清除剪贴板内容 platform:ios profile:L2 newstatus:new
MASTG-TEST-0279 剪贴板内容未过期 platform:ios profile:L2 newstatus:new
MASTG-TEST-0077 测试 WebView 协议处理程序 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0072 测试应用程序扩展 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0057 检查是否通过用户界面泄露敏感数据 platform:ios profile:L2 更新待定status:update-pending
MASTG-TEST-0071 测试 UIActivity 共享 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0070 测试通用链接 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0069 测试应用程序权限 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0078 确定是否通过 WebViews 公开本机方法 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0073 测试 UIPasteboard platform:ios profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0056 确定是否通过 IPC 机制泄露敏感数据 platform:ios profile:L1 profile:L2 更新待定status:update-pending
MASTG-TEST-0276 使用 iOS 通用剪贴板 platform:ios profile:L2 newstatus:new
MASTG-TEST-0059 测试自动生成的屏幕截图中的敏感信息 platform:ios profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0075 测试自定义 URL 协议 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0054 确定敏感数据是否与第三方共享 platform:ios profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0052 测试本地数据存储 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0055 查找键盘缓存中的敏感数据 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0060 测试内存中的敏感数据 platform:ios profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0053 检查日志中的敏感数据 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0215 未从备份中排除的敏感数据 platform:ios profile:L1 profile:L2 profile:P newstatus:new
MASTG-TEST-0058 测试备份中的敏感数据 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0064 测试生物特征认证 platform:ios profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0266 引用用于事件绑定生物识别身份验证的 API platform:ios profile:L2 newstatus:new
MASTG-TEST-0267 事件绑定生物识别身份验证的运行时使用 platform:ios profile:L2 newstatus:new
MASTG-TEST-0268 引用允许回退到非生物识别身份验证的 API platform:ios profile:L2 newstatus:new
MASTG-TEST-0271 检测生物识别注册更改的 API 的运行时使用 platform:ios profile:L2 newstatus:new
MASTG-TEST-0269 允许回退到非生物识别身份验证的 API 的运行时使用 platform:ios profile:L2 newstatus:new
MASTG-TEST-0270 引用检测生物识别注册更改的 API platform:ios profile:L2 newstatus:new
MASTG-TEST-0211 损坏的哈希算法 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0062 测试密钥管理 platform:ios profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0214 文件中硬编码的加密密钥 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0061 验证加密标准算法的配置 platform:ios profile:L1 profile:L2 deprecatedstatus:deprecated
MASTG-TEST-0209 密钥大小不足 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0210 损坏的对称加密算法 platform:ios profile:L1 profile:L2 newstatus:new
MASTG-TEST-0063 测试随机数生成 platform:ios profile:L1 profile:L2 update-pendingstatus:update-pending
MASTG-TEST-0213 在代码中使用硬编码的加密密钥 platform:ios profile:L1 profile:L2 newstatus:new