CISO助手
完成度
0%(0/286)
评估报告
OWAS

OWASP 应用程序安全验证标准 4.0.3

控制项模式

应用安全验证标准是一份应用安全需求或测试清单,可供架构师、开发人员、测试人员、安全专家、工具供应商和用户用来定义、构建、测试和验证安全应用程序。

版本: 4.0.3覆盖状态: 完整覆盖 (286/286)控制项/量表/总计: 286/0/286当前展示: 42 / 28614 个分类
V1.1.1验证使用安全的软件开发生命周期,在开发的所有阶段都考虑安全性控制项
Architecture / 安全软件开发生命周期

验证使用安全的软件开发生命周期,在开发的所有阶段都考虑到安全性。(C1)

评估
评估状态:
评估备注:
V1.1.2验证在每次设计变更或迭代计划中使用威胁建模,以识别威胁、制定应对措施、促进适当的风险响应,并指导安全测试控制项
Architecture / 安全软件开发生命周期

验证在每次设计变更或冲刺计划中使用威胁建模,以识别威胁、制定应对措施、促进适当的风险响应,并指导安全测试。

评估
评估状态:
评估备注:
V1.1.3所有用户故事和功能都包含功能性安全约束,例如“作为用户,我应该能够查看和编辑我的个人资料”控制项
Architecture / 安全软件开发生命周期

确保所有用户故事和功能都包含功能性安全约束,例如“作为用户,我应该能够查看和编辑我的个人资料,但我不应该能够查看或编辑其他人的个人资料”

评估
评估状态:
评估备注:
V1.1.4验证所有应用程序的信任边界、组件和重要数据流的文档和理由控制项
Architecture / 安全软件开发生命周期

验证所有应用程序的信任边界、组件和重要数据流的文档和理由。

评估
评估状态:
评估备注:
V1.1.5验证应用程序高层架构及所有连接的远程服务的定义和安全性分析控制项
Architecture / 安全软件开发生命周期

验证应用程序高层架构及所有连接的远程服务的定义和安全分析。(C1)

评估
评估状态:
评估备注:
V1.1.6验证集中、简洁(设计经济)、经过审核、安全且可重复使用的安全控制的实施,以避免重复、缺失、无效或不安全的控制控制项
Architecture / 安全软件开发生命周期

验证集中化、简洁(设计经济)、经过审查、可靠且可重复使用的安全控制的实施,以避免重复、遗漏、无效或不安全的控制。(C10)

评估
评估状态:
评估备注:
V1.1.7向所有开发人员和测试人员验证安全编码清单、安全要求、指南或政策的可用性控制项
Architecture / 安全软件开发生命周期

向所有开发人员和测试人员确认安全编码清单、安全需求、指南或政策的可用性。

评估
评估状态:
评估备注:
V1.2.1验证所有应用组件、服务和服务器是否使用唯一的或特殊的低权限操作系统账户控制项
Architecture / 认证架构

验证所有应用程序组件、服务和服务器是否使用唯一或特殊的低权限操作系统帐户。(C3)

评估
评估状态:
评估备注:
V1.2.2应用程序组件之间的通信,包括 API、中间件和数据层,都是经过身份验证的控制项
Architecture / 认证架构

验证应用程序组件之间的通信,包括 API、中间件和数据层,是否经过身份验证。组件应具有所需的最低权限。(C3)

评估
评估状态:
评估备注:
V1.2.3该应用程序使用一种经过审核的、已知安全的身份验证机制,可以扩展以包括强身份验证,并具备足够的日志记录和监控功能,以检测帐户滥用或安全漏洞。控制项
Architecture / 认证架构

确保该应用程序使用已验证的、安全的单一身份验证机制,该机制可以扩展以包含强身份验证,并且具有足够的日志记录和监控功能以检测账户滥用或泄露。

评估
评估状态:
评估备注:
V1.2.4所有认证路径和身份管理 API 都实现了一致的认证安全控制强度,以确保没有根据应用程序风险存在更弱的替代方案控制项
Architecture / 认证架构

验证所有身份验证途径和身份管理 API 是否实施了一致的身份验证安全控制强度,以确保根据应用程序的风险不存在较弱的替代方案。

评估
评估状态:
评估备注:
V1.4.1受信任的执行点,例如访问控制网关、服务器和无服务器功能,执行访问控制控制项
Architecture / 访问控制架构

验证受信的执行点(例如访问控制网关、服务器和无服务器函数)是否执行访问控制。切勿在客户端执行访问控制。

评估
评估状态:
评估备注:
V1.4.2[已删除,不可执行]控制项
Architecture / 访问控制架构

[已删除,不可执行]

评估
评估状态:
评估备注:
V1.4.3[已删除,重复于4]控制项
Architecture / 访问控制架构

