<p>自2020年12月SolarWinds 攻击以来,软件供应链攻击一直是软件开发公司关注的问题。受到攻击不仅会危及企业,还会危及相关客户。</p><p>另一个复杂因素是应用程序使用开放软件组件和本地代码的组合来交付应用程序。这种软件供应链意味着,应用程序的安全问题可能受到自己代码的影响,也可能会来自所使用的组件。</p><p>Log4j攻击就是组件在使用它的任何软件中引入漏洞的一个例子。如何保护软件需要从不同角度思考安全从哪里开始,以及如何在开发过程的早期将安全概念集成到软件中,并与其他技术基础的实施进行交互。</p><h3><font color="#c24f4a">构建安全的管道</font></h3><p>现代软件开发建立在 CI/CD 管道之上。这允许<a href="https://www.woocoom.com/" target="_blank"><font color="#c24f4a">应用程序安全测试</font></a>和软件成分分析在集成过程的早期进行(左移),并且允许企业在代码交付前识别并修复问题。通过管道运行代码、集成安全测试、识别缺陷、修复缺陷并部署安全的软件。</p><p>理论听起来很简单,但在现实中实施起来可能具有挑战性。首先,安全左移需要开发人员和安全团队之间的协作。</p><p>如果没有得到修复,找到安全问题并不重要。安全团队并不是将一份包含数百个缺陷和漏洞的报告丢给开发人员,并期望问题能得到解决。</p><p>为了增加缺陷得到修复的可能性,安全团队需要向开发人员提供有关缺陷或漏洞的修复紧急程度,并对解决方案给出一些指导。</p><p>其次,安全性应该通过提供基础设施即代码 (IaC) 模板和工具链来增加开发和架构流程的价值,从而轻松实现安全的应用程序堆栈。</p><h3><font color="#c24f4a">对抗供应链攻击</font></h3><p>最后,通过对开发人员进行安全培训及在安全团队中培训开发人员,可以链接开发及安全之间的距离,也有助于减小安全开发的阻力。</p><p><!--StartFragment--> <!--EndFragment--></p><p>考虑到软件的复杂性、代码的攻击面和开发过程的速度,对抗供应链攻击需要安全与开发团队紧密和持续的协作,并向左转移以在集成过程中更早地发现安全问题。</p>