软件供应链现已成为企业在日益复杂的数字环境中面临的重要关注点。最新发布的JFrog报告揭示了组织在保障其软件生态系统时面临的日益严峻的挑战。
在最近发布的《2024年软件供应链现状报告》中,指出当今的软件供应链既多样化又全球化。约53%的组织使用四到九种编程语言,而令人瞩目的31%则依赖于超过十种语言。这种复杂性导致了开源软件包和应用开发库的激增。报告提到,“Docker和npm是最常贡献的软件包类型,PyPI的贡献也在增长,这可能与AI/ML的应用案例有关。”然而,这些丰富的资源也为企业带来了潜在风险。
2023年,安全研究人员报告了超过26,000个新发现的公共漏洞和曝光(CVE),这一趋势显示出脆弱性的持续上升。报告指出,今年最常见的漏洞包括跨站脚本攻击、SQL注入和越界写入,而跨站请求伪造的发生频率也在上升。
误导性的CVSS分数掩盖真实风险
JFrog安全研究高级总监Shachar Menashe指出,公共漏洞评分系统(CVSS)分数在实际可利用性方面具有误导性。他解释道:“CVSS分数未考虑上下文相关的攻击向量。因此,易被利用的默认漏洞与仅在极少情况下才能利用的漏洞得到相同分数。”报告表明,令人震惊的是,在前100个DockerHub镜像中,74%的高风险和关键CVE实际上并不可被利用,这强调了根据组织特定环境和配置进行深入风险评估的必要性。
软件供应链中的隐患
报告还指出,人为错误和泄露密钥是软件供应链中的主要脆弱点。Menashe强调了从二进制层面进行扫描的优势,表示:“扫描和验证将投入生产的代码可以发现仅在代码编译后才显现的风险。”泄露的密钥通常在源代码中无法被检测到,但在最终镜像中会因CI/CD管道而显露出来。
碎片化的安全措施浪费资源
尽管意识不断提高,组织通常面临碎片化的安全政策,耗费时间和资源。报告显示,60%的专业人士每月花费四天或更多时间来修复应用漏洞。Menashe建议通过投资安全解决方案以优先处理脆弱性,他指出:“单纯标记CVE并不够,进行上下文扫描无论是静态的还是动态的都是必要的。不考虑上下文会导致大约75%的误报。”
该报告还讨论了安全工具数量过多带来的挑战。Menashe指出,过多的专用解决方案可能造成覆盖缺口,加重警报疲劳,妨碍开发工作流程。
AI和机器学习引发的新风险
人工智能(AI)和机器学习(ML)在软件开发中的崛起带来了新的风险。虽然94%的组织会审查开源机器学习模型的安全性,但近20%的组织因安全顾虑而不使用AI/ML进行代码创建。Menashe预测使用AI编码的趋势将增加,但同时警告相关的安全风险。“尽管生成式AI能够显著提升开发人员的生产力,但开发人员必须意识到,这类实践可能威胁安全与合规,因为生成式AI往往无法生成安全的代码。”
他还提醒首席信息安全官(CISO)注意攻击者可能会利用AI伪造不存在的库,从而创建恶意软件包,开发人员可能会无意中使用这些包。
确保软件供应链安全的关键建议
在应对不断演变的软件供应链环境时,JFrog报告提醒组织优先关注安全性,采取全面的风险管理方法。Menashe为IT领导者提供了以下关键建议:
1. 限制直接从互联网下载开源软件(OSS)包,使用工件管理解决方案在包进入开发环境之前进行审查和安全加固。
2. 将软件发布过程中涉及的所有输入和输出都纳入统一系统,结合端到端应用安全,确保各团队之间的政策应用一致。
3. 实施防篡改措施,例如代码签名,以维护发布的完整性,确保只有特定的安全组件在软件发展的过程中被包含。
通过采用上下文扫描、整合安全工作、主动应对与AI生成代码相关的风险,企业可以增强其软件供应链的安全性,防范潜在威胁。JFrog的报告突显了在不断扩大的攻击面前,保持警惕并采取全面方法确保软件供应链安全的紧迫性。