[已删除,重复 4.1.3]

评估
评估状态:
评估备注:
V1.4.4验证应用程序是否使用单一且经过充分验证的访问控制机制来访问受保护的数据和资源控制项
Architecture / 访问控制架构

验证应用程序是否使用单一且经过充分审核的访问控制机制来访问受保护的数据和资源。所有请求都必须通过这一单一机制,以避免复制粘贴或不安全的替代路径。(C7)

评估
评估状态:
评估备注:
V1.4.5使用基于属性或特征的访问控制,即代码检查用户对某个功能/数据项的授权,而不仅仅是他们的角色控制项
Architecture / 访问控制架构

验证是否使用基于属性或特性的访问控制,即代码检查用户对某个功能/数据项的授权,而不仅仅是他们的角色。权限仍应通过角色分配。 (C7)

评估
评估状态:
评估备注:
V1.5.1输入和输出要求明确定义了如何根据数据类型、内容以及适用的法律、法规和其他政策合规性来处理数据控制项
Architecture / 输入输出架构

确认输入和输出要求清楚地定义了如何根据类型、内容以及适用的法律、法规和其他政策遵从性来处理和处理数据。

评估
评估状态:
评估备注:
V1.5.2在与不受信任的客户端通信时不使用序列化控制项
Architecture / 输入输出架构

在与不受信任的客户端通信时,确保不使用序列化。如果无法避免使用,请确保执行足够的完整性控制(如果传输敏感数据,可能还需要加密)以防止反序列化攻击,包括对象注入。

评估
评估状态:
评估备注:
V1.5.3在受信任的服务层上执行输入验证控制项
Architecture / 输入输出架构

验证在受信任的服务层上是否执行了输入验证。(C5)

评估
评估状态:
评估备注:
V1.5.4输出编码发生在接近目标解释器或由其进行控制项
Architecture / 输入输出架构

验证输出编码是否在接近或由其预期的解释器处进行。(C4)

评估
评估状态:
评估备注:
V1.6.1有明确的加密密钥管理政策,并且加密密钥的生命周期遵循如 NIST SP 800-57 等密钥管理标准控制项
Architecture / 加密架构

验证是否存在用于加密密钥管理的明确政策,并且加密密钥的生命周期是否遵循诸如 NIST SP 800-57 等密钥管理标准。

评估
评估状态:
评估备注:
V1.6.2加密服务的使用者通过使用密钥库或基于 API 的替代方案来保护密钥材料和其他机密信息控制项
Architecture / 加密架构

验证加密服务的使用者是否通过使用密钥库或基于 API 的替代方案来保护密钥材料和其他机密信息。

评估
评估状态:
评估备注:
V1.6.3所有密钥和密码都是可替换的,并且是重新加密敏感数据的明确定义流程的一部分控制项
Architecture / 加密架构

验证所有密钥和密码是否可替换,并且是否属于重新加密敏感数据的明确定义的流程的一部分。

评估
评估状态:
评估备注:
V1.6.4该架构将客户端秘密(如对称密钥、密码或 API 令牌)视为不安全,并且从不使用它们来保护或访问敏感数据控制项
Architecture / 加密架构

验证架构是否将客户端机密(如对称密钥、密码或 API 令牌)视为不安全,并且从不使用它们来保护或访问敏感数据。

评估
评估状态:
评估备注:
V1.7.1整个系统采用了通用的日志格式和方法控制项
Architecture / 错误、日志记录与审计架构

确认系统中使用的是统一的日志记录格式和方法。(C9)

评估
评估状态:
评估备注:
V1.7.2日志被安全地传输到优选的远程系统,以进行分析、检测、警报和升级处理控制项
Architecture / 错误、日志记录与审计架构

验证日志是否安全地传输到优选的远程系统以进行分析、检测、警报和升级。(C9)

评估
评估状态:
评估备注:
V1.8.1所有敏感数据都已被识别并分类为不同的保护级别控制项
Architecture / 数据保护与隐私架构

确认所有敏感数据已被识别并分类到相应的保护等级。

评估
评估状态:
评估备注:
V1.8.2所有保护级别都有一套相关的保护要求,例如加密要求、完整性要求、保留、隐私和其他保密要求,并且这些要求在架构中得到应用控制项
Architecture / 数据保护与隐私架构

确保所有保护级别都有相应的保护要求集合,例如加密要求、完整性要求、保留、隐私和其他机密性要求,并且这些要求已在架构中应用。

评估
评估状态:
评估备注:
V1.9.1验证应用程序是否加密组件之间的通信,尤其是在这些组件位于不同容器、系统、站点或云提供商时控制项
Architecture / 通信架构

验证应用程序是否对组件之间的通信进行加密,尤其是当这些组件位于不同的容器、系统、站点或云服务提供商时。(C3)

