基于神经机器翻译的二进制代码相似性比较:超越函数对比
该篇论文提出了解决不同编程语言下的二进制和源代码匹配问题的新数据集,以及基于 Transformer 神经网络的 XLIR 方法,并在多项实验验证了其显著优于现有模型的有效性。
Jan, 2022
提出了一种基于神经网络的方法来计算二进制函数的编码,并通过测量两个函数之间编码的距离来有效地检测二进制代码的相似性,称为 Gemini,将生成时间从 1 周减少到 30 分钟到 10 小时,并在现实世界的案例中展示了 Gemini 比现有技术更好地识别易受攻击的固件图像的能力,是一种成功应用深度学习解决计算机安全问题的方法。
Aug, 2017
利用大规模源代码语料库中的领域知识(例如变量名称和注释)构建人工智能模型,以捕获二进制代码的可操作性,以此来帮助人类理解二进制代码,并使用人类理解的度量标准来评估模型的性能。
Oct, 2022
在这项工作中,我们开始探讨使用深度神经网络对二进制代码理解进行训练的可能性。具体而言,网络将以直接从二进制中派生的特征作为输入,并输出英文功能描述,以帮助逆向工程师调查闭源软件的功能,无论是恶意的还是良性的。我们发现嵌入距离相关性(EDC)测试对于评估数据集值非常有诊断能力,表明我们收集的数据集和一些现有的开源数据集质量较低。
Apr, 2024
本文提出了一种新的神经机器翻译系统输出层计算方法,基于预测每个单词的二进制码,可以在最佳情况下将输出层的计算时间 / 内存需求缩小到对数级别。此外,本文还介绍了使用纠错码和结合 softmax 和二进制码来提高鲁棒性的两种高级方法。两个英日双向翻译实验表明,所提出的模型在接近 softmax 的 BLEU 分数的同时,将内存使用率降低到不到 1/10,CPU 解码速度提高了 5 到 10 倍。
Apr, 2017
利用对二进制代码进行对比学习,提高其在迁移学习中的性能,通过对齐二进制代码和自然语言解释来生成更好的嵌入表示,而无需特定任务的训练。
Feb, 2024
通过结合长文档转换器和中间表示的使用,本文提出了一种能够进行跨体系结构功能搜索的模型,无需手动特征工程、预训练或动态分析步骤。我们将该方法与一系列基准方法进行了对比,在一般函数搜索任务和有针对性的漏洞搜索任务中,我们的方法表现出强大的性能,优于所有基准方法。
Oct, 2023
本文介绍了一种新的代码到代码搜索技术,通过包括静态和动态特征以及在训练过程中利用相似和不同的示例来提高大型语言模型的性能。我们展示了第一个能够在训练期间编码动态运行时信息的代码搜索方法,在推断时间无需执行搜索语料库或搜索查询,同时还是第一个训练正负参考样本的代码搜索技术。我们通过一系列研究验证了我们方法的有效性,并展示了增强 LLMs 执行跨语言代码到代码搜索的能力。我们的评估表明,我们的方法的效果在各种模型架构和编程语言中都是一致的。此外,我们的消融研究表明,即使在训练过程中只有一个正面和负面参考样本,也会产生相当大的性能提高,这证明了相似和不同的参考是代码搜索的重要部分。重要的是,我们展示了精心制作的、经过调整的模型在性能上始终优于未调整的更大的现代 LLMs,即使是在增强最大可用 LLMs 时也是如此,这凸显了开源模型的重要性。为了确保我们研究的可重复性和可扩展性,我们介绍了一个名为 Cosco 的开源实现和培训过程
May, 2023