10.3778/j.issn.1002-8331.2112-0035
LLVM中间语言的控制流混淆方案
软件安全问题在后疫情时代越发突出,代码混淆作为一种成熟的保护方案,借助于LLVM提供了跨平台使用的可能性,但基于LLVM的控制流混淆算法在保护力度上有所局限,一方面是现有的算法模式固定,缺乏结构上的创新性,另一方面是混淆处理时,未考虑到攻击者可以根据基本块的入度进行虚假块的预先判断,存在容易被识别的风险,因此提出两种算法:首先是嵌套switch混淆,打破固有的扁平化处理模式,通过在内部重新构造switch结构,增强对跳转变量的隐藏;其次是入度混淆,在虚假控制流中添加防入度分析策略,通过改变虚假块的入度规避虚假块的识别问题.在LLVM10上实现了方案原型并进行实验,结果表明:混淆方法在1.5倍内的时空开销内,相较于已有的控制流混淆方案,可以进一步降低58.67%的程序基本块相似度,增加64.44%的跳转指令.
软件保护、代码混淆、控制流混淆
59
TP309(计算技术、计算机技术)
2023-04-27(万方平台首次上网日期,不代表论文的发表时间)
共7页
263-269