DevSecOps宣言

坏人不会闯入高度安全的银行金库门。 他们攻击金库墙壁的易碎砖块和砂浆。 应用程序安全性也是如此。 绝大多数事件都没有针对安全功能,例如加密,身份验证和授权…银行金库门。 相反,它们的目标是代码中“无聊的”,非安全性部分中的漏洞……金库墙的易碎砖块和砂浆。

在许多组织中,安全功能仍在很大程度上发挥作用,但是情况正在发生变化。 越来越多的人意识到,采用螺栓固定的安全方法无法预防绝大多数事件。 您必须生产没有正在开发的漏洞的应用程序。 换句话说,您必须内置安全性。

十年前,我参与了创建网络安全新方法Build-Security-In的工作。 当时我在卡内基·梅隆(Carnegie Mellon),与Noopur Davis和Gary McGraw一起,我们领导了一种方法的记录(以及所有必要的内容),该方法不是固定的,而是内置的。

该计划在内容和Gary的咨询业务Cigital的推动下取得了一些成功,但它从未像我们希望的那样成为网络安全的主要范例。 可以说,面向操作的,螺栓连接的网络安全方法在今天和那时一样普遍。

但是,我相信DevOps运动是新的沃土,可以从中重生,重命名和重塑内置安全性概念。 敏捷运动就是要打破业务分析师和质量保证孤岛,并使开发团队对这项工作负责。 DevOps运动通过让开发团队负责其产品在生产中的行为方式来延续这一趋势。 从那里飞到负责安全性的开发团队还差得远。

我相信DevOps运动是一种新的沃土,可以从中重生,重命名和重塑内置安全概念。

因此,在这篇文章中,我介绍了DevSecOps宣言的价值。

  • 建立安全性 不仅仅 局限于安全性
  • 安全专家 依赖授权的开发团队
  • 安全实施功能 远胜于安全功能
  • 使用工具作为反馈,以学习 更多的阶段结束阶段的门
  • 建立在文化变革之上而 不是政策执行

尽管右侧列出的内容有价值,但左侧列出的内容却具有更多价值。

建立安全性 不仅仅 局限于安全性

将高度安全的银行金库门固定到建筑物的任何旧房间中并不是很安全。 坏蛋只会破墙而入。 从一开始就设计了一个真正安全的应用程序,它对日常功能(安全墙)和对安全功能(如加密,身份验证和授权)(安全门)的重视程度一样。

安全专家 依赖授权的开发团队

当开发人员负责其应用程序在生产中的行为方式(包括安全隐患)时,他们会做出根本不同的优先级决策。 当操作出现问题时,他们可以忽略很多,但是一旦开发人员在周六开始召集响应事件,就会发生转变。 在周一的计划会议上,您会听到他们说:“我知道操作团队多年来一直在要求这样做,但是如果我们仅在日志中保留这些额外的信息,我本可以解决周末的事件在很短的时间内。”

安全实施功能 远胜于安全功能

当您向开发人员提及“安全性”一词时,他/她会立即想到诸如加密,身份验证,授权等安全性功能。DevSecOps宣言的这一节提醒您,您需要注意所有安全性。您的代码。

使用工具作为反馈,以学习 更多的阶段结束阶段的门

最好的安全测试工具在应用程序中发现的潜在漏洞不超过20%到30%。 如果使用它们控制发布到生产中,那么您仍然在运输时还剩下70-80%的漏洞。 但是,如果您尽早使用该工具作为开发人员的反馈机制,那么他们将学习如何编写无漏洞软件。 随着这种学习的传播,您最终将最终产生出更加安全的代码。

基于文化变革, 而不是政策执行

安全机构认为,他们只有一个杠杆,更好的政策和更多的牙齿。 但是,策略经常被忽略,并且“有齿策略”方法鼓励开发团队从该安全机构隐藏信息和应用程序。 他们以前的节省之处是,他们可以拒绝让应用程序不通过而进入生产环境,但是随着DevOps的发展,他们不再拥有这种机制。 此外,如果您坚持采用最不常见的分母政策,那么几乎没有什么比该最低标准更好的了。 另一方面,如果您假设开发团队希望达到最佳状态,而他们只是需要帮助来了解如何做到这一点,那么您将创建一个完全不同的动态。 突然间,安全主管正在帮助而不是监管开发团队。

信用:Comcast的“内置安全性宣言”和“安全开发生命周期”倡议原则是此DevSecOps宣言的灵感来源。