使用 DevSecOps 优先考虑产品安全性

42 阅读3分钟

对于组织来说,构建具有强大安全性的软件不再是事后的想法。事实证明,在全球各地各行各业不断受到攻击的情况下,可靠网络安全态势的需求至关重要。对于大多数公司来说,特定于产品的安全是重要的,一个成功的产品安全实践需要与工程团队(DevSecOps )的精神相结合。

它包括首先创建一种安全文化,让所有利益相关者了解优先级、策略和业务价值。其次,团队将安全性与软件开发生命周期(SDLC)集成。仅仅左移是不够的,组织需要将思维从左移转变为无处不在。最后,始终监控产品系统是不容置疑的。

成功的实践始于文化

在建立强大的文化时,目标是使整个工程团队成为使命的一部分。这包括建立一个产品安全团队来支持工程需求,并提供持续教育,提供可用于解决任何可能性的资源。

虽然每个组织都有自己独特的需求、注意事项和创建产品安全团队的方法,但建议使用以下五个角色:

  1. 技术产品经理(TPM):负责推动规划中的安全优先级

2.安全架构师:确保架构和设计包含安全流程

3.AppSec 工程师:负责实施安全开发生命周期

4.对抗工程师:发现攻击面以识别弱点

5.安全卫士:来自每个Scrum团队的工程师,他们有兴趣在安全基础知识方面为其团队提供支持,有助于扩展整体产品安全工作。

创建和执行安全教育计划对于赢得员工内心也至关重要。

将安全性集成到 SDLC 中

从高层次来看,所有 SDLC 都包括计划、开发和发布,每个阶段都应有自己的一套安全控制。

计划:产品安全TPM负责与产品管理团队合作,确定安全优先级——从风险降低、执行优先级、客户请求、安全发现和法规要求等来源获得。确定什么是重要的。

开发:在开发阶段,许多重要的产品安全提升都发生在开发阶段,包括实现威胁建模、安全基线和自动扫描。

威胁建模:识别系统中潜在威胁的过程。一旦确定,威胁建模团队就可以创建缓解措施,并将结果集成到渗透测试中,以验证威胁没有实现。在架构阶段,在编码开始之前测试模型是最有效的,以避免返工和打补丁。

安全基线:团队应创建完全修补的安全映像,满足安全策略并预安装强制性安全代理。对操作系统映像和容器执行此操作允许开发人员“免费”获得一定程度的安全性,并避免持续的安全审查。基线应自动更新并流入 CI/CD 系统。

自动扫描:为了跟上敏捷流程,扫描应该是自动化的,并且有较低的误报率。事实上,最好是少报告一些问题,而不是用很多噪音来干扰可信度。持续调优将增加保真规则集,有用的工具包括静态应用程序安全测试(SAST)、软件组成分析(SCA)和动态应用程序安全测试(DAST)。自动化对于保护使用CI/CD开发过程的应用程序至关重要,并且在代码推送时提供安全性是无法估算的,开发人员可以获得即时反馈,而不是在可能忘记重要上下文的几周后再来修补这些问题。

来源:

devops.com/prioritizin…