恶意样本的识别方法及装置与流程

文档序号:12278676阅读:337来源:国知局
恶意样本的识别方法及装置与流程

本发明涉及网络通信技术领域,具体涉及一种恶意样本的识别方法及装置。



背景技术:

移动互联网的迅猛发展,带来了全民上网的信息化时代,同时也引起了信息爆炸、海量数据的生成。在此背景下,恶意样本的数量也正在呈现出几何式增长的态势。

为了识别恶意样本,现有技术中主要采取如下三种方式实现对样本主体的分析:第一种方式为样本主体的静态逆向分析方式,第二种方式为样本主体的动态行为分析方式,第三种分析方式为基于样本主体的网络流量的分析方式。其中,前两种方式中的静态、动态分析都具备一定的技术门槛,因此,在本发明中主要介绍第三种方式。

第三种方式中基于样本主体的网络流量进行分析时,主要通过如下两类方法实现,第一种方法为whois信息反查方法,其通过已知流量的whois信息,包括姓名(name)、邮箱(mail)、电话(phone)等,查找所有使用该whois信息注册的其他域名,进而通过域名来识别恶意样本,但是,发明人在实现本发明的过程中发现,由于隐私保护服务广泛应用于新域名的注册过程,使得该种关联分析法难以继续。第二种方法为passive DNS(被动DNS)数据关联方法,其通过DNS历史解析记录实现样本间的关联,进而根据关联关系识别恶意样本,但是,发明人在实现本发明的过程中发现,其依赖于大量的DNS解析记录,而大量DNS解析记录的获取过程并非易事,因而该方法不具有普适性。而且,上述的两种方法主要根据单样本主体的网络流量进行分析,因此,不足以观察更多同类样本的行为。

由此可见,现有的基于样本主体的网络流量分析恶意样本的方式存在诸多局限性,既不便于实施,又不能观察更多同类样本的行为。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的恶意样本的识别方法及装置。

依据本发明的一个方面,提供了一种恶意样本的识别方法,包括:提取各个URL样本中包含的特征信息,根据所述特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息;针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应;针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

依据本发明实施例的另一方面,提供了一种恶意样本的识别装置,包括:聚类模块,适于提取各个URL样本中包含的特征信息,根据所述特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息;记录模块,适于针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应;识别模块,适于针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

在本发明提供的恶意样本的识别方法及装置中,预先根据URL样本中包含的特征信息对各个URL样本进行聚类,从而得到至少一个URL集合;然后,针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将程序样本存储到与该URL集合对应的程序样本集合中;最后,针对每个程序样本集合,根据该程序样本集合中包含的已知恶意程序样本的数量对该程序样本集合中包含的未知恶意程序样本进行识别。由此可见,通过本发明中的方式能够将访问同一类URL的程序样本进行关联,由于访问同类URL的多个程序样本之间很可能为家族相关样本,因此,当访问同类URL的多个程序样本中有部分被确定为恶意样本时,其他的程序样本也极有可能为恶意样本,因此,通过本发明中的方式能够利用URL将程序样本关联起来,进而快速准确地识别恶意样本。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明一个实施例提供的恶意样本的识别方法的流程图;

图2示出了本发明另一个具体实施例提供的恶意样本的识别方法的流程图;

图3示出了特定的特征信息对应的程序样本集合中的各个程序样本的预测级别分布情况的示意图;

图4示出了本发明另一个实施例提供的恶意样本的识别装置的结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种恶意样本的识别方法及装置,至少能够解决现有技术中的方式存在的既不便于实施,又不能观察更多同类样本行为的技术问题。

图1示出了本发明一个实施例提供的恶意样本的识别方法的流程图。如图1所示,该方法包括以下步骤:

步骤S110:提取各个URL样本中包含的特征信息,根据特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息。

具体实现时,首先,需要预先收集多个URL样本。本发明对具体收集方式不做限定。例如,可以根据多个用户终端的访问记录进行收集,也可以通过网络爬虫进行收集。具体收集时,还可以通过多个虚拟机并行执行的方式实现快速收集的目的。

然后,需要对已收集的各个URL样本进行聚类处理,以便将包含相同特征信息的URL样本聚类到同一个URL集合中。其中,特征信息可以通过多种方式确定,例如,可以提取URL样本中的关键字段,根据该关键字段确定URL样本中的特征信息,本发明对特征信息的具体提取方式不做限定,只要能够实现对URL样本进行聚类的目的即可。

步骤S120:针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应。

其中,程序样本集合的数量与URL集合的数量相同且一一对应。例如,假设步骤S110中通过聚类处理得到了三个URL集合,分别为URL集合一、URL集合二以及URL集合三。相应地,将所有访问过URL集合一中的URL样本的程序样本存储到与URL集合一对应的程序样本集合一中;将所有访问过URL集合二中的URL样本的程序样本存储到与URL集合二对应的程序样本集合二中;将所有访问过URL集合三中的URL样本的程序样本存储到与URL集合三对应的程序样本集合三中。

步骤S130:针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

例如,对于程序样本集合一而言,假设该程序样本集合一中共包含10个程序样本,其中,有8个程序样本已经预先通过其他各种方式被确定为恶意程序样本,相应地,在本步骤中,重点分析剩余的2个程序样本是否为恶意样本,以便快速发现潜在的恶意样本。反之,对于程序样本集合三而言,假设该程序样本集合三中共包含20个程序样本,其中,已经预先通过其他各种方式被确定为恶意程序样本的数量为0,相应地,在本步骤中,可以推测程序样本集合三中的程序样本为恶意样本的概率较低。

由此可见,通过本发明中的方式能够将访问同一类URL的程序样本进行关联,由于访问同类URL的多个程序样本之间很可能为家族相关样本,因此,当访问同类URL的多个程序样本中有部分被确定为恶意样本时,其他的程序样本也极有可能为恶意样本,因此,通过本发明中的方式能够利用URL将程序样本关联起来,进而快速准确地识别恶意样本。

图2示出了本发明另一个具体实施例提供的恶意样本的识别方法的流程图。如图2所示,该方法包括以下步骤:

步骤S210:提取各个URL样本中包含的特征信息。

具体实现时,针对每个URL样本,提取该URL样本中包含的多个信息字段,根据多个信息字段确定该URL样本中包含的特征信息。为了便于理解,下面结合一个具体例子详细介绍特征信息的提取方法:

首先,对URL样本进行预处理。

其中,预处理过程并非必须的,而是一个可选的过程。通过预处理过程可以减少后续提取时的工作量。其中,在本实施例中,通过预处理能够删除各个URL样本中的CDN(Content Delivery Network,内容分发网络)字段。其中,CDN通过在现有的Internet中增加一层新的网络架构,将网站的内容快速发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高了用户访问网站的响应速度。由此可见,URL样本中的CDN字段只与内容分发过程有关,与URL样本中包含的网络资源等具体内容无关,因此,通过将CDN字段去除,能够提高后续的提取速度。

例如,预处理前的五个URL样本如下:

http://10.236.6.19/msoftdl.360.cn/mobilesafe/cleandroid/wstg6_2/360clear.ap k

http://106.2.184.233/msoftdl.360.cn/mobilesafe/cleandroid/wstg6_3/360clear.apk

http://111.7.128.45:80/cache/static.mobile.360.cn/upgrade/360Launcher/7150/360Launcher-V7.1.5-100109.apk

http://111.208.25.239:82/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/appcdn.123.sogou.com/appmall/channel/201606/SogouMall_132490017_3.1.7_20160615180527.apk

http://10.0.81.14:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/119.44.11.166:82/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/qzonestyle.gtimg.cn/qzone/phone/n/QQ-Qzone-Android/qzone_themeAlbum.zip。

经过预处理之后,得到如下的五个URL样本:

msoftdl.360.cn/mobilesafe/cleandroid/wstg6_2/360clear.apk

msoftdl.360.cn/mobilesafe/cleandroid/wstg6_3/360clear.apk

static.mobile.360.cn/upgrade/360Launcher/7150/360Launcher-V7.1.5-100109.apk

appcdn.123.sogou.com/appmall/channel/201606/SogouMall_132490017_3.1.7_20160615180527.apk

qzonestyle.gtimg.cn/qzone/phone/n/QQ-Qzone-Android/qzone_themeAlbum.zip

然后,从预处理后的URL样本中提取多个信息字段,根据多个信息字段确定该URL样本中包含的特征信息。

