DevOps(Sec)可以使软件更安全吗?

在RSA上,今年有很多关于DevOps和安全性的话题:DevOpsSec或DevSecOps或Rugged DevOps或任何人们想称呼它的人。 其中包括会议开幕前的全天DevOps研讨会,以及整个会议期间的几次讲座和讲习班,试图证明DevOps不仅是要更快地交付软件,而且还要使软件更好,更安全。 DevOps不仅适用于云,而且可以在企业中使用。

坚固的DevOps

Rugged DevOps的故事基于一些核心思想:

更频繁地进行较小的更改可降低复杂性。 较小,较不复杂的更改更易于编码,测试和审查,并且在出现问题时更易于排除故障。 这将导致更安全的代码: 较不复杂的代码具有较少的错误 ,而具有较少错误的代码也具有较少的漏洞

如果您要更频繁地交付代码,则需要自动化和简化测试和部署工作。 标准化,可重复和自动化的构建和部署管道以及内置的测试和检查功能,使您可以更快,更自信地推出更改,这在尝试修补关键漏洞时非常重要。

并且使用自动部署管道进行所有更改(对应用程序代码和配置的更改以及对基础结构的更改),可以更好地控制更改。 您知道在每个系统上更改的内容,更改的时间和对象,并且可以将所有更改追溯到版本控制系统。

但是,这意味着您需要重新工具和重新考虑部署和配置管理的方式,这就是为什么如此多的供应商(不仅是Opscode和Puppet Labs,而且是像IBM这样的经典企业供应商)对DevOps如此兴奋。

DevOps安全测试问题

您还需要重新设计和重新考虑如何进行测试,尤其是系统测试和安全性测试。

在DevOps中,通过持续交付或特别是持续部署到生产环境,您没有“ 强化冲刺 ”,可以在部署代码之前安排笔测试或深度扫描或审核或操作审核。 相反,您必须进行安全测试并分阶段检查,因为已签入更改。 支持增量检查的静态分析引擎可以在这里工作,但是我们今天依赖的大多数其他安全扫描和测试工具将无法跟上。

这意味着您需要编写自己的安全测试。 但这提出了一个严重的问题。 谁来编写这些测试?

Infosec? 今天, 全球已经缺乏了解应用程序安全性的人员。 这些人中的大多数-不在咨询公司或工具供应商中工作的人-忙于进行风险评估和运行扫描,并通过开发来扩大结果以修复漏洞,或者可能进行安全的代码审查或帮助进行威胁建模在少数更高级的商店中。 他们没有时间或通常没有技能来用Ruby或您选择的任何自动化测试框架编写自动化安全测试。

质量检查? 如今在越来越多的商店中,尤其是遵循Agile或DevOps方法的商店中,QA中没有任何人,因为经过测试清单的手动测试人员无法跟上,因此开发人员有责任进行自己的测试

当涉及安全测试时,这是一个问题。 大多数开发人员仍然不具备应用程序安全性知识,无法理解如何编写安全代码,这意味着他们对安全性的了解也不够,无法知道需要编写哪些安全测试。 在Gauntlt中编写自动攻击(据我所知,与使用Gauntlt编写测试相比,更多的人在谈论Gauntlt)与在JUnit中编写快乐的路径自动化单元测试或在Selenium或Watir中编写由UI驱动的功能测试大不相同。 。

因此,我们不应该对DevOps中的自动化安全测试抱有太大期望。 持续交付管道中没有足够的时间进行深度扫描或全面的模糊测试,尤其是如果您想每天或每天多次部署,并且我们不会从用Gauntlt或Mittn编写的一些自动化安全测试中获得真正的覆盖。

但这没关系,因为DevOps可以迫使我们改变思考的方式以及应用程序安全性的方式,就像敏捷开发改变了我们大多数人设计和构建应用程序的方式一样。

DevOpsSec –推动变革的因素

敏捷开发促使开发人员彼此之间以及与客户之间更加紧密地合作,以了解实际的需求和优先级并响应需求和优先级的变化。 它还促使开发人员对代码质量承担更多责任,并通过诸如TDD和无情的自动化测试之类的方法来确保其代码确实达到了预期的效果。

DevOps再次推动开发人员,这次是与操作和信息安全部门更紧密地合作,以了解使他们的代码安全,灵活和高效所需的条件。 并且它促使开发人员承担使他们的代码在生产中正确运行的责任:

“您构建它,运行它”

亚马逊CTO Werner Vogels

在安全性方面,DevOps可以对应用程序安全性进行根本性的改变,从“先检查后修复”到切实可行的工作:从一开始就建立安全性,以发挥最大作用。 但是要成功,很多事情都必须改变:

开发人员需要更好的appsec技能,并且需要与ops和infosec进行更紧密的合作,以便他们可以了解安全和操作风险并了解如何主动应对它们。 在需求和设计中更多地考虑安全性和可靠性,了解其语言和框架的安全功能并正确使用它们,编写更仔细的代码并更仔细地检查代码。

经理和产品负责人需要给开发人员一些时间来学习和建立这些技能,还需要时间进行设计思考和进行适当的代码审查。

Infosec需要变得更加迭代,更加敏捷,向前发展,以便在开发人员采用新平台和新技术(云,移动,物联网等)时,他们能够了解不断变化的风险和威胁。 这样一来,他们就可以帮助开发人员设计和编写工具,测试和模板,而不必准备清单,从而执行Intuit所谓的“安全性代码”

DevOps并未使软件更加安全-尚未。 但是,如果它改变了开发人员设计和构建软件的方式以及我们大多数人对安全性的思考方式,那么它可能会改变。

翻译自: https://www.javacodegeeks.com/2015/05/can-devopssec-make-software-more-secure.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值