恶意应用程序的扫描方法、装置和系统转让专利

申请号 : CN201410783900.8

文献号 : CN104462968B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董清李伟

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明提供了一种恶意应用程序的扫描方法、装置和系统,涉及计算机领域。方法包括:连接PC终端与移动终端;利用PC终端获取移动终端中的待扫描文件的文件特征;利用PC终端的网络传输能力将文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;接收并输出云查杀服务器返回的扫描结果,将扫描结果发送至移动终端。本发明通过建立PC终端与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。

权利要求 :

1.一种恶意应用程序的扫描方法,应用于具备网络传输能力的PC终端,包括:连接所述PC终端与移动终端;

利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;

利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;

接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至所述移动终端;

当扫描结果为所述移动终端具有恶意应用程序时,向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程;或当扫描结果为所述移动终端具有恶意应用程序时,通过对所述移动终端执行刷机的方式清除所述恶意应用程序,包括:定位所述移动终端的BOOT分区;在所述BOOT分区中读取boot.img文件;对所述boot.img文件进行解压,并清除其中的恶意应用程序;对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。

2.根据权利要求1所述的方法,其中,在对所述恶意应用程序进行查杀之前,所述方法还包括:获取所述移动终端的ROOT权限。

3.一种恶意应用程序的扫描方法,应用于移动终端,包括:

连接所述移动终端与PC终端;

计算得到本地的待扫描文件的文件特征;

将所述文件特征发送给所述PC终端;所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描;

接收由所述PC终端发送的所述云查杀服务器返回的扫描结果;

当扫描结果为所述移动终端具有恶意应用程序时,接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程;或当扫描结果为所述移动终端具有恶意应用程序时,通过所述PC终端对所述移动终端执行刷机的方式清除所述恶意应用程序,包括:将所述移动终端的BOOT分区中的boot.img文件发送给所述PC终端;接收所述PC终端发送的清除了所述恶意应用程序后的boot.img压缩文件,并重新写入所述BOOT分区中。

4.一种用于扫描恶意应用程序的PC终端,包括:

第一连接建立模块,适于连接所述PC终端与移动终端;

文件特征获取模块,适于利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;

文件特征上传模块,适于利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;

结果输出模块,适于接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至所述移动终端;

其中,所述PC终端还包括:

查杀模块,配置为:

当扫描结果为所述移动终端具有恶意应用程序时,向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程;或者当扫描结果为所述移动终端具有恶意应用程序时,通过对所述移动终端执行刷机的方式清除所述恶意应用程序;其中,所述查杀模块包括:定位单元,适于定位所述移动终端的BOOT分区;读取单元,适于在所述BOOT分区中读取boot.img文件;清除单元,适于对所述boot.img文件进行解压,并清除其中的恶意应用程序;和覆盖单元,适于对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。

5.根据权利要求4所述的PC终端,其中,所述PC终端还包括:权限获取模块,适于对所述恶意应用程序进行查杀之前,获取所述移动终端的ROOT权限。

6.一种用于扫描恶意应用程序的移动终端,包括:

第二连接建立模块,适于连接所述移动终端与PC终端的连接;

文件特征计算模块,适于计算得到本地的待扫描文件的文件特征;

文件特征发送模块,适于将所述文件特征发送给所述PC终端;所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描;

其中,所述移动终端还包括:

代码接收模块,适于当扫描结果为所述移动终端具有恶意应用程序时,接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程;或BOOT分区刷机模块,适于当扫描结果为所述移动终端具有恶意应用程序时,通过所述PC终端对所述移动终端执行刷机的方式清除所述恶意应用程序,其中,所述BOOT分区刷机模块包括:发送单元,适于将所述移动终端的BOOT分区中的boot.img文件发送给所述PC终端;和写入单元,适于接收所述PC终端发送的清除了所述恶意应用程序后的boot.img压缩文件,并重新写入所述BOOT分区中。

7.一种用于扫描恶意应用程序的系统,包括:如权利要求4或5所述的PC终端、如权利要求6所述的移动终端以及云查杀服务器;

其中,所述云查杀服务器具有病毒库,用于根据所述PC终端上传的文件特征进行恶意应用程序特征的扫描,并将所述扫描结果返回给所述PC终端。

说明书 :

恶意应用程序的扫描方法、装置和系统

技术领域

[0001] 本发明涉及计算机领域,具体涉及一种恶意应用程序的扫描方法、装置和系统。

背景技术

[0002] 目前,手机、平板电脑等移动终端应用越来越广。Android是一种基于开源协议的移动终端操作系统,经过多年的发展,它已经相当成熟并可提供诸多功能。
[0003] 在Android发展的过程中,针对Android的恶意程序也越来越多。目前,对于恶意程序的识别方法主要通过提取应用程序的文件特征,再通过本地杀毒引擎进行识别。但是受本地病毒库不能占用太大存储空间的限制,以及杀毒引擎中的病毒库通常更新不及时问题,本地查杀方式对于新型的恶意应用程序的识别程度不高,而云查杀服务器中通常会保存有最新最全的病毒库,因此通过云查杀服务器对移动终端中的恶意应用程序进行扫描可以作为更好的查杀方式。
[0004] 但是,通过在进行云服务器的查杀存在如下缺点:
[0005] 需要将移动终端中的全部需要扫描的文件的文件特征上传到云服务器才可以进行云查杀,在没有免费无线网络的情况下会耗费用户大量的流量,使用户产生大量的流量费用。

发明内容

