DevSecOps和敏捷软件开发之间有什么区别
两个系统之间的主要区别归结为一个简单的概念:安全性。
导读:两个系统之间的主要区别归结为一个简单的概念:安全性。
技术社区中存在一种趋势,即可以互换地使用术语DevSecOps和敏捷开发。尽管存在一些相似之处,例如两者都旨在尽早发现风险,但也存在一些差异,这些差异会极大改变每种风险在组织中的工作方式。
DevSecOps建立在敏捷开发的一些原则上。但是,DevSecOps尤其专注于集成安全功能,而敏捷则专注于交付软件。
知道如何保护您的网站或应用程序免受勒索软件和其他威胁的侵害,实际上取决于您使用的软件和系统开发。您的需求可能会影响您选择使用DevSecOps,敏捷开发还是两者皆可。
DevSecOps和敏捷之间的区别
这两个系统之间的主要区别归结为一个简单的概念:安全性。根据您的软件开发实践,您公司的安全措施以及何时、何地以及由谁实施,这可能会大不相同。
每个企业都需要IT安全性来保护其重要数据。如果企业真正重视IT安全,则应采取虚拟专用网(VPN)、数字证书、防火墙保护、多因素身份验证、安全的云存储以及向员工介绍基本的网络安全措施。
当您信任DevSecOps时,就意味着可以保护公司的安全,并从本质上使其等同于持续集成和交付。DevSecOps方法论在开发之初就强调安全性,并使其成为整体软件质量不可或缺的组成部分。
这是由于DevSecOps安全性的三大原则:
1.平衡用户访问与数据安全性。
2.使用VPN和SSL加密数据,以防止数据在传输过程中受到入侵者的攻击。3.使用可以扫描新代码的安全漏洞并通知开发人员该漏洞的工具来预测未来的风险。
尽管DevOps一直打算包含安全属性,但并非每个实践DevOps的组织都牢记这一点。这就是DevSecOps作为DevOps的演进可以提供清晰性的地方。尽管它们的名称相似,但不应混淆两者。在DevSecOps模型中,安全性是组织的主要驱动力。
同时,敏捷开发更专注于迭代开发周期,这意味着反馈不断集成到持续的软件开发中。敏捷的主要原则是拥抱不断变化的环境,以为客户和客户提供竞争优势,与开发人员和利益相关者紧密合作,并在整个过程中始终保持技术卓越的重点,以帮助提高效率。换句话说,除非敏捷团队在其卓越定义中包括安全性,否则安全性是敏捷中的事后想法。
国防机构面临的挑战
如果有专门致力于最大程度的安全性组织,那就是美国国防部。国防部于2018年发布了软件开发中的“虚假敏捷”或“仅敏捷名称”指南。该指南旨在警告国防部高管有关编程不正确的问题,并说明如何发现它以避免风险。使用这些方法不仅可以使国防部受益。医疗保健和金融部门还维护着大量必须保持安全的敏感数据。
国防部通过其现代化战略(包括采用DevSecOps)来改变警卫状态至关重要。这在国防部甚至容易受到黑客攻击和数据泄露的时代尤为相关,这一点在2020年2月的大规模数据泄露中得到了证明。
将网络安全最佳实践转化为现实发展还存在固有的风险。事情不可能100%完美地进行。最好的情况是不舒服,最坏的情况下,它们可能会带来全新的风险。
开发人员,尤其是那些从事军事软件代码工作的开发人员,可能对应该使用DevSecOps的所有上下文没有全面的了解。学习曲线会很陡峭,但是为了获得更大的安全性,这些都是必不可少的痛苦。
自动化时代的新模式
为了解决对先前安全措施日益增长的担忧,美国国防部承包商已开始评估DevSecOps模型。关键是将方法论部署到连续的服务交付环境中。可以通过三种方式发生这种情况。首先涉及自动化,自动化已在大多数隐私和安全工具中使用,包括VPN和增强隐私的移动操作系统。大型云基础架构中的自动化无需依赖于人为的制衡,而是可以处理持续的维护和安全评估。
第二个元素涉及到如何过渡到DevSecOps作为主要安全检查点。传统上,系统设计时零期望当数据在各个组件之间移动时可以访问。
最后一个元素涉及将公司方法用于军事软件开发。美国国防部的许多承包商和雇员来自商业领域,而不是军事领域。他们的背景为他们提供了为大型企业提供网络安全的知识和经验,他们可以将其带入政府职位。
值得克服的挑战
切换到基于DevSecOps的方法提出了一些挑战。在过去的十年中,许多组织已经完全重新设计了其开发生命周期,以适应敏捷的开发实践,并且在不久之后再次进行切换似乎令人生畏。企业应该安心,即使美国国防部也遇到了这种过渡带来的麻烦,并且他们并不孤单地推出新流程以使商业技术和工具更容易获得的挑战。