基于IDA microcode的控制流反混淆框架设计与实现

作者:符笑彬; 丁勇; 钟晓雄; 郑彦斌*
来源:桂林电子科技大学学报, 2022, 42(02): 107-116.
DOI:10.16725/j.cnki.cn45-1351/tn.2022.02.003

摘要

经O-LLVM混淆后的恶意软件存在控制流混乱、可读性差等分析难题,严重影响了安全人员对其进行逆向分析的质量与效率,因此O-LLVM反混淆已经成为二进制安全研究领域的重要研究方向之一。针对已有的O-LLVM反混淆框架只适用标准混淆器,且所支持指令集架构单一的问题,提出了兼容定制化混淆的真实块识别算法和复用块分割算法,通过结合中间语言IDA microcode设计与实现了反混淆框架Bin Deo b。采用中间语言带来了架构无关的优势,因此Bin Deob同时支持ARM32、ARM64、x86、x64等多种指令集架构。在C/C++经典混淆基准和公开的高危安全漏洞数据集上的实验表明,经Bin Deob反混淆得到的程序与原始未混淆程序的控制流程图相似度平均值为98.9%,优于参考文献中的反混淆框架,具有更出色的性能。另外,将伪代码相似度作为评估指标,原始程序源代码与Bin Deob反混淆得到的伪代码相似度平均值为97.6%。

全文