<p>对于组织来说,构建具有强大安全性的软件不再是事后的想法。事实证明,在全球各地各行各业不断受到攻击的情况下,可靠网络安全态势的需求至关重要。对于大多数公司来说,特定于产品的安全是重要的,一个成功的产品安全实践需要与工程团队(DevSecOps )的精神相结合。</p><p>它包括首先创建一种安全文化,让所有利益相关者了解优先级、策略和业务价值。其次,团队将安全性与软件开发生命周期(SDLC)集成。仅仅左移是不够的,组织需要将思维从左移转变为无处不在。最后,始终监控产品系统是不容置疑的。</p><h3><font color="#c24f4a">成功的实践始于文化</font></h3><p>在建立强大的文化时,目标是使整个工程团队成为使命的一部分。这包括建立一个产品安全团队来支持工程需求,并提供持续教育,提供可用于解决任何可能性的资源。</p><p>虽然每个组织都有自己独特的需求、注意事项和创建产品安全团队的方法,但建议使用以下五个角色:</p><p>1. 技术产品经理(TPM):负责推动规划中的安全优先级</p><p>2.安全架构师:确保架构和设计包含安全流程</p><p>3.AppSec 工程师:负责实施安全开发生命周期</p><p>4.对抗工程师:发现攻击面以识别弱点</p><p>5.安全卫士:来自每个Scrum团队的工程师,他们有兴趣在安全基础知识方面为其团队提供支持,有助于扩展整体产品安全工作。</p><p>创建和执行安全教育计划对于赢得员工内心也至关重要。</p><h3><font color="#c24f4a">将安全性集成到 SDLC 中</font></h3><p>从高层次来看,所有 SDLC 都包括计划、开发和发布,每个阶段都应有自己的一套安全控制。</p><p><b>计划:</b>产品安全TPM负责与产品管理团队合作,确定安全优先级——从风险降低、执行优先级、客户请求、安全发现和法规要求等来源获得。确定什么是重要的。</p><p><b>开发:</b>在开发阶段,许多重要的产品安全提升都发生在开发阶段,包括实现威胁建模、安全基线和自动扫描。</p><p><b>威胁建模:</b>识别系统中潜在威胁的过程。一旦确定,威胁建模团队就可以创建缓解措施,并将结果集成到渗透测试中,以验证威胁没有实现。在架构阶段,在编码开始之前测试模型是最有效的,以避免返工和打补丁。</p><p><b>安全基线:</b>团队应创建完全修补的安全映像,满足安全策略并预安装强制性安全代理。对操作系统映像和容器执行此操作允许开发人员“免费”获得一定程度的安全性,并避免持续的安全审查。基线应自动更新并流入 CI/CD 系统。</p><p><b>自动扫描:</b>为了跟上敏捷流程,扫描应该是自动化的,并且有较低的误报率。事实上,最好是少报告一些问题,而不是用很多噪音来干扰可信度。持续调优将增加保真规则集,有用的工具包括<a href="https://www.woocoom.com/" target="_blank"><font color="#c24f4a">静态应用程序安全测试</font></a>(SAST)、软件组成分析(SCA)和动态应用程序安全测试(DAST)。自动化对于保护使用CI/CD开发过程的应用程序至关重要,并且在代码推送时提供安全性是无法估算的,开发人员可以获得即时反馈,而不是在可能忘记重要上下文的几周后再来修补这些问题。</p><p><br></p>