评估
评估状态:
评估备注:
V1.9.2应用程序组件验证通信链路中每一方的真实性,以防止中间人攻击控制项
Architecture / 通信架构

验证应用程序组件是否能够验证通信链路中各方的真实性,以防止中间人攻击。例如,应用程序组件应验证 TLS 证书及其链。

评估
评估状态:
评估备注:
V1.10.1正在使用源代码控制系统,并且有相应的程序确保提交时附有相关的问题或变更票据控制项
Architecture / 恶意软件架构

确认使用了源代码控制系统,并且有程序确保提交代码时附带问题或变更单。源代码控制系统应具有访问控制和可识别的用户,以便追踪任何更改。

评估
评估状态:
评估备注:
V1.11.1根据它们提供的业务或安全功能,验证所有应用组件的定义和文档控制项
Architecture / 业务逻辑架构

验证所有应用程序组件的定义和文档,确认其提供的业务或安全功能。

评估
评估状态:
评估备注:
V1.11.2所有高价值的业务逻辑流程,包括身份验证、会话管理和访问控制,均不共享未同步的状态控制项
Architecture / 业务逻辑架构

确保所有高价值业务逻辑流程,包括身份验证、会话管理和访问控制,不共享未同步的状态。

评估
评估状态:
评估备注:
V1.11.3所有高价值的业务逻辑流程,包括身份验证、会话管理和访问控制都是线程安全的,并且能够防止检查时间与使用时间的竞态条件控制项
Architecture / 业务逻辑架构

验证所有高价值的业务逻辑流程,包括身份验证、会话管理和访问控制,是否是线程安全的,并能抵抗检查时间与使用时间的竞争条件。

评估
评估状态:
评估备注:
V1.12.1[已删除,重复于12]控制项
Architecture / 安全文件上传架构

[已删除,重复 12.4.1]

评估
评估状态:
评估备注:
V1.12.2用户上传的文件——如果需要在应用程序中显示或下载——将通过八位字节流下载提供,或从不相关的域名提供,例如云文件存储桶控制项
Architecture / 安全文件上传架构

验证用户上传的文件——如果需要在应用程序中显示或下载——是否通过八位字节流下载提供,或者从无关的域(例如云文件存储桶)提供。实施合适的内容安全策略(CSP)以降低上传文件引发的 XSS 向量或其他攻击的风险。

评估
评估状态:
评估备注:
V1.14.1通过明确定义的安全控制、防火墙规则、API 网关、反向代理、基于云的安全组或类似机制,验证不同信任级别组件的隔离情况控制项
Architecture / 配置架构

通过明确的安全控制、防火墙规则、API 网关、反向代理、基于云的安全组或类似机制,验证不同信任级别组件的隔离情况。

评估
评估状态:
评估备注:
V1.14.2二进制签名、受信任的连接和经过验证的端点用于将二进制文件部署到远程设备控制项
Architecture / 配置架构

验证是否使用二进制签名、受信任的连接和已验证的端点来将二进制文件部署到远程设备。

评估
评估状态:
评估备注:
V1.14.3构建管道会警告过时或不安全的组件,并采取适当的措施控制项
Architecture / 配置架构

验证构建流水线是否会对过时或不安全的组件发出警告并采取适当的措施。

评估
评估状态:
评估备注:
V1.14.4构建流水线包含一个构建步骤,用于自动构建并验证应用程序的安全部署,特别是当应用程序基础设施是软件定义的,例如云环境构建脚本时控制项
Architecture / 配置架构

确认构建管道中包含一个构建步骤,以自动构建并验证应用程序的安全部署,尤其是在应用程序基础设施是软件定义的情况下,例如云环境的构建脚本。

评估
评估状态:
评估备注:
V1.14.5应用程序部署在网络级别上充分进行沙箱、容器化和/或隔离,以延迟并阻止攻击者攻击其他应用程序,特别是在执行敏感或危险操作(如反序列化)时控制项
Architecture / 配置架构

验证应用程序部署是否充分进行了沙箱化、容器化和/或网络级别隔离,以延迟并阻止攻击者攻击其他应用程序,尤其是在执行反序列化等敏感或危险操作时。(C5)

评估
评估状态:
评估备注:
V1.14.6验证应用程序不使用不受支持、不安全或已弃用的客户端技术,例如 NSAPI 插件、Flash、Shockwave、ActiveX、Silverlight、NACL 或客户端 Java applet控制项
Architecture / 配置架构

验证应用程序未使用不受支持、不安全或已弃用的客户端技术,例如 NSAPI 插件、Flash、Shockwave、ActiveX、Silverlight、NACL 或客户端 Java 小程序。

评估
评估状态:
评估备注: