一种监控应用程序的处理方法及装置制造方法及图纸

技术编号:19320972 阅读:20 留言:0更新日期:2018-11-03 11:10
本发明专利技术实施例提供一种监控应用程序的处理方法及装置,所述方法包括:在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数;根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为。所述装置执行上述方法。本发明专利技术实施例提供的监控应用程序的处理方法,能够监控应用程序的运行全过程,并全面地获取应用程序运行中的敏感操作行为。

Processing method and device for monitoring application program

The embodiment of the present invention provides a processing method and a device for monitoring application program, which includes: extracting function parameters calling the application program in the process of running the application program in a virtual machine loaded with modified system source code, matching files according to pre-stored policies, and the function parameters. The running process of the application is monitored to obtain the sensitive behavior of the application at run time. The device performs the above method. The processing method of the monitoring application program provided by the embodiment of the present invention can monitor the whole process of the application program and obtain the sensitive operation behavior in the operation of the application program in an all-round way.

【技术实现步骤摘要】
一种监控应用程序的处理方法及装置
本专利技术实施例涉及虚拟机
,具体涉及一种监控应用程序的处理方法及装置。
技术介绍
随着移动通信技术的发展,越来越多的应用程序运行在移动终端,一些病毒、木马等通过应用程序窥探人们的隐私,严重影响了人们的正常生活,因此,对应用程序进行监控,以识别出移动终端是否有运行异常的应用程序,显得尤为重要。现有监控应用程序的方法(以安卓系统为例)有:对应用程序(AndroidPackage,以下简称APK)反编译后,再针对敏感应用程序接口(ApplicationProgramInterface,以下简称api)的调用位置增加logcat输入,然后重打包,安装到移动终端或虚拟机中运行,通过监控应用程序运行过程中的logcat输出,识别出运行异常的应用程序。但是,该方法只能针对早期的应用程序,目前的应用程序大多采用加壳加固或加入了反反编译、反重打包机制,导致该方法失效。现有的方法还有:通过hook(钩子,实际上是一个处理消息的程序段,通过系统调用,把它挂入系统)的方式hook系统java接口实时获取应用程序运行的行为,但只能监控hook动作以后的应用程序的运行,且无法监控ndk(NativeDevelopmentKit)层的敏感操作。因此,如何监控应用程序的运行全过程,并全面地获取应用程序运行中的敏感操作行为,成为亟须解决的问题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种监控应用程序的处理方法及装置。一方面,本专利技术实施例提供一种监控应用程序的处理方法,所述方法包括:在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数;根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为。另一方面,本专利技术实施例提供一种监控应用程序的处理装置,所述装置包括:提取单元,用于在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数;监控单元,用于根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为。本专利技术实施例提供的监控应用程序的处理方法,能够监控应用程序的运行全过程,并全面地获取应用程序运行中的敏感操作行为。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例监控应用程序的处理方法的流程示意图;图2为本专利技术实施例监控应用程序的处理装置的结构示意图;图3为本专利技术实施例提供的装置实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例监控应用程序的处理方法的流程示意图,如图1所示,本专利技术实施例提供的监控应用程序的处理方法,包括以下步骤:S1:在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数。具体的,装置在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数。需要说明的是:未修改系统源码的虚拟机,无法提取到调用应用程序(AndroidPackage,以下简称APK)的函数参数。该函数参数可以包括该函数的输入值和返回值,不同的APK对应有不同的函数参数。在原系统的架构层(包括应用层、框架层、运行环境层和内核层),对于需要监控的APK、将架构层相应的位置确定为监控点,并写入修改后的系统源码,由于上述的架构层与ndk层有关联,从而可以监控到ndk层的敏感行为,如无特别说明本专利技术实施例中的应用程序是上述需要监控的应用程序。以获取手机应用表的应用程序为例具体举例说明系统源码的修改如下:Landroid/app/ApplicationPackageManager;List<PackageInfo>getInstalledPackages(intflags);获取手机应用表\android\frameworks\base\core\java\android\app\ApplicationPackageManager.java其中:第一行是确需要监控的应用程序对应的监控点、第二行是执行该需要监测的应用程序的调取函数、第三行是写入修改系统源码的路径和文件,从中可以看出:路径中的“frameworks”对应于架构层中的框架层,不同的监控点都需要在原系统源码中不同的路径写入不同的监控代码,其他需要监控的应用程序对应的监控点、执行该需要监测的应用程序的调取函数、写入修改系统源码的路径和文件如下,具体的说明不再赘述。创建新进程应用程序:Ljava/lang/ProcessBuilder;start创建新进程\libcore\luni\src\main\java\java\lang;初始化应用程序:Landroid/content/Intent;Intent初始化Intent\android\frameworks\base\core\java\android\content\Intent.java;调用Intent的应用程序:Landroid/content/Intent;setAction调用Intent的setAction\android\frameworks\base\core\java\android\content\Intent.java;添加悬浮窗口应用程序:Landroid/view/WindowManager;LayoutParams添加悬浮窗口\android\frameworks\base\core\java\android\view\WindowManager.java;唤醒锁屏应用程序:Landroid/os/PowerManager;wakeUp()唤醒锁屏\android\frameworks\base\core\java\android\os\PowerManager.java;检测手机是否待机状态应用程序:Landroid/app/KeyguardManagerinKeyguardRestrictedInputMode()检测手机是否待机状态\android\frameworks\base\core\java\android\app\KeyguardManager.java;使用ssl安全通讯应用程序:Ljavax/net/ssl/SSLContext;getInstance("TLS");使用ssl安全通讯\android\libcore\luni\src\main\java\javax\net\ssl\SSLContext.java;获取加密实例应用程序:Ljavax/crypto/本文档来自技高网...

【技术保护点】
1.一种监控应用程序的处理方法,其特征在于,包括:在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数;根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为。

【技术特征摘要】
1.一种监控应用程序的处理方法,其特征在于,包括:在加载有修改系统源码后的虚拟机运行所述应用程序的过程中,提取调用所述应用程序的函数参数;根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为。2.根据权利要求1所述的方法,其特征在于,所述根据预先存储的策略匹配文件、以及所述函数参数,对所述应用程序的运行过程进行监控,以获取所述应用程序运行时的敏感行为,包括:将所述函数参数发送至日志输出模块,所述日志输出模块预先存储有所述策略匹配文件,所述策略匹配文件包括有敏感行为样本特征;在所述日志输出模块中解析所述函数参数,并将所述函数参数的解析结果与所述敏感行为样本特征进行比对;根据所述比对的结果,以获取所述应用程序运行时的敏感行为。3.根据权利要求2所述的方法,其特征在于,所述根据所述比对的结果,以获取所述应用程序运行时的敏感行为之后,所述方法还包括:将获取到的所述敏感行为与所述策略匹配文件生成在同一个报告中。4.根据权利要求1所述的方法,其特征在于,所述函数参数包括:所述函数的输入值和返回值。5.根据权利要求1所述的方法,其特征在于,所述敏感行为包括针对所述虚拟机检测屏蔽的敏感行为、网络行为的敏感行为、文件操作的敏感...

【专利技术属性】
技术研发人员:罗汉斌阿曼太傅强
申请(专利权)人:中国移动通信集团上海有限公司恒安嘉新北京科技股份公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1