[发明专利]一种在Android中植入动态污点分析模块的方法有效
申请号: | 201310112042.X | 申请日: | 2013-04-02 |
公开(公告)号: | CN103177210A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 梁彬;游伟;王鹏;石文昌 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F21/50 | 分类号: | G06F21/50 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 徐宁;关畅 |
地址: | 100872 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 植入 动态 污点 分析 模块 方法 | ||
技术领域
本发明涉及一种动态污点分析方法,特别是关于一种可直接在Android中植入动态污点分析模块的方法。
背景技术
动态污点分析技术是一种有效而实用的信息流分析技术。利用动态污点分析技术可以较为准确地监控应用程序在运行过程中的信息流,例如跟踪是否有敏感数据从预设的污点源传播至预设的安全敏感操作点。动态污点分析技术通常由三个关键技术环节构成:污点引入、污点传播和污点检验。污点引入是指在从预设的污点源读取数据时,需要为所读取的数据设置相应的污点值。污点传播是指在应用程序处理污点数据的过程中,依据设定的策略传播污点值。污点检验是指在预设的安全敏感操作点检验所操作数据是否是污点数据。
动态污点分析技术现已被广泛用于未知漏洞检测、恶意软件分析、测试用例生成等安全研究领域。在Android系统(安卓系统)平台上,动态污点分析技术的一个典型应用场景就是对敏感信息操作的监控分析。在这一应用场景下,预设的污点源是用户的敏感信息,主要包括设备标识符、手机号码、地理位置、联系人列表和短信消息等;预设的安全敏感操作点是将信息传输出终端设备的操作,主要包括:网络通信、短信通讯等。通过动态污点分析技术实施对敏感信息操作的监控分析,能够有效地减轻敏感信息泄漏给用户带来的威胁和隐患。
现有的Android系统平台上的动态污点分析技术通常采用动态插桩的方法,将具有污点跟踪功能的动态污点分析模块插入系统虚拟机或模拟器中。这些方法需要修改Android系统源代码或改变Android系统架构,如需要配置繁琐的运行环境、编译源代码、刷机以及ROOT目标终端设备等操作,这些对于普通用户而言过于复杂和专业,从而导致动态污点分析技术难以应用在普通用户的Android系统终端设备上。
发明内容
针对上述问题,本发明的目的是提供一种简单易行的在Android中植入动态污点分析模块的方法。
为了解决上述技术问题,本发明采取以下技术方案:一种在Android中植入动态污点分析模块的方法,包括以下步骤:1)对系统类库进行静态插桩,将动态污点分析模块直接插入系统类库文件中,生成插桩后的系统类库;2)对应用程序进行静态插桩,将动态污点分析模块直接插入应用程序文件中,生成插桩后的应用程序;3)在插桩后的应用程序装载过程中,通过重定向虚拟机启动函数的方法重构执行环境,使插桩后的应用程序能够引用插桩后的系统类库;4)在插桩后的应用程序运行过程中,动态污点分析模块同步运行,实施动态污点跟踪分析,例如跟踪是否有敏感数据从预设的污点源传播至预设的安全敏感操作点。
上述步骤1)包括以下步骤:1.1)从Android系统终端设备中导出系统类库的压缩包和代码文件;1.2)在系统类库的代码文件中直接插入动态污点分析模块的代码文件;1.3)将插入动态污点分析模块代码文件后的系统类库的代码文件重新加入系统类库的压缩包中;1.4)将系统类库的压缩包重新导入Android系统终端设备。
上述步骤2)包括以下步骤:2.1)解包应用程序;2.2)在解包后的应用程序的代码文件中直接插入动态污点分析模块的代码文件;2.3)在应用程序的配置文件中声明动态污点分析模块的相关组件;2.4)将应用程序文件目录重新打包并签名,生成插桩后的应用程序。
上述步骤3)包括以下步骤:3.1)重定向虚拟机启动函数,添加设定的启动参数;3.2)重新启动虚拟机,指定经步骤1)插桩后的系统类库所在路径作为系统类的搜索路径;3.3)使用重新启动的虚拟机重新装载经步骤2)插桩后的应用程序,使重新装载的插桩后的应用程序能引用插桩后的系统类库。
上述步骤4)包括以下步骤:4.1)当应用程序从预设的污点源读取数据时,为读取的数据设置相应的污点值;4.2)在应用程序处理污点数据的过程中,依据设定的策略传播污点值;4.3)当应用程序执行预设的安全敏感操作时,检验操作数据是否是污点数据。
本发明由于采取以上技术方案,其具有以下优点:1、本发明无需修改Android系统源代码和系统架构、无需刷机及ROOT目标终端设备,便可以在Android系统平台上植入运行具有污点跟踪功能的动态污点分析模块。本发明可广泛用于各种Android系统平台终端加载动态污点分析模块,对敏感信息操作进行监控分析,为用户提供强有力的隐私信息保护,大大减小隐私信息泄漏给用户造成的危害及损失。
附图说明
图1是本发明的流程示意图
图2是本发明对系统类库进行静态插桩的流程示意图
图3是本发明对应用程序进行静态插桩的流程示意图
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310112042.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于内燃机的油泵的润滑剂阀
- 下一篇:硅磁纳米高效节能电锅炉