DevSecOps敏捷安全
上QQ阅读APP看书,第一时间看更新

1.2.3 部署阶段的安全活动

为了确保在软件上线前就发现安全漏洞,尽可能避免安全事件发生,相关人员在软件上线前就应当进行严格的评审和必要的安全测试,确保目标软件产品安全、可靠,并持续提升软件系统的安全防护性与稳定性。

在部署阶段,对于目标软件产品,开发团队必须进行最终安全审查(Final Security Review,FSR)。最终安全检查,即针对目标软件产品在上线前所做的最后一道安全审查。最终安全检查是一种相当复杂的基于软件安全需求的评估方法,旨在回答一个问题:从安全角度来看,这个软件准备好交付给用户了吗?最终安全审查能够为开发团队和管理者提供软件产品的总体安全情况,其结果在一定程度上反映了软件产品发布和交付用户后能够抵御攻击的能力。

在部署阶段,安全活动包括但不限于以下几方面。

1)建立测试环境:对软件产品模拟真实环境测试,以便软件产品达到真实运行情况下的要求。

2)进行全面的安全审计:对软件产品进行全面的安全审计。不同于前面的代码审计,这里的安全审计主要针对软件产品架构设计等进行安全性检查。

3)黑盒漏洞扫描:对准生产环境下部署的软件产品进行黑盒漏洞扫描。黑盒漏洞安全测试,即动态应用安全测试(Dynamic Application Security Testing,DAST),也是一种主要的软件安全测试技术,侧重软件产品的功能测试。使用该技术,开发团队无须了解软件程序的内部逻辑结构,也不需要掌握软件产品的程序代码,仅需要知道软件系统的输入、输出和相应功能即可。DAST技术适用于大部分的软件。

4)渗透测试:一种站在黑客的角度、通过授权模拟攻击的方式对目标软件系统进行针对性漏洞挖掘的深度安全测试技术,主要用来验证现有软件系统防御机制的有效性。假定软件系统已经全方位开启相关安全策略,渗透测试应当能够客观地验证出当前系统安全策略的有效性,帮助识别软件系统的漏洞和缺陷并进一步评估软件系统的安全风险情况。

5)全面扫描:该技术不仅对软件系统进行身份识别和权限、攻击面分析,也检验数据是否符合管控要求。

6)现场维护:要求开发人员参与对软件系统的维护,以便查漏补缺;对变更操作的时间、IP、人员等进行详细审查。