Page 55 - 《软件学报》2021年第10期
P. 55

戴启铭  等:DevSecOps:DevOps 下实现持续安全的实践探索                                            3027


                 它应当以规约即代码(compliance as code)的形式      [39] 作为 DevSecOps 日常自动化监控不可或缺的一部分.
                       舆情监控
                    软件正式部署上线后,很多安全漏洞通常是在生产环境下被发现并进行漏洞信息分享的.因此,企业需要密
                 切关注各大网站、论坛中关于安全问题和安全动态的讨论,在未发现的安全漏洞被利用之前,尽快完成自检和
                 修复工作.企业也应当积极加入诸如 FIRST(Forum of Incident Response and Security Teams)这样的全球安全事
                 件响应组织,通过社区间的安全信息共享和相互协作,进一步提高自身服务的安全性能.
                    监控阶段是一个持续的过程,在这个过程中应用安全实践是确保产品稳定运行的必然要求.通过对提供服
                 务的产品进行自动化的监控,运维人员可以及时了解产品的运行状态,并对发现的问题进行及时的修复或整理,
                 进而产生新的需求并反馈到 DevOps 流程的计划阶段,开始新的一轮迭代过程.
                 3.2   通用实践

                    在 DevOps 各个阶段的早期集成安全实践,是“安全左移”的重要表现形式,它能够帮助组织更早、更快地发
                 现并解决安全问题.然而,DevSecOps 的落地并不只是体现在对原有 DevOps 流程上的改进,它还要求组织在内
                 部建立一种安全文化,使得开发、运维和安全团队能够高效地协同工作,实现快速、安全的产品交付.为实现这
                 一目标,组织需要落地一系列相关实践来调整自身的组织结构和管理流程.由于这些实践的适用范围并不局限
                 于软件开发生命周期中的某个特定阶段,我们将其统称为通用实践.如图 8 所示,根据实践性质的差异,我们将通
                 用实践又进一步分为协作实践和过程实践.























                                               Fig.8    DevSecOps general practice
                                                 图 8   DevSecOps 通用实践
                 3.2.1    协作实践
                    协作实践旨在消除团队之间的沟通壁垒,促进团队及其成员之间的相互协作                            [31] .它强调组织在自身的结构
                 和文化上进行调整.实施协作实践能够帮助团队成员更好地进行经验交流,充分理解来自其他团队的问题并协
                 同解决这些挑战,也是组织提高内部凝聚力的重要体现.我们整理总结了以下几个典型的协作实践.
                       开发/运维人员安全培训
                    DevSecOps 要求团队中的每一个成员都需要具备一定的安全意识.Microsoft                 [68] 、Checkmarx [69] 等公司认为
                 安全培训是 DevSecOps 实践中的重要一环,但是,目前大多数软件公司在招收开发/运维人员时并不会将安全知
                 识作为考察内容,因此有必要对他们进行安全方面的培训以提高安全意识                          [15] .安全人员通过安全培训帮助其他
                 团队成员熟悉安全编码原则、安全变量等基本安全知识,让其他团队成员能够在平时的工作中主动避免引入常
                 见的危险操作.
   50   51   52   53   54   55   56   57   58   59   60