《全球软件供应链发展报告》发布:JFrog引导软件供应链安全市场

开源工具在当今科技领域占据着重要的地位,其以支持快速创新、灵活定制和调整、透明的代码增强安全性等优势,在技术创新、安全性和可维护性等方面都有着深远的影响,但开源平台也有不利的一面,如难以隐匿实现安全策略、容易被滥用、可维护性降低。随着越来越多的开源组件涌现,企业的软件供应链(SSC)正在快速扩展。

JFrog大中华和日本地区总经理董任远

这个快速扩展过程中有哪些特点和问题?JFrog大中华和日本地区总经理董任远和JFrog中国技术总监王青就《全球软件供应链发展报告》的发布进行了解答。

洞察软件供应链安全市场现状

围绕全球软件供应链安全和管理话题,JFrog Research团队委托第三方调研了全球1224名安全、开发、运维相关从业人员后形成的《全球软件供应链发展报告》中,指出了四大现状。

一是编程语言应用广泛,行业特色明显。

数据显示,53%的企业组织使用4-9种编程语言,31%的企业组织使用十几种编程语言;按软件包类型划分,Docker和NPM贡献了最多的新软件包,PyPI的贡献也有所提高;在生产发布软件中使用最多的技术为Maven(后端应用程序)、NPM(前端应用程序)、Docker、PyPI(用于AI/ML)、Go、Nuget、Conan (C/C++)和Helm,C和C++语言搞定全局已经成为过去时,容器化已经成为主流。

垂直行业往往使用常用的编程语言,如汽车和物联网公司使用Maven、NPM、Docker和PyPI,并经常将其中的许多技术捆绑成通用软件包(tar/zip镜像);机器人和AI/MLOps公司使用PyPI和提取自Hugging Face和TensorFlow等公共网站的ML模型,同时也将这些模型存储在容器或通用软件包(tar/zip)中,但他们现在也开始为其ML模型采用Hugging Face这样的原生仓库;保险、金融和零售企业使用Maven、NPM和Docker等技术,但随着AI/ML的普及,PyPI和ML模型也被用来提供更好的产品。

错综复杂的软件工具意味着企业组织面临着比以往更大的安全风险。选择合适的软件工具、管理与监控工作流程和实践,可巩固企业的安全态势并确保持续增长的竞争优势。

二是安全风险藏身之地出乎意料。

2023年,全球安全研究机构报告了超过2.6万个新的通用漏洞披露(CVE),数量继续呈现增长的趋势;不过,在Docker Hub社区最受欢迎的100个镜像中,被CVSS评分为“高危”和“严重”的CVE有74%实际上是不可利用的。此外,在企业的软件供应链中,人为操作失误和机密泄露是主要的潜在风险。

三是保护软件供应链安全缺乏明确聚焦。

虽然企业组织都重视安全,但采用的对策却大相径庭。89%的安全、开发和运维受访人员表示,其所在的企业采用开源软件安全基金会(Open Source Security Foundation,OpenSSF)的SLSA等安全框架,33%的企业组织使用10种及以上的软件安全工具、47%使用4-9种软件安全工具。48%的受访者表示其代码扫描是手工方式而非自动扫描,仅有1%的受访者表示其代码审查实现了完全的自动化。最终结果导致60%的企业组织通常每个月要用4天及以上时间来修复应用程序漏洞。

四是AI/ML的安全性正在引发高度关注。

AI/ML给人们工作生活带来很大的帮助,但它也有两面性。94%受访者所在的企业组织正采取措施审查开源机器学习模型的安全性和合规性,90%的受访者表示正在使用AI/ML应用来协助开展安全工作,近五分之一的受访者所在的企业组织不允许使用AI/ML来编写代码,其中最不可能在软件开发过程中使用AI和ML的企业和组织,主要来自法国和英国。

综上可知,企业组织在管理软件供应链风险方面,面对的是每年以万计递增的CVE,恶意软件包的数量也越来越多,并非每个CVE都适用于企业的软件、也不像最初以为的严重;编程过程中常见的人为失误可能为组织带来新的风险。

Gartner的最新预测显示,2024年,全球终端用户在安全和风险管理方面的支出预计将达到2150亿美元,较2023年增长14.3%。这对企业而言,无疑是一笔巨大的开支。

在开源和安全中寻找平衡

意外造成的CVE是开源软件供应链潜在风险的最大来源,例如,对NPM的分析显示,仅在2022年下半年到2023年上半年,引入开源生态系统的恶意软件包数量从3134增加到6561个,增加了一倍以上。

在通过开源生态系统引入漏洞方面,并非所有的软件技术都表现一样。虽然Debian和RPM的漏洞最多,但NPM和PyPI的严重CVE漏洞占比最大,其次是Maven。大多数的Debian和Alpine代码库都是C/C++代码和Linux。由于二者都是Linux系统,用户很可能会在这两种软件包类型中发现相同的漏洞,Debian的漏洞更多,因为它的应用更为广泛,贡献的软件包也更多。