[0006] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种恶意应用程序的扫描方法、相应的装置和系统。
[0007] 依据本发明的一个方面,提供了一种恶意应用程序的扫描方法,应用于具备网络传输能力的PC终端,包括:
[0008] 连接所述PC终端与移动终端;
[0009] 利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;
[0010] 利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;
[0011] 接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至移动终端。
[0012] 可选地,在输出所述云查杀服务器返回的扫描结果之后,所述方法还包括:
[0013] 当扫描结果为所述移动终端具有恶意应用程序时,对所述恶意应用程序进行查杀。
[0014] 可选地,对所述恶意应用程序进行查杀,包括:
[0015] 向所述移动终端发送对所述恶意应用程序的查杀指令,通知所述移动终端对所述恶意应用程序进行查杀。
[0016] 可选地,所述查杀指令包括如下任意指令中的至少一个:
[0017] 删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0018] 可选地,对所述恶意应用程序进行查杀,包括:
[0019] 向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;
[0020] 其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;
[0021] 所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0022] 可选地,对所述恶意应用程序进行查杀,包括:
[0023] 通过对所述移动终端执行刷机的方式清除所述恶意应用程序。
[0024] 可选地,通过对所述移动终端执行刷机的方式清除所述恶意应用程序,包括:
[0025] 定位所述移动终端的BOOT分区;
[0026] 在所述BOOT分区中读取boot.img文件;
[0027] 对所述boot.img文件进行解压,并清除其中的恶意应用程序;
[0028] 对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。
[0029] 可选地,在对所述恶意应用程序进行查杀之前,所述方法还包括:
[0030] 获取所述移动终端的ROOT权限。
[0031] 依据本发明的一个方面,还提供了一种恶意应用程序的扫描方法,应用于移动终端,包括:
[0032] 连接所述移动终端与PC终端;
[0033] 计算得到本地的待扫描文件的文件特征;
[0034] 将所述文件特征发送给所述PC终端;
[0035] 其中,所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描。
[0036] 可选地,在所述将所述文件特征发送给所述PC终端之后,所述方法还包括:
[0037] 接收并执行所述PC终端发送的对所述恶意应用程序的查杀指令。
[0038] 可选地,所述查杀指令包括如下任意指令中的至少一个:
[0039] 删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0040] 可选地,在所述将所述文件特征发送给所述PC终端之后,所述方法还包括:
[0041] 接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;
[0042] 其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;
[0043] 所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0044] 依据本发明的一个方面,还提供了一种用于扫描恶意应用程序的PC终端,包括:
[0045] 第一连接建立模块,适于连接所述PC终端与移动终端;
[0046] 文件特征获取模块,适于利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;
[0047] 文件特征上传模块,适于利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;
[0048] 结果输出模块,适于接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至移动终端。
[0049] 可选地,所述PC终端还包括:
[0050] 查杀模块,适于在输出所述云查杀服务器返回的扫描结果之后,当扫描结果为所述移动终端具有恶意应用程序时,对所述恶意应用程序进行查杀。
[0051] 可选地,所述查杀模块具体适于向所述移动终端发送对所述恶意应用程序的查杀指令,通知所述移动终端对所述恶意应用程序进行查杀。
[0052] 可选地,所述查杀指令包括如下任意指令中的至少一个:
[0053] 删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0054] 可选地,所述查杀模块具体适于向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;
[0055] 其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;
[0056] 所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0057] 可选地,所述查杀模块具体适于通过对所述移动终端执行刷机的方式清除所述恶意应用程序。
[0058] 可选地,所述查杀模块,包括:
[0059] 定位单元,适于定位所述移动终端的BOOT分区;
[0060] 读取单元,适于在所述BOOT分区中读取boot.img文件;
[0061] 清除单元,适于对所述boot.img文件进行解压,并清除其中的恶意应用程序;
[0062] 覆盖单元,适于对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。
[0063] 可选地,所述PC终端还包括:
[0064] 权限获取模块,适于对所述恶意应用程序进行查杀之前,获取所述移动终端的ROOT权限。
[0065] 依据本发明的一个方面,还提供了一种用于扫描恶意应用程序的移动终端,包括:
[0066] 第二连接建立模块,适于连接所述移动终端与PC终端的连接;
[0067] 文件特征计算模块,适于计算得到本地的待扫描文件的文件特征;
[0068] 文件特征发送模块,适于将所述文件特征发送给所述PC终端;
[0069] 其中,所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描。
[0070] 可选地,所述移动终端还包括:
[0071] 指令接收模块,适于将所述文件特征发送给所述PC终端之后,接收并执行所述PC终端发送的对所述恶意应用程序的查杀指令。
[0072] 可选地,所述查杀指令包括如下任意指令中的至少一个:
[0073] 删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0074] 可选地,所述移动终端还包括:
[0075] 代码接收模块,适于将所述文件特征发送给所述PC终端之后,接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;
[0076] 其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;
[0077] 所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0078] 依据本发明的一个方面,还提供了一种用于扫描恶意应用程序的系统,包括:如上所述的PC终端、如上所述的移动终端以及云查杀服务器;
[0079] 其中,所述云查杀服务器具有病毒库,用于根据所述PC终端上传的文件特征进行恶意应用程序特征的扫描,并将所述扫描结果返回给所述PC终端。
[0080] 本发明提供了一种恶意应用程序的扫描方法、装置和系统,通过建立PC终端与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0081] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
[0082] 根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

附图说明

[0083] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0084] 图1是本发明一个实施例提供的一种恶意应用程序的扫描方法流程图;
[0085] 图2是本发明一个实施例提供的另一种恶意应用程序的扫描方法流程图;
[0086] 图3是本发明一个实施例提供的一种恶意应用程序的扫描方法具体流程图;
[0087] 图4是本发明一个实施例提供的一种对移动终端中的文件进行扫描的效果示意图;
[0088] 图5是本发明一个实施例提供的一种显示对移动终端中的文件的查杀结果的效果示意图;
[0089] 图6是本发明一个实施例提供的一种对移动终端中的文件进行查杀后的效果示意图;
[0090] 图7是本发明一个实施例提供的一种通过刷机的方式对移动终端中的恶意应用程序进行查杀的方法流程图;
[0091] 图8是本发明一个实施例提供的一种查杀流程前的提示方式的效果图;
[0092] 图9是本发明一个实施例提供的一种重刷系统时的效果图;
[0093] 图10是本发明一个实施例提供的通过重刷系统分区完成恶意程序清除后的效果图;
[0094] 图11是本发明一个实施例提供的一种用于扫描恶意应用程序的PC终端的结构框图;
[0095] 图12是本发明一个实施例提供的一种用于扫描恶意应用程序的移动终端的结构框图;
[0096] 图13是本发明一个实施例提供的一种用于扫描恶意应用程序的系统结构框图。

具体实施方式

