android 内存保护,基于内存信息隐藏的Android应用程序保护方法研究与设计

摘要:

近年来,随着Android智能设备的流行和普及,越来越多的攻击者将矛头指向了该平台上的应用程序,其被逆向,二次打包等的问题日益严重,恶意应用也越来越多;并且,研究表明,大部分的恶意应用都是通过将合法的应用进行二次打包而产生的.现有的解决措施大都集中于事后的二次打包应用及恶意应用的检测方面.加壳技术作为一种主动保护措施,近两年来也被用于Android应用程序的防逆向及防二次打包保护.但目前的Android加壳系统大都忽略了可执行文件(dex文件)易被从内存中窃取而造成的二次打包及逆向威胁.针对该问题,本文首先对Android平台上的内存dump攻击进行深入研究分析,然后提出了基于内存信息隐藏的Android应用程序保护方法,通过对内存中的可执行文件信息进行隐藏,增加攻击者获取完整可执行文件的难度,进而增加攻击者逆向及二次打包的攻击难度和成本.本文主要从以下三个方面展开研究:(1)从攻击的角度出发,对Android应用程序所面临的内存dump威胁进行深入分析,通过一个攻击实例详细阐述了该攻击模型,并对攻击成本进行了量化分析.(2)针对内存dump威胁,提出可执行代码碎片化,关键函数动态加载和反调试三个思想相结合的内存信息隐藏方法.首先,可执行代码碎片化使得可执行文件在应用程序运行的整个生命周期中,始终以碎片化形式存在于不同的内存区域中,大大增加了攻击者定位可执行文件的难度;其次,关键函数动态加载使得程序中关键函数的指令集只有在其所属类被加载时才填回内存中相应位置,使得攻击者还原可执行文件的难度大大增加;最后,为了进一步增加内存dump的攻击成本,在保护后程序中加入了反调试保护,并且,在程序执行过程中的所有数据处理关键点处都会检测调试状态并做出相应的响应措施,增大了攻击者访问内存的难度.(3)设计并实现了原型系统DexHide.根据保护方案的思想,设计并实现了其原型系统,并对DexHide的保护有效性和性能消耗进行了理论和实验分析,结果表明DexHide能够有效增加攻击成本,达到保护目的,同时,未对性能造成较大影响.

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值