一种基于动态虚拟指令变换的Android应用安全保护方法技术

技术编号:21004301 阅读:43 留言:0更新日期:2019-04-30 21:35
本发明专利技术公开了一种基于动态虚拟指令变换的Android应用安全保护方法。本发明专利技术定义了自定义的虚拟指令集和虚拟机解释器,通过指令混淆操作将Dalvik指令集变换为自定义的虚拟指令集,在执行时对指令集之间的映射关系进行动态变换,并由自定义的虚拟机解释器对变换后的指令进行解释和执行,从而实现对Android应用中的关键方法和执行逻辑的保护。同时,基于自定义虚拟指令集的Android应用代码及其对应的虚拟机解释器内嵌在Android应用中,因而无需拥有Root权限或对Android底层系统进行修改。本发明专利技术能够对Android应用中的关键方法和执行逻辑提供有效的保护,提高应用程序的混淆程度和不可读性,能够有效提高攻击者实施逆向分析和代码转储攻击的时间与空间复杂度,实现Android应用的安全加固。

A Security Protection Method for Android Applications Based on Dynamic Virtual Instruction Transform

【技术实现步骤摘要】
一种基于动态虚拟指令变换的Android应用安全保护方法
本专利技术涉及一种Android应用软件安全保护方法,特别是基于动态虚拟指令变换的Android应用保护的方法,结合虚拟指令与自定义解释器两方面的优势充分保护Android应用软件的安全性。
技术介绍
Google公司于2007年推出Android系统,在短短几年内迅速占领移动智能手机的市场,成为目前最流行的手机操作系统,根据通讯流量监测机构Statcounter提供的数据显示,2017年3月Android首次超过Windows成为全球第一大操作系统,占比37.93%,超过了微软的Windows系统的37.91%。虽然Android系统的源码开源特性在一定程度上给开发人员带来了一定的便利,但是该特性也给Android应用带来了安全隐患。Android系统本身的安全机制是一种粒度较粗的安全机制,攻击者可以通过反编译、静态分析、动态分析、重打包等技术对应用程序进行恶意修改,同时,Android应用市场良莠不齐,难以管理,导致Android应用成为恶意软件泛滥的重灾区,严重损害了用户的利益。目前攻击者针对Android应用实施攻击的本文档来自技高网...

【技术保护点】
1.一种基于动态虚拟指令集的Android应用安全保护方法,其特征在于:步骤一,确定Android应用程序中的待保护方法,一部分方法由开发人员提供,另一部分为应用程序中访问系统敏感资源的方法,将两部分方法生成一个关键方法集合;步骤二,根据步骤一中生成的关键方法集合,从DEX文件中抽取出关键方法的方法指令、参数类型、返回值类型、寄存器个数,即根据对应的偏移量将关键方法的信息从类数据区中抽取出;步骤三,对步骤二中抽取出的关键方法的指令实施混淆操作,包括两部分:第一,对Dalvik虚拟机中所有的指令进行格式长度上的统一;第二,通过分析各应用软件中相伴出现频率较高的指令,将其组合在一起定义为新的虚拟指...

【技术特征摘要】
1.一种基于动态虚拟指令集的Android应用安全保护方法,其特征在于:步骤一,确定Android应用程序中的待保护方法,一部分方法由开发人员提供,另一部分为应用程序中访问系统敏感资源的方法,将两部分方法生成一个关键方法集合;步骤二,根据步骤一中生成的关键方法集合,从DEX文件中抽取出关键方法的方法指令、参数类型、返回值类型、寄存器个数,即根据对应的偏移量将关键方法的信息从类数据区中抽取出;步骤三,对步骤二中抽取出的关键方法的指令实施混淆操作,包括两部分:第一,对Dalvik虚拟机中所有的指令进行格式长度上的统一;第二,通过分析各应用软件中相伴出现频率较高的指令,将其组合在一起定义为新的虚拟指令;经过混淆操作后生成与原始方法指令不同的虚拟指令;步骤四,动态随机生成程序指令的置换矩阵;步骤五,...

【专利技术属性】
技术研发人员:俞研胡恒伟付安民苏铓黄婵颖
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1