安全性只是辅助效果?解读DevSecOps的核心动机
DevSecOps背后的思想仅是对DevOps的扩展。就像开发人员以瀑布式开发风格将项目扔给运营团队以使其在生产中工作一样,即使使用“ DevOps”,安全性也与应用程序开发或运营完全分开。
DevSecOps一词通常与“向左移动安全性”结合使用。这意味着应用程序的开发人员应在设计时考虑安全因素,而不是将其单独留给安全团队。似乎大多数人自然而然地将注意力集中在DevSecOps方法,如何着重于将安全性集成到开发过程中,特别是CI / CD管道,但人们也可能会说DevSecOps也涉及“转移权利”。
容器安全公司Snyk的创始人Guy Podjarny说:“这是一个概括性的术语,就像DevOps一样,适用于我们如何构建和分类以及运输和交付软件,以及如何在运行时对其进行分类。”
为什么采用DevSecOps?
相对忽略运营和安全性如何组合的原因是,大多数人从迁移到DevSecOps时获得的最大好处既不是提高安全性也不是提高可靠性。在大多数情况下,组织似乎采用DevSecOps的原因与更快地将应用程序推向市场有关。换句话说,是为了满足与DevSecOps团队开发人员通常相关的激励措施。
“我认为已经成功完成DevSecOps的组织能够将产品,新产品,新功能交付市场,比竞争对手快得多。” Palo Alto Networks公共云首席安全官Matt Chiodi解释说。“有纯粹的商业利益。”
红帽 OpenShift产品经理Kristen Newcomer表示,她发现公司通过采用DevSecOps,将部署周期从38周转移到了7周。
在传统的安全设置中,安全团队通常不会检查代码,直到代码已经遍及整个开发流程为止。发现问题后,安全团队将把项目以及要修复的问题列表发送给开发人员。漫长的反馈循环减慢了项目的交付速度,同时也加剧了安全与开发人员之间的紧张关系。
在实践中,将安全性分开还可以使安全性问题更容易进入生产环境。Chiodi说:“大多数组织花费80%或更多的时间在运行阶段。” “当安全性在构建,发布和运行过程中平均分配时,您最终会减少很多的漏洞,然后这些漏洞会在运行时出现。”
但是,在接受采访的安全专家中,似乎已经达成共识,即改善组织的安全状况不是采用DevSecOps的核心动机,而是令人意想不到的辅助效果。
正确设置DevSecOps
哪个组织不希望更快,更安全地交付应用程序?许多新公司从一开始就采用DevSecOps方法,但是要成功建立起大型组织的DevSecOps并不容易。从DevOps迁移到DevSecOps可能至少与从瀑布式迁移到DevOps一样具有挑战性。
“我所见过的在DevSecOps上真正成功的团队在执行层得到了认可,” Newcomer解释说。DevSecOps需要重大的文化变革,并涉及对每个参与人员激励措施的转变。如果没有高层的支持,DevSecOps要求的文化变革可能无法实现。
集装箱安全公司StackRox的产品负责人Hillaryaryson解释说:“ 每当您必须改变人们的思维或行动方式时,这将是最艰难的战斗。” “而且,关于如何获得DevSecOps必杀技,还没有真正的既定蓝图。”
改变安全性的角色
Newcomer说:“安全是No团队的声誉。” DevSecOps的目标是改变这种动态,以使安全性不再是部署路径上的障碍。但这涉及更改安全专业人员的工作方式。
首先,DevSecOps需要高度的自动化。安全团队根本不应该运行手动测试,而应该将测试集成到CI / CD管道中,应该在没有安全专业人员干预的情况下获得有关应用程序或功能的安全风险的反馈。
相反,在DevSecOps模型中,安全团队的作用是创建安全策略,帮助开发人员和操作员了解安全自动化工具和服务器作为顾问的输出。开发人员不需要成为安全专家,但是他们确实需要变得对安全性更加了解。毫无疑问,安全专业人员还必须更加熟悉基础架构和软件开发。
这并不总是一条容易走的路。Benson解释说:“如果您是安全专业人员,并且花了很多时间来学习这些技能,那么对于进入使您学习完全不同的技能的东西,您可能不会感到非常兴奋。”
统一激励措施
DevSecOps的主要挑战之一是,它涉及将以不同方式激励的团队召集在一起。开发人员希望快速推出新功能,安全团队希望解决每一个潜在的安全风险,运营商希望获得超级可靠的应用程序。
这种紧张局势是成功收获DevSecOps所必须获得高层支持的核心原因之一。即使将安全性集成到DevOps团队中,共享KPI还是很重要的,这些KPI汇集了团队中每个人的传统目标。
但是,谁最终对安全负责呢?这是一个棘手的问题。有些人认为安全性仍然应该是安全专业人员的责任,有些人认为责任应该转移给开发人员,而其他人则认为这应该是每个人的责任。当然,“每个人的责任”的风险在于,安全不会成为任何人的责任。
如何衡量DevSecOps的成功?
考虑到大多数公司采用DevSecOps的动机,因此开发速度是DevSecOps成功的关键指标就不足为奇了。使用开发指标的另一个优势是:很难增加安全性。
Benson解释说:“特别是在安全性方面衡量任何事情的困难之处在于,您有点在衡量反事实。” “如果什么都没有违反,这意味着您做得很好,或者这意味着您很幸运。”
但是,如果DevSecOps至少在文化转型方面与在技术方面同样重要,那么用组织指标衡量成功的意义就至少一样重要。例如:安全专业人员是在花费时间自己运行测试还是在为DevOps团队创建或配置工具来使用?安全专家在提出建议时是否了解并考虑了功能的业务原理?开发、安全性和操作之间多久通信一次…… ……
安全性只是辅助效果?解读DevSecOps的核心动机的更多相关文章
- 外媒解读Web安全核心PKI的四大致命问题
Web安全的立足根基在于复杂的PKI部署体系,但实际生活中得到正确部署的比例却非常有限,而且这一切都将随着摩尔定律的滚滚洪流灰飞烟灭. 我个人算是PKI(即公共密钥基础设施)的忠实拥护者.我热爱数学与 ...
- 深度解读 - Windows 7核心图形架构细致分析(来自微软)
编辑:马志文 时间: 2009-12-29 如现在大家所想的那样, Windows7 其实是 Windows Vista 的改进版. Windows 7 在 Windows Vista 的基础上进行了 ...
- 用js实现动画效果核心方式
为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...
- Redis核心解读(转)
原文:Redis核心解读 Redis是知名的键值数据库,它广泛用于缓存系统.关于Redis的信息已经不用我多介绍了.这个系统的Redis文章主要从另外一个角度关注,Redis作为一个开源项目,短短2W ...
- ThreadPoolExecutor源码解读
1. 背景与简介 在Java中异步任务的处理,我们通常会使用Executor框架,而ThreadPoolExecutor是JUC为我们提供的线程池实现. 线程池的优点在于规避线程的频繁创建,对线程资源 ...
- 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】
早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...
- fastclick.js源码解读分析
阅读优秀的js插件和库源码,可以加深我们对web开发的理解和提高js能力,本人能力有限,只能粗略读懂一些小型插件,这里带来对fastclick源码的解读,望各位大神不吝指教~! fastclick诞生 ...
- 详解Tomcat核心配置、http协议
Tomcat服务器 Tomcat配置与部署(IDEA) https://www.cnblogs.com/gonghr/p/14731266.html Tomcat手工创建和打包第一个Web工程 在ap ...
- Material Design Reveal effect(揭示效果) 你可能见过但是叫不出名字的小效果
Material Design Reveal effect(揭示效果) 你可能见过但是叫不出名字的小效果 前言: 每次写之前都会来一段(废)话.{心塞...} Google Play首页两个tab背景 ...
随机推荐
- 经过踩坑,搭建成功的Appium自动化测试环境
因为最近本人准备搞app自动化,所以就搭建环境过程记录下来(主要踩过好几个坑) 期间有点烦躁,后面调整了下心态还是成功弄好了. 一.Appium环境搭建准备软件 所需要到的软件如下: 1.安装JDK1 ...
- redis系列之4----redis高级应用(集群搭建、集群分区原理、集群操作)
文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...
- HDU1300Pearls
传送门 描述: 有几种不同的珍珠.每种珍珠都有它的单价.当然质量高的珍珠价格一定也是高的. 为了避免买家只买1个珍珠.就要求不论是买了多少个珍珠都是需要在购买数量上加10.之后乘上单价. 例如:买5个 ...
- css3的 calc属性无效问题解决
css3的 calc:计算属性. 运算符两边需要加空格,才有效. 错误示例:.mystyle{width:calc(100%-25px)}这样是不生效的 运算符"+ - * /"左 ...
- HMM-前向后向算法理解与实现(python)
目录 基本要素 HMM三大问题 概率计算问题 前向算法 后向算法 前向-后向算法 基本要素 状态 \(N\)个 状态序列 \(S = s_1,s_2,...\) 观测序列 \(O=O_1,O_2,.. ...
- go 函数 方法 接口
概论 函数 方法 接口 概论 方法在编译时静态绑定,依托于具体的类型 接口对应的方法是在运行时动态绑定 进程内初始化顺序 初始化导入包的常量和变量(可以导出的变量)--->包的init函数,不同 ...
- Android 仿百度手机助手首页滑动效果
今天看到百度手机助手首页上的滑动效果非常nice,主要功能归结为: 1.当手指上划时,顶部搜索栏随手指移动距离而缩小到隐藏,隐藏后内容还是可以继续移动 2.手指下滑时,当显示内容达到第一个时,顶部搜索 ...
- PHP EOF使用说明
PHP EOF(heredoc) 使用说明 PHP EOF(heredoc)是一种在命令行shell(如sh.csh.ksh.bash.PowerShell和zsh)和程序语言(像Perl.PHP.P ...
- UVA 11651
题目链接:https://cn.vjudge.net/problem/UVA-11651 解题思路: 思路来源于网络. DP + 矩阵快速幂. 设 dp[i][j] 为满足 score 为 i 且最后 ...
- A + B Problem(hdu1000)
注意,认真读题目的Input要求,看看是输入一组测试数据还是输入多组测试数据.输入多组数据,不要忘记while(). #include<iostream> using namespace ...