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

1.2.1 准备阶段的安全活动

准备阶段的安全活动主要包括两方面。一方面是团队人员安全意识和安全能力的培训,确保每个人对软件安全有一定认知,并担负起责任。安全培训贯穿软件生命周期中的各个阶段。通常,大型企业主要是通过构建安全培训体系,持续为开发团队提供不同阶段、不同主题的内部安全培训;小型企业则主要依赖外部供应商的不定期培训。另一方面是和软件需求分析、架构设计相关联的威胁建模。“从源头开始进行风险治理”是新时代安全开发的一个基本原则,而需求分析和架构设计时即准备阶段则是构建安全可信的软件的最佳时机。该阶段的安全目标主要是对各环节中出现的安全风险及时进行预判、发现和处置,以提升风险处理效率。在项目选型的时候,开发团队需要全面考虑开发语言本身及软件架构是否有明显漏洞,此外,对于安全接口设计、数据结构等都要进行相关风险评估。

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

1)安全培训:企业内部或聘请团队为开发人员进行针对性的安全培训,详细介绍软件产品可能存在的关联隐私和合规要求,普及安全标准、行业标准、国家标准及当下业内的一些最佳实践经验,避免因疏忽造成不必要的安全问题。

2)确定安全标准:规范安全要求,可以通过检查清单或者安全基线的形式,明确各岗位人员的职责和行为标准。

3)情报准备:提前调研和准备业内权威机构的官方、开源和第三方漏洞库,为后期相关阶段的漏洞情报做储备。

4)攻击面分析:分析软件各个部分可能出现的攻击风险。

5)应对策略选择:提前准备安全事件处置标准和相应预案。

6)威胁建模:在需求分析和架构设计过程中有针对性地进行适合组织落地实施的软件威胁建模和漏洞关联分析等安全活动。

7)设计审核:确定质量安全规范。

8)物理安全:建立硬件设施安全管理制度,定期检查保养,保证硬件基础设施防盗、防火、防灾,并进一步保障设备固件、网络系统等核心设施不受干扰和攻击。