国内刊号:51-1196/TP
国际刊号:1001-3695
发布日期:
作者:乐德广,赵杰,钱振江,
单位:1.常熟理工学院计算机科学与工程学院,江苏常熟215500;2.苏州同程网络科技股份有限公司,江苏苏州215123;
关键词:冗余代码,混淆,控制流,逆向工程,
基金:江苏省自然科学基金面上项目(BK20191475);江苏省高校自然科学研究面上项目(18KJB520002);教育部人文社会科学研究项目(18YJCZH068);教育部“新一代信息技术”产学研创新基金资助项目(2018A01003);江苏省高校“青蓝工程”优秀青年骨干教师培养对象项目(2017);;
目前的平展控制流主要是结合不透明谓词使用的,例如混沌映射和同余方程算法,这些算法会引起大量额外开销。此外,这种结合不透明谓词的平展控制流混淆方法难抵御动态逆向攻击。针对这些问题,提出了在插入与原基本块结构类似、但数据随机生成且与原基本块不同的冗余块,使攻击者难以区分实际执行基本块的基础上,对实际执行基本块和冗余块进行控制流平展化处理,进一步混淆控制流结构。此外,构建分支函数动态赋值算法,对分支变量进行强化,提高混淆弹性。该控制流混淆算法在mbed TLS程序测试集上进行控制流、逆向工程和性能测试与分析,测试与分析结果表明该混淆算法不仅能大大提高混淆强度,还能有效保护程序控制流信息,抵抗动静态逆向分析。
来源:2020年第11期
《计算机应用研究》期刊编辑部