[0097] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应该被这里阐述的实施例所限制。相反,提供这些实施例是为了能够透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0098] 实施例一
[0099] 本发明实施例提供了一种恶意应用程序的扫描方法,该方法应用于PC终端侧,通过与移动终端进行连接,完成对移动终端上的恶意应用程序的云查杀以节省流量。
[0100] 图1是本发明实施例提供的一种恶意应用程序的扫描方法的流程图,该方法应用于具有网络传输能力的PC终端,包括步骤S102至步骤S108:
[0101] S102:连接PC终端与移动终端。
[0102] S104:利用PC终端获取移动终端中的待扫描文件的文件特征。
[0103] 具体的,可以从Android安装包中提取出指定的特征进行检测,如将包名、版本号、数字签名、等作为指定的特征,这些指定的特征对于检测最具代表性,因此与移植自PC上的传统杀毒引擎相比,该方法能够准确抓住Android平台下应用的几大关键特征,使得扫描速度快、查杀准确率高。
[0104] S106:利用PC终端的网络传输能力将文件特征发送给云查杀服务器进行恶意应用程序特征的扫描。
[0105] 本例中提取的特征包括:
[0106] 1)Android安装包包名:packageName
[0107] 2)Android安装包版本号:versionCode
[0108] 3)Android安装包的数字签名的MD5:signature[0]
[0109] 4)Android组件receiver
[0110] 5)classes.dex中的指令
[0111] 6)ELF文件中的字符串
[0112] 7)assets,res,lib等目录下各文件的MD5
[0113] 8)Android组件service,activity
[0114] 等等。
[0115] S108:接收并输出云查杀服务器返回的扫描结果,将扫描结果发送至移动终端。
[0116] 本发明实施例提供了一种恶意应用程序的扫描方法,应用于PC终端侧,通过建立与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0117] 实施例二
[0118] 本发明实施例提供了一种恶意应用程序的扫描方法,该方法应用于移动终端侧,通过与PC终端进行连接,完成对自身中可能存在的恶意应用程序的云查杀以节省流量。
[0119] 在本发明中,移动终端可以是手机、平板电脑等设备。
[0120] 图2是本发明实施例提供的一种恶意应用程序的扫描方法的流程图,该方法应用于移动终端,包括步骤S202至步骤S206:
[0121] S202:连接移动终端与PC终端。
[0122] S204:计算得到本地的待扫描文件的文件特征。
[0123] S206:将文件特征发送给PC终端。
[0124] 其中,文件特征用于PC终端上传到云查杀服务器,供云查杀服务器进行恶意应用程序特征的扫描。
[0125] 云查杀服务器,对提取的Android安装包的几项关键特征,在安全识别库中进行组合查询,当发现匹配的特征记录时,返回该特征记录所对应的安全信息。其中,所述安全信息可以包括安全级别的描述,以及与安全级别相对应的提示信息。
[0126] 本发明实施例提供了一种恶意应用程序的扫描方法,应用于移动终端侧,通过建立与PC终端的连接,并自身中的待扫描文件的文件特征发送给PC终端,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0127] 实施例三
[0128] 本发明所提供的恶意应用程序的扫描方法通过PC终端和移动终端的配合进行实现,其中,实施例一为在PC终端侧对恶意应用程序的扫描方法进行说明,实施例二为在移动终端侧对恶意应用程序的扫描方法进行说明。
[0129] 本实施例三为上述实施例一和二的一种具体应用场景,并结合PC终端和移动终端侧进行说明。通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
[0130] 如图3所示,为本发明实施例提供的一种恶意应用程序的扫描方法的具体流程图,包括步骤S301至步骤S308。
[0131] 在步骤S301中,建立PC终端与移动终端的连接。
[0132] 需要说明的是,本发明所提供的方法可通过PC终端中的扫描程序进行执行(例如急救箱、工具箱等病毒查杀软件),因此,首先需要建立PC终端和移动终端的连接。
[0133] 在建立PC终端与移动终端的连接时,可以包括多种方法,例如:
[0134] 以Android为例,移动终端与移动终端连接的方式如下:
[0135] (1)移动终端需要打开USB调试模式,以允许PC终端对移动终端进行通信和控制。Android系统默认是关闭USB调试模式的,因此需要用户手动打开。优选地,可以增加一个用户引导,提示用户开启USB调试模式的的方法。
[0136] 其中,每种类型的移动终端对于开启USB调试模式的方式不同,因此可以总结市面上的Android移动终端打开USB调试模式的方法,根据用户的机型进行提示。
[0137] (2)打开USB调试之后,使用数据线把PC终端连接到移动终端上。PC中的查毒工具(例如急救箱)会枚举USB设备,并判断是否是移动终端设备,如果是,就试图通过socket与手机内部的ADB(Android Debug Bridge,调试桥)Server进程通信,并完成PC终端与移动终端的通信工作的初始化。
[0138] (3)初始化成功之后,查毒工具向移动终端中发送一个ELF或APK文件,并运行该ELF或APK文件,PC端的查毒工具即可通过该文件与移动终端进行通信,以完成对于恶意程序的查杀操作。
[0139] 在完成PC终端与移动终端的连接后,即可开始对于恶意程序的查杀流程。
[0140] 除了上述有线的连接方式,还可以采用无线方式建立连接,方法如下:
[0141] 其中,建立无线连接需要通过内置在PC终端上的第一客户端和移动终端上的第二客户端进行实现。第一客户端和第二客户端可以是同一客户端分别适用于计算设备的版本和适用于移动设备的版本。例如第一客户端是PC终端版本的手机助手应用程序,如PC版的手机助手应用程序,第二客户端是移动设备版本的手机助手应用程序,如安卓版的手机助手应用程序;无线连接具体可以包括如下步骤:
[0142] A)PC终端的第一客户端将PC终端的标识符和移动设备的标识符发送至服务器,由服务器判断移动设备的标识符是否具有与PC终端的标识符的连接映射关系。
[0143] 如果之前PC终端与移动终端建立过连接,例如PC终端上的第一客户端与移动终端的第二客户端通过有线连接方式或其它连接方式建立过连接,则PC终端上的第一客户端可以记录PC终端和移动终端之间的连接映射关系,并将连接映射关系发送至服务器的数据库中。其中,上述连接映射关系具体可以包括:PC终端的标识符和移动终端的标识符;PC终端的标识符可以是PC终端的网络之间互连的协议(IP,Internet Protocol)地址,移动终端的标识符可以是移动终端的移动终端国际身份码(IMEI,International Mobile Equipment Identity)等等,当然本发明实施例对具体的PC终端的标识符和移动终端的标识符不加以限制。
[0144] B)当移动终端的标识符具有与PC终端的标识符的连接映射关系时,PC终端上的第一客户端通过WIFI网络建立与移动终端的第二客户端之间的无线连接。
[0145] 具体地,移动终端的第二客户端和PC终端上的第一客户端可分别与服务器建立连接,如果移动终端的标识符与PC终端的标识符具有连接映射关系,则通过服务器使得移动终端的第二客户端和PC终端上的第一客户端建立无线连接,其中,第一客户端可以使用WIFI网络,而第二客户端可以使用WIFI网络或者移动网络。
[0146] 在实际应用中,当移动终端的第二客户端和PC终端上的第一客户端建立了与服务器的连接时,可以分别在各自的界面上显示连接成功消息。
[0147] 在建立连接后,即可执行步骤S302,PC终端向移动终端发送开始进行查杀的指令。
[0148] 在移动终端接收到查杀指令后,执行步骤S303,移动终端对待扫描文件进行计算,得到待扫描文件的文件特征。
[0149] 需要说明的是,每一种病毒或木马,都可计算得到其文件特征值,并放入云查杀服务器的病毒库中。在进行恶意程序扫描时,通过相同的方式,计算得到待扫描文件的文件特征值,并与云查杀服务器的病毒库中的文件特征值进行匹配。如果存在匹配的文件特征值,则认为待扫描文件为病毒文件。
[0150] 具体地,提取文件的特征值可采用多种方法,例如匹配ELF(Executable and Linking Format,可执行链接文件)文件中可执行代码的机器指令,具体在提取文件的特征值时,可以只提取文件中一段指定长度的数据(可执行代码的指令或者是其中一部分)。
[0151] 例如,可以采用如下方式提取文件的特征值:
[0152] 以Android操作系统为例,大部分Android应用都主要是由Java语言编写,编译之后生成了Dalvik虚拟机的字节码(byte code),打包成了classes.dex文件。解析classes.dex文件,反编译其字节码,就可以得到应用程序所要执行的指令。
[0153] 可以挑选指令中能代表恶意软件特征的指令作为特征码,当发现classes.dex文件中包含这样的特征码时,就作为一个特征。例如,Android.Geinimi木马为了隐藏自己,将一些关键数据(如木马服务器信息)加密之后写入代码中,这些被加密的数据反而成为了检测识别它的特征。用dexdump工具分析classes.dex文件可看到输出中包含以下片段:
[0154] 00d00c:0003010010000000553502348664...|02d4:array-data(12units)[0155] 00d024:00030100100000001bea c301eadf...|02e0:array-data(12units)[0156] 上述片段就可以提取作为检测识别的特征。
[0157] 当然,dexdump工具只是显示这些特征数据的手段之一,也可以通过其他方式自行实现解析、反编译和识别classes.dex文件的功能。
[0158] 综上所述,样本一不包含ELF文件,所以没有提取到ELF特征。
[0159] 从样本一中提取了上述特征之后,假设云查杀服务器的病毒库中存在以下特征记录:
[0160] 特征一:packageName=com.wbs
[0161] 特征二:无
[0162] 特征三:MD5(signature[0])=294f08ae04307a649322524713318543
[0163] 特征一+特征三:安全级别为“木马”
[0164] 当检测流程走到“找到包含特征一、特征三的木马”时,找到记录,返回结果为“木马”。
[0165] 在计算得到文件特征后,执行步骤S304,移动终端向PC终端发送上述文件特征。
[0166] 在PC终端接收到文件特征后,即执行步骤S305,PC终端利用自身的网络传输能力将文件特征发送给云查杀服务器。
[0167] 在步骤S306中,云查杀服务器根据上述文件特征进行扫描。
[0168] 其中,如图4所示为一种对移动终端中的文件进行扫描的效果示意图。
[0169] 需要说明的是,除了云查杀,还可以采用在结合PC终端本地进行恶意应用程序扫描的方式。例如:
[0170] 先在PC终端本地完成一次查杀,再将文件特征传至云查杀服务器进行第二次查杀。
[0171] 当前安全防护软件为了快速地识别和查杀新木马,同时为了减轻客户端的资源消耗,越来越多地使用云安全技术,即把客户端的可疑文件的特征传给云安全中心的云查杀服务器,对其安全做出判定,然后客户端安全软件根据云查杀服务器传回的信息对木马进行报告和处理。
[0172] 其中,在本地或云查杀服务器的恶意程序识别库中,预置了多条特征记录(即特征值),其中,单个特征信息可以构成一条特征记录,多个特征信息的组合也可以构成一条特征记录。例如,一个安全识别库中预置了几十条特征记录,其中,第一条特征记录中列出了某种病毒的Android安装包包名,第二条特征记录中列出了某个正常应用的Android安装包版本号及其数字签名的MD5值,第三条特征记录中列出了某个正常应用的Android安装包包名及其receiver特征,第四条特征记录中列出了某种木马的Android安装包包名、版本号及其ELF文件中的特定字符串,等等。
[0173] 而在本发明实施例中,其中,云查杀服务器端预先保存有文件特征值和安全级别信息的对应关系,云查杀服务器端确定的安全级别信息可以自定义,例如包括安全、危险、未知等级别,也可以采用一级、二级、三级等方式来进行区分,只要能够体现出各模块是否安全状态即可。或者,所述安全级别信息包括:安全等级、未知等级、可疑等级、高度可疑等级和恶意等级,其中,恶意等级为最高等级,安全等级为最低等级。例如,可以设置等级为10-20时为安全等级,等级为30-40时为未知等级,等级为50-60时为可疑等级和高度可疑等级,等级大于70时为恶意等级。
[0174] 并且,在通过特征值扫描的方式中,可以对扫描的文件进行分类,例如可以分为:安全、危险、谨慎和木马四个安全级别。其中,各种安全级别的定义如下:
[0175] 安全:该应用是一个正常的应用,没有任何威胁用户手机安全的行为;
[0176] 危险:该应用存在安全风险,有可能该应用本身就是恶意软件;也有可能该应用本来是正规公司发布的正常软件,但是因为存在安全漏洞,导致用户的隐私、手机安全受到威胁;
[0177] 谨慎:该应用是一个正常的应用,但是存在一些问题,例如会让用户不小心被扣费,或者有不友好的广告遭到投诉等;当发现这类应用之后,会提示用户谨慎使用并告知该应用可能的行为,但是由用户自行决定是否清除该应用;
[0178] 木马:该应用是病毒、木马或者其他恶意软件,此处为了简单统称为木马,但并不表示该应用仅仅是木马。
[0179] 云安全查杀服务器的安全识别库中的特征信息包括以下中的一种或几种组合:各种样本Android安装包的包名,版本号,数字签名,Android组件receiver的特征,Android组件service的特征,Android组件activity的特征,可执行文件中的指令或字符串,Android安装包目录下各文件的MD5值;其中,所述可执行文件包括Dex文件,和/或,ELF文件;所述Dex文件包括classes.dex文件,扩展名为.jar的文件,以及,Dex格式的文件;其中,所述样本Android安装包包括各种安全级别下的Android安装包。
[0180] 在本实施例中,更具体地,所述安全检测结果可以包含安全级别、行为描述信息、软件描述信息和时间戳信息。其中:
[0181] 安全级别:可以用32位整数表示,可表示安全、危险、谨慎或木马四个安全级别,每个安全级别的定义如上所述。
[0182] 行为描述信息:也可以用32位(0~31)整数表示,可以表示出各个安全级别的软件行为描述。其中,可以选取一位表示标志位,标志位为0表示没有恶意行为,如果有恶意行为,则可以定义:第1位代表“后台偷偷下载”,第2位代表“私自发送短信”,第3位代表“包含广告”,等等。即,每一位都可以单独表示一种软件的行为描述。
[0183] 例如,对于检测为“木马级别”的Android应用程序,如果恶意行为=3,翻译成二进制就是11,第1位=1,第2位=1,表示的恶意行为是:同时具有后台偷偷下载和私自发送短信的行为。
[0184] 再例如,对于检测为“谨慎级别”的Android应用程序,如果行为描述=4,翻译成二进制就是100,第1位=0,第2位=0,第2位=1,表示的行为是:包含广告。由于这个广告可能是用户允许的,也可能是用户不允许的,所以会提示用户谨慎使用,由用户自行决定是否清除。
[0185] 软件描述信息:通常表示为字符串,是对Android应用程序的说明,如发布者、发布时间等信息。
[0186] 时间戳信息:表明Android应用程序的特征信息(如正常特征、木马特征等)是什么时候入库的。
[0187] 实际应用中,客户端用户界面显示安全检测结果时,可以先弹出安全级别信息,如果用户点击“查看详情”按钮,再为用户展示行为描述信息、软件描述信息和时间戳信息。
[0188] 服务器完成特征识别后,会将最终的安全检测结果返回给对应的客户端,由客户端在客户端用户界面中显示,以提醒用户。
[0189] 本发明实施例中的云查杀引擎,可以理解为多个病毒引擎,例如,可包括:AVE引擎、AVM引擎、云查杀引擎、机器学习引擎等等。
[0190] 云查杀引擎等等包括服务器端查杀工具和客户端查杀工具。服务端通过将opcode序列与病毒库文件中的记录匹配进行病毒检测,将病毒检测结果下发到客户端,并提供修复方案,修复方案包括:文件类型、与文件类型对应的查杀方法等等,客户端可以根据修复方案进行查杀病毒。客户端可以安装在手机、PC、PAD等上,通过手机端等上的客户端查杀引擎,或者是手机端等上的应用分发平台等工具,为用户提供可靠的移动互联网安全服务。
[0191] 其中,云查杀服务器保存有庞大的病毒库,包含有众多的恶意程序的文件特征值,除了可以对多种恶意应用程序进行扫描。
[0192] 在方案实施时,优选的方案是:
[0193] 本地样本库优先检测完后,无论检测结果如何,均再上传到云查杀服务器重新检测,然后将本地与云查杀服务器的检测结果合并;
[0194] 或,
[0195] 本地优先检测,如果对提取的特征全部检测出结果,则无需上传服务器再检测,但如果本地有无法识别的文件特征,则再上传服务器检测,最后将两种检测结果合并。
[0196] 其中,查杀结果记录为程序的行为描述信息。
[0197] 在扫描完成后,执行步骤S307,向PC终端返回查杀结果。
[0198] 其中,如图5所示为一种显示对移动终端中的文件的查杀结果的效果示意图。
[0199] 进一步地,在PC终端接收到查杀结果后,还可以包括:
[0200] PC终端将查杀结果返回给移动终端。
[0201] 在确认移动终端中具有恶意应用程序时,即可开启对恶意应用程序的查杀流程。
[0202] 其中,在对恶意应用程序进行查杀时,可以包括多种方式,例如可以执行步骤S308,由PC终端向移动终端发送对恶意应用程序的查杀指令,通知移动终端对恶意应用程序进行查杀。
[0203] 其中,查杀指令可以包括如下任意一种:
[0204] 删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0205] 其中,如图6所示为一种对移动终端中的文件进行查杀后的效果示意图,在该示意图中选择了对移动终端中的恶意应用程序进行卸载。
[0206] 进一步地,除了步骤S308所述的查杀方式外,还可以通过如下方式对恶意应用程序进行查杀:
[0207] 第一种,通过刷机的方式对移动终端中的恶意应用程序进行查杀。
[0208] 其中,该第一种方式主要用于对移动终端中的顽固木马(例如不死木马)进行查杀。
[0209] 如图7所示,为一种通过刷机的方式对移动终端中的恶意应用程序进行查杀的方法流程图,具体包括步骤S308-1至S308-5:
[0210] 步骤S308-1,获取移动终端的机型信息。
[0211] 进一步地,在执行本步骤S308-1之前,还包括:
[0212] 提示用户在刷机过程中勿拔出数据线以免造成损失。
[0213] 其中,如图8所示为一种查杀流程前的提示方式的效果图。
[0214] 需要说明的是,移动终端的存储空间中设置有BOOT分区,其操作系统文件保存在BOOT分区中,并且操作系统文件以压缩包的形式保存在BOOT分区中。
[0215] 在本实施例中,以安卓操作系统为例,则系统文件压缩包为boot.img。
[0216] 例如,不死木马就是被写入到boot.img中。一般在操作系统启动时,会首先将boot.img解压缩,并释放到内存中,继而进行操作系统的启动,因此,现有的杀毒方式是不能清除不死木马的,在操作系统重启后,不死木马会再次被释放到移动终端的内存中。
[0217] 在boot.img中,包括有两部分:内核kernel及根目录(initramdisk);其中,所述根目录下包含有服务目录及引导配置文件inti.rc,所述服务目录下包含有服务文件。其中,所述服务目录可包括有sbin目录。
[0218] 一般的安卓操作系统的启动过程如下:
[0219] 首先,接收到开机或重启触发指令后,以只读的方式加载引导分区中的所述boot.img。然后,通过所述boot.img的kernel读取所述根目录下的inti.rc中的配置信息,用以在操作系统启动时,指示操作系统中的程序执行什么操作,例如指示屏幕显示开机动画等。
[0220] 其中,对于不同的移动终端,由于生产厂家不同、使用的操作系统不同,其BOOT分区的存储位置不同、系统文件压缩包boot.img的压缩格式也不同,因此,进行重新刷机必须先获取其机型信息以获知BOOT分区的存储位置。
[0221] 在获取BOOT分区的位置时,还可以根据移动终端中的分区表获取其BOOT分区的位置。
[0222] 其中,一般情况下,分区表位于移动终端的磁盘(存储空间)起始处的一个或者几个扇区内,只要读取这几个扇区,然后按照特定格式解析,就能得到分区表。不同格式的磁盘需要适配工作,很多厂商对于其移动终端的磁盘格式采取自定义的方式,另外也有小部分厂商使用MBR(Main Boot Record,主引导记录)和GPT(GUIDPartition Table,GUID磁碟分割表)格式的磁盘。
[0223] 以安卓操作系统的启动为例进行说明,在移动终端加电后,其会首先加载CPU中的程序代码Bootloader,通过该代码,引导找到BOOT分区,并将BOOT分区中的系统文件boot.img读取到内存中,并将其中的kernel和ramdisk进行解压缩,首先运行其中的kernel文件,加载linux内核(安卓操作系统采用linux内核),在操作系统的内核启动后,运行ramdisk中的程序,进而完成整个操作系统的启动。
[0224] 需要说明的是,分区表的存储位置以及磁盘的存储格式都是可以自定义的,所以不同手机和操作系统的分区表的位置是不同的,需要通过适配来完成。
[0225] 在一般的情况下,移动终端可能存在多个分区,则可逐个分区进行查找,确定BOOT分区的位置。
[0226] 移动终端的机型信息,可以包括有移动终端的品牌、操作系统的型号、内核版本号等,例如可以是:
[0227] 华为P6、操作系统Emotion UI、内核版本安卓4.2.2;
[0228] 魅族MX4、操作系统Flyme 4.0、内核版本安卓4.4.1。
[0229] 步骤S308-2,根据该移动终端的机型信息获取该移动终端的BOOT分区的存储位置,以及boot.img的压缩格式。
[0230] 其中,移动终端的生产厂家对其BOOT分区的位置的定义不同,主要是为了保护其操作系统不会被恶意修改。在本发明实施例中,可以通过适配的方法获取不同的机型信息的移动终端的BOOT分区的位置、boot.img的压缩格式,并保存到数据库中。
[0231] 当需要得知移动终端的BOOT分区的位置和boot.img的压缩格式时,只需要通过机型信息在数据库中查询即可。
[0232] 对于寻找BOOT分区的位置,以Google的Android手机Nexus为例进行说明,Nexus系统的手机在系统启动时会枚举设备,找到BOOT分区对应的设备,并在proc内存文件系统的/dev/blocks目录创建一个名为“BOOT”的符号链接,只要枚举/dev/blocks目录就可以得到boot分区对应的设备。
[0233] 而对于获取boot.img的格式,仍以Google的Android手机Nexus为例,它的boot.img文件的格式在Android源码中是可以找到的,只要按照这个格式解析就可以了,其他一些厂商会自定义格式,需要适配。
[0234] 步骤S308-3,通过在步骤S308-2中得到的BOOT分区的位置读取得到boot.img,并根据其压缩格式进行解压缩,得到系统文件。
[0235] 得到系统文件,也即需要得到kernel与initramdisk。在步骤S308-2中确定boot.img的格式之后,就可以解压读取到initramdisk。
[0236] 本步骤S308-3仍以Google的Android手机Nexus手机为例,它的initramdisk是先用以cpio格式打包,然后再使用gzip格式压缩的,只要在程序中先按照gzip格式解压缩,然后再按照cpio格式解包就可以得到里面所有的文件,然后就可以进入下面步骤的查杀操作。
[0237] 其中,其他手机的可能会存在XZ、LZMA、LZO等压缩格式,需要先判断是哪种压缩格式,然后再使用按照相应的格式进行解压。
[0238] 步骤S308-4,将恶意应用程序在移动终端的操作系统文件中删除。
[0239] 步骤S308-5,将删除了恶意应用程序的操作系统文件重新刷回所述移动终端。
[0240] 其中,将删除了恶意应用程序的操作系统文件重新刷回所述移动终端,也即重新刷回到移动终端的BOOT分区中,
[0241] 需要说明的是,为了防止BOOT分区中的系统文件被修改,一般的厂商还会在BOOT分区中保存对于boot.img的校验值,在操作系统启动时,会首先对boot.img进行计算得到校验值,并与预先保存的校验值进行比对,如果不相同,则不能启动操作系统。
[0242] 因此,本实施例所提供的方法还包括如下操作:
[0243] 根据移动终端的机型信息获取其boot.img的校验算法,并根据校验算法重新计算新的boot.img的校验值,替换掉重刷前保存的校验值,并将新的校验值以及boot.img一起写入到BOOT分区中。
[0244] 其中,校验算法可以是MD5(Message Digest Algorithm 5,消息摘要算法第五版)、SHA(Secure Hash Algorithm,安全哈希算法)、RSA算法等。
[0245] 除了对BOOT分区进行重刷外,还可以采用如下方式对恶意程序进行查杀:
[0246] 将由具有恶意程序特征的文件生成的可运行文件置为只可读状态。
[0247] 具体地,在进行刷机时,对于支持Fastboot的手机,可以使用Fastboot的刷机工具对手机的BOOT分区进行重刷。
[0248] 其中,Fastboot为安卓手机提供的一种底层的刷机模式。
[0249] 而有些手机不支持Fastboot进行刷机,需要调用刷机工具完成刷机,调用刷机工具的具体工作方式如下:
[0250] 将压缩好的boot.img文件发送到手机存储空间中,通过手机的操作系统中负责写入系统文件的函数写入到BOOT分区中,把原BOOT分区中的文件覆盖。
[0251] 对于将boot.img文件重新写入到BOOT分区的方式,具体说明如下:
[0252] (1)对于支持Fastboot的手机,在手机中的bootloader程序(在操作系统内核运行之前的引导程序)中有一个Fastboot服务器,Fastboot通过与该服务器通信即可完成刷机操作。Fastboot发出一条刷机指令,指明要刷的分区(例如BOOT),并把对应分区的一个完成磁盘影像,传入到移动终端中,Fastboot服务器拿到这个磁盘影像(例如boot.img),就用这个影像完全覆盖对应分区的数据。
[0253] (2)对于不支持Fastboot的手机,则需要自己完成刷机工具,将磁盘影像刷写到目标磁盘分区(先找到boot分区对应到磁盘设备,然后将磁盘影像中的数据,并将数据一块一块的拷贝过去,覆盖目标磁盘中的数据。
[0254] 其中,如图9所示为一种重刷系统时的效果图,如图10所示为通过重刷系统分区完成恶意程序清除后的效果图。
[0255] 第二种,通过免疫的方式对恶意应用程序进行查杀。
[0256] 其中,该第二种方式包括:
[0257] 向移动终端发送用于注入到移动终端的指定程序中的查杀代码;
[0258] 其中,指定程序为具有比恶意应用程序更高的启动优先级;
[0259] 查杀代码用于在指定程序启动时被加载,并关闭恶意应用程序的进程。
[0260] 本发明实施例提供了一种恶意应用程序的扫描方法,通过建立PC终端与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0261] 实施例四
[0262] 图11是本发明一个实施例提供的一种用于扫描恶意应用程序的PC终端的结构框图,该PC终端1100包括:
[0263] 第一连接建立模块1110,适于连接PC终端1100与移动终端;
[0264] 文件特征获取模块1120,适于利用PC终端1100获取移动终端中的待扫描文件的文件特征;
[0265] 文件特征上传模块1130,适于利用PC终端1100的网络传输能力将文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;
[0266] 结果输出模块1140,适于接收并输出云查杀服务器返回的扫描结果,将扫描结果发送至移动终端。
[0267] 可选地,该PC终端1100还包括:
[0268] 查杀模块1150,适于在输出云查杀服务器返回的扫描结果之后,当扫描结果为移动终端具有恶意应用程序时,对恶意应用程序进行查杀。
[0269] 可选地,查杀模块1150具体适于向移动终端发送对恶意应用程序的查杀指令,通知移动终端对恶意应用程序进行查杀。
[0270] 可选地,上述查杀指令包括如下任意指令中的至少一个:
[0271] 删除移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0272] 可选地,上述查杀模块1150具体适于向移动终端发送用于注入到移动终端的指定程序中的查杀代码;
[0273] 其中,上述指定程序为具有比恶意应用程序更高的启动优先级;
[0274] 查杀代码用于在指定程序启动时被加载,并关闭恶意应用程序的进程。
[0275] 可选地,上述查杀模块1150具体适于通过对移动终端执行刷机的方式清除恶意应用程序。
[0276] 可选地,上述查杀模块1150,包括:
[0277] 定位单元1151,适于定位移动终端的BOOT分区;
[0278] 读取单元1152,适于在BOOT分区中读取boot.img文件;
[0279] 清除单元1153,适于对boot.img文件进行解压,并清除其中的恶意应用程序;
[0280] 覆盖单元1154,适于对清除了恶意应用程序后的boot.img文件进行压缩,并重新覆盖移动终端的BOOT分区。
[0281] 可选地,该PC终端1100还包括:
[0282] 权限获取模块1160,适于对恶意应用程序进行查杀之前,获取移动终端的ROOT权限。
[0283] 本发明实施例提供了一种用于扫描恶意应用程序的PC终端,通过建立与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0284] 实施例五
[0285] 图12是本发明一个实施例提供的一种用于扫描恶意应用程序的移动终端的结构框图,该移动终端1200包括:
[0286] 第二连接建立模块1210,适于连接移动终端1200与PC终端的连接;
[0287] 文件特征计算模块1220,适于计算得到本地的待扫描文件的文件特征;
[0288] 文件特征发送模块1230,适于将文件特征发送给PC终端;
[0289] 其中,上述文件特征用于PC终端上传到云查杀服务器,供云查杀服务器进行恶意应用程序特征的扫描。
[0290] 可选地,该移动终端1200还包括:
[0291] 指令接收模块1240,适于将上述文件特征发送给PC终端之后,接收并执行PC终端发送的对恶意应用程序的查杀指令。
[0292] 可选地,上述查杀指令包括如下任意指令中的至少一个:
[0293] 删除该移动终端1200中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。
[0294] 可选地,该移动终端1200还包括:
[0295] 代码接收模块1250,适于将文件特征发送给PC终端之后,接收PC终端发送的查杀代码,并将查杀代码注入到指定程序中;
[0296] 其中,上述指定程序为具有比恶意应用程序更高的启动优先级;
[0297] 上述查杀代码用于在指定程序启动时被加载,并关闭恶意应用程序的进程。
[0298] 本发明实施例提供了一种用于恶意应用程序的扫描的移动终端,通过建立与PC终端的连接,并自身中的待扫描文件的文件特征发送给PC终端,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0299] 实施例六
[0300] 如图13所示,本发明实施例提供了一种用于扫描恶意应用程序的系统,该系统包括:
[0301] 如实施例四中所述的PC终端1100、如实施例五所述的移动终端1200以及云查杀服务器1300;
[0302] 其中,该云查杀服务器1300具有病毒库,用于根据PC终端1100上传的文件特征进行恶意应用程序特征的扫描,并将扫描结果返回给PC终端1100。
[0303] 本发明实施例提供了一种恶意应用程序的扫描系统,通过建立PC终端与移动终端的连接,并获取移动终端中的待扫描文件的文件特征,再利用PC终端的网络传输能力将上述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描,可以在对移动终端中的文件通过云查杀的方式进行恶意应用程序扫描时不耗费移动终端的流量,避免造成用户流量损失的情况。
[0304] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0305] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0306] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0307] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0308] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的恶意应用程序的扫描装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0309] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0310] 至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
[0311] 本发明实施例提供了A1.一种恶意应用程序的扫描方法,应用于具备网络传输能力的PC终端,包括:连接所述PC终端与移动终端;利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至所述移动终端。A2.根据A1所述的方法,其中,在输出所述云查杀服务器返回的扫描结果之后,所述方法还包括:当扫描结果为所述移动终端具有恶意应用程序时,对所述恶意应用程序进行查杀。A3.根据A2所述的方法,其中,对所述恶意应用程序进行查杀,包括:向所述移动终端发送对所述恶意应用程序的查杀指令,通知所述移动终端对所述恶意应用程序进行查杀。A4.根据A3所述的方法,其中,所述查杀指令包括如下任意指令中的至少一个:删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。A5.根据A2所述的方法,其中,对所述恶意应用程序进行查杀,包括:向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。A6.根据A2所述的方法,其中,对所述恶意应用程序进行查杀,包括:通过对所述移动终端执行刷机的方式清除所述恶意应用程序。A7.根据A6所述的方法,其中,通过对所述移动终端执行刷机的方式清除所述恶意应用程序,包括:定位所述移动终端的BOOT分区;在所述BOOT分区中读取boot.img文件;对所述boot.img文件进行解压,并清除其中的恶意应用程序;对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。A8.根据A2至A7任一项所述的方法,其中,在对所述恶意应用程序进行查杀之前,所述方法还包括:获取所述移动终端的ROOT权限。
[0312] 本发明实施例提供了B9.一种恶意应用程序的扫描方法,应用于移动终端,包括:连接所述移动终端与PC终端;计算得到本地的待扫描文件的文件特征;将所述文件特征发送给所述PC终端;其中,所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描。B10.根据B9所述的方法,其中,在所述将所述文件特征发送给所述PC终端之后,所述方法还包括:接收并执行所述PC终端发送的对所述恶意应用程序的查杀指令。B11.根据B10所述的方法,其中,所述查杀指令包括如下任意指令中的至少一个:删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。B12.根据B9所述的方法,其中,在所述将所述文件特征发送给所述PC终端之后,所述方法还包括:接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0313] 本发明实施例提供了C13.一种用于扫描恶意应用程序的PC终端,包括:第一连接建立模块,适于连接所述PC终端与移动终端;文件特征获取模块,适于利用所述PC终端获取所述移动终端中的待扫描文件的文件特征;文件特征上传模块,适于利用所述PC终端的网络传输能力将所述文件特征发送给云查杀服务器进行恶意应用程序特征的扫描;结果输出模块,适于接收并输出所述云查杀服务器返回的扫描结果,将所述扫描结果发送至所述移动终端。C14.根据C13所述的PC终端,其中,所述PC终端还包括:查杀模块,适于在输出所述云查杀服务器返回的扫描结果之后,当扫描结果为所述移动终端具有恶意应用程序时,对所述恶意应用程序进行查杀。C15.根据C14所述的PC终端,其中,所述查杀模块具体适于向所述移动终端发送对所述恶意应用程序的查杀指令,通知所述移动终端对所述恶意应用程序进行查杀。C16.根据C15所述的PC终端,其中,所述查杀指令包括如下任意指令中的至少一个:删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。C17.根据C14所述的PC终端,其中,所述查杀模块具体适于向所述移动终端发送用于注入到所述移动终端的指定程序中的查杀代码;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。C18.根据C14所述的PC终端,其中,所述查杀模块具体适于通过对所述移动终端执行刷机的方式清除所述恶意应用程序。C19.根据C18所述的PC终端,其中,所述查杀模块,包括:定位单元,适于定位所述移动终端的BOOT分区;读取单元,适于在所述BOOT分区中读取boot.img文件;清除单元,适于对所述boot.img文件进行解压,并清除其中的恶意应用程序;覆盖单元,适于对清除了所述恶意应用程序后的boot.img文件进行压缩,并重新覆盖所述移动终端的BOOT分区。C20.根据C14至C19任一项所述的PC终端,其中,所述PC终端还包括:权限获取模块,适于对所述恶意应用程序进行查杀之前,获取所述移动终端的ROOT权限。
[0314] 本发明实施例提供了D21.一种用于扫描恶意应用程序的移动终端,包括:第二连接建立模块,适于连接所述移动终端与PC终端的连接;文件特征计算模块,适于计算得到本地的待扫描文件的文件特征;文件特征发送模块,适于将所述文件特征发送给所述PC终端;其中,所述文件特征用于所述PC终端上传到云查杀服务器,供所述云查杀服务器进行恶意应用程序特征的扫描。D22.根据D21所述的移动终端,其中,所述移动终端还包括:指令接收模块,适于将所述文件特征发送给所述PC终端之后,接收并执行所述PC终端发送的对所述恶意应用程序的查杀指令。D23.根据D22所述的移动终端,其中,所述查杀指令包括如下任意指令中的至少一个:删除所述移动终端中的指定路径下文件的指令、枚举包的指令、提取文件特征的指令、读取文件的指令。D24.根据D21所述的移动终端,其中,所述移动终端还包括:代码接收模块,适于将所述文件特征发送给所述PC终端之后,接收所述PC终端发送的查杀代码,并将所述查杀代码注入到指定程序中;其中,所述指定程序为具有比所述恶意应用程序更高的启动优先级;所述查杀代码用于在所述指定程序启动时被加载,并关闭所述恶意应用程序的进程。
[0315] 本发明实施例提供了E25.一种用于扫描恶意应用程序的系统,包括:如E13至E20任一项所述的PC终端、如E21至E24任一项所述的移动终端以及云查杀服务器;其中,所述云查杀服务器具有病毒库,用于根据所述PC终端上传的文件特征进行恶意应用程序特征的扫描,并将所述扫描结果返回给所述PC终端。