其中,多个信息字段包括以下中的至少一个:URL样本的路径信息中所包含的全部字段或部分字段。具体地,去除CDN字段后,URL样本中剩余的部分为路径信息。在本实施例中,从URL样本的路径信息中进一步提取最佳路径(path_best)字段作为特征信息。表1示出了与path_best字段相关的各类信息字段的定义。

表1

由此可见,在本实施例中,首先,从完整路径信息中提取倒数第2部分和倒数第1部分,从而得到名称为path_r2_1的信息字段;其次,将完整路径信息去掉首部和尾部后得到名称为path_middle的信息字段;然后,从完整路径信息中提取倒数第3部分和倒数第2部分,从而得到名称为path_r3_2的信息字段。最后,从上述的三个信息字段中选择一个信息字段作为path_best字段(即特征信息)。具体地,可以通过多种规则确定path_best字段,总之,既要尽可能多地将包含相同资源信息的URL关联起来,以便关联起更多的相关资源;又要尽可能地避免误报,避免不相关性。在本实施例中,可以根据上述的三个信息字段的长度和/或出现频率来选择path_best字段,例如,将长度较长和/或出现频率较高的信息字段确定为path_best字段。其中,长度较长的字段通常包含的信息量较大,能够反映更多的资源信息;出现频率较高的字段能够关联起更多的资源,有利于后续的关联样本分析。表2示意性地示出了path_best字段的确定方式。

表2

步骤S220:根据特征信息对各个URL样本进行聚类处理,根据聚类结果得到多个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息。

具体地,在上一步骤中,从每个URL样本中提取出了path_best字段作为特征信息,然后,在本步骤中,将包含相同path_best字段的URL样本划分到同一个URL集合中,从而得到多个URL集合,具体实现时,得到的URL集合的数量可以是一个,也可以是多个,在本步骤中,以得到多个URL集合为例进行说明,URL集合的具体数量可根据需要确定。例如,在具体实现中,当从各个URL样本中提取出的path_best字段数量很多时,为了避免对一些零散的URL样本进行监测,首先,统计各个path_best字段对应的URL样本的数量,其中,一个path_best字段对应的URL样本的数量即为包含该path_best字段的URL样本的总数;然后,根据统计结果采取下述两种方式中的任一方式确定URL集合的具体数量:

在第一种方式中,对于每个path_best字段而言,只有该path_best字段对应的URL样本的数量超过预设阈值时,例如当包含某一path_best字段的URL样本的数量超过5个时,才将这些URL样本存储为一个对应于该path_best字段的URL集合。

在第二种方式中,当path_best字段的个数超过预设个数时,根据统计结果的高低对各个path_best字段进行排序,针对排序靠前的预设个数的path_best字段生成对应的URL集合,例如将对应URL样本数量排在前三位的path_best字段提取出来,并针对这三个path_best字段生成三个对应的URL集合。

上述两种方式既可以单独使用,也可以结合使用,本领域技术人员可以根据需要进行选择,本发明对此不做限定。

步骤S230:针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应。

其中,程序样本集合的数量与URL集合的数量相同且一一对应。例如,假设步骤S220中通过聚类处理得到了三个URL集合,分别为URL集合一、URL集合二以及URL集合三。相应地,将所有访问过URL集合一中的URL样本的程序样本存储到与URL集合一对应的程序样本集合一中;将所有访问过URL集合二中的URL样本的程序样本存储到与URL集合二对应的程序样本集合二中;将所有访问过URL集合三中的URL样本的程序样本存储到与URL集合三对应的程序样本集合三中。

具体地,以URL集合一为例进行说明,每当监测到程序样本访问URL集合一中的URL样本时,记录与本次访问行为对应的打点事件;根据记录的各次打点事件获得与URL集合一对应的程序样本集合一。通过类似的方式,能够得到其他各个URL集合对应的各个程序样本集合。其中,具体监测时,可通过挂钩函数、回调函数等各种机制进行监测,本发明对具体监测方式不做限定。每次访问行为对应的打点事件中记录的信息项包括以下中的至少一个:程序样本属性、URL样本属性以及事件属性。其中,程序样本属性进一步包括:程序样本标识、和/或程序样本的预测级别;URL样本属性进一步包括:URL对应的特征信息、域名信息、主机信息、端口信息、打点次数、首次打点时间、和/或末次打点时间;事件属性进一步包括:打点日期、和/或打点时间等。

