kTrans:面向二进制代码嵌入的知识感知Transformer
软件工程
2023-08-25 v1 人工智能
密码学与安全
摘要
二进制代码嵌入(BCE)在二进制代码相似性检测、类型恢复、控制流恢复和数据流分析等多种逆向工程任务中有重要应用。近期研究表明,Transformer模型能够理解二进制代码的语义以支持下游任务。然而,现有模型忽视了汇编语言的先验知识。本文提出一种基于Transformer的新方法,称为kTrans,用于生成知识感知的二进制代码嵌入。通过将显式知识作为额外输入送入Transformer,并以一种新颖的预训练任务融合隐式知识,kTrans为将领域知识融入Transformer框架提供了新视角。我们通过异常值检测和可视化检查所生成的嵌入,并将kTrans应用于3个下游任务:二进制代码相似性检测(BCSD)、函数类型恢复(FTR)和间接调用识别(ICR)。评估结果表明,kTrans能生成高质量的二进制代码嵌入,并在下游任务上分别比最先进的(SOTA)方法高出5.2%、6.8%和12.6%。kTrans已公开于:https://github.com/Learner0x5a/kTrans-release
引用
@article{arxiv.2308.12659,
title = {kTrans: Knowledge-Aware Transformer for Binary Code Embedding},
author = {Wenyu Zhu and Hao Wang and Yuchen Zhou and Jiaming Wang and Zihan Sha and Zeyu Gao and Chao Zhang},
journal= {arXiv preprint arXiv:2308.12659},
year = {2023}
}