如何将DevSecOps转换为SecDevOps?Parasoft给你支招!
我们如何在文化上改变解决安全问题的方式?我们首先用它应得的重力来处理它,然后从一开始就开始建造它。
毫无疑问,DevOps和安全性是软件组织的首要考虑因素,将安全性集成到DevOps中的结果是引入了SecDevOps和DevSecOps这两个术语。将安全性集成到DevOps中的结果已被创造为SecDevOps和DevSecOps。尽管可互换使用,但这两个词的顺序很重要。为什么这么说?因为在大多数情况下,在部署过程结束时,安全仍然是“附加”的。在这篇文章中,我将讨论当安全性是开发的一个组成部分时,从软件开发过程的开始而不是作为交付管道末端的门户,如何更容易实现安全软件的交付。
DevSecOps中的安全性如何?
尽管人们越来越关注安全性,但对于软件团队来说,将安全性构建到流程和管道中是一项挑战。在预算内按时完成项目的压力往往会超过其他考虑因素。因此,我们倾向于将安全性作为发布候选程序的最后一步添加,如下所示:
传统的DevSecOps安全方法
由于安全知识通常很少,仅限于组织中的少数人,因此这些人通常被分组为集中安全团队。安全团队的任务是使用他们的“魔术盒”来测试产品,以便在部署之前发现候选版本中的漏洞。当团队不可避免地发现漏洞时,他们会将“坏消息”传回给开发团队......但是,由于开发团队没有关于如何使用安全团队正在使用的工具的安全培训或知识,安全团队通常被视为“坏人”,因为他们现在因为“一些安全漏洞”而推迟发布。那么团队的典型反应是什么?
传统方法会导致生产中出现延迟发布和/或安全漏洞
让我们面对的是,很难将重要的安全修复、控制和编码标准纳入到一个项目中,这个项目对开发团队来说是“已经完成和清理过的”。那会发生什么呢?该产品带着已知的、未知的安全漏洞走出家门,并可能承诺“在下一个版本中修复它们”。这就是当你把安全性放在开发之后-“Dev”,然后是“SEC”,然后是“Ops”。虽然这不是意图,但这是许多组织的现实。考虑下面描述的更好的方法。
SecDevOps的安全性如何?
安全控制、指导方针、编码标准和策略必须完全集成到软件开发过程中。这是通过从一开始就将安全性作为过程和管道的一部分来完成的-“SEC”然后是“Dev”,然后是“Ops”。安全团队(或者是专门从事安全工作的架构或高级开发人员)预先为团队定义了必要的策略。
这些策略可能包括安全编码标准,避免不安全API和加密不良的规则,使用静态和动态分析的指令以及测试指南。目标是让开发人员努力使用更安全的软件作为日常工作的一部分,自动化有助于实现这一目标。
通过自动化,您可以将您的方法转移到SecDevOps策略的安全性,如下所示:
由于安全性现已在开发阶段开始实施,因此团队自然会更加熟练地掌握安全性,并且在管道末端将发现更少的安全漏洞。
然后可以调查确实通过的漏洞,根本原因分析的结果用于改进安全策略和指南 - 从根本上改善每个循环进展的结果。
推动对政策的迭代改进会减少对后期周期升级的干扰,如下所示:
这种增量和集成方法比在项目结束时尝试进行安全审计要好得多。
你是如何实现的?
安全性无法为开发人员增加额外的需求,但是如何管理这项工作的影响是导致按时,安全的产品与后期不安全的产品之间产生差异的原因。一个 关键的要求是将安全集成到现有的开发过程中,您可以通过整合Parasoft公司的成套CWE兼容测试工具,使安全质量的一部分,整个工作流程做。
通过以安全为中心的工作流程将安全性作为质量的一部分
工作流程从安全编码策略开始。架构师或负责人创建一个配置(可能基于编码指南,如CERT,CWE,OWASP,UL-2900或PCI DSS),以便团队的其他成员直接在他们的IDE中使用。这使得开发人员能够在提交源代码控制之前在其计算机上本地检查代码 - 在更便宜和更容易的情况下捕获和修复安全违规。
然后,通过作为构建过程的一部分执行的分析来利用相同的配置。这种全面的分析超出了开发人员本地修改代码的范围,并提供了一个安全网来控制交付管道,以确保不安全的代码不会被提升到后期阶段。
最后,分析结果通过集中报告和分析仪表板发送回开发人员的IDE,可以跟踪进度,进行过程更正以及实时生成审计报告。
完整的SecDevOps工作流程如下所示:
管理人员和安全主管现在可以在中央仪表板中根据安全标准(如CWE)评估项目,如下所示:
这些仪表板可以显示趋势信息和回答问题,例如“项目是否在改善或变得更糟?”或“代码的哪些区域导致了大多数问题?”
能够回答这些问题和其他问题,并采取行动,将开发团队从DevSecOps转变为SecDevOps。
总结
尽管可以互换使用DevSecOps和SecDevOps,但词的顺序与词暗示的工具,技术和过程的含义同样重要。在发布产品之前,安全性通常被作为附加或门控过程留下,但是当产品出门时,很难解决安全问题。像SecDevOps一样,向左移动安全性是成功的关键。安全性必须是每个开发人员日常工作流程的一部分,并集成到软件管道中。Parasoft自动化安全控制和策略的左移,以构建管道的安全性,同时降低SecDevOps(和DevSecOps!)的影响和风险。
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或资源的朋友,请