2024 · 会议论文
BinPRE:增强基于二进制分析的协议逆向工程中的字段推断
BinPRE: Enhancing Field Inference in Binary Analysis Based Protocol Reverse Engineering
根据受插桩监测的服务端二进制及输入报文,推断协议报文的字段边界与语义。BinPRE 按处理字节的指令操作符进行分组,使用检测器识别字段类型和功能,再借助相似报文细化结果。作者在八种协议、每种 50 条报文上报告平均字段完美分割率为 0.73,类型/功能推断的 F1 分数为 0.74/0.81。
研究范围与局限
研究对象是字段推断,不是恢复协议状态机或端点的完整行为。方法需要能够访问并插桩的实现及运行时的报文处理;仅有被动捕获数据并不足够。完美分割率统计被精确分割的字段占全部真实字段的比例,而非完整恢复的协议比例。检测器库覆盖五种语义类型与六种功能。字节级污点分析无法准确解析位标志,也不确立未执行行为。真实标签依据 Wireshark 解析器与协议规范构建;三种二进制分析基线由作者重新实现。报告的模糊测试改进属于下游评估,不是实现等价性的证明。
与本合集的关联
补充近期借助可执行程序进行协议字段与语义推断的研究,与合集已有的流量语法推断和协议状态学习形成互补。
发表与复核详情
- 发表载体
- ACM CCS 2024
- 发表状态
- 会议论文
- 出版/提交日期
- 2024 年 12 月 2 日
- 日期依据
- 出版方提交的 Crossref 元数据将 published/纸质出版日期记为 2024-12-02,另有一项出版方发表历史声明记为 2024-12-09。本条目采用 published/纸质出版日期;10 月 14–18 日的 CCS 会议日期及 9 月的 arXiv 提交日期另行区分。
- arXiv 首次提交
- 2024 年 9 月 3 日
- arXiv
- 2409.01994
- 已复核的 arXiv 版本
- v1
- DOI
- 10.1145/3658644.3690299
作者发表列表链接了 CCS 排版论文、17 页的 arXiv v1 及产物。六位作者顺序、DOI 和论文集页码与 Crossref 一致。所审阅产物快照日期为 2024-10-25,未声明项目级许可证。README 指定 Ubuntu 20.04、Python 3.8 与 Intel Pin 3.28;流程运行服务端和客户端,并需选择协议与线程。所审阅源码树提供 Modbus 示例,并非完整的八协议评测包;其他服务端、捕获数据及评估用真实标签需要另行配置。README 的 Docker 示例使用特权容器,Dockerfile 获取具名分支,而非所审阅的固定提交。公开可见不授予捆绑二进制或依赖的使用权。本次未下载二进制、捕获数据、容器或安装程序,也未执行上游代码或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。
一手来源
- https://dl.acm.org/doi/10.1145/3658644.3690299
- https://api.crossref.org/works/10.1145/3658644.3690299
- https://tingsu.github.io/files/ccs24-BinPRE.pdf
- https://tingsu.github.io/files/publication.html
- https://arxiv.org/abs/2409.01994
- https://arxiv.org/pdf/2409.01994v1
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/README.md
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/requirements.txt
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/Dockerfile
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/install_pin.sh
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/Artifact_Evaluation/BinPRE_scripts/run_modbus_client.sh
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/Artifact_Evaluation/BinPRE_scripts/run_modbus_server.sh
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/Analyzer/config.py
- https://github.com/ecnusse/BinPRE/blob/9a32bd22b6158d285a237dec10d11403eda8ac4c/Analyzer/AAA_Evaluation/Syntax_Evaluator.py