例如,在具体实现时,对程序样本进程触发网络流量访问,即访问特定URL的行为进行监测,每当监测到一次访问行为时,记录对应的打点事件。其中,一个URL样本可能被多个程序样本访问,一个程序样本也可能访问多个URL,且一个程序样本也可能在不同的时间点分别在不同的客户端设备上访问同一个URL,而且,一个程序样本在不同时间点访问某一URL时对应的预测级别还可能不同。因此,为了准确地反映一次访问行为的各项特征,在一个打点事件共包含URL样本属性、程序样本属性、以及事件属性这三类信息。其中,URL样本属性中的静态属性包括:域名(domain)、主机(host)、端口(port)、特征信息(path_best);动态属性包括:打点次数、首次打点日期、以及最后打点日期。程序样本属性中的静态属性包括:哈希(hash)、名称(name)等;动态属性包括:不同时间打点时的预测级别及具体打点行为事件。事件属性包括:日期(date)、时间(time)、预测级别(level)等。其中,程序样本的预测级别是根据程序样本的安全性进行划分的,例如,可以包括:危险级别、未知级别以及安全级别等。

步骤S240:针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

具体地,针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量时,首先确定该程序样本集合中包含的各个程序样本的预测级别,将预测级别为危险级别的程序样本作为已知恶意程序样本,然后计算已知恶意程序样本的数量与该程序样本集合中包含的全部程序样本的数量之间的比值,将该比值作为该程序样本集合的恶意百分比。相应地,在根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别时,首先将恶意百分比高于预设阈值的程序样本集合作为待测样本集合,然后分析待测样本集合中预测级别为安全级别和/或未知级别的程序样本是否为恶意程序样本。其中,当待测样本集合为多个时,可以根据各个待测样本集合对应的恶意百分比的数值设定各个待测样本集合的分析顺序。

例如,在预设周期内,根据访问同一path_best对应的URL集合的多个程序样本的预测级别分布情况,确定该path_best对应的程序样本集合的恶意百分比。其中,预设周期既可以是天周期,也可以是历史全周期。图3示出了特定path_best对应的程序样本集合中的各个程序样本的预测级别分布情况的示意图。如图3所示,以path_best为“tools/zhxapp_hdus”为例进行说明,包含“tools/zhxapp_hdus”这一path_best字段的全部URL样本构成path_best字段“tools/zhxapp_hdus”对应的URL集合,访问过该URL集合中的任一URL样本的全部程序样本构成path_best字段“tools/zhxapp_hdus”对应的程序样本集合。在图3中,path_best字段“tools/zhxapp_hdus”对应的程序样本集合中共包含20个程序样本,其中,预测级别为危险级别的程序样本数为18,相应地,已知恶意程序样本的数量(18)与该程序样本集合中包含的全部程序样本的数量(20)之间的比值为0.9,因此,该程序样本集合的恶意百分比为0.9。假设预设阈值为0.6,由于0.9高于0.6,因此,path_best字段“tools/zhxapp_hdus”对应的程序样本集合应当作为待测样本集合,进而分析该集合中预测级别为未知级别的两个程序样本是否为恶意程序样本。假设另一程序样本集合的恶意百分比为0.3,则无需将其作为待测样本集合。另外,当待测样本集合为多个时,可以优选分析恶意百分比较高的程序样本集合,以便快速发现潜在的恶意程序,及时中止恶意程序造成的危害。

另外,在本发明其他的实施例中,也可以不设置预设阈值(或者理解为将预设阈值设为0),直接将全部程序样本集合作为待测样本集合进行分析。

可选地,本发明中的方法还可以进一步包括下述步骤S250和/或步骤S260,其中,步骤S250和步骤S260的执行顺序可以互换,本发明对具体的执行顺序不做限定。

步骤S250:分析与待测样本集合对应的URL集合中的各个URL样本是否为恶意URL样本。

本步骤可以在步骤S240之后执行,由于上述的程序样本集合的恶意百分比也可以理解为相应的URL集合的恶意百分比,或者理解为相应的path_best字段的恶意百分比。因此,对于恶意百分比较高的程序样本集合而言,其对应的URL集合中所包含的path_best字段很可能为恶意字段,因此,进一步分析URL集合中的各个URL样本是否为恶意URL样本能够快速高效地发现潜在的恶意URL样本。

