当前位置: 首页 > 科技观察

借力DevOps东风,DevSecOps有望迎来快速发展期?

时间:2023-03-17 10:46:12 科技观察

这几年,随着云计算和容器的普及,DevOps开始从互联网向传统行业渗透,并迅速普及,尤其是在金融、科技等IT和商业行业。随着DevOps的普及,DevSecOps也开始受到一些企业的关注。根据GitLab发布的2021年全球DevSecOps年度调查报告,36%的受访团队使用过DevOps或DevSecOps开发软件;而31.78%的受访团队正在使用Agile/Scrum。尤其是对于那些迁移到云平台的新兴应用,DevSecOps的应用有了更多的普及机会。Synopsys发布的《2020年DevSecOps实践和开源管理报告》也显示DevSecOps在全球范围内发展迅速,共有63%的受访者表示他们正在将一些DevSecOps活动整合到他们的软件开发计划中。DevSecOps的吸引力很大程度上源于企业对软件安全、软件质量和软件生产灵活性的需求。在日益激烈的市场竞争压力下,企业的这些需求将更加强烈。因此,DevSecOps未来的发展前景普遍被看好,尤其是在DevOps越来越火的情况下。为什么我们需要DevSecOps?DevSecOps与DevOps的区别在于前者比后者多了“Sec(Security)”。其实,两者的区别还体现在“安全”上。简单来说,当Security融入到DevOps体系中,人人都是安全官。这就是DevSecOps。众所周知,DevOps颠覆了传统的瀑布流模式。它打通了开发和运维之间的联系,让两者能够顺畅地沟通、协作和集成,进而通过自动化、持续迭代和持续集成实现软件的快速开发。迭代并交付。不过这个过程与安全关系不大,基本不涉及软件安全。也就是说,按照传统流程,软件安全评估还处于软件交付的最后阶段。这导致软件安全检查和评估要么被忽略(由于交付时间压力),要么软件被迫延迟,从而降低DevOps的效率。根据DevSecOps社区发布的一份调查报告,虽然安全被认为非常重要,但近一半的开发者承认,他们连续三年基本没有时间处理安全问题。另一方面,相对于运维人员的短缺,开发团队中的安全人员更是稀缺。DevSecOps的目的就是试图改变这种现状。DevSecOps通过在DevOps流程的每个阶段或检查点嵌入安全检查,消除了DevOps和安全性之间的障碍,从而更快、更安全地生成高质量代码。DevSecOps是在软件开发生命周期(SDLC)的早期引入安全,目标是让参与SDLC的每个人都对安全负责,以开发更安全的应用程序,让业务、技术和安全协同工作,开发更安全的软件。DevSecOps的好处是提高开发团队的开发效率,同时提高软件安全性,缩短交付时间,尽快将产品推向市场。例如,由于DevSecOps将安全集成到最初的开发过程中,而不是等到最后才进行安全检查,安全专家也不必等待开发周期完全完成,这两个因素进一步加快了产品交付。其次,由于DevSecOps让每个人都成为安全员,在软件开发初期就将漏洞的发现融入到开发过程中,从而降低了修复的难度和成本,从业务角度来说,越安全的软件是,它越安全。好在越有利于后续的营销,从而提高软件的盈利能力。另一方面,由于DevSecOps将开发、运维和安全团队聚集在一起共同应对安全问题,培养出跨团队协作的精神,非常有助于产生更快、更有效的安全响应策略,有利于构建更强大的安全设计模式。让DevSecOps真正落地DevSecOps是在DevOps落地的前提下部署的。与DevOps一样,它非常重视协作。它需要更改人员的密钥、调整流程并利用自动化工具。其中,企业转向DevSecOps最大的阻力来自于企业文化。一般来说,开发团队不愿意改变自己的开发流程,更愿意继续沿用传统的开发方式。另一方面,DevSecOps特别强调统一开发人员和安全人员,共同建立协作环境。然而,这两个团队之间始终存在一定程度的摩擦,甚至认为对方总是与自己作对,这直接违背了DevSecOps的核心原则。只有改变这种状况,DevSecOps文化才能在组织内得到落实和开花结果。许多公司在引入DevSecOps时面临的另一个共同挑战是认为安全会减慢软件开发甚至阻碍创新。为了满足业务需求和争夺业务,开发者希望不断加快代码交付速度。然而,安全团队的核心重点是确保代码安全,而这两个截然不同的目标使得团队之间很难相互理解并协同工作。此外,安全人员短缺也可能影响DevSecOps的实施。前面提到,在发展过程中,安全人员相对短缺,而就业界而言,相对于严峻的安全形势(不断爆发的安全漏洞和攻击),安全人员也不足。根据Cyber??securityVentures发布的一份报告显示,2021年全球网络安全职位空缺将多达350万个。因此,安全专家短缺很可能是很多中小开发团队面临的问题。DevSecOps实施的另一个问题是自动化工具仍然需要优化和丰富。与DevOps一样,DevSecOps也严重依赖自动化工具,这需要工具来构建脚本、编译源代码和扫描软件漏洞。一个好用的自动化工具,不仅应该提供各种强大的功能和丰富的插件库,还应该有多种易于使用的用户界面,其中一些甚至可以自动检测有漏洞的库并及时替换。.目前自动化工具主要是开源的,这些工具的易用性和安全性还有很大的提升空间。然而,尽管DevSecOps在落地的过程中还存在种种障碍,但在提高软件质量、提高软件安全、缩短交付周期的压力下,DevSecOps作为满足这些需求最有效的方式之一,已经被认可和接受.部署应该是预期的。显然,这种需求越强烈,DevSecOps就越有望迎来自己的快速发展期,相信不会太远。