Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 27034-5 定义了实现应用安全管理中不同工具和系统之间互操作性的协议和应用安全控制数据结构。第一部分到第三部分关注应用安全的概念、组织和流程方面,而第五部分则涉及技术互操作层——允许 ASC 信息在开发工具、安全测试平台、治理系统和审计工具之间交换的数据格式、通信协议和 API 规范。该标准对于寻求自动化应用安全工作流并将安全工具集成到 DevOps 管道中的组织至关重要。
ISO/IEC 27034-5 规定了应用安全控制数据(ASCD)模型:一种可被不同软件系统序列化、传输和解释的 ASC 信息结构化数据表示。ASCD 模型为 ASC 规范定义了正式的模式,包括安全需求、控制描述、实施指导、验证标准和验证证据。这些模式被设计为技术中立的,支持 XML、JSON 和其他序列化格式。标准还定义了 ASCD 交换必须伴随的元数据,包括版本标识、作者信息、审批状态和生效日期。
标准针对不同用例规定了多种协议配置文件。离线交换配置文件支持基于文件的交换(XML 或 JSON 文件)在系统间批量传输 ASC 库。实时查询配置文件通过 RESTful API 调用支持按需检索 ASC 规范。事件驱动配置文件支持发布-订阅模式,当发生变化时 ASC 更新被推送到订阅系统。每个配置文件包括详细的消息格式、错误处理过程以及交换本身的安全考量,包括 ASC 数据在传输中的认证、完整性保护和保密性要求。
| 交换配置文件 | 用例 | 协议 | 时序 | 安全要求 |
|---|---|---|---|---|
| 离线交换 | 在隔离环境间批量传输ASC库 | 基于文件(XML/JSON)带数字签名 | 定期(每日/每周) | 数字签名保证完整性,加密保证保密性 |
| 实时查询 | CI/CD管道请求特定应用的ASC | 基于HTTPS的RESTful API | 按需(每次构建/部署) | 双向TLS认证、OAuth 2.0授权 |
| 事件驱动 | ASC库更新触发受影响应用的重新验证 | 带webhook的发布/订阅消息队列 | 事件触发(实时) | 消息签名、重放保护、访问控制 |
| 流式传输 | 来自安全测试工具的连续验证结果 | gRPC或WebSocket流 | 持续(实时) | 端到端加密、速率限制、消息排序 |
ASCD 模型定义了四种主要数据对象类型。ASCSpecification 对象包含 ASC 的完整规范,包括其标识符、版本、描述、适用上下文、安全需求、控制描述以及相关组织策略的引用。ASCVerificationPlan 对象定义验证方法,包括验证方式(评审、分析、测试)、要使用的工具、验收标准和负责角色。ASCVerificationResult 对象捕获验证活动的结果,包括通过/失败状态、证据引用、发现描述和修复建议。ASCDeploymentContext 对象描述 ASC 适用的具体应用和环境,实现了 ASC 规范与其部署实例之间的可追溯性。
标准为每个数据对象定义了一组全面的属性。例如,ASCSpecification 包括 ascID(全局唯一标识符)、versionNumber、status(草案、已批准、已弃用)、effectiveDate、expiryDate、relatedOASC(对于可追溯到 O-ASC 的 A-ASC)和 securityControls(带有实施指导的结构化控制列表)等强制性属性。可选属性包括 applicableFrameworks(如 NIST CSF、OWASP ASVS)、regulatoryReferences 和 threatModelReferences。这种丰富的数据模型支持对组织内 ASC 组合进行复杂的查询和分析。
从工程实施的角度来看,ISO/IEC 27034-5 为构建集成的应用安全工具链提供了蓝图。标准认识到现代开发环境使用多样化的工具集——静态分析、动态分析、软件组成分析、容器扫描、基础设施即代码安全和运行时保护——而有效的应用安全管理需要这些工具协同工作。ASCD 模型提供了一种通用语言,使不同的工具能够共享安全需求和验证结果。
标准还涉及 CI/CD 管道中 ASC 验证的自动化。它定义了如何将 ASCVerificationPlan 对象转换为管道阶段定义,如何由管道编排工具消费 ASCVerificationResult 对象以做出发布决策,以及在应用部署到不同环境时如何自动更新 ASCDeploymentContext 对象。这种集成水平将应用安全从手动评审过程转变为软件交付生命周期中的自动化质量关卡。标准提供了与常见 CI/CD 平台集成的具体指导,包括 Jenkins、GitLab CI、GitHub Actions 和 Azure DevOps。