面向Java语言生态的软件供应链安全分析技术
作者:
作者单位:

作者简介:

毛天宇(1992-),男,硕士生,主要研究领域为软件供应链安全;王星宇(1993-),男,硕士生,主要研究领域为软件供应链安全;常瑞(1981-),女,博士,副教授,博士生导师,CCF高级会员,主要研究领域为系统安全,软件供应链安全,程序分析,形式化验证;申文博(1989-),男,博士,研究员,博士生导师,CCF专业会员,主要研究领域为软件供应链安全,操作系统安全,云原生系统安全;任奎(1978-),男,博士,教授,博士生导师,CCF会士,ACM会士,IEEE会士,主要研究领域为数据安全,人工智能安全,物联网安全,隐私保护

通讯作者:

常瑞,crix1021@zju.edu.cn

中图分类号:

基金项目:

国家重点研发计划(2022YFE0113200);浙江省重点研发计划(2022C01165)


Software Supply Chain Analysis Techniques for Java Ecosystem
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    随着开源软件技术的不断发展,为提高开发效率并降低人力成本,组件化开发模式逐渐得到行业的认可,开发人员可以利用相关工具便捷地使用第三方组件,也可将自己开发的组件贡献给开发社区,从而形成了软件供应链.然而,这种开发模式必然会导致高危漏洞随组件之间的依赖链条扩散到其他组件或项目,从而造成漏洞影响的扩大化.例如2021年底披露的Log4j2漏洞,通过软件供应链对Java生态安全造成了巨大影响.当前,针对Java语言软件供应链安全的分析与研究大多是对组件或项目进行抽样调研,这忽略了组件或项目对整个开源生态的影响,无法精准衡量其对生态所产生的影响.为此,针对Java语言生态软件供应链安全分析技术展开研究,首次给出了软件供应链安全领域的组件依赖关系和影响力等重要指标的形式化定义,并据此提出了基于索引文件的增量式组件配置收集和基于POM语义的多核并行依赖解析,设计实现了Java开源生态组件依赖关系提取与解析框架,收集并提取超过880万个组件版本和6 500万条依赖关系.在此基础上,以受到漏洞影响的日志库Log4j2为例,全面评估其对生态的影响以及修复比例.结果表明:该漏洞影响了生态15.12%的组件(71 082个)以及16.87%的组件版本(1 488 971个),同时,仅有29.13%的组件在最新版本中进行了修复.

    Abstract:

    With the prosperity of open-source software, almost all software companies use these reusable components as basic build blocks to build their software products, thus forming the software supply chain. The software supply chain improves development efficiency and reduces labor costs for software companies. However, it may also introduce new security problems. In particular, if one software component has high-risk vulnerabilities, the software supply chain inevitably spreads these vulnerabilities to all its dependencies, thus amplifying these vulnerabilities' impact. For example, through the software supply chain, the Log4j2 vulnerability causes a catastrophic security issue for the whole Java ecosystem. Unfortunately, current research studies on Java software supply chain mainly focus on a single component or a group of components and miss the impact study on the ecosystem scale. Therefore, this paper presents the essential software supply analysis techniques to study the component and vulnerability impact on the Java ecosystem. More specifically, the formal definition of component dependencies is first given in the software supply chain. Next, new techniques are proposed and an analysis tool is built to analyze all component dependencies in the Java ecosystem, including over 8.8 million component versions and 65 million dependencies. Finally, Log4j2, a logging library affected by the vulnerability, is used as an example to evaluate its impact on the whole Java ecosystem. The results show that the vulnerability affects 15.12% of the ecological components (71 082) and 16.87% of the component versions (1 488 971), and the vulnerability-fix rate is only 29.13%.

    参考文献
    相似文献
    引证文献
引用本文

毛天宇,王星宇,常瑞,申文博,任奎.面向Java语言生态的软件供应链安全分析技术.软件学报,2023,34(6):2628-2640

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2022-09-05
  • 最后修改日期:2022-12-14
  • 录用日期:
  • 在线发布日期: 2023-01-13
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号