摘要
近年来,互联网行业快速发展,安卓系统由于其开源的特点,成为了全球市场份额最多的操作系统。但也由于其开源性的特点,造成安卓应用软件恶意攻击的简易性,再加上目前安卓应用软件保护技术的不成熟,使得针对安卓应用软件的恶意攻击越来越多。厂商应对恶意软件攻击的方式简易,一般会在源码级别进行安全加固混淆,来防止恶意攻击,但由于Android中间代码产物过多,攻击者可对反编译产物smali代码进行随意篡改,即可在APP中植入恶意代码,这严重破坏了Android的安全性。为了解决这一问题,该文总结出一套可以防御smali代码篡改的混淆方法,对寄存器存储字符串类型的值进行加密混淆,并结合不透明谓词技术对其控制流进行混淆,还加入新的自定义逻辑来对APP的逻辑流进行混淆,让攻击者在反编译时发生异常并且无法获得正确的代码逻辑。从强度、开销、弹性三个方面对smali混淆方法进行有效性分析。实验结果表明,该方法可以对抗反编译的逆向分析。
- 单位