步骤S260:针对每个URL集合,获取该URL集合中的各个URL样本所包含的主机信息,将获取到的各个主机信息存储到与该URL集合对应的主机集合中;对属于相同主机集合的各个主机信息进行关联,根据关联结果分析各个主机信息所对应的主机设备上传输的数据,并确定其中的恶意数据。

本步骤可以在步骤S220之后执行,也可以在步骤S230至步骤S250中的任一步骤之后执行,本发明对本步骤的执行时机不做限定。在步骤S260中,针对每个URL集合,获取该URL集合中的各个URL样本所包含的主机(host)字段,将获取到的各个host字段存储到与该URL集合对应的主机集合中,同一主机集合中的各个主机由于传播同一类URL资源而存在一定的关联性,通过对相互关联的主机设备上传输的数据进行分析能够快速确定恶意数据。例如,假设主机A与主机B位于同一主机集合中,若主机A传播了恶意URL资源,则主机B传播的数据内容也很可能为恶意数据,通过对主机B上的传输数据进行监测能够快速确定恶意数据。

由于URL模式从一定程度上代表了资源部署规律,类似于文件目录结构,因此,具备类似URL模式的主机(hosts),其背后的资源部署是类似的,这些主机间往往存在一定的关联。而且,访问类似URL模式的不同的程序样本之间也往往存在关联,很可能为家族相关样本。本发明通过对URL模式的结构化组织、处理,能够实现无需借助whois、passive DNS等外界数据,单纯依靠URL模式自身的规律在不同主机间建立关联的目的;能够在不依赖逆向分析等手段的前提下,快速建立起不同样本间的关联,构建家族网络行为画像。由此可见,通过本发明中的方式能够根据URL资源快速关联起多个程序样本,并且,还能够建立各个URL之间的关联关系以及各个主机之间的关联关系,进而为恶意URL及恶意数据的分析提供便利。具体地,可以获得天周期内或全周期内特定的程序样本在特定的客户端设备上的流量访问情况、天周期内或全周期内特定的程序样本在不同的客户端设备上的流量访问情况,还可以获得天周期或全周期内特定的客户端设备上的流量访问情况。

在本发明中,能够设定程序样本的分析优先级,快速筛选可能的漏报样本,而且,通过URL关联起来的程序样本很可能是同家族样本。另外,本发明中的方法还可以在天周期内(或者历史全周期内)观察样本的网络行为,如果在相同的观察周期下,某一客户端设备或程序样本出现了频繁、异常的流量访问,则应该重点监测。另外,特定的程序样本所涉及的网络流量,描绘了该程序样本的大概面貌,据此可以辅助实现样本分析。

综上所述,本发明中的方法至少具备如下优点:首先,结合URL模式特点与资源部署间的关系特性,可以在不依赖whois、passive DNS及网络下载资源的情况下,尽可能贪婪、快速地建立起不同样本间的关联,服务于事件挖掘、响应等。其次,在不依赖逆向分析的情况下,不同样本主体因访问相同URL模式标识的同一类资源而建立关联,并根据恶意百分比设定样本分析优先级,辅助样本分析工作。

图4示出了本发明另一实施例提供的一种恶意样本的识别装置的结构图,如图4所示,该装置包括:

聚类模块41,适于提取各个URL样本中包含的特征信息,根据所述特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息;

记录模块42,适于针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应;

识别模块43,适于针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

可选地,所述识别模块43具体用于:确定该程序样本集合中包含的各个程序样本的预测级别,将预测级别为危险级别的程序样本作为已知恶意程序样本,计算所述已知恶意程序样本的数量与该程序样本集合中包含的全部程序样本的数量之间的比值,将所述比值作为该程序样本集合的恶意百分比;

将恶意百分比高于预设阈值的程序样本集合作为待测样本集合,分析所述待测样本集合中预测级别为安全级别和/或未知级别的程序样本是否为恶意程序样本。

其中,当所述待测样本集合为多个时,所述识别模块43具体用于根据各个待测样本集合对应的恶意百分比的数值设定各个待测样本集合的分析顺序。

可选地,该装置还可以进一步包括:URL样本分析模块44,适于分析与待测样本集合对应的URL集合中的各个URL样本是否为恶意URL样本。

