中文

传递性与粒度对 Maven 生态中漏洞传播的影响

软件工程 2023-01-20 v1

摘要

复用软件库是现代软件工程的支柱。2022 年,平均每个 Java 应用依赖 40 个第三方库。依赖此类库会使项目暴露于潜在漏洞之中,并可能使应用及其用户面临风险。遗憾的是,对软件生态的研究表明,受此类漏洞影响的项目数量正在上升。以往研究通常在依赖层面进行推理,但我们认为这严重夸大了实际受影响项目的数量。本工作中,我们研究传递性与粒度对 Maven 生态中漏洞传播的影响。在我们的研究方法中,我们收集了包含 300 万(3M)近期 Maven 包的大型数据集。我们获取该数据集的完整传递依赖集,构建全程序调用图,并执行可达性分析。该方法使我们能识别实际因使用易受攻击依赖而受影响的 Maven 包。我们的实证结果显示:(1) 若且仅若考虑所有传递依赖,数据集中约 1/3 的包被识别为易受攻击;(2) 不到 1% 的包存在到其依赖中漏洞代码的可达调用路径,远低于朴素的基于依赖的分析结果;(3) 限制所解析依赖树的深度可能是减少昂贵细粒度(漏洞)分析计算时间的有用技术。我们讨论了本工作的意义,并为研究者和从业者提供了可操作的见解。

关键词

引用

@article{arxiv.2301.07972,
  title  = {On the Effect of Transitivity and Granularity on Vulnerability Propagation in the Maven Ecosystem},
  author = {Amir M. Mir and Mehdi Keshani and Sebastian Proksch},
  journal= {arXiv preprint arXiv:2301.07972},
  year   = {2023}
}

备注

Accepted at the SANER'23 technical track