一种更好的DevSecOps方法
如今,DevSecOps的大多数问题都回到了组织,他们试图通过在产品周期结束时添加测试来“修复”安全性,希望能够抓住一些关键漏洞。在本文中,学习如何通过有效策略将安全测试转移到支持DevSecOps的最早开发阶段来解决这一问题。
在上一篇文章中,我讨论了SecDevOps以及为什么它比常用的DevSecOps更好。安全性通常在发布产品之前作为附加程序或门控流程保留,但是当产品半途而废时,很难解决安全性问题。如成功将SecDevOps中的安全性向左移(更常见的名称DevSecOps并不暗示)一样。安全性必须成为每个开发人员日常工作流程的一部分,并且必须集成到软件管道中。
作为Parasoft产品副总裁,我的工作是确保我们为客户简化此工作。这是什么意思?首先,这意味着自动化安全控制和策略的左移,以帮助我们的客户在管道中建立安全性,同时减少DevSecOps的影响和风险。你是怎么做到的?在下面阅读更多内容,以了解如何缓解将安全性集成到DevOps中的传统挑战。然后,我们将检查DevSecOps工作流程,该工作流程已成功将安全性向左移动(应为左移)。
解决阻碍成功的DevSecOps策略的挑战
如今,DevSecOps的大多数问题都回到了组织,他们试图通过在产品周期结束时添加测试来“修复”安全性,希望能够抓住一些关键漏洞。以下是发生这种情况的原因和原因,以及如何使用更智能的安全方法解决它们。
挑战:很难知道如何“修复”安全性
大多数开发人员和测试人员还不是安全专家(尚未!),因此,当不清楚要做什么时,要在开发的后期阶段“修复”安全性是一个很高的要求。
解决方案:逐步提高安全性
相反,团队可以使用集中化策略(例如安全编码标准和针对常见漏洞的静态分析检查)来逐步改善整个开发生命周期中的安全性。另外,安全工具可以为开发人员和测试人员提供有关漏洞存在的原因,如何利用漏洞以及最终将其删除和测试的指南。使用Parasoft的静态分析工具,您可以轻松地基于行业安全的编码标准(即CWE,OWASP,CERT,UL 2900)定义集中式策略。还内置了文档、示例和嵌入式培训,以使整个团队可以继续学习下一步的工作。
挑战:周期末安全测试导致生产中的延迟和漏洞
试图将鞋拔的安全性变成几乎完整的产品的通用方法是不够的。太多的漏洞正在进入生产代码。
解决方案:将安全性分析集成到开发的最早阶段
相反,可以将安全性纳入日常开发和运营中。开发人员应该能够直接在IDE内部执行分析,从而将安全合规性转移到开发的早期阶段。Parasoft工具与构建过程集成在一起,并提供CI插件以验证漏洞不在CI管道之外。收集的数据存储在每个构建的基础上,可用于报表和分析仪表板。
挑战:直到最后一刻,项目安全风险的状态未知
由于缺乏任何类型的漏洞评估,因此在进行某种测试之前,项目具有完全未知的安全风险。完成后期周期测试后,发现的安全漏洞往往会导致后期周期变更和返工。尽管在最后一刻做出了英勇的努力,但许多安全漏洞仍将其传递给客户。
解决方案:持续监视软件质量和安全性
为了实现优先级划分和课程更正,实时合规性报告应提供易于访问的仪表板,并具有数据的顶级和深入了解。Parasoft通过高度可定制的安全仪表板消除了安全监督的开销,这些仪表板是交互式的,可以从任何位置访问,并且可以针对任何用户进行设计,从开发人员到团队领导再到上级经理。
使用Parasoft进行更智能的SecDevOps工作流程
如果您了解上述挑战并且已准备好上手,则首先将测试工具集成到现有开发工作流程中。这是每日采用和从投资中获得最大投资回报的关键。让我们看看如何将Parasoft工具集成到典型的CI/CD管道中,以及如何利用它们在DevOps中“左移”安全性。
在这里,您可以看到工作流中的前提交和后提交,以及在将代码提交到源存储库之前和之后的代码分析。在签入代码之前帮助开发人员提高质量和安全性是“左移”的重要优势。我们的工具从此处开始,然后在检入、构建和部署代码之后继续提供帮助。
预提交工作流程:
- 确定适合项目和组织需求的安全标准(例如OWASP,CWE,CERT)。例如,可以自定义级别和编码标准的组成,以满足您的需求,并且可以将安全性和质量标准结合在一起。
- 将安全策略封装在测试配置中。通常在整个项目中由团队负责人集中完成。
- 使定义的配置可供开发人员在编写和测试其代码时使用。这里的主要好处是在每个开发人员的桌面环境中都采用了这些标准,因此每个人都在按照相同的标准进行工作。
- 检入之前将检查器应用于代码。我们的经验表明,最佳实践是不要使对测试配置的合规性成为检入门,因为这将影响团队的效率和采用安全编码做法。经常会由于各种原因(工具不一定进行评估)而签入不完全兼容的代码,并且工作流的提交后部分的目的是执行“完整分析”并充当安全网。
提交后的工作流程:
- 生成代码,运行现有测试,并执行项目范围内的静态分析。
- 检查发布到安全仪表板的结果,以确定需要关注的领域。
- 分析结果,确定违规的优先顺序,并以任务的形式为相应的开发人员分配违规。使用Parasoft,可通过预设和可自定义的仪表板获得即时反馈。
- 采取措施解决已发布并在每个人的IDE中可供查看的警告和违规行为。
内置安全性是质量的一部分
大多数软件团队都知道交付高质量代码的需求,而不管其当前过程的成熟程度如何。利用现有的心态来提高安全性,您可以将安全性要求、控件和标准交织在一起,作为现有质量改进过程的一部分。在仪表板级别,实时查看安全法规遵从性,并能够根据突出显示的关注区域深入研究问题区域,有助于安全性成为日常质量管理的一部分。
总结
重要的是在开发生命周期中尽早确定安全的优先级,以“左移”执行安全标准和良好实践,并成功实现DevSecOps。为此,您需要一个易于开发且易于采用的过程来在开发人员编写代码后立即检测并消除漏洞。Parasoft的实时、可自定义的分析和报告仪表板向团队负责人和安全专家提供有关项目状态,对选定标准的遵守情况以及最关注的确切问题的即时反馈,以便整个组织可以了解风险。