计算机科学 > 密码学与安全
[提交于 2025年8月3日
]
标题: DALEQ -- Java字节码的可解释等价性
标题: DALEQ -- Explainable Equivalence for Java Bytecode
摘要: 软件构建的安全性近年来引起了越来越多的关注,这是对SolarWinds和xz等事件的回应。 现在,包括Oracle和Google在内的几家公司在安全环境中重新构建开源项目,并通过专用存储库发布生成的二进制文件。 这种做法使得这些重新构建的二进制文件可以与开发者在Maven Central等存储库中发布的原始二进制文件进行直接比较。 这些二进制文件通常不是按位完全相同的;然而,在大多数情况下,差异可以归因于构建环境的变化,这些二进制文件仍然可以被认为是等价的。 然而,建立这种等价性是一个劳动密集且容易出错的过程。 虽然有一些工具可用于此目的,但它们都无法提供来源信息,即为什么两个二进制文件是等价的或不等价的可读解释。 为了解决这个问题,我们提出了daleq,这是一个将Java字节码反汇编到关系数据库中的工具,并可以通过应用Datalog规则对这个数据库进行规范化。 然后可以使用这些数据库来推断两个类之间的等价性。 值得注意的是,等价性陈述会附带记录规范化过程的Datalog证明。 我们通过一项涉及2,714对JAR文件(包含265,690对类)的大规模评估,在工业环境中展示了daleq的影响。 在这项评估中,daleq与两种现有的字节码转换工具进行了比较。 我们的研究结果表明,评估非按位等价的工件所需的手动工作量显著减少,否则这些工件需要大量的人工检查。 此外,结果表明,daleq在识别从同一代码重新构建的更多等价工件方面优于现有工具,即使没有行为上的差异。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.