什么是DevSecOps

举报
kaliarch 发表于 2022/08/19 22:43:16 2022/08/19
【摘要】 随着每个人都转移到云上,人们对DevOps以及它如何使流程更快、更容易、更高效进行了大肆宣传。作为一名开发人员,我喜欢让事情变得更容易。作为一个安全方面的人,我感到害怕的是,没有强调安全地转移到云上。输入devsecops。DevSecOps是关于在软件开发生命周期(SDLC)的早期引入安全性的。目标是通过让参与SDLC的每个人都对安全性负责来开发更安全的应用程序。我喜欢这个。让商业、技术和...

随着每个人都转移到云上,人们对DevOps以及它如何使流程更快、更容易、更高效进行了大肆宣传。作为一名开发人员,我喜欢让事情变得更容易。作为一个安全方面的人,我感到害怕的是,没有强调安全地转移到云上。输入devsecops。
DevSecOps是关于在软件开发生命周期(SDLC)的早期引入安全性的。目标是通过让参与SDLC的每个人都对安全性负责来开发更安全的应用程序。我喜欢这个。让商业、技术和安全部门合作生产安全产品似乎是梦想成真。也许太好了不是真的?让我们进行更多的调查,看看DevSecOps是否可以成为我们在构建安全产品时所需要的灵丹妙药。
首先,让我们谈谈为什么我们需要devsecops。几年前,软件产品遵循瀑布方法,这是一种开发产品的线性顺序方法,最终以“大爆炸”发布结束。

随着向云计算和资源动态提供的转变,开发人员在应用程序开发的速度、规模和成本方面获得了许多好处。这些好处非常适合采用DevOps运动。DevOps强烈主张在SDLC的所有步骤中进行自动化和监控。目标是缩短开发周期、增加部署频率和更可靠的发布,所有这些都与业务目标一致。就像我之前说的,作为一个开发人员,我喜欢这个。但是稳定的基础设施和应用程序并不等于安全的基础设施和应用程序。这让我很担心。在瀑布生命周期中,安全检查被放在产品发布之前的最后。安全被视为一个路障,最后的大门检查,在路上的生产发布。开发应用程序的方式发生了许多变化,但如何看待安全性却没有发生变化。

如今,大多数团队使用敏捷方法进行软件开发。在敏捷环境中,重点是快速交付。通过使用迭代规划和反馈结果,团队可以持续地使产品交付与业务需求保持一致。对不断变化的需求的适应性对于交付一个有意义的产品是很好的,但是如果您每周发布一个新版本的产品,您什么时候测试安全漏洞?不幸的是,传统的安全过程在敏捷/DevOps环境中跟不上步伐,使得安全性成为软件开发中的一个主要障碍,通常被绕过。如果没有绕过它,开发团队很少有足够的时间在产品上线之前解决所有问题,这意味着不安全的应用程序存在于Internet的某个地方。具有讽刺意味的是,忽略安全性以避免错过截止日期的风险实际上会给应用程序带来更多风险。SDLC中的安全缺陷可能会导致严重的漏洞,比如由坏代码引起的漏洞。这就是为什么我们需要DevSecops。
在DevSecOps中,“交付速度”和“安全代码”这两个看似对立的目标被合并到一个简化/自动化的过程中。DevSecOps的意图是建立在“每个人都对安全负责”的思维模式上,它是关于将安全推向左,并自动化核心安全任务。还记得碧昂斯的那首《不可替代》吗?我知道,但碧昂斯在唱“向左,向左”时有一个正确的想法。

我们希望将安全性推到SDLC的左侧,以确保应用程序的安全性从一个代码开始。通过左移,团队可以快速发现和分析漏洞,然后调整他们的代码来缓解这些漏洞。

DevSecOps允许开发人员专注于编写高质量和安全的代码,使团队能够发布钛应用程序。好处很简单:
-从一开始就采取安全措施,最大限度地减少出现漏洞的机会
-在管道中运行自动化安全工具是让安全团队成员专注于高悬的果实
-改善发展及保安小组之间的合作及沟通
-提高整个安全和企业的运作效率
然而,与DevSecops相关的挑战也存在。即使安全已经成为一条管道,仍然有绕过安全检查站的方法。让我们举一个例子,如果发现某个漏洞,将使用漏洞扫描程序阻止构建/部署。作为一名开发人员,您知道该漏洞是什么,您也知道您的代码有它,但您确实需要执行此版本。因此,您可以找到一种方法来隐藏您知道将无法通过安全扫描的代码片段,从而成功构建。另一个常见的情况是,如果存在一个或多个具有一定严重性的发现,团队决定中断他们的构建。例如,一个团队可能会说他们不想打破他们的构建,除非发现是高的或关键的。虽然这肯定有助于立即识别和解决高优先级问题,但其结果是中低级别的发现将其提交到生产构建中。

既然我们已经讨论了DevSecOps的利弊,那么实际如何实现它呢?传统的DevOps工具,如Jenkins和Git,是构建DevOps管道基础的必备工具。市场上有许多安全工具,从开源到专有解决方案不等。其中许多可以集成到您现有的管道中。下面是我根据经验和互联网整理的列表:
-CheckMarx:一个SAST(静态应用程序安全测试)工具,用于分析应用程序代码中的缺陷,这些缺陷表明存在安全漏洞。
-WhiteSource:一个开源漏洞扫描器,在后台自动持续运行,跟踪开源组件的安全性、许可和质量,并将它们与WhiteSource的开源存储库综合数据库进行匹配。
-ZaProxy:OWASP Zed攻击代理(ZAP)是一个易于使用的集成渗透测试工具,用于发现web应用程序中的漏洞。
那么DevSecOps是我们所有问题的神奇疗法吗?也许不是我们所有的问题,但对我和许多其他人来说,这是不可替代的,这是一辆炒作列车,我准备登上并一路乘坐。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。