其中,所述聚类模块具体用于:针对每个URL样本,提取该URL样本中包含的多个信息字段,根据所述多个信息字段确定该URL样本中包含的特征信息。具体地,所述聚类模块具体用于:对该URL样本进行预处理,从预处理后的URL样本中提取所述多个信息字段;其中,所述预处理包括:删除所述URL样本中的CDN字段。其中,所述多个信息字段包括以下中的至少一个:URL样本的路径信息中所包含的全部字段或部分字段。

其中,所述记录模块具体用于:每当监测到程序样本访问该URL集合中的URL样本时,记录与本次访问行为对应的打点事件;根据记录的各次打点事件获得与该URL集合对应的程序样本集合。

其中,所述打点事件中记录的信息项包括以下中的至少一个:程序样本属性、URL样本属性以及事件属性;其中,所述程序样本属性包括:程序样本标识、和/或程序样本的预测级别;所述URL样本属性包括:URL对应的特征信息、域名信息、主机信息、端口信息、打点次数、首次打点时间、和/或末次打点时间;所述事件属性包括:打点日期、和/或打点时间。

可选地,该装置进一步包括:主机分析模块45,适于针对每个URL集合,获取该URL集合中的各个URL样本所包含的主机信息,将获取到的各个主机信息存储到与该URL集合对应的主机集合中;对属于相同主机集合的各个主机信息进行关联,根据关联结果分析各个主机信息所对应的主机设备上传输的数据,并确定其中的恶意数据。

上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。

综上所述,在本发明提供的恶意样本的识别方法及装置中,预先根据URL样本中包含的特征信息对各个URL样本进行聚类,从而得到至少一个URL集合;然后,针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将程序样本存储到与该URL集合对应的程序样本集合中;最后,针对每个程序样本集合,根据该程序样本集合中包含的已知恶意程序样本的数量对该程序样本集合中包含的未知恶意程序样本进行识别。由此可见,通过本发明中的方式能够将访问同一类URL的程序样本进行关联,由于访问同类URL的多个程序样本之间很可能为家族相关样本,因此,当访问同类URL的多个程序样本中有部分被确定为恶意样本时,其他的程序样本也极有可能为恶意样本,因此,通过本发明中的方式能够利用URL将程序样本关联起来,进而快速准确地识别恶意样本。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:A1、一种恶意样本的识别方法,包括:

提取各个URL样本中包含的特征信息,根据所述特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息;

针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应;

针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

A2、根据A1所述的方法,其中,所述针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量的步骤具体包括:确定该程序样本集合中包含的各个程序样本的预测级别,将预测级别为危险级别的程序样本作为已知恶意程序样本,计算所述已知恶意程序样本的数量与该程序样本集合中包含的全部程序样本的数量之间的比值,将所述比值作为该程序样本集合的恶意百分比;

则所述根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别的步骤具体包括:将恶意百分比高于预设阈值的程序样本集合作为待测样本集合,分析所述待测样本集合中预测级别为安全级别和/或未知级别的程序样本是否为恶意程序样本。

A3、根据A2所述的方法,其中,当所述待测样本集合为多个时,根据各个待测样本集合对应的恶意百分比的数值设定各个待测样本集合的分析顺序。

A4、根据A2或A3所述的方法,其中,进一步包括步骤:分析与待测样本集合对应的URL集合中的各个URL样本是否为恶意URL样本。

A5、根据A1所述的方法,其中,所述提取各个URL样本中包含的特征信息的步骤具体包括:针对每个URL样本,提取该URL样本中包含的多个信息字段,根据所述多个信息字段确定该URL样本中包含的特征信息。

A6、根据A5所述的方法,其中,所述提取该URL样本中包含的多个信息字段的步骤具体包括:对该URL样本进行预处理,从预处理后的URL样本中提取所述多个信息字段;

其中,所述预处理包括:删除所述URL样本中的CDN字段。

A7、根据A5或A6所述的方法,其中,所述多个信息字段包括以下中的至少一个:URL样本的路径信息中所包含的全部字段或部分字段。

A8、根据A1所述的方法,其中,所述监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中的步骤具体包括:

每当监测到程序样本访问该URL集合中的URL样本时,记录与本次访问行为对应的打点事件;根据记录的各次打点事件获得与该URL集合对应的程序样本集合。

