著录项信息
专利名称 | 移动设备应用程序的安全检测方法及装置 |
申请号 | CN201410668238.1 | 申请日期 | 2014-11-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-02-18 | 公开/公告号 | CN104361285A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 工业和信息化部电信研究院 | 申请人地址 | 北京市海淀区花园北路52号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 工业和信息化部电信研究院 | 当前权利人 | 工业和信息化部电信研究院 |
发明人 | 潘娟;陈婉莹;孙龙;张鹏;王艳红;王金琦 |
代理机构 | 北京三友知识产权代理有限公司 | 代理人 | 王涛 |
摘要
本发明提供了一种移动设备应用程序的安全检测方法及装置,涉及安卓应用检测技术领域,方法包括对多个待测应用程序进行特征码扫描,获取待测特征码;将所述待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定所述预存特征码中是否有所述待测特征码;将所述待测应用程序进行反编译,获取到所述待测应用程序的代码;通过所述待测应用程序的代码确定所述待测应用程序是否有风险;运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生。本发明能够解决当前对应用程序的安全检测不全面,对繁多的应用程序进行检测的时间较长的问题。
1.一种移动设备应用程序的安全检测方法,其特征在于,包括:
对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;
将所述待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定所述预存特征码中是否有所述待测特征码;
若所述预存特征码中存在所述待测特征码,确定所述待测特征码对应的待测应用程序为恶意应用程序;
若所述预存特征码中不存在所述待测特征码,将所述待测应用程序进行反编译,获取到所述待测应用程序的代码;
通过所述待测应用程序的代码确定所述待测应用程序是否有风险;
若所述待测应用程序有风险,确定所述待测应用程序为恶意应用程序;
运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;
若所述待测应用程序运行时发生了恶意行为,确定所述待测应用程序为恶意应用程序;
所述移动设备应用程序的安全检测方法通过安全检测系统实现,该安全检测系统包括动态行为监控主机、用于显示检测结果的用户主机、防火墙、主机、交换机、磁盘阵列、特征码扫描引擎以及多个静态源码分析引擎;其中,交换机与磁盘阵列、特征码扫描引擎以及多个静态源码分析引擎两两连接;交换机、主机、防火墙、用户主机依次连接;该用户主机连接多个动态行为监控主机,每个动态行为监控主机用于监控多个移动设备;
动态行为监控主机根据权限信息和行为信息对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生;
静态源码分析引擎将待测应用程序的代码进行静态分析,确定待测应用程序的权限信息和行为信息,列出行为信息的调用栈,调用一预先设置的风险行为判定规则库,根据待测应用程序的权限信息、调用栈对行为信息进行风险判定;该静态源码分析引擎的数量为16个或者更多,以同时对多个待测应用程序的代码进行静态分析处理;
特征码扫描引擎对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;在确定待测应用程序为恶意应用程序后,将确定结果反馈给用户主机。
2.根据权利要求1所述的移动设备应用程序的安全检测方法,其特征在于,在对多个待测应用程序进行特征码扫描之前,包括:
根据预先设置的待测应用程序优先级确定对所述待测应用程序进行特征码扫描的顺序。
3.根据权利要求1所述的移动设备应用程序的安全检测方法,其特征在于,在将所述待测应用程序进行反编译之前,包括:
根据预先设置的待测应用程序优先级确定将所述待测应用程序进行反编译的顺序。
4.根据权利要求1-3任一项所述的移动设备应用程序的安全检测方法,其特征在于,所述通过所述待测应用程序的代码确定所述待测应用程序是否有风险,包括:
将所述待测应用程序的代码进行静态分析,确定所述待测应用程序的权限信息和行为信息;
列出所述行为信息的调用栈;
调用一预先设置的风险行为判定规则库,根据所述待测应用程序的权限信息、所述调用栈对所述行为信息进行风险判定;
若所述行为信息存在风险,则确定所述待测应用程序有风险。
5.根据权利要求4所述的移动设备应用程序的安全检测方法,其特征在于,所述运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生,包括:
根据所述权限信息和行为信息对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;
若确定所述待测应用程序运行时有恶意行为发生,记录所述恶意行为发生的时间,以及确定所述待测应用程序的代码中该恶意行为所对应的位置。
6.根据权利要求5所述的移动设备应用程序的安全检测方法,其特征在于,还包括:
在所述特征码库中生成所述恶意应用程序的特征码,以更新所述特征码库。
7.一种移动设备应用程序的安全检测装置,其特征在于,包括:
特征码扫描单元,用于对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;
特征码比对单元,用于将所述特征码扫描单元获取到的待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定所述预存特征码中是否有所述待测特征码;
恶意应用程序检测单元,用于在所述预存特征码中存在所述待测特征码时,确定所述待测特征码对应的待测应用程序为恶意应用程序;
反编译单元,用于在所述预存特征码中不存在所述待测特征码时,将所述待测应用程序进行反编译,获取到所述待测应用程序的代码;
风险确定单元,用于通过所述反编译单元获取到的待测应用程序的代码确定所述待测应用程序是否有风险;
所述恶意应用程序检测单元,还用于在所述待测应用程序有风险时,确定所述待测应用程序为恶意应用程序;
动态行为监控单元,用于运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;
所述恶意应用程序检测单元,还用于在所述待测应用程序运行时发生了恶意行为时,确定所述待测应用程序为恶意应用程序;
所述移动设备应用程序的安全检测装置通过安全检测系统实现,该安全检测系统包括动态行为监控主机、用于显示检测结果的用户主机、防火墙、主机、交换机、磁盘阵列、特征码扫描引擎以及多个静态源码分析引擎;其中,交换机与磁盘阵列、特征码扫描引擎以及多个静态源码分析引擎两两连接;交换机、主机、防火墙、用户主机依次连接;该用户主机连接多个动态行为监控主机,每个动态行为监控主机用于监控多个移动设备;
动态行为监控主机根据权限信息和行为信息对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生;
静态源码分析引擎将待测应用程序的代码进行静态分析,确定待测应用程序的权限信息和行为信息,列出行为信息的调用栈,调用一预先设置的风险行为判定规则库,根据待测应用程序的权限信息、调用栈对行为信息进行风险判定;该静态源码分析引擎的数量为16个或者更多,以同时对多个待测应用程序的代码进行静态分析处理;
特征码扫描引擎对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;在确定待测应用程序为恶意应用程序后,将确定结果反馈给用户主机。
8.根据权利要求7所述的移动设备应用程序的安全检测装置,其特征在于,还包括:
特征码扫描顺序确定单元,用于根据预先设置的待测应用程序优先级确定对所述待测应用程序进行特征码扫描的顺序。
9.根据权利要求7所述的移动设备应用程序的安全检测装置,其特征在于,还包括:
反编译顺序确定单元,用于根据预先设置的待测应用程序优先级确定将所述待测应用程序进行反编译的顺序。
10.根据权利要求7-9任一项所述的移动设备应用程序的安全检测装置,其特征在于,所述风险确定单元,包括:
静态分析模块,用于将所述待测应用程序的代码进行静态分析,确定所述待测应用程序的权限信息和行为信息;
调用栈确定模块,用于列出所述行为信息的调用栈;
风险判定模块,用于调用一预先设置的风险行为判定规则库,根据所述待测应用程序的权限信息、所述调用栈对所述行为信息进行风险判定,在所述行为信息存在风险时,则确定所述待测应用程序有风险。
11.根据权利要求10所述的移动设备应用程序的安全检测装置,其特征在于,所述动态行为监控单元,包括:
动态行为监控模块,用于根据所述权限信息和行为信息对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;
恶意行为信息获取模块,用于在确定所述待测应用程序运行时有恶意行为发生时,记录所述恶意行为发生的时间,以及确定所述待测应用程序的代码中该恶意行为所对应的位置。
12.根据权利要求11所述的移动设备应用程序的安全检测装置,其特征在于,还包括:
特征码库更新单元,用于在所述特征码库中生成所述恶意应用程序的特征码,以更新所述特征码库。
移动设备应用程序的安全检测方法及装置\n技术领域\n[0001] 本发明涉及安卓应用检测技术领域,尤其涉及移动设备应用程序的安全检测方法及装置。\n背景技术\n[0002] 近年来,移动设备(例如智能手机和平板电脑)的发展十分迅速,伴随着移动设备的发展,大量的移动应用程序也越来越多,而目前很多移动应用程序并非来自于安卓官方网站,例如论坛、游戏下载等网站同样可以下载到移动应用程序的安装包(如APK文件)。因此,目前移动应用程序的安全性参差不齐,很多移动应用程序存在恶意的行为,影响到了用户的信息、设备和财产安全,因此目前对终端应用程序的安全性检测尤为重要。\n[0003] 为了保证应用程序用户的信息、设备和财产安全,现有技术中有多种应用程序的安全检测方法。对于应用程序的检测主要分为两个方面,即应用程序防攻击性检测和应用程序恶意性检测。应用程序防攻击性表示应用防御其它应用或者网络攻击的能力,应用程序恶意性表示应用本身是否具有恶意行为。目前,防攻击性检测主要是进行漏洞检查,而恶意性检测的方法则各不相同,例如病毒库扫描等。\n[0004] 但是,当前对应用程序的安全检测方式较为单一,每次检测选择的检测方式不同,也导致了检测的不全面,对繁多的应用程序进行检测的时间较长。\n发明内容\n[0005] 本发明的实施例提供一种移动设备应用程序的安全检测方法及装置,以解决当前对应用程序的安全检测方式较为单一,每次检测选择的检测方式不同,也导致了检测的不全面,对繁多的应用程序进行检测的时间较长的问题。\n[0006] 为达到上述目的,本发明采用如下技术方案:\n[0007] 一种移动设备应用程序的安全检测方法,包括:\n[0008] 对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;\n[0009] 将所述待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定所述预存特征码中是否有所述待测特征码;\n[0010] 若所述预存特征码中存在所述待测特征码,确定所述待测特征码对应的待测应用程序为恶意应用程序;\n[0011] 若所述预存特征码中不存在所述待测特征码,将所述待测应用程序进行反编译,获取到所述待测应用程序的代码;\n[0012] 通过所述待测应用程序的代码确定所述待测应用程序是否有风险;\n[0013] 若所述待测应用程序有风险,确定所述待测应用程序为恶意应用程序;\n[0014] 运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;\n[0015] 若所述待测应用程序运行时发生了恶意行为,确定所述待测应用程序为恶意应用程序。\n[0016] 进一步的,在对多个待测应用程序进行特征码扫描之前,包括:\n[0017] 根据预先设置的待测应用程序优先级确定对所述待测应用程序进行特征码扫描的顺序。\n[0018] 另外,在将所述待测应用程序进行反编译之前,包括:\n[0019] 根据预先设置的待测应用程序优先级确定将所述待测应用程序进行反编译的顺序。\n[0020] 具体的,所述通过所述待测应用程序的代码确定所述待测应用程序是否有风险,包括:\n[0021] 将所述待测应用程序的代码进行静态分析,确定所述待测应用程序的权限信息和行为信息;\n[0022] 列出所述行为信息的调用栈;\n[0023] 调用一预先设置的风险行为判定规则库,根据所述待测应用程序的权限信息、所述调用栈对所述行为信息进行风险判定;\n[0024] 若所述行为信息存在风险,则确定所述待测应用程序有风险。\n[0025] 具体的,所述运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生,包括:\n[0026] 根据所述权限信息和行为信息对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;\n[0027] 若确定所述待测应用程序运行时有恶意行为发生,记录所述恶意行为发生的时间,以及确定所述待测应用程序的代码中该恶意行为所对应的位置。\n[0028] 另外,所述移动设备应用程序的安全检测方法,还包括:\n[0029] 在所述特征码库中生成所述恶意应用程序的特征码,以更新所述特征码库。\n[0030] 一种移动设备应用程序的安全检测装置,包括:\n[0031] 特征码扫描单元,用于对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码;\n[0032] 特征码比对单元,用于将所述特征码扫描单元获取到的待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定所述预存特征码中是否有所述待测特征码;\n[0033] 恶意应用程序检测单元,用于在所述预存特征码中存在所述待测特征码时,确定所述待测特征码对应的待测应用程序为恶意应用程序;\n[0034] 反编译单元,用于在所述预存特征码中不存在所述待测特征码时,将所述待测应用程序进行反编译,获取到所述待测应用程序的代码;\n[0035] 风险确定单元,用于通过所述反编译单元获取到的待测应用程序的代码确定所述待测应用程序是否有风险;\n[0036] 所述恶意应用程序检测单元,还用于在所述待测应用程序有风险时,确定所述待测应用程序为恶意应用程序;\n[0037] 动态行为监控单元,用于运行所述待测应用程序,根据所述待测应用程序的代码对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;\n[0038] 所述恶意应用程序检测单元,还用于在所述待测应用程序运行时发生了恶意行为时,确定所述待测应用程序为恶意应用程序。\n[0039] 进一步的,所述移动设备应用程序的安全检测装置,还包括:\n[0040] 特征码扫描顺序确定单元,用于根据预先设置的待测应用程序优先级确定对所述待测应用程序进行特征码扫描的顺序。\n[0041] 进一步的,所述移动设备应用程序的安全检测装置,还包括:\n[0042] 反编译顺序确定单元,用于根据预先设置的待测应用程序优先级确定将所述待测应用程序进行反编译的顺序。\n[0043] 具体的,所述风险确定单元,包括:\n[0044] 静态分析模块,用于将所述待测应用程序的代码进行静态分析,确定所述待测应用程序的权限信息和行为信息;\n[0045] 调用栈确定模块,用于列出所述行为信息的调用栈;\n[0046] 风险判定模块,用于调用一预先设置的风险行为判定规则库,根据所述待测应用程序的权限信息、所述调用栈对所述行为信息进行风险判定,在所述行为信息存在风险时,则确定所述待测应用程序有风险。\n[0047] 具体的,所述动态行为监控单元,包括:\n[0048] 动态行为监控模块,用于根据所述权限信息和行为信息对所述待测应用程序进行动态行为监控,确定所述待测应用程序运行时是否有恶意行为发生;\n[0049] 恶意行为信息获取模块,用于在确定所述待测应用程序运行时有恶意行为发生时,记录所述恶意行为发生的时间,以及确定所述待测应用程序的代码中该恶意行为所对应的位置。\n[0050] 进一步的,所述移动设备应用程序的安全检测装置,还包括:\n[0051] 特征码库更新单元,用于在所述特征码库中生成所述恶意应用程序的特征码,以更新所述特征码库。\n[0052] 本发明实施例提供的移动设备应用程序的安全检测方法及装置,能够对多个待测应用程序依次进行特征码检测、反编译后进行静态分析以及动态行为分析,能够快捷识别出多个待测应用程序中的恶意应用程序,避免了检测方式单一的问题,检测较为全面,避免了对繁多的应用程序进行检测的时间较长的问题。\n附图说明\n[0053] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0054] 图1为本发明实施例提供的移动设备应用程序的安全检测方法的流程图一;\n[0055] 图2为本发明实施例提供的移动设备应用程序的安全检测方法的流程图二;\n[0056] 图3为本发明实施例中的安全检测系统示意图;\n[0057] 图4为本发明实施例中的移动设备应用程序的安全检测装置的结构示意图一;\n[0058] 图5为本发明实施例中的移动设备应用程序的安全检测装置的结构示意图二。\n具体实施方式\n[0059] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0060] 本发明实施例提供一种移动设备应用程序的安全检测方法,如图1所示,包括:\n[0061] 步骤101、对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码。\n[0062] 步骤102、将待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定预存特征码中是否有待测特征码。\n[0063] 若预存特征码中存在待测特征码,执行步骤103;若预存特征码中不存在待测特征码,执行步骤104。\n[0064] 步骤103、确定待测特征码对应的待测应用程序为恶意应用程序。\n[0065] 步骤104、将待测应用程序进行反编译,获取到待测应用程序的代码。在步骤104之后继续执行步骤105。\n[0066] 步骤105、通过待测应用程序的代码确定待测应用程序是否有风险。\n[0067] 步骤106、若待测应用程序有风险,确定待测应用程序为恶意应用程序。\n[0068] 步骤107、运行待测应用程序,根据待测应用程序的代码对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生。\n[0069] 步骤108、若待测应用程序运行时发生了恶意行为,确定待测应用程序为恶意应用程序。\n[0070] 本发明实施例提供的移动设备应用程序的安全检测方法,能够对多个待测应用程序依次进行特征码检测、反编译后进行静态分析以及动态行为分析,能够快捷识别出多个待测应用程序中的恶意应用程序,避免了检测方式单一的问题,检测较为全面,避免了对繁多的应用程序进行检测的时间较长的问题。\n[0071] 为了使得本领域的技术人员更好的了解本发明,下面列举一个更为具体的实施例,如图2所示,本发明提供的一种移动设备应用程序的安全检测方法,包括:\n[0072] 步骤201、根据预先设置的待测应用程序优先级确定对待测应用程序进行特征码扫描的顺序。\n[0073] 具体的,该待测应用程序优先级包括低优先级、中优先级、高优先级、紧急优先级,其中,待测应用程序的默认优先级为低优先级。\n[0074] 步骤202、对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码。\n[0075] 步骤203、将待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定预存特征码中是否有待测特征码。\n[0076] 若预存特征码中存在待测特征码,执行步骤204;若预存特征码中不存在待测特征码,执行步骤205。\n[0077] 其中,该特征码库中可以包含预存特征码以及各种应用程序的行为信息;例如某一应用程序的行为信息包括该应用程序的恶意发短信行为、恶意调用终端设备摄像头的行为等。\n[0078] 步骤204、确定待测特征码对应的待测应用程序为恶意应用程序。之后继续执行步骤212。\n[0079] 步骤205、根据预先设置的待测应用程序优先级确定将待测应用程序进行反编译的顺序。在步骤205之后,继续执行步骤206。\n[0080] 步骤206、将待测应用程序进行反编译,获取到待测应用程序的代码。\n[0081] 步骤207、将待测应用程序的代码进行静态分析,确定待测应用程序的权限信息和行为信息,并列出行为信息的调用栈。\n[0082] 步骤208、调用一预先设置的风险行为判定规则库,根据待测应用程序的权限信息、调用栈对行为信息进行风险判定。\n[0083] 该风险行为判定规则库中记录有各种行为的风险等级,通过该风险行为判定规则库可以确定待测应用程序所进行的行为的风险。\n[0084] 步骤209、若行为信息存在风险,则确定待测应用程序有风险,并确定待测应用程序为恶意应用程序。之后继续执行步骤212。\n[0085] 在步骤208之后,还可以继续执行步骤210,当然也可以不执行步骤210的动态行为监控。\n[0086] 步骤210、根据权限信息和行为信息对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生。\n[0087] 步骤211、若确定待测应用程序运行时有恶意行为发生,记录恶意行为发生的时间,以及确定待测应用程序的代码中该恶意行为所对应的位置,并确定待测应用程序为恶意应用程序。之后继续执行步骤212。\n[0088] 步骤212、在特征码库中生成恶意应用程序的特征码,以更新特征码库。\n[0089] 通过更新该特征码库,使得在步骤202和步骤203之中的特征码扫描比对更为准确,能够快捷的判断出恶意应用程序。\n[0090] 上述步骤201-步骤212可以由如下的安全检测系统来实现,如图3所示,其中该安全检测系统包括动态行为监控主机31、用于显示检测结果的用户主机32、防火墙33、主机\n34、交换机35、磁盘阵列36、特征码扫描引擎37以及多个静态源码分析引擎38。其中,交换机\n35与磁盘阵列36、特征码扫描引擎37以及多个静态源码分析引擎38两两连接。另外,交换机\n35、主机34、防火墙33、用户主机32依次连接。该用户主机32可以连接多个动态行为监控主机31,每个动态行为监控主机31可以监控多个移动设备30。\n[0091] 其中,动态行为监控主机31可以根据权限信息和行为信息对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生。\n[0092] 静态源码分析引擎38可以将待测应用程序的代码进行静态分析,确定待测应用程序的权限信息和行为信息,列出行为信息的调用栈,调用一预先设置的风险行为判定规则库,根据待测应用程序的权限信息、调用栈对行为信息进行风险判定。该静态源码分析引擎\n38的数量可以为16个或者更多,以便于同时对多个待测应用程序的代码进行静态分析处理。\n[0093] 特征码扫描引擎37可以对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码。\n[0094] 在上述确定待测应用程序为恶意应用程序后,可以将确定结果反馈给上述用户主机32。\n[0095] 本发明实施例提供的移动设备应用程序的安全检测方法,能够对多个待测应用程序依次进行特征码检测、反编译后进行静态分析以及动态行为分析,能够快捷识别出多个待测应用程序中的恶意应用程序,避免了检测方式单一的问题,检测较为全面,避免了对繁多的应用程序进行检测的时间较长的问题。同时能够对特征码库进行更新,提高了特征码检测的精度。\n[0096] 对应于上述的方法实施例,本发明实施例还提供一种移动设备应用程序的安全检测装置,如图4所示,包括:\n[0097] 特征码扫描单元41,可以对多个待测应用程序进行特征码扫描,获取到各待测应用程序的待测特征码。\n[0098] 特征码比对单元42,可以将该特征码扫描单元41获取到的待测特征码与一预先设置的特征码库中的预存特征码进行比对,确定预存特征码中是否有待测特征码。\n[0099] 恶意应用程序检测单元43,可以在预存特征码中存在待测特征码时,确定待测特征码对应的待测应用程序为恶意应用程序。\n[0100] 反编译单元44,可以在预存特征码中不存在待测特征码时,将待测应用程序进行反编译,获取到待测应用程序的代码。\n[0101] 风险确定单元45,可以通过反编译单元44获取到的待测应用程序的代码确定待测应用程序是否有风险。\n[0102] 恶意应用程序检测单元43,还可以在待测应用程序有风险时,确定待测应用程序为恶意应用程序。\n[0103] 动态行为监控单元46,可以运行待测应用程序,根据待测应用程序的代码对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生。\n[0104] 恶意应用程序检测单元43,还可以在待测应用程序运行时发生了恶意行为时,确定待测应用程序为恶意应用程序。\n[0105] 进一步的,如图5所示,移动设备应用程序的安全检测装置,还包括:\n[0106] 特征码扫描顺序确定单元47,可以根据预先设置的待测应用程序优先级确定对待测应用程序进行特征码扫描的顺序。\n[0107] 进一步的,如图5所示,移动设备应用程序的安全检测装置,还包括:\n[0108] 反编译顺序确定单元48,可以根据预先设置的待测应用程序优先级确定将待测应用程序进行反编译的顺序。\n[0109] 具体的,风险确定单元45,包括:\n[0110] 静态分析模块451,可以将待测应用程序的代码进行静态分析,确定待测应用程序的权限信息和行为信息。\n[0111] 调用栈确定模块452,可以列出行为信息的调用栈。\n[0112] 风险判定模块453,可以调用一预先设置的风险行为判定规则库,根据待测应用程序的权限信息、调用栈对行为信息进行风险判定,在行为信息存在风险时,则确定待测应用程序有风险。\n[0113] 具体的,动态行为监控单元46,包括:\n[0114] 动态行为监控模块461,可以根据权限信息和行为信息对待测应用程序进行动态行为监控,确定待测应用程序运行时是否有恶意行为发生。\n[0115] 恶意行为信息获取模块462,可以在确定待测应用程序运行时有恶意行为发生时,记录恶意行为发生的时间,以及确定待测应用程序的代码中该恶意行为所对应的位置。\n[0116] 进一步的,如图5所示,移动设备应用程序的安全检测装置,还包括:\n[0117] 特征码库更新单元49,可以在特征码库中生成恶意应用程序的特征码,以更新特征码库。\n[0118] 值得说明的是,本发明实施例提供的移动设备应用程序的安全检测装置的具体实现方式可以参见上述图1和图2所示的方法实施例,此处不再赘述。\n[0119] 本发明实施例提供的移动设备应用程序的安全检测装置,能够对多个待测应用程序依次进行特征码检测、反编译后进行静态分析以及动态行为分析,能够快捷识别出多个待测应用程序中的恶意应用程序,避免了检测方式单一的问题,检测较为全面,避免了对繁多的应用程序进行检测的时间较长的问题。同时能够对特征码库进行更新,提高了特征码检测的精度。\n[0120] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0121] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0122] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0123] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0124] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2017-12-12
- 2015-03-25
实质审查的生效
IPC(主分类): G06F 21/56
专利申请号: 201410668238.1
申请日: 2014.11.20
- 2015-02-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-02-05
|
2013-11-13
| | |
2
| |
2008-07-23
|
2007-09-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |