一种抵抗符号执行的路径分支混淆技术  被引量:12

Branch Obfuscation to Combat Symbolic Execution

在线阅读下载全文

作  者:王志[1] 贾春福[1] 刘伟杰[1] 王晓初[1] 张海宁[1] 于晓旭[1] 陈 

机构地区:[1]南开大学计算机与控制工程学院,天津300071

出  处:《电子学报》2015年第5期870-878,共9页Acta Electronica Sinica

基  金:国家自然科学基金(No.61300242;No.61272423;No.60973141);国家"973"重点基础研究发展计划(No.2013CB834204);中央高校基本科研业务费专项资金(No.65121012);南开大学-腾讯联合项目

摘  要:程序在动态执行过程中泄露了大量的路径分支信息,这些路径分支信息是其内部逻辑关系的二进制表示.符号执行技术可以自动地收集并推理程序执行过程所泄露的路径信息,可用于逆向工程并可削弱代码混淆的保护强度.哈希函数可以有效保护基于等于关系的路径分支信息,但是难以保护基于上下边界判断的不等关系的路径分支信息.将保留前缀算法与哈希函数相结合提出了一种新的路径分支混淆技术,将符号执行推理路径分支信息的难度等价到逆向推理哈希函数的难度.该路径分支混淆方法在SPECint-2006程序测试集上进行了实验,试验结果表明该混淆方法能有效保护程序路径分支信息,具有实用性.At run time,a large number of program branching information is leaked.Branching information is the binary rep- resentation of program internal logic. Symbolic execution could automatically collect and mason about the leaked branch informa- tion, which could be used for reverse engineering and weaken the strength of code obfuscation. Hash function can effectively safe- guard equal branch conditions,but it can' t be used to protect branching information containing unequal trigger conditions,such as greater than or less than.In this paper, a new branch obfuscation approach combining prefix-preserving algorithm and hash function, which extends the protection scope of hash function. The strength and resilience of the branch obfuscation are discussed. This branch obfuscation approach has been tested on 7 programs from the SPECint-2006 benchmark suite,and the experimental results show that this approach could effectively mitigate branch information leaking, yet practical in terms of performance.

关 键 词:代码混淆 符号执行 哈希函数 保留前缀加密 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象