A9、根据A8所述的方法,其中,所述打点事件中记录的信息项包括以下中的至少一个:程序样本属性、URL样本属性以及事件属性;

其中,所述程序样本属性包括:程序样本标识、和/或程序样本的预测级别;

所述URL样本属性包括:URL对应的特征信息、域名信息、主机信息、端口信息、打点次数、首次打点时间、和/或末次打点时间;

所述事件属性包括:打点日期、和/或打点时间。

A10、根据A1-A9任一所述的方法,其中,所述根据聚类结果得到至少一个URL集合的步骤之后进一步包括:

针对每个URL集合,获取该URL集合中的各个URL样本所包含的主机信息,将获取到的各个主机信息存储到与该URL集合对应的主机集合中;

对属于相同主机集合的各个主机信息进行关联,根据关联结果分析各个主机信息所对应的主机设备上传输的数据,并确定其中的恶意数据。

本发明还公开了:B11、一种恶意样本的识别装置,包括:

聚类模块,适于提取各个URL样本中包含的特征信息,根据所述特征信息对各个URL样本进行聚类处理,根据聚类结果得到至少一个URL集合;其中,每个URL集合中包含的各个URL样本具有相同的特征信息;

记录模块,适于针对每个URL集合,监测并记录访问过该URL集合中的URL样本的程序样本,将所述程序样本存储到与该URL集合对应的程序样本集合中;其中,各个程序样本集合与各个URL集合一一对应;

识别模块,适于针对每个程序样本集合,确定该程序样本集合中包含的已知恶意程序样本的数量,根据各个程序样本集合中包含的已知恶意程序样本的数量对各个程序样本集合中包含的未知恶意程序样本进行识别。

B12、根据B11所述的装置,其中,所述识别模块具体用于:确定该程序样本集合中包含的各个程序样本的预测级别,将预测级别为危险级别的程序样本作为已知恶意程序样本,计算所述已知恶意程序样本的数量与该程序样本集合中包含的全部程序样本的数量之间的比值,将所述比值作为该程序样本集合的恶意百分比;

将恶意百分比高于预设阈值的程序样本集合作为待测样本集合,分析所述待测样本集合中预测级别为安全级别和/或未知级别的程序样本是否为恶意程序样本。

B13、根据B12所述的装置,其中,当所述待测样本集合为多个时,所述识别模块具体用于根据各个待测样本集合对应的恶意百分比的数值设定各个待测样本集合的分析顺序。

B14、根据B12或B13所述的装置,其中,进一步包括:URL样本分析模块,适于分析与待测样本集合对应的URL集合中的各个URL样本是否为恶意URL样本。

B15、根据B11所述的装置,其中,所述聚类模块具体用于:针对每个URL样本,提取该URL样本中包含的多个信息字段,根据所述多个信息字段确定该URL样本中包含的特征信息。

B16、根据B15所述的装置,其中,所述聚类模块具体用于:对该URL样本进行预处理,从预处理后的URL样本中提取所述多个信息字段;

其中,所述预处理包括:删除所述URL样本中的CDN字段。

B17、根据B15或B16所述的装置,其中,所述多个信息字段包括以下中的至少一个:URL样本的路径信息中所包含的全部字段或部分字段。

B18、根据B11所述的装置,其中,所述记录模块具体用于:

每当监测到程序样本访问该URL集合中的URL样本时,记录与本次访问行为对应的打点事件;根据记录的各次打点事件获得与该URL集合对应的程序样本集合。

B19、根据B18所述的装置,其中,所述打点事件中记录的信息项包括以下中的至少一个:程序样本属性、URL样本属性以及事件属性;

其中,所述程序样本属性包括:程序样本标识、和/或程序样本的预测级别;

所述URL样本属性包括:URL对应的特征信息、域名信息、主机信息、端口信息、打点次数、首次打点时间、和/或末次打点时间;

所述事件属性包括:打点日期、和/或打点时间。

B20、根据B11-B19任一所述的装置,其中,进一步包括:

主机分析模块,适于针对每个URL集合,获取该URL集合中的各个URL样本所包含的主机信息,将获取到的各个主机信息存储到与该URL集合对应的主机集合中;

对属于相同主机集合的各个主机信息进行关联,根据关联结果分析各个主机信息所对应的主机设备上传输的数据,并确定其中的恶意数据。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1