Khaos:过程间代码混淆对二进制比对技术的影响
密码学与安全
2023-01-30 v1
摘要
软件混淆技术可通过混淆第三方代码来阻止二进制比对技术定位漏洞代码,从而达到保护嵌入式设备软件的目的。随着二进制比对技术的快速发展,它们能够通过提取函数内部特征实现越来越精确的函数匹配与识别。这使得现有主要聚焦于过程内代码混淆的软件混淆技术不再有效。本文提出一种新的过程间代码混淆机制 Khaos,其利用编译优化将代码在函数间移动以混淆函数。我们提出两种用于分离与聚合函数的混淆原语,分别称为裂变(fission)与融合(fusion)。基于 LLVM 编译器实现了 Khaos 的原型,并在大量真实程序上进行了评估,包括 SPEC CPU 2006 & 2017、CoreUtils、JavaScript 引擎等。实验结果表明,Khaos 优于现有代码混淆方法,能够将五种最先进(SOTA)二进制比对技术的准确率显著降低至 19% 以下,且运行时开销低于 7%。
引用
@article{arxiv.2301.11586,
title = {Khaos: The Impact of Inter-procedural Code Obfuscation on Binary Diffing Techniques},
author = {Peihua Zhang and Chenggang Wu and Mingfan Peng and Kai Zeng and Ding Yu and Yuanming Lai and Yan Kang and Wei Wang and Zhe Wang},
journal= {arXiv preprint arXiv:2301.11586},
year = {2023}
}