[发明专利]基于用户态沙箱的移动应用第三方库隔离方法有效
| 申请号: | 201811083714.8 | 申请日: | 2018-09-17 |
| 公开(公告)号: | CN109255235B | 公开(公告)日: | 2021-08-24 |
| 发明(设计)人: | 李金库;朱孝南;邱军;周亚金;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F21/56 |
| 代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
| 地址: | 710071 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 用户 态沙箱 移动 应用 第三 隔离 方法 | ||
本发明提供基于用户态沙箱的移动应用第三方库隔离方法,基于代码改写实现,包括第三方库代码改写和动态加载代码改写两个部分。第三方库代码改写部分,采用自定义接口的调用代码替换掉第三方库本身的敏感API的调用代码,使得第三方库代码中隐私敏感的行为都被限制在用户态沙箱中,第三方库的权限受到了很好地约束;动态加载代码改写部分主要被改写后的第三方库在运行过程中使用,当第三方动态加载代码时,动态加载的代码会被实时上传到服务器进行改写为自定义接口的调用代码,解决了已有代码改写方案不能处理的动态代码加载问题。本发明通过对已有第三方库的字节码和动态加载代码进行改写,保护应用和用户的隐私安全。
技术领域
本发明属于移动安全领域,涉及移动应用第三方库的权限防护,具体为基于用户态沙箱的移动应用第三方库隔离方法。
背景技术
当前,Android(安卓)平台上的应用绝大多数都是免费的。应用开发者往往会在免费的应用中整合一个或多个第三方库,来缩减自己的开发投入或通过广告收入来获利。
根据Android现有的权限控制模型,应用的权限是在第一次安装时通过配置文件申请分配的,也就是说应用内部的所有组件共用一套权限策略,因此整合在应用中的第三方库也继承了应用的所有权限,其中包括一些不该被第三方库使用的权限。这些第三方库往往是以jar包的形式提供给开发者,因此开发者不知道它们会在自己的应用中做什么,如读取用户通讯录、短信、地理位置信息等。作为开发者,即使想在整合第三方库时对它们的权限进行配置,现有的Android权限控制机制过于粗糙,也不能实现对应用内部不同模块权限的分开监控。
第三方库的权限既不能被开发者控制,也不能被Android的框架层从应用中区分出来,所以它的安全隐患也越来越敏感。首先,由于第三方库继承了应用的权限,所以它们可以通过探测应用所具有的权限,滥用这些权限,读取用户的隐私数据,执行敏感操作。第二,由于第三方库运行在应用的上下文环境中,框架层和操作系统对第三方库和应用本身没有做严格区分,第三方库能够自由的读取应用的文件,这同样可能导致应用信息被修改或者应用隐私数据的泄露。第三,即使在第三方库可信的情况下,这些第三方库本身也可能存在漏洞,被攻击者利用来攻击应用。
为了应对第三方库中的安全隐患,很多研究人员都提出了自己相应的解决措施。例如,美国加州大学伯克利分校的AdDroid[Paul Pearce等,ACM会议]提出为第三方库设计新的API,由此,将第三方库的操作分离到一个系统服务中执行;权限操作是分开了,但是这需要第三方库的参与,所以对第三方库不透明。美国雪城大学的AFrame[Xiao Zhang等,ACSAC会议]把第三方库分离到一个单独UID的进程中执行,从而使第三方库和应用成了两个不同的应用,权限得以分离;但是它修改了系统的框架层代码,需要ROOT权限或重新刷机,因此可行性受到限制。三星美国研究所、卡内基梅隆大学的PEDAL[Bin Liu等,ACM会议]提出把第三方库从应用中分离出来,对第三方库中隐私相关的操作代码进行重写,从而起到控制第三方库权限的作用,这样做不需要ROOT权限,也不需要第三方库参与,但是它不能很好地抵御代码混淆、远程动态代码加载等。
发明内容
为了弥补现有技术的不足,本发明提出了基于用户态沙箱的移动应用第三方库隔离方法,是一种在用户层实现的将第三方库隔离的方法,该方法通过对已有第三方库的字节码进行改写,以管理不信任的第三方库代码,保护应用和用户的隐私安全。
本发明是通过以下技术方案来实现:
基于用户态沙箱的移动应用第三方库隔离方法,包括如下步骤:
(1)改写第三方库敏感API的调用代码:
(1.1)初始化输入输出:
(1.11)初始化JAR包所在目录,生成tmp_class文件夹;
(1.12)初始化JAR包输出目录,生成out文件夹;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811083714.8/2.html,转载请声明来源钻瓜专利网。





