【DevSecOps系列文章五】集成自动化控制

http://p6.qhimg.com/t01770ddd04dfaf07fc.png

翻译:360代码卫士

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

传送门:【DevSecOps系列文章四】构建DevSecOps文化的4种方式

凭借DevOps原生工作流,我们拥有一个前所未有的机遇即将安全指南马上应用到应用程序的生命周期中。

http://p3.qhimg.com/t01af78accb4c4e86e6.png

(标题:难以以自动化、透明的方式将安全集成到DevOps模式的工作流中。

图表下方文字:强烈同意、有点同意、有点不同意、强烈不同意)

对于很多组织机构来讲,将安全控制自动化集成到任何工作流中一直以来都被视作一项具有挑战性的任务。在很多开发流水线中,安全仍然是一种事后的想法,并且仍然被视作快速生成软件的障碍或拦路虎。凭借DevOps原生工作流,我们拥有前所未有的机遇即把安全指南马上应用到应用程序的生命周期中,并且更贴近能最快修复漏洞的人员。 

我们在将安全控制以自动化方式集成到SDLC时所面临的其中一个挑战是确保我们的产品“传送带”仍然会跟就像我们根本没有安全集成那样以同样的效率运转。企业需要要求及时开发并交付软件。开发人员想要以尽可能最优的方式编写软件;运营团队想要让应用程序具有高度可用性和稳定性;而安全团队想要应用程序不存在漏洞且对组织机构产生的风险较低。这里的情形并不是说一个团队的成功就意味着另一个团队必须失败;相反,它是一种协作的完美生态系统。安全是整个组织机构中每个人的职责,而且应该永远不会取代所交付的对象。安全应该是一种属性。

从安全角度来看,当我们在寻找以自动化方式将安全控制注入工作流的地方时,我们需要识别出以被动和主动方式观察并收集数据的方式。被动生成数据的方法包括在静态代码分析后计算某组代码的缺陷密度、或者基于代码气味计算某代码库的风险分级;而生成代码的主动方式可能是暂停发布流水线并实施漏洞扫描。主动收集是我们在将自动化工具集成到流水线时最应该小心谨慎的地方。

当你主动生成数据时,你可能会成为发布流水线中的瓶颈。当我们查看拥有500名以上开发人员的企业调查数据结果时,发现认为以自动化方式整合安全控制有点困难的受访人员略多。

行业有可能在明年年内,当我们发现有更多创新的方式将安全工具自动化到工作流时,将天平进一步倾斜。如果我们集中在减少主动收集安全相关数据的所需时间时,那么就能确保我们并没有干扰这个功能流水线。我们可通过在生命周期中尽可能早地扫描漏洞、将代码库分为可管理和合理片段、以处理bug或功能的方式处理安全漏洞来实现这个目标。观察增量扫描以求在代码库闸道式签入的过程中提高性能,并观察跟进出流水线平行运行的全部扫描。

DevOps原生工作流在每个组织机构中差别很大,因此在集成你的安全工具集时,要确保你的安全相关目标跟团队其它成员的目标一致。不要做绊脚石,而要做安全赋能者。确保代码和进程的安全,尤其要持续改进它。

原文地址:https://dzone.com/articles/devsecops-integrating-automated-security-controls

传送门:【DevSecOps系列文章四】构建DevSecOps文化的4种方式

(完)