2022 · 会议论文

SymLM:基于上下文敏感、执行感知代码嵌入的去符号二进制函数名预测

SymLM: Predicting Function Names in Stripped Binaries via Context-Sensitive Execution-Aware Code Embeddings

SymLM 将去符号二进制的函数名预测为一组名称单词。它使用在微执行轨迹上预训练的 Trex 模型编码每个函数的指令,将其与取自 Ghidra 过程间控制流图的调用者、内部被调用函数及外部库调用的嵌入融合,再由 MLP 解码器对固定词表中的单词打分;名称预处理和词嵌入模块 CodeWordNet 用于处理缩写与同义词。在 27 个项目的 16,027 个二进制、共 1,431,169 个函数上(涵盖 x86、x64、ARM 与 MIPS,O0–O3 优化级别及四种 Hikari 混淆),作者报告加权平均精确率 0.634、召回率 0.677、F1 0.655,并给出固件案例研究。

研究范围与局限

函数名被预测为来自固定训练词表的无序单词集合,并按单词级精确率、召回率和 F1 评分,CodeWordNet 会将语义相近的单词计为匹配。这并非精确恢复源码名称,且无法生成词表外的单词。二进制由 GCC 7.5 为 Linux 构建,并在同样的 27 个项目内按二进制划分数据集。在来自 12 个未见项目的 540 个二进制上,整体表现仍然较低,作者将部分原因归于词表不匹配;后来一项 NDSS 2025 研究在去重数据上比较时,报告 SymLM 的平均 F1 为 0.105。与 NFRE 的比较仅针对 x64,与 NERO 的比较使用 NERO 的数据集。混淆实验覆盖四种 Hikari 混淆,不包括加壳或加密。固件案例中,八个 32 位 ARM 固件映像的 1,061 个函数里有 172 个得到部分正确的名称。

与本合集的关联

补充结合执行语义与调用上下文的去符号二进制函数名预测方法,并在多种架构、优化级别和混淆设置下评估,与变量名、类型及数据结构恢复研究互补。

发表与复核详情

发表载体
ACM CCS 2022
发表状态
会议论文
出版/提交日期
2022 年 11 月 7 日
日期依据
ACM 文章页面与出版方提交的 Crossref 元数据均将出版日期列为 2022-11-07,这也是 11 月 7—11 日会议的首日;本条目记录出版方给出的日期。
DOI
10.1145/3548606.3560612

Crossref 将标题截断为“SymLM”;完整标题以 ACM 页面和作者托管的 PDF 为准,该 PDF 带有 CCS ’22 页眉及 DOI。ACM 与 Crossref 的四位作者顺序和页码 1631–1645 一致,ACM 将文章标为免费阅读。按标题检索 arXiv 未发现预印本。所审阅的 2025-07-06 仓库快照采用 MIT 许可证,包含内置的 fairseq、数据集生成脚本、x64 样例数据集、训练、预测与评估脚本以及 CodeWordNet 训练代码。其 README 使用 Python 3.8 与 CUDA 11.3 版 PyTorch,并固定 transformers 4.16.2、gensim 3.8.1 等依赖;训练需要通过 Google Drive 链接获取 2021 年 12 月的 Trex 检查点和 CodeWordNet 模型,README 并提示较新的 Trex 检查点可能不兼容。完整数据集位于 Zenodo 记录 8306055(约 9.4 GB;元数据标注 CC BY 4.0),该记录登记的是论文 DOI,而非单独的数据集 DOI。论文报告在 Trex 预训练之外还需训练 8 天。本次未运行或下载任何内容。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

一手来源

  1. https://dl.acm.org/doi/10.1145/3548606.3560612
  2. https://api.crossref.org/works/10.1145/3548606.3560612
  3. https://xinjin95.github.io/assets/pdf/SymLM_ccs2022_paper.pdf
  4. README.md GitHub · OSUSecLab/SymLM · 修订 89a4815
  5. LICENSE GitHub · OSUSecLab/SymLM · 修订 89a4815
  6. requirements.txt GitHub · OSUSecLab/SymLM · 修订 89a4815
  7. https://zenodo.org/records/8306055
  8. https://zenodo.org/api/records/8306055
  9. https://www.ndss-symposium.org/wp-content/uploads/2025-797-paper.pdf