但是,存在CVE并不一定意味着该软件包不能使用,更要紧的是监控和防止恶意软件包进入软件供应链,因为即使只是下载这些软件包也可能使企业遭受攻击。攻击者也意识到,开源软件包和使用这些软件包的开发人员是安全漏洞的“黄金通行证”。他们的攻击方式往往是利用CVE带来的缺陷(通常是使用开源软件包的开发人员无意中造成),或者引入他们自己的恶意软件包,伪装成安全的开源组件。

以科学的预防措施降低和规避风险

没有“一刀切”的安全解决方案。

使用多种扫描工具和单点式解决方案会导致漏洞修复效率低下和数据重复,通常会使团队偏离目标,以至于把注意力集中于可能并不相关的漏洞。JFrog为开发流程中使用和生成的所有软件包提供了单一可信来源,助力企业实现全自动质量控制,确保软件达到最高水平的安全性和合规性。

事实上,92%的专业人士表示,他们的企业至少有一个解决方案监测恶意的开源包,这表明他们都有恶意开源包的扫描工具了。

89%的受访者表示,他们已经采用了OpenSSF SLSA——这是谷歌主导、由OSSF推广的、在国际上拥有较高接受程度的一个软件供应链安全标准;国内也有企业在逐渐落地该安全标准来管理软件供应链安全。

41%的开发人员表示采取安全措施的最佳阶段之一是引入开源软件时;42%的开发人员认为,编写代码是软件开发生命周期中采取安全措施的最佳阶段之一。因此安全左移还有很大的发展空间。

调查显示,在构建时和编码时进行安全扫描的企业组织占比均为59%;58%的公司进行动态应用程序安全测试,但这一过程耗时比较长,静态应用程序安全测试占到61%。同时,软件构成分析的测试占比58%。

得益于JFrog提供的软件构成分析的快速扫描方式,56%的企业在源代码和二进制文件层面实现了API安全扫描。

JFrog的价值远不止于此。

在抵消来自漏洞的影响方面,JFrog安全团队对来自互联网及Docker Hub上的212个CVE样本进行调研后,将85%的“严重”CVE和73%的“高危”CVE不合理的评级进行了下调甚至忽略。这意味着研发团队可以将更多宝贵的开发时间用于提升商业价值的任务活动。支持这一功能的是JFrog的Advanced Security(JAS),它在软件漏洞扫描形势分析基础之上增加了上下文的分析,确定某个包可被利用的或者不可被利用。

在大模型与AI领域,尽管9成受访者表示他们的扫描工具支持AI或以AI工具来协助安全扫描与修复,32%的企业受访者表示使用Copilot等AI工具协助代码生成,但因为ChatGPT产生的代码可能存在漏洞,而任何人都可以上传大模型知识进行训练。在这一前提下,黑客会预置一些恶意的包上传到Docker Hub去训练GPT模型把答案链接指向恶意包的位置,导致用户在不知情的情况下被引导到恶意的仓库去下载。

Docker Hub是目前世界上最主流、专门用于管理Docker镜像的最大的互联网仓库。JFrog与Docker联合调研发现了460万个没有容器数据的Docker Hub存储库(又名“无镜像”)。这些无镜像存储库绝大多数都是带着恶意目的——它们的概述页面试图欺骗用户访问钓鱼网站或托管着危险恶意软件的网站。JFrog还识别到了近300万个存储库托管过恶意内容,包括通过自动生成的账户上传、用于推广盗版内容的垃圾邮件,以及恶意软件和钓鱼网站等,支持Docker对这些恶意仓库进行了清理,保护了用户在下载时免遭恶意镜像带来的损失。

JFrog指出,在使用Docker镜像时决不能从Docker Hub随心所欲地下载,可先使用JFrog的Curation(隔离仓库)和Xray(安全扫描)功能,保证镜像安全性和合规性。

从侧面来说,JFrog也推动了互联网镜像下载的安全。

扎根、服务中国市场

提起JFrog,很多人第一印象是安全,第二就是其不限制用户数的特色。JFrog正是通过这样的方式切实帮助客户在安全扫描、制品管理、供应链管理上提供统一、高性价比的解决方案。

过去几年里,JFrog在全球实现了25%的增长。

中国是亚太区增长最快的区域,中日两国共服务了500家客户,集中在金融、汽车、互联网和制造等行业。

针对中国市场蓬勃发展的智能驾驶等行业,JFrog对产品进行了优化以及提供定制化的支持,以更好地满足企业的高速发展以及出海需求。

伴随越来越多的基础架构类产品加速国产化,JFrog也在以更合适的解决方案适配这些产品,过去的一年里,JFrog全线产品已经完成了国产信创的适配,不少客户已经直接将JFrog应用到其信创环境中。