DevSecOps实践加速安全软件开发
随着软件开发行业对人才和预算的竞争不断加剧,DevSecOps已经成为高级技术领导人的通用术语。DevSecOps只是一种实践,它将DevOps和安全操作的概念结合到一个内聚的策略中,旨在改进开发人员的工作方式。但是DevSecOps对您的组织真正意味着什么呢?你如何从这种日益流行的做法中受益?
在本文中,我们将探讨准备好devsecops意味着什么,以及为什么对于那些认真考虑将其安全策略提升到下一个级别的组织来说这很重要。
为什么需要DevSecOps?
DevSecOps是必要的,因为安全性不再仅仅是一个遵从性问题。安全是一个商业问题,不仅仅是因为如果你不符合行业监管机构设定的标准,你可能要支付罚款。在满足某些安全需求的情况下开发软件也是一种竞争优势,而在不满足这些需求的情况下则是一种竞争劣势。
DevOps实践可以帮助组织实现DevSecOps,使开发人员从一开始就更容易设计安全软件,而不是事后进行昂贵的追溯修复–这在今天的许多行业中已经变得太常见了。
常见的DevSecOps实践。
- 将安全性构建到整个软件开发管道中。
- 使用威胁建模来识别漏洞。
- 使用静态分析来识别漏洞。
- 使用动态分析来识别漏洞。
- 使用笔测试(黑盒测试的一种形式)来识别漏洞,并深入了解应用程序在实际用例中的行为。
- 安全测试(白盒测试的一种形式)用于评估安全控制是否正确有效地实现,以及测试是否符合策略和标准。
在DevSecops中集成安全性的工具。
为了将安全性集成到DevSecOps流程中,您必须使用一些工具来自动化许多与安全性测试和代码审查相关联的手动任务。这些工具包括静态分析和开放源码漏洞扫描器,它们可以帮助在部署代码之前检测代码中的漏洞。
您还应该使用渗透测试工具,如Metasploit或Burp Suite,通过模拟针对应用程序的攻击来测试应用程序中特定类型的漏洞。Web应用程序漏洞扫描器,如Acunetix Web漏洞扫描器,对于在Web应用程序漏洞被黑客攻击之前检测它们非常有用。
DevSecops的人的因素。
DevSecOps是一组实践,帮助开发人员和运营团队共同工作以保护他们构建的软件。然而,DevSecOps最重要的部分(也许也是它唯一不能自动化的部分)是人的因素。这包括人们的安全知识和技能,以及他们在整个开发过程中与同事沟通安全问题的能力。它还要求公司营造一个包容的环境,让员工在提出担忧或提问时感到舒适,而不必担心报复。
教育和其他团队的支持的重要性。
DevSecOps的过程并不是一个放之四海而皆准的解决方案。它需要仔细的计划、教育和其他团队的支持,才能有效地工作。
例如,对开发人员和测试人员进行安全编码实践的教育将有助于他们更快地采用这些方法。测试人员需要明白,在漏洞被黑客利用之前,他们在发现漏洞方面扮演着重要角色。他们还需要了解安全性将如何使团队和他们个人受益(例如:通过提高工作满意度)。
很重要的一点是,在早期就传达安全性的重要性,这样每个人都能理解你为什么要这么做–以及你的公司或组织的成功看起来是什么样的。确保每个人都读过你的定义文档,这样他们就知道“安全”在你的组织中意味着什么;确保人们了解与实施这些做法有关的任何新政策或程序;必要时提供培训机会;对完成一定任务给予奖励;鼓励那些超越职责的同事;等等等等。
我们需要在整个软件开发管道中构建安全性
很多人都在谈论“DevSecops”,这是DevOps和安全性的结合。但这实际上是什么意思?
DevSecOps致力于将安全性构建到整个软件开发管道中,从最初的规划到部署以及以后。这意味着在将安全测试集成到现有的DevOps过程中发挥积极作用,这样您就可以在开发过程的早期发现问题,以免它们成为以后的问题。这还意味着使用工具和技术为服务器端应用程序代码以及任何面向消费者的web应用程序或API自动化复杂的自动化测试,然后在软件生命周期的每个阶段(从构建到生产)持续运行这些测试。
结论
为了使DevSecOps获得成功,您需要在整个软件开发管道中构建安全性。你不能在最后就把它扔了!我们还讨论了一些常见的DevSecOps实践,以及一些有助于将安全性集成到工作流中的工具。最后,我们讨论了在组织内实施DevSecOps实践时,其他团队的教育和支持是如何关键的。
- 点赞
- 收藏
- 关注作者
评论(0)