如果有人提问:”在这个时代下,是什么在改变技术生态?”,得到的答案可能是物联网(IoT),人工智能(AI),机器人技术或一些即将出现的新事物。 但对于那些亲历了技术持续迭代的人们来说,下一个新事物并不只是抽象的概念,而是一种可推动着当下的”应用驱动型”全球经济的方法,它就是DevSecOps(开发,安全和运营的简称)。近日,F5亚太地区安全专家Shahnawaz Backer在一篇技术博客中,分享了基于DevSecOps实现安全性的理念。
知名调研机构Infoholic Research的研究结果表明,未来几年内,全球DevSecOps市场有望在亚太地区市场,尤其是中国、新加坡,日本和印度获得增长,这也反映了DevSecOps平台与日俱增的关注度。
DevSecOps提倡从一开始就将安全性集成到开发工作流程中。换句话说,DevOps将软件开发和操作融合在一起,将消除孤岛当作一种文化,从而可以快速改进并提升性能。
“安全性设计”原本被认为是技术提供商经常过度宣传的概念,也因而屡遭疑议。而在DevSecOps平台中,安全性从根本上得以实现。
DevSecOps在DevOps领域中处于什么位置?
F5认为,DevOps需要一种新的思维模式来拥抱这种软件开发的新方法。DevSecOps是一种方法论,要求从业者在持续集成和交付(CI/CD)过程中优先考虑安全性。现实情况是,许多开发人员并不是安全专家,反之亦然,许多安全专家也不做开发工作。
那么,安全如何得以更好地集成到软件开发的全生命周期(SDLC)中去呢?F5安全专家指出,在DevOps环境下,应用的开发通常是个快节奏且动态的过程。对于这个问题,还需要借助那些用来帮助组织跟上进度的安全测试工具和最佳实践。
如今,企业面临的应用程序环境变得越来越复杂,应用程序的更新迭代从每年更新一次,到如今的几乎每天都在进行更新,节奏被极大地提高了。由于DevSecOps流程并不总是那么简单,IT部门需要深入研究其通道,以了解信息的类型和随后可能出现的潜在漏洞,进而获得成功的衡量标准。
DevSecOps要求确保IT安全和应用程序安全成为每个人的职责,从使用的安全测试工具,到让安全团队从早期便加入到与客户的沟通中,都体现出它贯穿全生命周期的要求。
安全与速度的挑战
DevOps从业者在初涉DevSecOps时遇到的另一个问题是速度问题。比如,当部署应用程序安全工具(AST)时,IT团队通常希望留有充裕的时间用以执行,以确保其可靠性。然而,这对于对速度和敏捷性有要求的组织来说,就会成为一个小缺憾。组织需要考量并尽量减少时间成本带来的影响。
还有一些实际问题,比如,确保工具和技术在容器中的工作状态达到最佳效果,甚至确保所使用的AST工具不会对容器的可拓展性带来负面影响。然而,如果AST工具的图像占用空间很大,或者依赖于必须将数据存储在容器中,就可能会发生这种情况。但是,AST工具的运行也需要时间,并且它们会降低整个CI/CD通道的速度。
有趣的是,CI/CD通道其实从来没有在概念上将安全性列为首要考虑的性能,而是更多的考虑速度和便利性。随着DevSecOps概念和方法的引入,开发过程中的每个人都有责任确保安全。然而,这会导致开发速度缓慢,因而,这种方法就被视为创新的拦路虎。其实,只有将安全性放在首位,IT组织才可以避免因安全威胁而造成的损失和损害。
最后,F5安全专家提醒,借于DevOps快速迭代的特性,人们应该关注其改进的速度,并将安全性作为一个”必备的特性”。因为时至今日,安全已经不再只是一个”关键性能”。在DevOps和DevSecOps充分融合之前,后者将在各种环境下充当临时分支,以突出安全性在应用程序开发中的作用。