期刊文献+

基于指令虚拟化的安卓本地代码加固方法 被引量:5

Protecting Android Native Code Based on Instruction Virtualization
下载PDF
导出
摘要 安卓系统越来越广泛地被应用于各种类型的智能设备,比如智能手机、智能手表、智能电视、智能汽车。与此同时,针对这些平台应用软件的逆向攻击也日益增多,这不仅极大地侵犯了软件开发者的合法权益,也给终端用户带来了潜在的安全风险。如何保护运行在各种类型设备上的安卓应用软件不被逆向攻击成为一个重要的研究问题。然而,现有的安卓软件保护方法比如命名混淆、动态加载、代码隐藏等虽然可在一定程度上增加安卓软件的逆向难度,但是原理相对简单容易被绕过。一种更为有效的方法是基于指令虚拟化的加固方法,但已有的指令虚拟化方法只针对特定架构(x86架构),无法兼容运行于多种架构的安卓设备。该文针对安卓应用软件中的本地代码提出了一种架构无关的指令虚拟化技术,设计并实现了基于虚拟机打包保护(VMPP)的加固系统。该系统包含一套基于寄存器架构的定长虚拟指令集、支持该虚拟指令集的解释器以及可以与现有开发环境集成的工具链。在大量C/C++代码以及真实安卓软件上的测试表明,VMPP在引入较低的运行时开销下,能够显著提升安卓本地代码的防逆向能力,并且可被用于保护不同架构上的安卓本地代码。 Android system is now increasingly used in different kinds of smart devices,such as smart phones,smart watches,smart TVs and smart cars.Unfortunately,reverse attacks against Android applications are also emerging,which not only violates the intellectual right of application developers,but also brings security risks to end users.Existing Android application protection methods such as naming obfuscation,dynamic loading,and code hiding can protect Java code and native(C/C++)code,but are relatively simple and easy to be bypassed.A more promising method is to use instruction virtualization,but previous binary-based methods target specific architecture(x86),and cannot be applied to protect Android devices with different architectures.An architecture-independent instruction virtualization method is proposed,a prototype named Virtual Machine Packing Protection(VMPP)to protect Android native code is designed and implemented.VMPP includes a register-based fix-length instruction set,an interpreter to execute virtualized instructions,and a set of toolchains for developers to use to protect their code.VMPP is tested on a large number of C/C++code and realworld Android applications.The results show that VMPP can effectively protect the security of Android native code for different architectures with low overhead.
作者 张晓寒 张源 池信坚 杨珉 ZHANG Xiaohan;ZHANG Yuan;CHI Xinjian;YANG Min(School of Computer Science,Fudan University,Shanghai 201203,China)
出处 《电子与信息学报》 EI CSCD 北大核心 2020年第9期2108-2116,共9页 Journal of Electronics & Information Technology
基金 国家自然科学基金(U1636204,U1836210,U1836213,U1736208,61972099,61602123,61602121) 上海市自然科学基金(19ZR1404800) 国家“九七三”重点基础研究发展计划(2015CB358800)。
关键词 安卓安全 软件保护 代码加固 指令虚拟化 Android security Software protection Android packer Instruction virtualization
  • 相关文献

参考文献8

二级参考文献38

  • 1王海平,曹林,孙国梓,陈丹伟.随机花指令加密算法研究[J].计算机应用,2006,26(2):338-340. 被引量:5
  • 2刘志成,周伯生.基于加密和即时解密的软件保护[J].北京航空航天大学学报,2006,32(6):721-724. 被引量:4
  • 3段钢.加密与解密[M].3版.北京:电子工业出版社,2009. 被引量:2
  • 4吴倩,赵晨啸,郭莹.Android安全机制解析与应用实践[M].北京:机械工业出版社.2013. 被引量:10
  • 5BSA. BSA global software survey: the compliance gap~EB/OL~. ~2015-04-15~. http: //globalstudy.bsa. org/2013/. 被引量:1
  • 6Linn C, Debray S. Obfuscation of executable code to improve resistance to static disassembly [C]//Pro- ceedings of the 10th ACM Conference on Computer and Communications Security ( CCS ~ 03 ). New York: ACM Press, 2003: 290-299. 被引量:1
  • 7Strongt~it Technology. EXECryptor-bulletproof soft- ware protection [EB/OL~. E2015-03~10]. http: // www. strongbit, com/execryptor, asp. 被引量:1
  • 8Markus O, L6szl6 M, John R. UPX.. the ultimate packer for exeeutables [EB/OL~. [2015-03-12]. http://upx, sourceforge, net/. 被引量:1
  • 9Barak B, Goldreieh O, Impagliazzo R, et al. On the (ira)possibility of obfuscating programs[C]//Proc of Advances in Cryptology-CRYPTO 2001. Berlin.. Springer, 2001: 1-18. 被引量:1
  • 10Wu Z, Gianvecchio S, Xie M, et al. Mimimorphism: a new approach to binary code obfuscation[C] // Pro- ceedings of the 17th ACM Conference on Computer and Communications Security ( CCS ~ 10 ). New York: ACM Press, 2010: 536-546. 被引量:1

共引文献24

同被引文献26

引证文献5

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部