软件供应链安全防护为什么重要?
如今,大多数软件不再是完全从头开始编写,而通常是将各种包含了开源软件的软件工件组合到一起。但是,这些软件工件很容易存在漏洞,并且随着时间推移,开发人员会愈发难以控制来自第三方的源代码,或者无法对软件工件进行更改。值得注意的是,未安装补丁的软件更容易遇到安全问题。由于软件对于执行日常业务运维必不可少,因此供应链安全防护是每个企业和安全团队的重要责任。
2020 年,软件公司 SolarWinds 遭到入侵,攻击者通过 SolarWinds 使用的 Orion IT 监控和管理软件发布恶意代码,而 Orion IT 软件是很多大型企业和政府机构都在使用的平台。通过攻击供应链,黑客不仅入侵了 SolarWinds,也入侵了他们的客户。Log4j 是一款常用的开源软件,但它也常常被不法分子盯上,导致无数用户和企业容易遭受数据泄露和攻击。2021 年,美国总统针对供应链和网络安全通过了 2 项行政令,此举也强调了软件供应链和安全防护的重要性。
软件供应链有哪些安全风险?
软件供应链中任何组件的风险,都会对依赖该供应链组件的每个软件工件构成潜在风险。这会为黑客提供可乘之机,使他们能够植入恶意软件、后门程序或其他恶意代码,从而危害组件及其相关供应链。如今,软件供应链攻击日益猖獗,其幕后既有试图牟利的黑客,也有谋求政治企图的国家级黑客,无论哪一种,都可能会在数字和现实世界产生巨大影响。攻击通常会带来以下四种类型的风险:
- 漏洞:软件代码中的缺陷,可能会被加以利用,从而导致数据泄露。安装补丁并更新软件工件,可以最大限度减少该风险。
- 许可:它是一种法律风险,可迫使您将产生的任何软件工件变成开源,使专利权无效。请咨询该领域的法律专家。
- 第三方依赖项:很难知晓软件供应链其中某部分是否对任何外部企业组织有任何依赖项。应分析所有第三方代码,并与您的供应商谈谈他们的保护措施。
- 流程和策略:如果您没有合适的安全防护流程和策略,就可能会陷入困境。为开发人员制定相应策略和漏洞应对流程(或 playbook)。
常见的攻击途径包括劫持更新、破坏代码签名和开源代码。
DevSecOps 与软件安全防护
DevSecOps 是对企业文化、业务自动化和软件设计等方面进行全方位变革,将安全作为整个 IT 生命周期的共同责任。DevSecOps 意味着从一开始就要考虑应用和基础架构的安全防护;同时还要让某些安全网关实现自动化,以防止 DevOps 工作流程变慢。选择合适的工具来持续集成安全防护(比如在集成开发环境(IDE)中集成安全防护功能)有助于实现这些目标。
红帽 Kubernetes 高级集群安全防护可将安全检查集成到软件供应链及开发人员工作流程中,以便检测并协助解决高风险安全问题。它还可以在开发人员的现有工作流程中为其提供安全上下文,从而自动实现 DevOps 中的安全防护。
软件供应链安全防护与应用安全防护的区别
软件供应链涉及与您的代码接触的所有对象和所有人,而应用安全防护则只保护代码本身免遭攻击和漏洞。与软件供应链安全防护一样,应用安全防护应该应用于开发的每个步骤。
应用安全防护始于软件开发生命周期,并覆盖整个应用生命周期,旨在防止未经授权访问系统并保护专有数据。而加强供应链完整性可提高应用的安全。强化配置、最大限度减少攻击面、限制权限、签署软件、将构建分布到系统的不同部分,这些都是避免攻击者入侵应用的有效方式。
减轻软件供应链威胁
对于您的企业组织、客户以及依赖开源贡献的任何机构,软件供应链安全防护都十分重要。没有谁希望遭到入侵,也没有谁愿意为中招的其他企业组织负责。因此,防患于未然,为软件供应链实施保护就是关键。
下方我们为您罗列了一些安全团队应考虑的安全防护最佳实践:
- 为供应链中的资源(如开发人员工具、源代码存储库和其他软件系统)提供最小权限访问,启用多重身份验证,使用强密码。
- 定期为员工提供安全培训。
- 加强您所有联网的设备和敏感数据的安全防护。
- 从一级供应商开始,了解您的供应商以及有业务往来的对象,对他们开展风险评估,以便评估每个供应商的网络安全态势和有关漏洞的公共策略。
- 定期扫描和修补易受攻击的系统。
开发人员还应该考虑安全编码实践、使用锁定文件及其他安全措施:
- 验证校验和。
- 将供应商依赖纳入源代码控制中。
- 发布并使用软件物料清单(SBOM)。
- 采纳针对软件工件的供应链等级(SLSA),其中包括:
- 能够以数字方式签署您的软件工件,从而验证出处。
- 为您的流程和策略应用自动化。
- 使用软件组成分析(SCA)、静态应用安全测试(SAST)和动态应用安全测试(DAST)等自动安全测试工具扫描您的软件。
为何选择红帽?
红帽了解在软件开发生命周期早期保护软件组件和依赖项的需求,并使用 DevSecOps 实践在每个阶段自动集成安全防护措施。红帽能代您参与上游供应链的工作,并为您提供可靠的产品和全天候支持服务。红帽及其合作伙伴还能提供专业知识、全面的 DevSecOps 生态系统,以及帮助企业组织在整个软件开发生命周期内实施软件供应链安全防护。