中文

更多鱼类潜水:基于二进制模板的自动漏洞修复

软件工程 2024-11-28 v1

摘要

随着软件漏洞在数量和复杂度方面的不断增加,供应商往往难以及时修复它们。自动化漏洞修复作为一种减少手动调试和修复工作负担的有前景的解决方案,然而现有技术仅专注于源代码层面的漏洞修复,存在诸多局限。例如,这些技术不适用于那些(如用户或安全分析师)没有获取源代码的情形。 Consequently,这限制了这些技术的实际应用,尤其是在供应商无法及时提供补丁的情况下。本文旨在缓解上述局限,通过在二进制代码层面进行漏洞修复,从而提出一种基于模板的 Java 二进制文件自动漏洞修复方法。该方法构建于现有文献之上,收集来自现有基于模板的自动程序修复方法和漏洞特定分析中的修复模板,并用于 Java 二进制文件。我们的系统方法有效缓解了漏洞:在 Vul4J 数据集上的实验表明,TemVUR 成功修复了 11 个漏洞,显著超过当前修复技术的 57.1%。此外,TemVUR 比领先技术修复的漏洞数量更多 66.7%(15 个与 9 个),凸显其在缓解这些漏洞所构成风险方面的有效性。为评估 TemVUR 的通用性,我们构建了 ManyVuls4J 数据集,该数据集超越 Vul4J,涵盖更广泛的漏洞多样性。与其前身相比,漏洞数量增加了 30%(从 79 个增至 103 个)。ManyVuls4J 上的评估再次确认了 TemVUR 在多样化真实世界漏洞方面的有效性和通用性。

关键词

引用

@article{arxiv.2411.18088,
  title  = {There are More Fish in the Sea: Automated Vulnerability Repair via Binary Templates},
  author = {Bo Lin and Shangwen Wang and Liqian Chen and Xiaoguang Mao},
  journal= {arXiv preprint arXiv:2411.18088},
  year   = {2024}
}

备注

15 pages