发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序传播过程的跟踪方法和相应的应用程序传播过程的跟踪装置。
依据本发明的一个方面,提供了一种应用程序传播过程的跟踪方法,包括:
第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
可选地,所述应用程序的程序标识为所述应用程序的可执行文件的哈希值,或唯一标识所述应用程序的发布者的数字证书信息。
可选地,当查找的鉴定信息包括多个时,所述根据查找得到的鉴定信息中特征终端的终端标识和/或第一特征服务端接收到鉴定请求的时间信息,对应用程序在内网中的传播过程进行跟踪的步骤包括:
提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
在提取的多个时间信息中,查找距离当前时间最远的时间信息;
提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
可选地,所述对应用程序的安全性进行鉴定的步骤包括:
所述第一特征服务端对所述应用程序的安全性进行鉴定;
当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定,并接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
可选地,当鉴定所述应用程序的安全性为危险文件时,还包括:
进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
可选地,所述文件传播来源包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序,或所述特征终端从外接存储介质转移的应用程序。
可选地,所述方法还包括:
所述第一特征服务端记录所述应用程序对应的安全性。
可选地,所述方法还包括:
向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为;
接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。
依据本发明的另一个方面,提供了一种应用程序传播过程的跟踪装置,包括:
鉴定请求接收模块,用于第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
鉴定模块,用于对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
鉴定信息查找模块,用于当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
跟踪模块,用于根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
可选地,所述应用程序的程序标识为所述应用程序的可执行文件的哈希值,或唯一标识所述应用程序的发布者的数字证书信息。
可选地,当查找的鉴定信息包括多个时,所述跟踪模块包括:
时间信息提取子模块,用于提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
时间信息查找子模块,用于在提取的多个时间信息中,查找距离当前时间最远的时间信息;
标识提取子模块,用于提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
可选地,所述鉴定模块包括:
第一安全性鉴定子模块,用于所述第一特征服务端对所述应用程序的安全性进行鉴定;
第二安全性鉴定子模块,用于当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定;
安全性接收子模块,用于接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
可选地,当鉴定所述应用程序的安全性为危险文件时,所述装置还包括:
第一信息请求模块,用于进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,第二信息请求模块,用于向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
可选地,所述文件传播来源包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序,或所述特征终端从外接存储介质转移的应用程序。
可选地,所述装置还包括:
安全性记录模块,用于所述第一特征服务端记录所述应用程序对应的安全性。
可选地,所述装置还包括:
获取请求发送模块,用于向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为;
程序文件接收模块,用于接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。
依据本发明实施例,第一特征服务端在接收到与其处于同一内网的多个特征终端对应用程序的鉴定请求后,对应用程序的安全性进行鉴定并记录应用程序的程序标识、终端标识和/或时间信息,鉴定该应用程序的安全性为危险文件时,查找对该应用程序进行鉴定的多个鉴定信息,并根据鉴定信息对应用程序在内网中的传播过程进行跟踪,例如,根据鉴定信息中的时间信息可以得到该应用程序传入内网的时间或在内网的传播时间,根据鉴定信息中的终端标识可以绘制在内网中各终端之间的传播路径,结合时间信息和终端标识可以分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
参考图1,示出了根据本发明一个实施例的应用程序传播过程的跟踪方法流程图,具体可以包括:
步骤101、第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端。
本发明实施例中,第一特征服务端为特定终端可访问的服务端,即私有云安全系统,可访问私有云安全系统的多个特征终端和私有云安全系统服务器处于同一个内网,在具体的实现中,私有云安全系统大多架设在企业内网中,可以对企业内网的各个终端进行安全管理。
各特征终端可以在下载、安装、启动或保存应用程序时向第一特征服务端请求对应用程序的安全性进行鉴定。
特征终端在多种应用场景下均可以向第一特征服务端请求对应用程序的安全性进行鉴定,具体而言,终端下载应用程序时,可以请求对该应用程序的安全性进行鉴定;需要在终端安装应用程序时,也可以请求对该应用程序的安全性进行鉴定;在终端通过点击应用程序的快捷方式或是程序文件等方式来启动应用程序时,也可以请求对该应用程序的安全性进行鉴定;或者,终端本地保存有多个应用程序,也可以按照预设频率请求对该应用程序的安全性进行鉴定。
步骤102、对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息。
第一特征服务端保存有应用程序的程序标识与安全性的对应关系,所述鉴定请求可以携带应用程序的程序标识,在接收到对应用程序的安全性鉴定请求后,可以根据程序标识确定应用程序的安全性。在具体的实现中,所述应用程序的安全性包括正常、禁用和未知三种级别,也可以按照具体的需求进行设置,本发明对此并不做限制。
本发明实施例中,第一特征服务端在进行安全性鉴定的同时还记录对应的鉴定信息,具体可以包括应用程序的程序标识。
程序标识可以为所述应用程序的可执行文件的哈希值,具体而言,特征终端安装有多个应用程序,每个程序对应有多个文件,其中包括有应用程序文件(portable executable,PE文件),PE文件是微软Windows操作系统上的程序文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,每个应用程序都有对应的PE文件。PE文件由MS-DOS可执行体、文件头、可选头、数据目录、节头以及节等结构组成,本发明中可以通过PE文件的文件头中各个结构的关键词作为预设关键词,来判断应用程序对应的各个文件是否为应用程序文件。然后可以通过MD5算法(Message DigestAlgorithm MD5,信息摘要算法第五版)计算出可执行文件的唯一HASH(哈希)值。MD5算法的典型应用是对一段信息(Message)产生信息摘要(Message—Digest),让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串,可以确保信息传输完整一致。以防止被篡改。例如,通过MD5算法,计算可执行文件WINWORD.EXE的唯一的32位HASH值为54525786F76E6CD2BA29E2B7B1B28939。
程序标识也可以为唯一标识所述应用程序的发布者的数字证书信息。数字证书信息是数字签名的一部分,数字签名(Digital Signature)是使用数字证书信息来识别软件的发布者和使用Windows受信任的根证书颁发机构颁发的代码签名证书,对软件代码进行数字签名,从而保证了软件代码来自真实的发行者和保证软件代码没有被非法篡改。不同应用程序发布者的数据证书信息是不同的,因此,数字证书信息可以唯一标识应用程序的发布者。换而言之,数字签名由经过加密处理的所述应用程序的可执行文件的哈希值和所述发布者的数字证书信息组成。例如,可执行文件的WINDOW.EXE的数字签名中包含的发布者的数字证书信息为Microsoft Code Signing PCA。
鉴定信息还可以包括发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息,即鉴定信息中除了应用程序的程序标识,还可以包括发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识,也可以包括传输所述鉴定请求的时间信息,也可以包括发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识以及传输所述鉴定请求的时间信息。
其中,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间生成,也可以根据所述特征终端发送所述鉴定请求的时间生成。
本发明实施例中,优选地,所述对应用程序的安全性进行鉴定的步骤包括:
子步骤S11、所述第一特征服务端对所述应用程序的安全性进行鉴定;
子步骤S12、当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定,并接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
第一特征服务端对应用程序安全性进行鉴定时,由于第一特征服务端用于进行安全性鉴定的鉴定数据库不够完善或其他原因,鉴定的安全性可能为为未知文件时,这种情况下,第一特征服务端可以进一步请求第二特征服务端对所述应用程序的安全性进行鉴定,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端,即公有云安全系统。
当第一特征服务端可以连入互联网直接连接第二特征服务端时,可以进一步请求第二特征服务端对该应用程序进行安全性鉴定;当第一特征服务端无法连入互联网时,可以通过离线查询的方式,具体而言,可以通过离线查询工具把未知安全性的应用程序的程序标识导出,然后到能连入互联网的特征终端上,由特征终端根据程序标识做文件云安全系统查询,即由特征终端通过连接互联网请求第二特征服务端对该应用程序的安全性进行鉴定,然后把查询结果通过离线查询工具导入到私有云安全系统的第一特征服务端。
在该应用场景下,在鉴定得到应用程序的安全性时,还可以由所述第一特征服务端记录所述应用程序对应的安全性,以对第一特征服务端的用于鉴定应用程序安全性的鉴定数据库进行完善。
步骤103、当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息。
本发明实施例中所述的危险文件可以是病毒文件也可以是进一步传播病毒文件的文件,例如通过连接互联网下载病毒文件到本地。
当鉴定应用程序为危险文件时,需要进一步对该应用程序在内网中的传播过程进行跟踪,第一特征服务端保存了各个终端请求鉴定应用程序时对应的鉴定信息,各个鉴定信息中包含了应用程序的程序标识,因此,可以根据安全性为危险文件的应用程序对应的程序标识,提取该应用程序对应的一个或多个鉴定信息。
步骤104、根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
根据鉴定信息中的终端标识和/或时间信息可以对应用程序在内网中的传播过程进行跟踪。
具体而言,当鉴定信息中包含发送鉴定请求的特征终端的终端标识时,根据鉴定信息中的终端标识可以绘制该应用程序在内网中各终端之间的传播路径等信息;当鉴定信息中包含传输所述鉴定请求的时间信息时,可以得到该应用程序传入内网的时间或在内网的传播时间等信息;当鉴定信息中包含发送鉴定请求的特征终端的终端标识以及传输所述鉴定请求的时间信息时,结合终端标识和时间信息可以得知应用程序传播到哪些终端,以及传播到这些终端的时间,从而可以进一步分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
具体而言,当鉴定信息中包含发送鉴定请求的特征终端的终端标识以及传输所述鉴定请求的时间信息,并且查找的鉴定信息包括多个时,所述步骤104可以包括:
子步骤S21、提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
子步骤S22、在提取的多个时间信息中,查找距离当前时间最远的时间信息;
子步骤S23、提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
每个鉴定信息中均包括传输鉴定请求的时间信息,可以在各个鉴定信息中提取出该时间信息,并找出最早的时间信息,也即是距离当前时间最远的时间信息,该时间信息对应的鉴定信息是最早提出对该应用程序进行鉴定的鉴定信息,对应的终端也即是应用程序在内网中最早存在的特征终端,也即是该应用程序在内网中的传播源头,因此,在跟踪该应用程序的传播过程时,可以提取查找的距离当前时间最远的时间信息对应的鉴定信息中的终端标识,作为应用程序最早存在的特征终端的终端标识。
综上所述,依据本发明实施例,第一特征服务端在接收到与其处于同一内网的多个特征终端对应用程序的鉴定请求后,对应用程序的安全性进行鉴定并记录应用程序的程序标识、终端标识和/或时间信息,鉴定该应用程序的安全性为危险文件时,查找对该应用程序进行鉴定的多个鉴定信息,并根据鉴定信息对应用程序在内网中的传播过程进行跟踪,例如,根据鉴定信息中的时间信息可以得到该应用程序传入内网的时间或在内网的传播时间,根据鉴定信息中的终端标识可以绘制在内网中各终端之间的传播路径,结合时间信息和终端标识可以分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
参考图2,示出了根据本发明另一个实施例的应用程序传播过程的跟踪方法流程图,具体可以包括:
步骤201、第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端。
步骤202、对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息。
步骤203、当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息。
步骤204、根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
步骤205、向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为。
步骤206、接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。
与上个实施例不同的是,本实施例中,在鉴定应用程序的安全性为危险文件时后,还可以进一步向特征终端请求获取该应用程序对应的可执行文件,以按照可执行文件对该应用程序的行为特征进行进一步分析。
可执行文件记录所述应用程序运行时的操作行为,具体可以为应用程序文件(PE文件)或是应用程序文件的部分信息,也可以是其它记录所述应用程序运行时的操作行为的文件。
在实际应用中,由于各种原因,请求对应用程序安全性进行鉴定的终端经常会出现应用程序的可执行文件丢失的情况,例如,某些病毒可能会在运行后自行删除所有的相关文件,在这种情况下就无法对程序进行安全鉴定。针对这个问题,本发明实施例中,提出全网通缉可执行文件的方法,即可以向内网中的任意一个或多个特征终端请求所述可执行文件。从而在某些特征终端的丢失可执行文件的情况下,还可以在其他特征终端中获取。
在具体的实现中,由于向一个特征终端发送对可执行文件的获取请求时,可能该特征终端也并不存在可执行文件,需要再次发送请求,因此,优选的方式为向多个特征终端发送对可执行文件的获取请求。
在具体的实现中,获取可执行文件后,可以进一步按照所述可执行文件对所述应用程序进行分析,可以分析该病毒的行为特征。
通过对病毒的研究和观察发现,病毒有一些与其他应用程序不同的行为,并且各种病毒具有一些共有的破坏性行为,所谓的破坏性行为一般包括对计算机系统的非常规操作或者造成恶性结果的操作。例如,自行连接外网发送数据、执行多次复制代码的操作或访问并改写系统文件等等。
通过对所述应用程序的可执行文件进行反汇编处理,得到所述应用程序对应的汇编源码,分析所述汇编源码在运行时的操作行为是否具备目标行为特征,此处所述目标行为特征为病毒运行时的行为特征。
具体而言,编写程序是利用高级语言如C,Pascal等高级语言进行编程的,然后再经过编译程序生成可以被计算机系统直接执行的文件(机器语言),反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。对应用程序的可执行文件进行反汇编后得到汇编源码,可以根据汇编源码分析可执行文件所记录的程序的操作行为,从而实现对应用程序的操作行为进行分析。
本发明实施例中,判断汇编源码在运行时是否具备病毒的行为特征,可以通过分析汇编源码是否具备至少一个病毒操作指令来判断,通常,一个病毒的破坏行为可以由一系列的执行破坏性操作的指令或是指令集构成的,而且每个指令或指令集至少产生一个独立的破坏性操作行为。因此,可以预先收集一些病毒的破坏性操作行为涉及的指令或指令集,如果一个被检测的应用程序的汇编源码具有这样的指令代码就可以得知该被检测程序存在一个可能破坏其他程序或数据的可疑操作行为。若该应用程序可执行文件的汇编源码中所包括的病毒指令或指令集,以及这些病毒指令或指令集对应的行为特征,则可以确定该应用程序所具备的病毒的行为特征。
判断汇编源码在运行时是否具备病毒的行为特征,也可以通过提供用于诱发病毒感染的感染对象,运行该汇编源码,以监控该应用程序运行过程中的行为特征,将该行为特征与预先收集的各种病毒的行为特征进行比对,确定该应用程序所具备的病毒的行为特征。
在具体的实现中,当鉴定所述应用程序的安全性为危险文件时,还包括:
进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
在鉴定应用程序为危险文件后,可以进一步根据该应用程序的其他相关信息,以对其在内网中的传播进行进一步的分析。获取这些相关信息时,可以由第一特征服务端请求特征终端上报应用程序的相关信息,也可以在通知特征终端该应用程序的安全性之后,由特征终端主动向第一特征服务端上报相关信息。
本发明实施例中,用于进一步对应用程序进行分析的相关信息可以包括应用程序的文件来源,所述文件传播来源可以包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序(例如从特征终端本地磁盘D盘拷贝到F盘的应用程序),或所述特征终端从外接存储介质转移的应用程序(例如从外接U盘转移到本地磁盘的应用程序)。根据应用程序的文件来源可以得知该应用程序是如何传播到内网中或最早感染该病毒的源头的特征终端感染该病毒的方式,从而可以进一步控制病毒的来源,实现对内网更有效的安全管理。
相关信息也可以包括应用程序在特征终端上的保存路径,根据该保存路径可以进一步删除该危险文件,或是分析该保存路径对应的磁盘或相关系统文件存在的安全漏洞。
相关信息也可以包括所述应用程序的相关文件在所述特征终端的创建时间,应用程序在特征终端的创建时间也可以作为该危险文件传入内网更准确的时间,可以作为分析危险文件的参考。
依据本发明实施例,第一特征服务端在接收到与其处于同一内网的多个特征终端对应用程序的鉴定请求后,对应用程序的安全性进行鉴定并记录应用程序的程序标识、终端标识和/或时间信息,鉴定该应用程序的安全性为危险文件时,查找对该应用程序进行鉴定的多个鉴定信息,并根据鉴定信息对应用程序在内网中的传播过程进行跟踪,例如,根据鉴定信息中的时间信息可以得到该应用程序传入内网的时间或在内网的传播时间,根据鉴定信息中的终端标识可以绘制在内网中各终端之间的传播路径,结合时间信息和终端标识可以分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
参考图3,示出了根据本发明一个实施例的应用程序传播过程的跟踪装置结构框图,具体可以包括:
鉴定请求接收模块301,用于第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
鉴定模块302,用于对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
鉴定信息查找模块303,用于当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
跟踪模块304,用于根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
本发明实施例中,优选地,所述应用程序的程序标识为所述应用程序的可执行文件的哈希值,或唯一标识所述应用程序的发布者的数字证书信息。
本发明实施例中,优选地,当查找的鉴定信息包括多个时,所述跟踪模块包括:
时间信息提取子模块,用于提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
时间信息查找子模块,用于在提取的多个时间信息中,查找距离当前时间最远的时间信息;
标识提取子模块,用于提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
本发明实施例中,优选地,所述鉴定模块包括:
第一安全性鉴定子模块,用于所述第一特征服务端对所述应用程序的安全性进行鉴定;
第二安全性鉴定子模块,用于当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定;
安全性接收子模块,用于接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
所述装置还可以包括:
安全性记录模块,用于所述第一特征服务端记录所述应用程序对应的安全性。
依据本发明实施例,第一特征服务端在接收到与其处于同一内网的多个特征终端对应用程序的鉴定请求后,对应用程序的安全性进行鉴定并记录应用程序的程序标识、终端标识和/或时间信息,鉴定该应用程序的安全性为危险文件时,查找对该应用程序进行鉴定的多个鉴定信息,并根据鉴定信息对应用程序在内网中的传播过程进行跟踪,例如,根据鉴定信息中的时间信息可以得到该应用程序传入内网的时间或在内网的传播时间,根据鉴定信息中的终端标识可以绘制在内网中各终端之间的传播路径,结合时间信息和终端标识可以分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
参考图4,示出了根据本发明一个实施例的应用程序传播过程的跟踪装置结构框图,具体可以包括:
鉴定请求接收模块401,用于第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
鉴定模块402,用于对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
鉴定信息查找模块403,用于当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
跟踪模块404,用于根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
获取请求发送模块405,用于向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为;
程序文件接收模块406,用于接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。
本发明实施例中,优选地,当鉴定所述应用程序的安全性为危险文件时,所述装置还包括:
第一信息请求模块,用于进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,第二信息请求模块,用于向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
本发明实施例中,优选地,所述文件传播来源包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序,或所述特征终端从外接存储介质转移的应用程序。
依据本发明实施例,第一特征服务端在接收到与其处于同一内网的多个特征终端对应用程序的鉴定请求后,对应用程序的安全性进行鉴定并记录应用程序的程序标识、终端标识和/或时间信息,鉴定该应用程序的安全性为危险文件时,查找对该应用程序进行鉴定的多个鉴定信息,并根据鉴定信息对应用程序在内网中的传播过程进行跟踪,例如,根据鉴定信息中的时间信息可以得到该应用程序传入内网的时间或在内网的传播时间,根据鉴定信息中的终端标识可以绘制在内网中各终端之间的传播路径,结合时间信息和终端标识可以分析在内网中该应用程序最早存在的终端,即该应用程序的传播源头,由此可见,依据本发明实施例实现了病毒的传播过程进行跟踪,可以更有效地对内网进行安全管理。
对于上述应用程序传播过程的跟踪装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1和图2所示方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序传播过程的跟踪设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明提公开了A1、一种应用程序传播过程的跟踪方法,包括:
第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
A2、如A1所述的方法,所述应用程序的程序标识为所述应用程序的可执行文件的哈希值,或唯一标识所述应用程序的发布者的数字证书信息。
A3、如A1所述的方法,当查找的鉴定信息包括多个时,所述根据查找得到的鉴定信息中特征终端的终端标识和/或第一特征服务端接收到鉴定请求的时间信息,对应用程序在内网中的传播过程进行跟踪的步骤包括:
提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
在提取的多个时间信息中,查找距离当前时间最远的时间信息;
提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
A4、如A1所述的方法,所述对应用程序的安全性进行鉴定的步骤包括:
所述第一特征服务端对所述应用程序的安全性进行鉴定;
当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定,并接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
A5、如A1所述的方法,当鉴定所述应用程序的安全性为危险文件时,还包括:
进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
A6、如A5所述的方法,所述文件传播来源包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序,或所述特征终端从外接存储介质转移的应用程序。
A7、如A4所述的方法,还包括:
所述第一特征服务端记录所述应用程序对应的安全性。
A8、如A1所述的方法,还包括:
向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为;
接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。
本发明还公开了B9、一种应用程序传播过程的跟踪装置,包括:
鉴定请求接收模块,用于第一特征服务端接收多个特征终端分别向第一特征服务端发送的对应用程序的安全性的鉴定请求,所述第一特征服务端为基于内网对多个特征终端进行安全管理的服务端;
鉴定模块,用于对所述应用程序的安全性进行鉴定并记录各鉴定请求对应的鉴定信息,所述鉴定信息包括所述应用程序的程序标识、以及发送与所述鉴定信息对应的鉴定请求的特征终端的终端标识和/或传输所述鉴定请求的时间信息;
鉴定信息查找模块,用于当鉴定所述应用程序的安全性为危险文件时,根据所述应用程序的程序标识查找针对所述应用程序的鉴定信息;
跟踪模块,用于根据查找得到的鉴定信息中所述特征终端的终端标识和/或传输所述鉴定请求的时间信息,对所述应用程序在内网中的传播过程进行跟踪。
B10、如B9所述的装置,所述应用程序的程序标识为所述应用程序的可执行文件的哈希值,或唯一标识所述应用程序的发布者的数字证书信息。
B11、如B9所述的装置,当查找的鉴定信息包括多个时,所述跟踪模块包括:
时间信息提取子模块,用于提取多个鉴定信息中分别包括时间信息,所述时间信息根据所述第一特征服务端接收到所述鉴定请求的时间或所述特征终端发送所述鉴定请求的时间生成;
时间信息查找子模块,用于在提取的多个时间信息中,查找距离当前时间最远的时间信息;
标识提取子模块,用于提取查找的时间信息对应的特征终端的终端标识,作为所述应用程序最早存在的特征终端的终端标识。
B12、如B9所述的装置,所述鉴定模块包括:
第一安全性鉴定子模块,用于所述第一特征服务端对所述应用程序的安全性进行鉴定;
第二安全性鉴定子模块,用于当鉴定所述应用程序的安全性为未知文件时,进一步请求第二特征服务端对所述应用程序的安全性进行鉴定;
安全性接收子模块,用于接收所述第二特征服务端鉴定的所述应用程序的安全性,所述第二特征服务端为设置在互联网中通过互联网可访问的服务端。
B13、如B9所述的装置,当鉴定所述应用程序的安全性为危险文件时,所述装置还包括:
第一信息请求模块,用于进一步请求并接收所述特征终端上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息;
或,第二信息请求模块,用于向所述特征终端发送通知所述应用程序的安全性的消息,所述特征终端接收到所述消息后,主动上报所述应用程序的文件来源、所述应用程序的相关文件在所述特征终端的保存路径或所述应用程序的相关文件在所述特征终端的创建时间中的至少一种信息。
B14、如B13所述的装置,所述文件传播来源包括所述特征终端在内网或互联网中下载的应用程序、所述特征终端从本地存储介质转移的应用程序,或所述特征终端从外接存储介质转移的应用程序。
B15、如B12所述的装置,还包括:
安全性记录模块,用于所述第一特征服务端记录所述应用程序对应的安全性。
B16、如B9所述的装置,还包括:
获取请求发送模块,用于向内网中的至少一个特征终端发送对所述应用程序对应的可执行文件的获取请求,所述获取请求携带所述应用程序的程序标识,所述可执行文件记录所述应用程序运行时的操作行为;
程序文件接收模块,用于接收某个特征终端依据所述程序标识查找的所述应用程序对应的可执行文件。