Page 57 - 《软件学报》2021年第10期
P. 57
戴启铭 等:DevSecOps:DevOps 下实现持续安全的实践探索 3029
工作流状态和性能指标,安全人员也能够确切地知道任何他们需要的信息 [73] .
密钥管理
在企业中进行诸如令牌、密钥、证书、密码等敏感信息管理和保护 [60] ,是保障信息安全、防止企业安全威
胁的有效手段之一.因为 DevOps 的敏捷性要求,很多敏感信息会对团队中的所有成员可见,这就不可避免地提
高了敏感信息泄露、面临内部攻击等风险.Microsoft [68] 、CloudBees [74] 、IBM [75] 等公司均将密钥管理纳入
DevSecOps 安全实践编排中的重要一环,以保障敏感信息的安全性.但对敏感信息的管理和保护并非易事:如果
管理过于严格,会增加项目实施的复杂度,进而拖慢项目的进展;如果管理过于宽松,则可能会增加相应的安全
风险.为了对敏感信息进行必要的管理,DevSecOps可以借助集中化的敏感信息管理工具,如 Vault 等工具来对这
些信息进行必要的管理和权限控制,让具有不同权限的账户对不同的敏感信息有不同程度的可见性 [73] .
4 DevSecOps 的裨益与挑战
DevSecOps 的应用会为企业带来多方面的影响,我们基于经验对整理得到的裨益和挑战进行了归纳总结,
如图 9 所示.具体阐述如下.
Fig.9 Map of DevSecOps benefit and challenge
图 9 DevSecOps 的裨益与挑战导图
4.1 DevSecOps裨益
企业落地 DevSecOps 安全实践可以为企业带来多方面的好处.
首先,应用 DevSecOps 可以提高企业的安全开发效率,让他们有更多的时间和预算来实现安全生产的
目标 [21] .在 DevSecOps 中,安全性被看作是 DevOps 过程的一个组成部分,增强了整个软件交付流水线
的安全自动化,确保了软件发布的质量.同时,在这样的流水线中,安全漏洞也被视作软件缺陷,开发人
员和测试人员都可以在早期介入安全漏洞发现和消除的过程,这种消除时机的提前可以为企业节省
资金和时间成本 [76] ;
[7]
其次,DevSecOps 将安全概念融入到 DevOps 中,它提倡一种安全文化 ,成功地在开发人员、运维人员
和安全人员之间架起了沟通的桥梁 [61] ,以消除不同团队之间的交流隔阂,促使达成团队之间更多、更好
的合作 [77] .在这样的文化氛围中,更有助于提升不同团队成员的安全意识和安全能力,让他们能够主动
地进行安全防范和安全控制,而不仅仅是被动地进行漏洞的修复 [21] ;
第三,DevSecOps的应用可以提升软件组织的安全成熟度以及它们所开发的软件质量.DevSecOps具有
快速响应安全需求变化的能力.它可以让开发人员专注于编写高质量的安全代码,使得团队可以发布
更安全的应用程序.同时,DevSecOps 也支持更多类型的自动化构建、自动化安全测试和自动化安全监
控 [78], 这些自动化的方法让软件开发的整个流程更加安全、高效;
此外,应用 DevSecOps 还有其他一些方面的好处,譬如使软件组织的业务更活跃等.在 DevSecOps 所营