今天为大家推荐的论文是来自南京大学软件安全实验室投稿,实验室与犹他大学徐军老师研究组合作的关于二进制反汇编的Ground Truth的探讨的工作Ground Truth for Binary Disassembly is Not Easy,该工作已经发表于USENIX Security 2022。
背景介绍
通常为了验证二进制反汇编工具的性能以及发现其算法实现的局限性,需要进行大量的实验评估。而为了进行大量的实验评估,则需要一个自动化收集关于二进制反汇编Ground Truth的方法。所以在收集二进制反汇编Ground Truth时,科研人员往往选一个自己认为比较可靠的方法。 在这个工作中,作者总结了5种收集Ground Truth的方法,同时从Precision, Recall, Generality和Extendibility四个方面对他们进行了对比,并发现每种方法存在的问题。下表为作者总结的收集二进制反汇编Ground Truth的方法:
作者通过实验对比发现,虽然Tracing compilation Process [1]在Recall方面表现不太完美,但可以保证收集到的Ground Truth不会出错。接下来,作者将Tracing compilation Process方法定义为Oracle方法,并将其与其它方法作为对比,从而揭示不准确的Ground Truth带来的影响。
不准确的Ground Truths带来的影响
下面从以下三个方面来探讨不准确的Ground Truths带来的影响:
Impacts on Training Accuracy
运用机器学习模型来辅助二进制反汇编是比较有效的方法,然而我们发现使用不同的Ground Truths训练机器学习模型会带来不同的效果。 并为此构造两个不同的Ground Truths来训练Byteweight [2],可以发现不同的Ground Truths会对机器学习模型的精度带来影响。
Impacts on Tool Evaluation
二进制反汇编Ground Truth还有一个用处是对二进制反汇编工具进行评估,从而发现工具的不足,进而改进。作者发现不同的Ground Truths会影响对工具的评估,所以作者使用两个Ground Truths对dyninst进行评估,其中Manual的测试集使用的是论文[3]中提到的。
Impacts on Tool Comparison
二进制反汇编Ground Truth还有一个用处是二进制反汇编工具的性能比较,作者采用三个不同的Ground Truths,对主流的反汇编工具的指令恢复功能进行比较。结果显示不同的Ground Truths会影响工具的评比。
Oracle工具的扩展与应用
Oracle工具虽然能收集准确的Ground Truth,但是现在只支持x86/x64平台,为了让其支持更多的主流平台,作者将其迁移到arm32, aarch64, mips32/64,并构建了这些平台的测试集,以对主流二进制反汇编工具有更全面的对比。以下为主流反汇编工具在不同平台下的表现:
论文下载:https://www.usenix.org/system/files/sec22-pang-chengbin.pdf
项目地址:https://github.com/junxzm1990/x86-sok
参考文献:
[1] Pang, C., Yu, R., Chen, Y., Koskinen, E., Portokalidis, G., Mao, B., & Xu, J. (2021, May). SoK: All you ever wanted to know about x86/x64 binary disassembly but were afraid to ask. In 2021 IEEE Symposium on Security and Privacy (SP) (pp. 833-851). IEEE.
[2] Bao, T., Burket, J., Woo, M., Turner, R., & Brumley, D. (2014). {BYTEWEIGHT}: Learning to recognize functions in binary code. In 23rd USENIX Security Symposium (USENIX Security 14) (pp. 845-860).
[3] Meng, X., & Miller, B. P. (2016, July). Binary code is not easy. In Proceedings of the 25th International Symposium on Software Testing and Analysis (pp. 24-35).
还没有评论,来说两句吧...