【技术实现步骤摘要】
本专利技术涉及安卓应用程序监测
,尤其涉及一种安卓应用程序的动态行为监测方法及系统。
技术介绍
动态行为分析是通过动态运行应用程序的方式对其行为进行建模的一类技术的统称。此类行为建模技术的特点是首先启动应用软件,监测其运行过程中执行的各种操作,最终得到的一系列监测记录。动态行为分析技术在代码性能优化、程序正确性验证以及软件安全检测等领域得到了广泛应用。目前在对安卓应用程序进行安全性检测时,使用的动态行为分析技术一般有API HOOK和应用重打包两种。其中,基于API HOOK技术的动态行为分析方法通过修改操作系统功能调用的入口点,将其指向由分析人员编写的一段自定义代码。当应用程序调用相关系统功能时,这段自定义的代码首先被执行,并记录有关的调用信息,例如调用时间、调用者进程的名称、调用栈的内容以及传递的参数值等,之后再返回到真正的系统功能代码中继续完成操作。基于应用重打包技术的动态行为分析方法通过逆向工程将应用的可执行文件还原成接近源代码的内容,对于其中的目标操作系统功能调用,在执行调用的代码前插入一段自定义的代码用于记录调用事件的相关信息,随后再将接近源代码的内容重新打包成可执行文件。在运行这个新的可执行文件时,插入的自定义代码将在系统功能调用之前运行,从而实现相关信息的记录。可见,当前无论采用API HOOK技术或者应用重打包技术,均需要对应用程序或操作系统相关功能进行修改,造成测试对象发生变化, ...
【技术保护点】
一种安卓应用程序的动态行为监测方法,其特征在于,包括:监测主机在待测应用程序所需调用的敏感操作系统应用程序编程接口的代码处设置断点;所述监测主机向移动设备发送监测命令报文;在接收到所述监测命令报文后,移动设备在运行所述待测的应用程序时,若调用了所述敏感操作系统应用程序编程接口,则触发一断点事件;所述移动设备暂停运行所述待测的应用程序,并将所述断点事件发送给所述监测主机;所述监测主机在接收到所述断点事件后,向所述移动设备发送监测数据请求报文;所述移动设备根据所述监测数据请求报文向所述监测主机发送被移动设备调用的所述敏感操作系统应用程序编程接口的监测数据;所述监测主机将所述监测数据进行显示。
【技术特征摘要】
1.一种安卓应用程序的动态行为监测方法,其特征在于,包括:
监测主机在待测应用程序所需调用的敏感操作系统应用程序编程接口的代码处
设置断点;
所述监测主机向移动设备发送监测命令报文;
在接收到所述监测命令报文后,移动设备在运行所述待测的应用程序时,若调用
了所述敏感操作系统应用程序编程接口,则触发一断点事件;
所述移动设备暂停运行所述待测的应用程序,并将所述断点事件发送给所述监测
主机;
所述监测主机在接收到所述断点事件后,向所述移动设备发送监测数据请求报
文;
所述移动设备根据所述监测数据请求报文向所述监测主机发送被移动设备调用
的所述敏感操作系统应用程序编程接口的监测数据;
所述监测主机将所述监测数据进行显示。
2.根据权利要求1所述的动态行为监测方法,其特征在于,所述监测数据包括
所述敏感操作系统应用程序编程接口的函数名、类名、待测的应用程序向敏感操作系
统应用程序编程接口函数发送的参数值以及调用栈信息。
3.根据权利要求1所述的动态行为监测方法,其特征在于,在监测主机在待测
应用程序所需调用的敏感操作系统应用程序编程接口的代码处设置断点之前,所述方
法还包括:
所述移动设备运行所述待测的应用程序,并启动一Dalvik虚拟机进程;所述
Dalvik虚拟机进程包括一调试线程,所述调试线程中记录有所述Dalvik虚拟机进程
的身份标识;
所述移动设备建立所述调试线程与移动设备中的设备端代理的Socket连接;
所述移动设备通过所述设备端代理,将所述身份标识发送给所述监测主机。
4.根据权利要求3所述的动态行为监测方法,其特征在于,还包括:
所述监测主机通过监测主机中的Dalvik调试管理库为所述身份标识对应的
Dalvik虚拟机进程选择一个本地TCP端口作为本地调试端口;
所述监测主机建立所述本地TCP端口与所述调试线程的数据包转发连接。
5.根据权利要求4所述的动态行为监测方法,其特征在于,在所述监测主机将
所述监测数据进行显示之后,所述方法还包括:
所述监测主机向所述移动设备发送应用程序继续运行指令;
所述移动设备在接收到所述应用程序继续运行指令后...
【专利技术属性】
技术研发人员:杨丁宁,李媛,汪薇薇,余泉,邓样辉,杜云,
申请(专利权)人:工业和信息化部电信研究院,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。