android实现静态注入dex,基于动态字节码注入的Android沙盒模型

摘要:

Android系统在当前的移动手机和平板设备操作系统中占有重要地位。同时,Android也是目前最易受到攻击者攻击的平台之一。尽管Android提供了基于权限的控制等系统安全策略,但这些粗粒度的策略并不能完全保证用户的信息安全。用户很难发现恶意应用滥用了被赋予的权限或者自己的数据被非法的访问、泄露或篡改。为了解决这样的问题,许多基于动态分析和静态分析的研究被提了出来。静态分析是利用程序的源代码或二进制代码作为输入,利用符号执行、数据控制流分析等技术对程序行为进行研究的技术。然而,Android程序多组件和复杂生命周期的特点以及代码混淆等手段为静态分析带来极大困难。动态分析可以弥补很多静态分析的不足,其中,沙盒技术是一种很有效的方式。沙盒能够隔离应用程序与敏感资源和功能,监视应用的行为并限制和控制其对资源的访问。如何实现一个全面、灵活并且可扩展的动态沙盒分析模型具有很高的研究价值。因此,本文提出了一个基于字节码注入的动态分析沙盒模型。此模型基于成熟的Java虚拟机字节码注入框架DiSL,通过复用DiSL对注解的解释,设计了新的Monitor注解,并通过引入API包装类等方式对DiSL进行了扩展,实现了Android系统上API的监视功能。同时,该模型利用dex2jar等工具,解决了Android字节码的特殊格式带来的注入困难。并通过实现系统库的动态注入,完成了Android的全覆盖注入。此模型无需用户了解底层字节码,并兼顾便捷性、灵活性和功能性。文章通过实验,验证了本文的沙盒模型实现方式的健壮性和有效性。并设计了能够对通讯录分组隔离、对短消息发送实行黑名单过滤以及对I/O操作进行监控的沙盒案例,展示了如何利用本模型提供的便捷的注入编程接口来实现简单实用的沙盒分析,并可以用来指导用户开发自己的沙盒分析。

展开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值