基于模式切换的ARM汇编代码混淆算法
2021-09-26乐德广龚声蓉
计算机工程与应用 2021年18期
乐德广,赵 杰,龚声蓉
1.常熟理工学院 计算机科学与工程学院,江苏 常熟215500
2.苏州同程网络科技股份有限公司,江苏 苏州215123
ARM架构的处理器以其高速度、低功耗等许多优异的特性而在智能手机中得到非常广泛的应用。目前大部分的安卓智能手机都采用ARM处理器。与此同时,ARM应用程序的数量每年呈现指数式的增长。2019年,全球手机APP下载量高达2040亿次[1],在休闲、娱乐、社交、办公、投资、购物、生活和医疗等方面都有手机APP的身影,它们不仅影响着人们的日常生活,而且推动着经济发展。
在各类ARM应用呈井喷式增长,为用户带来便利和促进经济增长的同时,针对ARM架构的程序攻击日益突出,如ARM指令形式化变换逆向工程、静态分析和动态调试等[2],带来了巨大的隐私信息泄露的隐患,也造成各种恶意软件和盗版应用泛滥。因此,如何保护基于ARM处理器的应用程序,成为软件安全研究的重点。
代码混淆是一种保留语义的程序变换技术,其目的是使程序逻辑变得难以理解,增加逆向工程的难度,从而有效保护软件[3]。文献[4]在分析安卓软件遭受恶意攻击的基础上,提出一种基于Java的安卓应用代码混淆技术,旨在提高安卓应用代码的隐蔽性,进而使安卓应用得到更有效的保护。但是该技术工作在Java层,很容易被逆向反编译。文献[5]通过研究市场上流行的软件混淆技术,开发了一种主要针对Smali代码的混淆算法,研究其控制流混淆,变量混淆和虚假代码的注入,通过分析反编译工具的弱点,其混淆之后的代码可以免受反编译工具的静态分析。……
登录APP查看全文
