2024 · 会议论文
大语言模型理解二进制代码的能力已走多远
How Far Have We Gone in Binary Code Understanding Using Large Language Models
在剥离符号二进制的函数名恢复与代码摘要两项任务上,评测 16 个代码领域与通用领域的大语言模型。基准选取 12 个热门 C 项目编译为 x86-64,剥离并用 IDA Pro 反编译 28 个二进制,借助 DWARF 将 81,185 个函数与源码对齐,经专家审核后保留 2,000 个函数。零样本大语言模型与 SymLM、NER、BinT5 和 HexT5 进行比较。Code Llama 34B 在函数名恢复上以 27.59 的词元级 F1 领先,ChatGPT 在摘要任务上以 7.37 的 BLEU-4 领先。研究还考察了少样本提示、两个 7B 模型基于 GNU 二进制的 LoRA 微调,以及针对一个剥离符号的开源 Linux 远程访问木马的案例研究。
研究范围与局限
基准仅覆盖按各项目默认编译器与优化设置构建的 x86-64 二进制及 IDA Pro 伪代码,因此结果不能说明在其他架构、优化级别、反编译器或混淆代码上的表现;作者明确未考虑混淆。参考摘要由 ChatGPT 根据源码生成,并经三位专家筛查,而 ChatGPT 本身也是被评测的模型。BLEU-4、METEOR 与 Rouge-L 衡量的是与这些参考摘要的重合度,作者也指出这些指标未必适合二进制代码摘要。函数名恢复采用词元级精确率、召回率与 F1,而非完全匹配。微调使用来自 O0 级 x86-64 GNU 构建的 30,000 个函数。结果对应 2023 年中至 2024 年初发布的模型版本,包括 gpt-3.5-turbo-16k。
与本合集的关联
补充针对两项核心逆向子任务(恢复函数名与概括反编译函数)的大语言模型基准,并与早期基于学习的符号恢复模型进行比较。
发表与复核详情
- 发表载体
- ICSME 2024
- 发表状态
- 会议论文
- 出版/提交日期
- 2024 年 10 月 6 日
- 日期依据
- IEEE 提交的 Crossref 元数据将 published/纸质出版及 issued 日期记为 2024-10-06,这也是其中所列会议(10 月 6–11 日)的首日。本条目采用出版方提交的日期,并非依据会议日程或 arXiv 历史推定。
- arXiv 首次提交
- 2024 年 4 月 15 日
- arXiv
- 2404.09836
- 已复核的 arXiv 版本
- v3
- DOI
- 10.1109/ICSME58944.2024.00012
Crossref 确认九位作者顺序、DOI、ICSME 2024 论文集名称及第 1–12 页。审阅了 arXiv v3(2024-10-24),其注释为“to be published in ICSME 2024”;v1 与 v2 分别提交于 2024 年 4 月 15 日和 16 日。IEEE Xplore 页面拒绝自动化请求,因此简介依据 arXiv v3,不声称其与 IEEE 版本逐页一致。论文未给出基准、微调数据或提示词的下载链接,也未找到相应发布。所评测的伪代码依赖商业反编译器 IDA Pro。本次未运行代码、模型或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。