论文部分内容阅读
随着移动互联网技术的发展,社会对移动安全的需求日益迫切,移动安全已成为一个不容忽视的问题。Android是市场占有率最高的移动操作系统,而APP作为Android系统层次架构中直接与用户交互的一层,它的安全问题直接威胁到Android用户和APP开发者的利益。APP加固是保障APP安全的重要手段,但是随着APP安全攻防对抗技术的不断升级,现有APP加固方法存在被逆向攻击的风险。因此,针对APP加固技术进行研究,进一步提升APP的安全防护能力,具有重要的理论意义和实用价值。针对基于函数抽取的DEX保护方法中,抽取的函数在内存中的描述被还原成Java形式,导致攻击者能够动态恢复DEX从而实现脱壳攻击的问题,提出了一种结合动态加载和函数Native化的DEX保护方法。该方法通过修改DEX文件,将需保护的Java函数改写为Native函数,并对DEX文件整体加密;APP启动时,解密并动态加载DEX,进行Native函数重定向;当被保护的函数被调用时,通过反射机制执行原Java函数。在Android真机环境进行静态分析、动态脱壳、Native化验证、性能分析实验,结果表明,方法能够抵御静态分析攻击,实现了函数的Native化,有效地对抗DEX动态恢复和动态脱壳攻击。针对基于单一特征或多特征串联的反调试方法可以被反反调试方法逐一绕过的问题,提出了一种融合多特征的APP反调试方法。该方法首先通过ptrace机制实现对主进程的主动跟踪;然后主进程循环检测主进程和子进程的状态文件中的暗桩;最后主进程监控进程的系统文件。当发现应用被调试时,通过制造系统Crash的方式实现应用退出,达到反调试目的。实验结果表明,方法能够有效地对抗现有调试攻击和反反调试攻击,进一步提高了APP防护能力。设计并实现移动终端应用加固原型系统,系统能够自动识别APP加固信息、提取APP参数、对APP安全加固,为用户提供自定义函数抽取加密功能,最终生成的可运行的APK具有防逆向、防调试等安全防护功能。