中文

第三方库复用的安全性提升 -- 通过代码补丁分析识别 1-day 漏洞的综合检测方法

软件工程 2024-12-02 v1

摘要

如今,软件开发正快速推进以整合新功能。为了促进这种增长并为开发人员在创建和更新软件时提供便利,重用开源软件(即第三方库复用)已成为最有效且高效的方法之一。不幸的是,第三方库 (TPL) 的复用做法也会引入漏洞(称为 1-day 漏洞),因为 TPL 的维护不足,导致许多易受攻击的版本仍在使用中。如果包含这些 TPL 的软件未能检测到所引入的漏洞并导致延迟更新,则会加剧安全风险。然而,复杂的代码依赖和 TPL 复用的灵活性使得检测 1-day 漏洞是一个具有挑战性的任务。为了支持开发人员在软件开发期间安全地复用 TPL,我们设计并实现了 VULTURE,这是一个有效且高效的检测工具,旨在识别因复用易受攻击的 TPL 而产生的 1-day 漏洞。它首先执行一种数据库创建方法 TPLFILTER,该方法利用大型语言模型 (LLM) 自动为目标平台构建唯一的数据库。与依赖代码级别相似性比较不同,VULTURE 采用基于散列的比较来探索所收集的 TPL 之间的依赖关系,并识别 TPL 与目标项目之间的相似性。鉴于开发人员具有复用 TPL 确切或自定义方式的灵活性,VULTURE 分别进行基于版本的比较和块级分析,以捕获函数级别的细粒度语义特征。我们将 VULTURE 应用于 10 个真实世界项目,以评估其在检测 1-day 漏洞方面的有效性和效率。VULTURE 成功从 178 个被重用的 TPL 中识别出 175 个漏洞。

关键词

引用

@article{arxiv.2411.19648,
  title  = {Enhancing Security in Third-Party Library Reuse -- Comprehensive Detection of 1-day Vulnerability through Code Patch Analysis},
  author = {Shangzhi Xu and Jialiang Dong and Weiting Cai and Juanru Li and Arash Shaghaghi and Nan Sun and Siqi Ma},
  journal= {arXiv preprint arXiv:2411.19648},
  year   = {2024}
}

备注

17 pages, NDSS 25'