©2023云安全联盟大中华区版权所有1 DeveSecOps工作组的官方网址是: https://cloudsecurityalliance.org/research/working-groups/devsecops/ @2023云安全联盟大中华区-保留所有权利。你可以在你的电脑上下载、储存、展示、查看及打印,或者访问云安全联盟大中华区官网(https://www.c-csa.cn)。须遵守以下:(a)本文只可作个人、信息获取、非商业用途;(b)本文内容不得篡改;(c)本文不得转发; (d)该商标、版权或其他声明不得删除。在遵循中华人民共和国著作权法相关条款情况下 合理使用本文内容,使用时请注明引用于云安全联盟大中华区。 ©2023云安全联盟大中华区版权所有2 ©2023云安全联盟大中华区版权所有3 致谢 《DevSecOps-支柱4建立合规与发展的桥梁(DevSecOps-Pillar4BridgingComplianceandDevelopment)》由CSA工作组专家编写,CSA大中华区秘书处组织翻译并审校。 中文版翻译专家组(排名不分先后): 组长:李岩翻译组: 车洵何国锋何伊圣贺志生黄鹏华江楠苏泰泉余晓光 审校组: 何国锋江楠李岩 研究协调员:卜宋博 感谢以下单位的支持与贡献: 中国电信股份有限公司研究院华为技术有限公司腾讯云计算(北京)有限责任公司 英文版本编写专家 主要作者: SouheilMoghnieTheodoreNiedzialkowskiSamSehgal 贡献者: MichaelRoza CSA分析师: SeanHeide 特别感谢: AnkurGargi RajHanda ManuelIfland JohnMartin KamranSadique CharanjeetSingh AltazValani 在此感谢以上专家。如译文有不妥当之处,敬请读者联系CSAGCR秘书处给予雅正!联系邮箱research@c-csa.cn;国际云安全联盟CSA公众号。 序言 DevSecOps是基于DevOps的安全敏捷化的一场变革,DevSecOps的出现也改变了安全解决方案及安全合规的新思维。CSA针对DevSecOps提出了六大支柱,分别为集体责任、培训和流程整合、实用的实施、建立合规与发展的桥梁、自动化、度量、监控、报告和行动等内容。 理想模式下DevSecOps世界中的合规意味着客户能够管理偏离安全基线的情况,并通过实时数据的自我修复功能。DevSecOps在实现速度和安全优先的同时,实现具有更加高效、更安全的持续交付。在DevOps名著《DevOpsHandBook》中就指出测量对DevOps实践合规性的重要性。 本白皮书以合规与发展为核心,提出在DevSecOps模式中的合规性目标是提高应用程序及环境的整体安全性,同时减少风险,以安全目标来验证持续交付。 DevSecOps也是CSA高级云安全专家课程(CSAACSE)的核心内容,DevSecOps是践行共享安全责任的文化表现,实现满足企业对监管或行业合规标准的管理要求。尤其是很多企业通过了ISO/IEC27001、CSAStar等认证。通过学习CSADevSecOps合规与发展,帮助企业提升数字化合规的能力,实现基于风险的安全合规的新方案。 李雨航YaleLiCSA大中华区主席兼研究院院长 目录 致谢3 序言6 前言8 1简介9 1.1目标10 1.2读者群体10 2评估11 2.1与云服务提供商的共担责任11 2.2即时评估和持续评估13 3心态15 3.1使用价值流映射的合规性15 3.2合规目标转化为安全措施18 4.工具22 4.1拥抱即代码as-Code模型22 4.2拥抱DevSecOps方法进行测试24 4.3追踪开源风险27 4.4安全护栏29 4.5模式和模板33 5.总结35 参考文献37 词汇表40 缩略语41 前言 云安全联盟和SAFECode都致力于提高软件安全成果。2019年8月发布的文章 《DevSecOps的六大支柱》1提供了一组高阶方法以及由其作者成功实施过的解决方案,以快速构建软件并将与安全相关的错误降至最低。这六大支柱是: 支柱1:集体责任(2020.02.20发布)2支柱2:培训和流程整合 支柱3:实用的实施 支柱4:建立合规与发展的桥梁(2022.02.03发布)支柱5:自动化(2022.07.06发布)3 支柱6:度量、监控、报告和行动 以支撑上述六大支柱的成功解决方案为主题,云安全联盟和SAFECode联合发布了一组更详细的出版物。本文是后续六份出版物中的第三篇。 1CloudSecurityAlliance.(2019,August7).SixPillarsofDevSecOps.https://cloudsecurityalliance.org/artifacts/six-pillars-of-devsecops/ 2CloudSecurityAlliance.(2021a,February21).TheSixPillarsofDevSecOps:CollectiveResponsibility.https://cloudsecurityalliance.org/artifacts/devsecops-collective-responsibility/ 3CloudSecurityAlliance.(2020b,July6).TheSixPillarsofDevSecOps:Automation.https://cloudsecurityalliance.org/artifacts/devsecops-automation/ 1简介 鉴于软件开发范式和实践的快速发展,整体安全合规活动与软件开发过程的结合已成为一项挑战。合规团队已经习惯于依靠流程和控制到位来证明(安全性)。然而,大多数认同DevOps观点的工程师认为证明应在代码中,而不在流程或文档内。 DevSecOps实践旨在结合合规性与开发,需要安全团队和软件开发人员之间的协作(集体责任4)努力。DevSecOps模式中的合规性目标是提高应用程序或环境的整体安全性,同时减少验证系统达到安全目标及合规性的所需工作量。 本文探讨的方法允许DevSecOps团队将安全性和合规性要求转化融合到开发周期中,达到以下目标: 软件开发人员可操作性 客观可度量 实用性的降低风险 本文还探讨了安全和开发团队进行系统性协作的要求、方法和建议,分为三个部分,如图1所示。合规性和开发功能(特性)应考虑以下要素: 评估:一种划分和评估的方法,对运营影响最小 思维方式:关于如何把合规性设计并实施到应用程序中的思想和实践转变 工具:安全工具的不同实践,可以为合规性要求提供保证本文和图1中对利益相关者的引用有两个角色,“合规”和“开发”: “合规”被确定为对监管或行业合规标准的管理,这些标准被下发到信息安全 —以及法律、风险和审计—等团队,以形成塑造组织业务运营的要求和政策。 “开发”是对应用程序的设计、配置和构建有影响的工程师和产品团队成员(包括开发人员、平台工程师、架构师和业务分析师)。 4CloudSecurityAlliance.(2021a,February21).TheSixPillarsofDevSecOps:CollectiveResponsibility.https://cloudsecurityalliance.org/artifacts/devsecops-collective-responsibility/ 开发 合规 软件工程师 信息安全 平台工程师 审计 测试人员 法务 业务分析师 DevSecOps实践 风险 评估: 1.与云服务提供商共同承担责任 2.时点评估与持续评估 思维方式: 3.价值流映射(VSM) 4.确定合规目标 5.将合规目标转化为安全措施工具: 7.采用”ascode”模型 8.采用DevSecOps方法进行测试 9.跟踪开源风险 10.安全护栏 11.模式和模版 图1.连接合规与开发的框架 1.1目标 本文提供了一些指导,即确保通过识别合规性目标,将它们转化成适当的安全措施,并通过将安全控制措施以自动化测量测试等方式清晰透明、易于理解地嵌入到软件开发生命周期中的关键节点,以弥合合规性与开发之间的差距。 本白皮书未确定合规性目标的来源,且不比较DevSecOps的标准或指南。(说明:合规性可以来自企业内部也可以来自企业外部) 1.2读者群体 本文的目标读者包括涉及安全风险、信息安全和信息技术的管理和运营岗位工作人员。包括CISO、CIO,尤其是涉及以下职能领域的个人:自动化、DevOps、质量保证、信息安全、治理、风险管理、内部审计和合规。 本地/ 公有云 私有云 基础设施即服务平台即服务软件即服务 (IaaS) (PaaS) (SaaS) 2评估 评估通常是测量DevSecOps流程和控制的成熟度和有效性的第一步。组织评估其应用程序和DevSecOps应用情况的主要考虑因素是: 与云服务提供商的共担责任:确定风险转移的位置,明确云客户应在何处应用控制或寻求保障。 即时评估与持续评估:确定适当评估的方法,研究如何实现自动进行持续审查以提高调查结果的准确性。 2.1与云服务提供商的共担责任 在大多数应用程序的部署使用中,云环境的设计和操作都对DevOps和站点可靠性工程(SiteReliabilityEngineering)至关重要。云安全取决于基础设施,因此云安全控制和责任共担管理在DevSecOps实践中势在必行。 当企业将合规性目标映射到安全要求时,了解云客户在选择解决方案和技术时的责任非常关键。安全工具和解决方案必须与技术保持一致,如容器化工作负载、虚拟机、云原生平台服务的配置状态。 云服务提供商(CSP)和云服务客户(CSC)应在服务级别协议(SLA)中同意并记录共同责任,这样CSC能够明确了解CSP的服务条款、优势和缺陷。CSP通常会公开提供此信息。图2中的通用模型展示了CSC和CSP之间从本地部署到SaaS的职责划分范围。 数据 应用程序运行时 中间件 操作系统虚拟网络虚拟化层服务器存储 物理网络 云服务客户(CSC)责任云服务提供商(CSP)责任图2混合云中的责任共担5 DevSecOps活动应反映出图2中的责任共担模型。例如,提供IaaS服务的CSP可以确保堆栈较低层(例如,hypervisor及以下)的安全,而较高层(例如,网络层及以上)的安全则由CSC负责。 一旦组织能够识别他们所使用的服务和不同的云部署模型,他们就可以开始考虑“下一步”的安全活动。 2.1.1下一步 在大多数情况下,云客户负责应用程序安全控制和云环境的管理。开发团队应该传达他们对使用云服务的应用程序的需求——应该确定依赖CSP的控制、可以评估CSC要求,并将其打包加入补救的活动/迭代阶段中。 如果责任属于CSP,CSC应获取第三方对CSP的评估保证,如SOC26报告或CSASTAR认证。云客户应审视CSP提供的保证,以确定控制和流程的适当性,并在需要时实施补偿控制。 安全和合规职能团队应与开发团队合作,根据云部署模型准确地识别职责。安全控制和流程应该由安全和合规职能团队根据现有的组织策略、安全框架、检查表和模板周期性开展审查。如果责任属于CSP,合规团队可以审查SOC2报告或CSASTAR,以确定CSP采取了的 5CloudSecurityAlliance.(2020c,July13).HybridCloudandItsAssociatedRisks.https://cloudsecurityalliance.org/artifacts/hybrid-clouds-and-its-associated-risks/ 6AmericanInstituteofCPAs.(n.d.-b).SO