2024DevSecOps建立合规方案.docx
《2024DevSecOps建立合规方案.docx》由会员分享,可在线阅读,更多相关《2024DevSecOps建立合规方案.docx(33页珍藏版)》请在课桌文档上搜索。
1、DeVSeCOPS建立合规方案目录前言81简介91.1 目标101.2 读者群体102评估112.1 与云服务提供商的共担责任112.2 即时评估和持续评估133心态151.1 使用价值流映射的合规性151.2 合规目标转化为安全措施184 .工具224.1 拥抱即代码as-Code模型224.2 拥抱DevSecOps方法进行测试244.3 追踪开源风险274.4 安全护栏294.5 模式和模板335 .总结35参考文献37词汇表40缩略语41支柱1:集体责任(2020.02.20发布)2支柱2:培训和流程整合支柱3:实用的实施支柱4:建立合规与发展的桥梁(2022.02.03发布)支柱5:
2、自动化(2022.07.06发布)3支柱6:度量、监控、报告和行动1简介鉴于软件开发范式和实践的快速发展,整体安全合规活动与软件开发过程的结合已成为一项挑战。合规团队已经习惯于依靠流程和控制到位来证明(安全性)。然而,大多数认同DeVOPS观点的工程师认为证明应在代码中,而不在流程或文档内。DevSecOps实践旨在结合合规性与开发,需要安全团队和软件开发人员之间的协作(集体责任4)努力。DevSecOps模式中的合规性目标是提高应用程序或环境的整体安全性,同时减少验证系统达到安全目标及合规性的所需工作量。本文探讨的方法允许DevSecOps团队将安全性和合规性要求转化融合到开发周期中,达到以
3、下目标: 软件开发人员可操作性 客观可度量 实用性的降低风险本文还探讨了安全和开发团队进行系统性协作的要求、方法和建议,分为三个部分,如图1所示。合规性和开发功能(特性)应考虑以下要素: 评估:一种划分和评估的方法,对运营影响最小 思维方式:关于如何把合规性设计并实施到应用程序中的思想和实践转变 工具:安全工具的不同实践,可以为合规性要求提供保证本文和图1中对利益相关者的引用有两个角色,“合规”和“开发”: “合规”被确定为对监管或行业合规标准的管理,这些标准被下发到信息安全一以及法律、风险和审计一等团队,以形成塑造组织业务运营的要求和政策。 “开发”是对应用程序的设计、配置和构建有影响的工程
4、师和产品团队成员(包括开发人员、平台工程师、架构师和业务分析师)。开发软件工程师平台工程师测试人员业务分析师评估:L与云服务提供商共同承担责任2 .时点评估与持续评估思维方式:3 .价值流映射(VSM)4 .确定合规目标5 .将合规目标转化为安全措施工具:7 .采用“ as code 模型8 .采用DeVSeCoPS方法进行测试9 .跟踪开源风险10 .安全护栏11 .模式和模版信息安全DevSecOps 实践审计法务风险图1.连接合规与开发的框架1.1 目标本文提供了一些指导,即确保通过识别合规性目标,将它们转化成适当的安全措施,并通过将安全控制措施以自动化测量测试等方式清晰透明、易于理解地
5、嵌入到软件开发生命周期中的关键节点,以弥合合规性与开发之间的差距。本白皮书未确定合规性目标的来源,且不比较DevSecOps的标准或指南。(说明:合规性可以来自企业内部也可以来自企业外部)1.2 读者群体本文的目标读者包括涉及安全风险、信息安全和信息技术的管理和运营岗位工作人员。包括CIS0、CIO,尤其是涉及以下职能领域的个人:自动化、DevOps,质量保证、信息安全、治理、风险管理、内部审计和合规。2评估评估通常是测量DeVSeCoPS流程和控制的成熟度和有效性的第一步。组织评估其应用程序和DeVSeCoPS应用情况的主要考虑因素是: 与云服务提供商的共担责任:确定风险转移的位置,明确云客
6、户应在何处应用控制或寻求保障。 即时评估与持续评估:确定适当评估的方法,研究如何实现自动进行持续审查以提高调查结果的准确性。2.1与云服务提供商的共担责任在大多数应用程序的部署使用中,云环境的设计和操作都对DevOps和站点可靠性工程(SiteReliabilityEngineering)至关重要。云安全取决于基础设施,因此云安全控制和责任共担管理在DeVSeCOPS实践中势在必行。当企业将合规性目标映射到安全要求时,了解云客户在选择解决方案和技术时的责任非常关键。安全工具和解决方案必须与技术保持一致,如容器化工作负载、虚拟机、云原生平台服务的配置状态。云服务提供商(CSP)和云服务客户(CS
7、C)应在服务级别协议(SLA)中同意并记录共同责任,这样CSC能够明确了解CSP的服务条款、优势和缺陷。CSP通常会公开提供此信息。图2中的通用模型展示了CSC和CSP之间从本地部署到SaaS的职责划分范围。本地/公有云私有云基础设施即服务平台即服务软件即服务(IaaS)(PaaS)(SaaS)操作系统虚拟网络虚拟化层服务器物理网络云服务客P(CSC)责任云服务蠢商(CSP)R壬图2混合云中的责任共担5DevSecOps活动应反映出图2中的责任共担模型。例如,提供IaaS服务的CSP可以确保堆栈较低层(例如,hypervisor及以下)的安全,而较高层(例如,网络层及以上)的安全则由CSC负责
8、。一旦组织能够识别他们所使用的服务和不同的云部署模型,他们就可以开始考虑“下一步”的安全活动。2.1.1下一步在大多数情况下,云客户负责应用程序安全控制和云环境的管理。开发团队应该传达他们对使用云服务的应用程序的需求应该确定依赖CSP的控制、可以评估CSC要求,并将其打包加入补救的活动/迭代阶段中。如果责任属于CSP,CSC应获取第三方对CSP的评估保证,如SOC26报告或CSASTAR认证。云客户应审视CSP提供的保证,以确定控制和流程的适当性,并在需要时实施补偿控制。安全和合规职能团队应与开发团队合作,根据云部署模型准确地识别职责。安全控制和流程应该由安全和合规职能团队根据现有的组织策略、
9、安全框架、检查表和模板周期性开展审查。如果责任属于CSP,合规团队可以审查Sc)C2报告或CSASTAR,以确定CSP采取了的适当控制措施。2.2即时评估和持续评估评估是所有组织用于理解当前控制措施和流程的成熟度和有效性的通用方法。然而,伴随着敏捷或DeVOPS方法中快速的变化和部署速度,人们对评估的频率和相关性的提出了疑问。即时评估7可能很慢,可能需要几个星期甚至几个月。从开始评估到完成报告的期间开发和部署环境可能不断变化。与此同时,即时评估可以提供一个应用程序及其基础设施安全状况的整体视图,并可以与其他活动,例如渗透测试和隐私数据审查等相结合。为应用程序和基础设施引入安全开发人员工具可以帮
10、助对组件进行分类,以便单独审查,在开发和部署阶段就可以识别和纠正问题,这消除了对即时评估的依赖。以下工具的使用,举例说明了如何为持续评估对应用程序进行分类和扫描: 软件组成分析:识别、报告、修复和标准化高风险开源工具使用的机会。这可以在构建阶段进行应用及处理,并在即时评估之前达到合规要求。 静态分析:一个扫描源代码的弱点和漏洞的机会。这将帮助开发人员在构建阶段编写安全的代码,并对大型代码库扫描发现的问题进行补救。 基础设施即代码(IaC)分析:提供了根据云合规标准扫描代码的云构建(codedcloudbuilds)的机会。这有助于工程师在构建阶段解决云上的安全性问题,而不是依赖即时评估。 云态
11、势管理:一种针对行业标准和指南,全面而持续地对云构建和环境进行扫描的通用方法。云态势管理甚至可以取代即时评估。要在构建时进行扫描和执行整体评估之间取得合适的平衡,取决于团队如何在不影响部署速度的情况下快速地完成完整扫描。代码扫描(例如,IaC分析)对于在构建阶段对实体(应用程序/平台/基础设施)的审查是很有效的,并且可以降低漏洞和安全弱点被写入代码的可能性。这将帮助组织实现安全左移,减少部署后的安全补救工作。然而,需要理解的是,与部署后扫描(例如,云态势管理)相比,在构建时进行扫描并不总能得到完整和全面的发现。一个说明代码扫描完整性的例子是Bridgecrew(一家IaC供应商)对其开源IaC
12、分析工具“Checkov”的研究。Bridgecrew透露,只有大约一半的行业云安全基准控制(由互联网安全中心(CIS)推荐)在IaC分析中得到了解决(见图3)0这并非反映“Checkov”的质量,而是反映了主要CSP在构建阶段的安全问题规模以及评估的完整性。Ch9ckov1.0Checkov2.0图3.CheckovCIS基准测试覆盖率8代码扫描的分类并不能取代对即时评估的需求;然而,这确实减少了对即时评估的依赖。组织现在可以在构建时解决问题,比在部署到生产环境前评估中发现的严重安全问题更为有利。当组织应用方法来执行持续的DeVSeCoPS评估时,可以利用即时评估提供完整的、统一的、完全集成
13、的审查,同时知道在构建过程中已经解决了大量安全问题。3心态组织可以通过工具直接快速地解决风险,但是他们很容易忽略适当的心态(思维模式)在DeVSeCOPS转型中的重要性。心态是一种方法,以一组活动的形式由安全和产品的利益相关方(例如,软件开发人员)所采用,通常可以使两个孤立的团队更紧密地联系在一起。有助于弥合安全和软件开发之间价值冲突的关键考虑因素有: 价值流映射(VSM):确定团队、交付时间和处理时间,以了解工作流如何从想法变成客户输出。这提供了一个通过手动或自动化来识别安全参与的机会。 将合规目标转换为安全措施:如何将目标打包成供开发人员使用的安全措施。 流水线监控:在不妨碍生产力的情况下
14、对开发人员活动的控制措施进行监控和维护。3.1 使用价值流映射的合规性虽然合规和开发活动可以在它们的安全目标上保持一致,但传统的合规方式一一冗长的即时评估一严重依赖于文档。传统方式与DevSecOps的快速、敏捷工作和持续交付的特性不能很好匹配。因此,在考虑应用安全控制之前,了解工作在应用程序开发生命周期中的工作流程非常重要。价值流映射(VSM)是一项用于理解应用程序上下文的有用技术。如图4所示,VSM可以包括以下组件: 利益相关方:负责的团队和个人。 活动:在某阶段执行的通用活动。 交付时间:从一个工序接收一件工作到把该工作交给下一个下游工序的时间。 处理时间:指完成一项工作所需的时间,前提
15、是执行这项工作的人拥有完成这项工作所需的所有必要信息和资源,并且可以不间断地工作。 准确完成百分比(C/A):上游流程接收到可以使用且无需返工的内容的百分比。顾客 发布规划与估计设计与分析开发与开发测试(包括测试自动化)设计批准0展示和用户验收成果变更批准图4.VSM示意9通过了解VSM过程中应用程序的构建和部署活动,组织可以开始识别和规划适当的安全活动和工具。DeVSeCoPS是一种共同承担的责任】。,建立在将安全实践集成到整个构建阶段和部署流水线的概念之上(如下图5所示)。安全开发生命周期:政策、标准、控制和最佳实践虽然这个图像给人种从个阶段到另个阶段的线性流动的感觉,但各阶段之间存在双向
16、反馈机制阶段触发叁安全活动安全设计和架构应用或功能设计威胁建模安全基线和评估控制安全编码代码拉取、克隆或提交SAST薛态应用安全IDE插件集成SASTSCA软件组成分源代码审查持续集成对源代码库实开发者代码持续构建、集成和测试构建和集成SAST 打包容器和镜像扫描模糊测试DAST动态应用程序安全IAST交互式应用程序阶段和测试测试安全测忒持续交付和部署发布构件和镜像库.镜像扫描签名 持续的工件和镜像库扫描运行时防御和监控实例化基础设施持续地系统、容器和网络漏洞扫描系统、容器和网络应用程序测试和模糊测试海洞监控RASP运行时应用程序自我保护渗透测试管理手动执行在开发人员和操作人员所用丁自动评估安
17、全发现安全治理、报告和KPI.选择的工具中,根据情况和缓解的遥测技术和仪向他们提供即时反馈.图5.CSA的DeVSeCOPS交付流程U通常安全和合规性活动是手动进行的,并形成安全质量门禁,这使得过程繁重并有可能影响到交付时间。为了应对这一挑战,合规性必须是“持续的”,这样才能不断审查安全性并将其集成到代码中。作为交付流水线的一部分,证明符合共识的安全要求的能力将安全性集成到整个开发过程中。(注:短语“organizedintogates”指的是软件开发中的一种做法,即将安全和合规性活动作为检查点或“门禁”进行组织,开发项目必须通过这些门才能进入下一个开发阶段。)VSM的过程可以借助测量每个安全
18、措施的工作量和运营影响,来实现这一目标。通过识别VSM中的端到端流程,组织可以将合规性/安全性要求包含在需要改进、进一步控制和自动化的领域。一旦价值流映射得到优化,组织就可以开始使用静态分析、策略即代码和依赖性检查等方法来实现自动化合规。本文探讨了将自主安全措施嵌入在交付流程中的不同方法,这可以帮助弥合合规和开发之间的鸿沟。DeVSeeOPS交付流程本身是将安全应用于产品的基础。组织应该寻求在图5的“安全活动”部分建立实践,持续支持架构工件(如加固指南和模式),以提供评估的参考点。3.2 合规目标转化为安全措施DevSecOps的一个目标是“左移”安全,如将关键的安全控制作为应用程序开发过程的
19、一个组成部分,而不是采取在交付点进行回顾性的审计活动的传统方法。合规性的目标、政策、流程和控制通常源于合规框架、治理、风险和信息安全团队。对于大多数将合规与行业指南(例如S270012l或NlSTCSF13)相匹配的具有成熟安全功能的组织来说,并不是新鲜事。从传统的合规性过渡到更加动态的方法,需要打破安全合规和软件开发团队之间的隔阂(包括采用DeVOPS和网站可靠性工程的团队),将对DeVSeCoPS的理解作为一种新的方法论融入文化和技术】,安全和合规利益相关者(例如信息安全)、架构和软件开发团队应紧密合作,定义明确的合规目标。在实践安全活动和达成合规目标的控制之间应有精确的映射。这些应被整合
20、到交付流程中,并考虑生成自动和公开的报告。可以让安全和合规性利益相关者参与到正在进行项目的迭代会议实现安全目标到安全措施的转化: 计划会议以确定整个应用开发过程中的必要工具和安全要求/控制; 提供对安全/控制变化迭代的更新建议,以帮助将合规要求引入应用程序的设计和构建中; 确定应用程序是否需要额外的安全措施。为软件开发人员建立安全合规迭代和用户需求是将安全纳入软件开发的有效方法。现有的安全合规要求、组织政策、行业准则和标准可以作为参考,这需要项目利益相关者之间的合作才能实现。类似INVEST这样的方法可以帮助创建用户安全需求和任务,这些任务应该是: 独立:应该是自成一体的 可商议:应该留有讨论
21、空间 有价值:必须为利益相关者提供价值。 可估计,应该能够估计规模。 足够小:能够确定计划、任务和优先级 可演!试:应该能够被测试。通过内部审计和治理,可以更好地向业务利益相关者展示安全合规用户需求、迭代和任务被设计到代码并配置到组织批准的安全控件中。你好,Gustav.从现在开始.所有的用户需求都必须满足INVEST的标准,经理图6.1NVEST用户需求16在合规性和开发人员之间建立的桥梁不应该是单向的。安全策略应该映射到开发人员和操作人员可以完成的原子级技术需求。软件开发人员、架构师和DevOps工程师应及时提供完成状态的反馈,以便编写信息安全策略的安全合规团队能够了解SDLC当前阶段或迭
22、代的安全态势。创建安全模式和加固指引将有力支持安全合规活动。(注:INVEST用户需求指的是应用敏捷用户故事的方法针对用户提出的需求,在进行需求梳理时需要左移考虑安全的问题。)3.2.1 流水线监测软件开发人员组可以在短时间内生成大量代码和应用程序更新,并迅速将它们提交到生产环境。这些活动为经常部署软件功能的组织创造了巨大的业务优势,通常分类如下: 持续集成(ci):频繁提交和合并新代码和代码更改到编码存储库,这些存储库通过创建构建并针对该构建运行自动化测试来验证。 持续部署(CD):将代码自动部署到环境中的过程,包括自动扫描、测试和构建活动。尽管执行DeVOPS的开发团队间独立自主和责任分担
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2024 DevSecOps 建立 合规 方案
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-1202604.html