Page 59 - 《软件学报》2021年第10期
P. 59
戴启铭 等:DevSecOps:DevOps 下实现持续安全的实践探索 3031
(2) 自动化安全工具改进
DevSecOps 实践离不开自动化安全工具的支持.在 DevSecOps 流水线中集成合适的自动化安全工具,能够
显著减少人工干预,让整个项目以自动化的方式向前推进,实现对整个开发和运维过程的安全保障 [21] .而这些集
成的安全工具自身的性能和安全性,对 DevSecOps 实践的效果有着举足轻重的作用.例如,使用误报率低、漏报
率低的静态代码分析工具进行代码扫描,能够显著减少误报和漏报的数量 [88] ,安全人员不需要在无意义的误报
上浪费太多的时间和精力,而是专注于解决真正的安全问题.因此,持续改进自动化安全工具的性能也将会作为
未来的发展趋势之一,进一步受到关注.
(3) DevSecOps 流水线管理
DevSecOps 流水线是组织进行自动化安全实践的基础.在这样一条流水线中应当集成哪些安全工具、这些
安全工具需要怎样编排、如何保障流水线的安全运转等,都是组织进行 DevSecOps 实践时需要考虑的问题.部
分 DevOps 研究提出了可以通过创建信赖机制来保护流水线 [89] ,但融入了安全元素之后,DevSecOps 流水线的
管理更加复杂,在这样的新环境下,如何评估 DevSecOps 流水线的安全性、如何提高 DevSecOps 流水线中的工
作效率、如何给予 DevSecOps 流水线更全面的安全保护等相关问题,都还有待展开深入讨论.
(4) 传统安全实践改进
DevSecOps 对集成的安全实践的敏捷性提出了新的要求,云技术、容器技术的广泛应用,也给传统安全带来
了不小的挑战,很多耗时的传统安全实践已经难以适用于追求快速交付的 DevOps 开发模式中,我们亟需对现
有的传统安全实践进行改进,打造出更高效、更轻量级的安全实践方法.例如,现有的威胁建模方法相对复杂,会
在一定程度上阻碍开发的进度,打造轻量级的威胁建模技术更符合 DevSecOps 的内在要求,也正逐渐引起研究
者的重视 [90] .此外,DevSecOps 的目标是在软件开发的早期阶段发现并解决安全问题,因此,安全实践需要尽可
能地左移,但具体有哪些安全实践能够左移、这些安全实践应该具体左移到什么位置、安全实践的左移又会给
软件工程带来怎样的发展等相关问题,也有待深入研究.
(5) DevSecOps 评价体系构建
DevSecOps 实践应当能够根据一套可量化的度量体系进行标准化评估,这些指标的变化能够客观地反映
出 DevSecOps 实践的具体效果,组织也能够根据指标所反映的 DevSecOps 实践执行的具体情况采取不同的应
对措施.目前已有部分研究就这一方向展开讨论,并总结了部分可用于 DevSecOps 中的度量指标 [22] ,但这些指标
仍然需要实践的检验,也难以构建出一套完整的评价体系.尽管构建一份客观、全面的 DevSecOps 评价体系较
为困难,而一旦构建成功,将进一步提高其科学性和普适性,并加速 DevSecOps 实践的实际落地.
(6) 工程师个人能力提升
工程师个人能力相关问题研究一直是软件工程领域的研究热点之一 [91] .随着 DevSecOps 理论和实践的不
断发展,对工程师的个人能力也提出了新的要求.例如,DevSecOps 要求开发人员具备一定的安全意识和基本的
安全技能,而这些是传统要求中所不需要具备的.工程师们在适应这些新要求的同时,会给 DevSecOps 的发展带
来哪些机遇、这样的相互作用又会给软件工程的发展带来怎样的影响,这些问题在现有的研究中都尚未展开深
入讨论.在未来,对提升工程师的个人能力等相关问题的探索,也会成为一个可能的研究方向.
6 总 结
DevOps 作为一种新型的软件开发和运维模式,已广泛应用于国内外的各大软件企业中.它显著提升了团队
的 IT 服务能力,为企业带来了高效的发布和部署能力,让企业能够以最快的速度去完成产品的交付.但是随着部
署频率越来越高、迭代周期越来越短,交付的软件质量难以得到有效保障.在这样的情况下,DevSecOps 为在
DevOps 开发模式下进行安全拓展,提供了新的方法和思路,它成功地将安全与 DevOps 紧密结合,兼顾了软件开
发的敏捷性和安全性,发展并丰富了 DevOps 相关理论研究内容,进一步提高了 DevOps 相关理论的有效性和普
适性.
本文从背景、特征、实践、裨益以及挑战这 5 个方面系统地阐述了 DevSecOps 的理论和实践现状,弥补了