[发明专利]安卓应用程序的动态行为监测方法及系统有效
申请号: | 201410670086.9 | 申请日: | 2014-11-20 |
公开(公告)号: | CN104375938B | 公开(公告)日: | 2017-09-05 |
发明(设计)人: | 杨丁宁;李媛;汪薇薇;余泉;邓样辉;杜云 | 申请(专利权)人: | 工业和信息化部电信研究院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三友知识产权代理有限公司11127 | 代理人: | 王涛 |
地址: | 100191 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 动态 行为 监测 方法 系统 | ||
技术领域
本发明涉及安卓应用程序监测技术领域,尤其涉及一种安卓应用程序的动态行为监测方法及系统。
背景技术
动态行为分析是通过动态运行应用程序的方式对其行为进行建模的一类技术的统称。此类行为建模技术的特点是首先启动应用软件,监测其运行过程中执行的各种操作,最终得到的一系列监测记录。动态行为分析技术在代码性能优化、程序正确性验证以及软件安全检测等领域得到了广泛应用。
目前在对安卓应用程序进行安全性检测时,使用的动态行为分析技术一般有API HOOK和应用重打包两种。其中,基于API HOOK技术的动态行为分析方法通过修改操作系统功能调用的入口点,将其指向由分析人员编写的一段自定义代码。当应用程序调用相关系统功能时,这段自定义的代码首先被执行,并记录有关的调用信息,例如调用时间、调用者进程的名称、调用栈的内容以及传递的参数值等,之后再返回到真正的系统功能代码中继续完成操作。基于应用重打包技术的动态行为分析方法通过逆向工程将应用的可执行文件还原成接近源代码的内容,对于其中的目标操作系统功能调用,在执行调用的代码前插入一段自定义的代码用于记录调用事件的相关信息,随后再将接近源代码的内容重新打包成可执行文件。在运行这个新的可执行文件时,插入的自定义代码将在系统功能调用之前运行,从而实现相关信息的记录。
可见,当前无论采用API HOOK技术或者应用重打包技术,均需要对应用程序或操作系统相关功能进行修改,造成测试对象发生变化,使得测试结果失去效力;另外,对相关系统功能进行修改需要root权限,而很多安卓终端均不开放此类权限;此外,对相关系统功能的修改可能带来兼容性问题。
发明内容
本发明的实施例提供一种安卓应用程序的动态行为监测方法及系统,以解决当前采用API HOOK技术或者应用重打包技术来进行动态行为分析造成的测试结果不准确,且安卓终端权限不允许和对相关系统功能的修改可能带来兼容性的问题。
为达到上述目的,本发明采用如下技术方案:
一种安卓应用程序的动态行为监测方法,包括:
监测主机在待测应用程序所需调用的敏感操作系统应用程序编程接口的代码处设置断点;
所述监测主机向移动设备发送监测命令报文;
在接收到所述监测命令报文后,移动设备在运行所述待测的应用程序时,若调用了所述敏感操作系统应用程序编程接口,则触发一断点事件;
所述移动设备暂停运行所述待测的应用程序,并将所述断点事件发送给所述监测主机;
所述监测主机在接收到所述断点事件后,向所述移动设备发送监测数据请求报文;
所述移动设备根据所述监测数据请求报文向所述监测主机发送被移动设备调用的所述敏感操作系统应用程序编程接口的监测数据;
所述监测主机将所述监测数据进行显示。
具体的,所述监测数据包括所述敏感操作系统应用程序编程接口的函数名、类名、待测的应用程序向敏感操作系统应用程序编程接口函数发送的参数值以及调用栈信息。
此外,在监测主机在待测应用程序所需调用的敏感操作系统应用程序编程接口的代码处设置断点之前,所述方法还包括:
所述移动设备运行所述待测的应用程序,并启动一Dalvik虚拟机进程;所述Dalvik虚拟机进程包括一调试线程,所述调试线程中记录有所述Dalvik虚拟机进程的身份标识;
所述移动设备建立所述调试线程与移动设备中的设备端代理的Socket连接;
所述移动设备通过所述设备端代理,将所述身份标识发送给所述监测主机。
进一步的,所述安卓应用程序的动态行为监测方法,还包括:
所述监测主机通过监测主机中的Dalvik调试管理库为所述身份标识对应的Dalvik虚拟机进程选择一个本地TCP端口作为本地调试端口;
所述监测主机建立所述本地TCP端口与所述调试线程的数据包转发连接。
另外,在所述监测主机将所述监测数据进行显示之后,所述方法还包括:
所述监测主机向所述移动设备发送应用程序继续运行指令;
所述移动设备在接收到所述应用程序继续运行指令后,控制被暂停的所述待测的应用程序继续运行。
一种安卓应用程序的动态行为监测系统,包括:通过USB接口连接的监控主机和移动设备;
其中,所述监测主机,用于在待测应用程序所需调用的敏感操作系统应用程序编程接口的代码处设置断点,并向移动设备发送监测命令报文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于工业和信息化部电信研究院,未经工业和信息化部电信研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410670086.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有支架内滑动复合保温结构的蒸汽管
- 下一篇:新式保温热水管