中科天齐软件安全中心
- 关注
数字化时代,为了跟上当今社会发展,公司正在以前所未有的速度生成更多的软件。在带来便捷的同时,软件构建和交付的数量和速度的增加为软件供应链中出错创造了更多机会。
去年,Okta经历了一次重大的安全漏洞,网络攻击者通过其支持管理系统访问了私人客户数据,这凸显了第三方风险的危险。2020 年,SolarWinds平台更新机制遭到入侵,并被用于发送恶意软件,影响18,000多名客户。早在2017年,Equifax 就因未能修补其软件中的已知安全漏洞而遭受了大规模泄露。Gartner 预测,到 2025 年,45% 的组织将经历过软件供应链攻击。
软件供应链攻击的增加是多种因素导致的。通常,组织没有意识到其暴露攻击面的广度。随着组织转向更复杂的交付模式,如持续集成/持续交付 (CI/CD)和云,软件供应链变得更加脆弱,编码助手等生成式 AI (GenAI) 工具的采用激增,更造成了新的且难以监控的安全漏洞。
企业需要找到在快速创建和发布高质量软件的同时,在软件供应链的每个环节都保持高级别的安全性的平衡点。通过以下几个方式,可以在不降低创新速度的同时提高安全性:
持续审查供应商及AI工具
从多个供应链攻击事件来看,对于第三方供应商涉及处理客户数据及敏感信息要确保信任,就需要认真审查其安全性。
通过查看每个供应商的软件物料清单 (SBOM),来了解其代码的任何开源或第三方组件,从而识别可能的漏洞。同时还应评估供应商的安全跟踪记录,并审查其政策、程序和认证。持续进行审查并密切关注供应商的新产品、政策、合规性认证等。
值得注意的是,AI工具同样应受到审查。组织需要了解大型语言模型 (LLM) 的工作原理、训练数据、模型是开放的还是封闭的,以及如何收集和使用用户输入和生成的内容。评估 LLM 生成的代码的准确性和质量,并制定计划来减少它产生的任何不准确或错误的代码。
谨慎使用开源项目
开源项目对于快速开发和创新是至关重要的,但组织要谨慎使用开源代码。仅去年一年,研究人员就在开源项目中发现了245,032个可供公众下载的恶意软件包。开源存储库是网络攻击者的主要目标,他们可以通过攻击单个包来造成严重破坏,进而影响公司及其客户的整个生态系统。
组织应该使用遵循严格遵从框架的开源项目的代码,比如OpenSSF Scorecard、System Package Data Exchange (SPDX)和OpenVEX。确保他们在用代码之前了解项目的安全状况。此外,采用软件成分分析(SCA)解决方案,并制定计划,以便在出现开源代码漏洞时解决它们。
评估整个软件交付流程的安全性
保护软件供应链需要组织评估软件交付流程每个步骤的安全性,包括设计、开发、测试、部署、维护等。
通过在整个 CI/CD 管道中加入安全检测措施,组织可以在开发过程的早期识别和修复漏洞,并且不会导致全面的漏洞及破坏。通过标记潜在问题的自动化安全解决方案,结合静态代码检测及查找已知漏洞的源代码组成分析 (SCA)工具,并通过实施源代码访问控制来防止未经授权的访问,提高整个开发流程中的安全性。
网络安全问题是持续的。随着业界努力扩展其知识和加强安全性,攻击者也在努力规划和实施恶意活动。软件供应链是一个不断增长的目标,组织需要仔细保护。
参读链接:
https://www.darkreading.com/vulnerabilities-threats/lessons-largest-software-supply-chain-incidents
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)