CN112084500A - 病毒样本的聚类方法、装置、电子设备和存储介质 - Google Patents
病毒样本的聚类方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112084500A CN112084500A CN202010965213.3A CN202010965213A CN112084500A CN 112084500 A CN112084500 A CN 112084500A CN 202010965213 A CN202010965213 A CN 202010965213A CN 112084500 A CN112084500 A CN 112084500A
- Authority
- CN
- China
- Prior art keywords
- virus
- group
- behavior
- population
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
Abstract
公开了一种病毒样本的聚类方法、装置、电子设备以及存储介质,以对进行攻击的病毒进行聚类以针对其进行处理,提高安全性。该聚类方法包括:获取待聚类处理的病毒样本的行为特征;基于预设的参考行为特征集,生成用于病毒样本的行为特征的行为标识组,其中,预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;基于病毒样本的行为标识组,生成用于指示病毒样本所属的病毒家族的组特征值;基于病毒样本的组特征值,生成用于指示病毒样本所属的病毒族群的族群特征值,其中,每个病毒族群包括至少一个病毒家族;以及基于病毒样本的组特征值和族群特征值,对病毒样本进行聚类。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及病毒样本的聚类方法、装置、电子设备和存储介质。
背景技术
随着互联网时代的兴起,计算机病毒的种类和数量呈爆发性增长。安全厂商每天收到成千上万的病毒样本,为了尽快处理这些病毒样本带来的安全威胁,安全厂商需要快速而准确地从这些病毒样本中提取共性并家族化,从而以病毒家族为单位提供解决方案。现有方案之一是基于关系数据的病毒家族聚类方法,该方法通过节点之间的关联发现同类病毒样本,即属于同一病毒家族的病毒样本,例如如果不同的病毒样本访问共同的IP或域名,则认为这些不同的病毒样本属于同一个病毒家族。然而,这种情况很容易产生干扰数据,例如浏览器访问某个病毒的域名,则会将浏览器程序划分为某个病毒家族,导致聚类结果不准确或不稳定。
因此,需要一种方案简便、计算量小、稳定性高的病毒样本的聚类方法。
发明内容
本公开的实施例提供了一种病毒样本的聚类方法,包括:获取待聚类处理的病毒样本的至少一个行为特征;基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,其中,所述预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,所述组特征值用于指示所述病毒样本所属的病毒家族;基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,所述族群特征值用于指示所述病毒样本所属的病毒族群,其中,每个病毒族群包括至少一个病毒家族;以及基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,以确定所述病毒样本所属的病毒族群和病毒家族。
根据本公开的实施例,其中,基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,包括:基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群;以及基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族。
根据本公开的实施例,其中,基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群,包括:获取至少一个候选族群的族群特征值;将所述病毒样本的族群特征值与所述至少一个候选族群的族群特征值进行比较;在存在具有与所述病毒样本的族群特征值相同的族群特征值的候选族群情况下,将所述候选族群确定为所述病毒样本的目标族群;以及在不存在具有与所述病毒样本的族群特征值相同的族群特征值的候选族群情况下,创建新的病毒族群,并将所述新的病毒族群确定为所述病毒样本的目标族群。
根据本公开的实施例,其中,基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族,包括:在所述目标族群为候选族群的情况下,获取所述候选族群所包括的至少一个候选家族的家族特征值;将所述病毒样本的组特征值与所述至少一个候选家族的家族特征值进行匹配;在存在具有与所述病毒样本的组特征值相匹配的家族特征值的候选家族情况下,将所述候选家族确定为所述病毒样本的目标家族;在不存在具有与所述病毒样本的组特征值相匹配的家族特征值的候选家族情况下,创建新的病毒家族,并将所述新的病毒家族确定为所述病毒样本的目标家族;以及在所述目标族群为新的病毒族群的情况下,在所述新的病毒族群中创建新的病毒家族,并将所述新的病毒家族确定为所述病毒样本的目标家族。
根据本公开的实施例,其中,基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,包括:对所述行为标识组中的每个行为标识,计算所述行为标识的哈希值,其中,所述行为标识的哈希值包括第一数量的位;以及基于所述行为标识组中每个行为标识的哈希值,生成所述病毒样本的组特征值,其中,所述组特征值包括第一数量的位。
根据本公开的实施例,其中,基于所述行为标识组中每个行为标识的哈希值,生成所述病毒样本的组特征值,包括:利用所述行为标识组中每个行为标识的哈希值构造哈希矩阵,其中,每个行为标识的哈希值作为所述哈希矩阵的第一方向向量,该第一方向向量具有第一维度,所述第一维度与所述第一数量相同;对于所述哈希矩阵中的每个第二方向向量,计算该第二方向向量的特征值,该第二方向向量具有第二维度,所述第二维度的数量与所述病毒样本所具有的行为标识的数量相同;利用所述哈希矩阵中的每个第二方向向量的特征值,生成所述病毒样本的组特征值,所述组特征值具有第一维度,其中,所述第一方向向量为行向量且所述第二方向向量为列向量,或者所述第一方向向量为列向量且所述第二方向向量为行向量。
根据本公开的实施例,其中,所述第二方向向量包括至少一个第一值和至少一个第二值,其中,对于所述哈希矩阵中的每个第二方向向量,计算该第二方向向量的特征值,包括:获取所述特征值的初始值;对于该第二方向向量中的每个第一值,将所述特征值增加第一累加值,以对所述特征值进行更新;对于该第二方向向量中的每个第二值,将所述特征值增加第二累加值,以对所述特征值进行更新;以及将更新后的特征值作为该第二方向向量的特征值,其中,所述第一累加值与所述第二累加值不同。
根据本公开的实施例,其中,利用所述哈希矩阵中的每个第二方向向量的特征值,生成所述病毒样本的组特征值,包括:对于每个第二方向向量,对其特征值进行二值化转换,并将转换后的值作为该第二方向向量所对应的值,以及将所有第二方向向量对应的值进行组合而得到所述病毒样本的组特征值。
根据本公开的实施例,其中,基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,包括:对所述组特征值中的第一数量的位进行编号,得到第一数量的编号;对所述编号进行数值映射,得到第一数量的映射值;基于所述组特征值中的第一数量的位的值,选择所述第一数量的映射值中的至少一个映射值;以及利用所述至少一个映射值,生成所述族群特征值。
根据本公开的实施例,其中,在所述组特征值中的第一数量的位的值当中确定具有第一值的第二数量的位,所述第二数量小于等于第一数量,确定所述第二数量的位分别对应的第二数量的编号,将所述第二数量的编号分别对应的第二数量的映射值从小到大进行排序,选择最小的第三数量的映射值,并且将所述第三数量的映射值按照其对应的编号从小到大排序形成一数组,将所述数组作为所述族群特征值。
根据本公开的实施例,其中,基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,包括:对于所述至少一个行为特征中的每个行为特征,将其与所述预设的参考行为特征集中的每个参考行为特征进行匹配,并且在所述行为特征具有匹配的参考行为特征的情况下,将所述参考行为特征的行为标识作为所述行为特征的行为标识;以及在所述病毒样本所具有的行为标识的数量超出预定数量阈值的情况下,将所述病毒样本所具有的行为标识组合为所述病毒样本的行为标识组。
本公开的实施例提供了一种病毒样本的聚类装置,包括:获取模块、生成模块和聚类模块。获取模块用于获取所述病毒样本的至少一个行为特征。生成模块用于:基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,其中,所述预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,所述组特征值用于指示所述病毒样本所属的病毒家族;以及基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,所述族群特征值用于指示所述病毒样本所属的病毒族群,其中,每个病毒族群包括至少一个病毒家族。聚类模块用于基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,以确定所述病毒样本所属的病毒族群和病毒家族。
根据本公开的实施例,其中,基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,包括:基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群;以及基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族。
本公开的实施例提供了一种电子设备,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如上所述的病毒样本的聚类方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如上所述的病毒样本的聚类方法。
本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的病毒样本的聚类方法。
本公开的实施例提供了一种病毒样本的聚类方法、装置、电子设备和存储介质。本公开的实施例提供的病毒样本的聚类技术,由于执行该方法需要输入的参数种类少(例如,仅需行为标识组和样本标识),因此能够较少地依赖于环境和装置属性,并且由于行为标识组能够稳定体现病毒样本的行为特征,因此使得聚类结果更稳定,并且由于基于族群特征值对病毒样本进行初级分类,由于族群特征值的所占的存储资源和计算资源可以更少,因此可以大幅度提高运算效率,从而可以支持海量的数据运算,以实现对大量的病毒样本的聚类。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本公开实施例的用于病毒样本的聚类方法的流程示意图。
图2示出了根据本公开实施例的生成病毒样本的组特征值的示例过程的示意图。
图3示出了根据本公开实施例的用于病毒样本的另一聚类方法的流程示意图,其中示出了步骤S140的各个子步骤。
图4示出了根据本公开实施例的生成病毒样本的族群特征值的示例过程的示意图。
图5示出了根据本公开实施例的如图1所示的聚类方法中的步骤S150的子步骤。
图6示出了根据本公开实施例的用于对病毒样本聚类的示意场景图。
图7示出了根据本公开实施例的用于病毒样本的聚类装置的结构框图。
图8示出了根据本公开实施例的用于病毒样本的聚类系统的结构框图。
图9示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,基本上相同或相似的步骤和元素用相同或相似的附图标记来表示,并且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务器端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
本公开的实施例涉及病毒聚类的处理场景,为便于理解,以下首先介绍与本公开的实施例相关的一些基本概念。病毒家族:现存的病毒是由不同的人开发出来的,所以在代码风格、行为特征上必然存在着诸多差异,根据这些特点,可以将病毒划分到不同的病毒家族中。
哈希算法:可以将任意长度的“字符串”变换成一个固定位数的二进制数,并且它是一个不可逆的字符串变换算法。
MD5算法:英文全称是Message Digest Algorithm MD5,译为消息摘要算法第五版,是众多哈希算法中的一种,生成128位的二进制数或者32位的十六进制数。
完美哈希函数(Perfect Hash Function,简称PHF):即没有冲突的哈希函数,也就是,函数H(·)将N个KEY值映射到M个整数上,这里M和N都为大于0的整数,并且M>=N,而且,对于任意的两个KEY值,以KEY1和KEY2表示,H(KEY1)永不等于H(KEY2),则H(·)称为完美哈希函数。
TTPs:TTPs是Tactics(战术),Techniques(技术),Procedures(程序或者过程、步骤)的缩写。TTPs可用于网络安全,攻击组织或其产生的病毒样本有通常的攻击步骤或过程,不同攻击组织和病毒样本也具有自己独特的攻击习惯和攻击方式,攻击习惯和攻击方式在这些攻击组织产生的病毒样本中也有相应的体现。表1示出了目前常见的攻击过程以及攻击方式的种类。如表1所示,攻击过程有:初始入口、执行攻击、攻击持久化、特权提升等。每个攻击过程都会有对应的多种攻击方式,例如,初始入口对应的攻击方式包括水坑攻击、利用公开漏洞攻击、硬件攻击等等。
【表1】
上述表格仅仅列出了攻击过程及其攻击方式的部分示例。每种攻击方式可以对应到现有病毒样本所表现出的某个行为(例如,调用程序、修改注册表等行为),这种对应关系是已知的,可以将本领域当前已知的病毒行为分别提取作为相应的行为规则,即参考行为,从而形成与多个攻击方式相对应的多个参考行为,作为预设的参考行为特征集,并且可以对单条参考行为特征使用唯一的行为标识(例如,用数值表示,在后文的某些地方用TID表示该行为标识)进行标记。随着病毒种类的更新,本领域技术人员可以对预设的参考行为特征集进行不断地更新,以使其尽可能完整。同时,为了对病毒样本的行为特征进行获取,可以将病毒样本在虚拟环境(例如沙箱)中运行,在运行该病毒样本后,得到该病毒样本的多个行为特征构成的行为日志,并且将该行为日志与预设的参考行为特征集进行匹配,该行为日志中涉及的多个行为特征可以命中预设参考行为特征集中的多个不同的参考行为,则产生一个TID组合(例如,[3,5,12,33]),则这个TID组合可以视为病毒样本的TTPs,其能够稳定地反映病毒样本的行为特征,也被称为行为标识组。
欧式距离:也称为欧几里得距离或欧几里得度量,用于表示欧几里得空间中两点间“普通”(即直线)距离。在欧几里得空间中,以n维空间为例,n为大于或等于1的整数,点x=(x1,...,xn)和y=(y1,...,yn)之间的欧氏距离为:
下面将结合附图对本公开的实施例进行进一步地描述。
图1示出了根据本公开实施例的用于病毒样本的聚类方法的流程示意图。
在步骤S110,获取所述病毒样本的至少一个行为特征。
可选地,可以通过以下方式获取待聚类的病毒样本的行为特征:将该病毒样本输入到虚拟运行环境,例如沙箱(SandBox),在将该病毒样本在虚拟运行环境中运行后,得到该病毒样本所表现出的多个行为特征构成的行为日志,该行为日志能够描述该病毒样本的多个行为特征。
在步骤S120,基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,其中,所述预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识。
如前文所述,该病毒样本的多个行为特征可以命中预设的参考行为特征集中的多个不同的参考行为特征,据此可以得到该病毒样本的行为标识组。
具体地,对于每个行为特征,将其与预设的参考行为特征集中的每个参考行为特征进行匹配,并且在该行为特征具有匹配的参考行为特征的情况下,将参考行为特征的行为标识作为该行为特征的行为标识。将该病毒样本所具有的行为标识组合为病毒样本的行为标识组,且这个行为标识组在本文中可以以TTPs表示。
例如,预设的参考行为特征集包括{参考行为特征1,参考行为特征2,参考行为特征3,…参考行为特征12…},并且参考行为特征1被标记为TID=3,参考行为特征2被标记为TID=11,参考行为特征3被标记为TID=21,…参考行为特征12被标记为TID=49,等等。当病毒样本的多个行为特征命中了参考行为特征1、3和12时,则产生该病毒样本的行为标识组(TTPs):{3,21,49}。
此外,由于病毒样本所具有的行为标识的数量越大,即,命中预设的参考行为特征集中的参考行为特征越多,则说明所提取到病毒样本的行为特征更全,该聚类方法的准确度更高。因此,在一些具体实施例中,在待聚类的病毒样本所具有的行为标识的数量超出预定数量阈值的情况下,才将该病毒样本所具有的行为标识组合为所述病毒样本的行为标识组,以进行基于该行为标识组的后续操作。
在步骤S130,基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,所述组特征值用于指示所述病毒样本所属的病毒家族。
可选地,可以通过以下方式生成所述病毒样本的组特征值:对所述病毒样本的行为标识组中的每个行为标识,计算该行为标识的哈希值,其中,所述行为标识的哈希值包括第一数量的位;以及基于该行为标识组中每个行为标识的哈希值,生成所述病毒样本的组特征值,其中,该组特征值包括第一数量的位。该第一数量由对该行为标识组中的行为标识进行的哈希运算的类型而确定。
更具体地,在得到每个行为标识的哈希值之后,利用行为标识组中每个行为标识的哈希值构造哈希矩阵,其中,每个行为标识的哈希值作为哈希矩阵的第一方向向量,该第一方向向量具有第一维度,所述第一维度与所述第一数量相同;对于哈希矩阵中的每个第二方向向量,计算该第二方向向量的特征值,该第二方向向量具有第二维度,第二维度的数量与病毒样本所具有的行为标识的数量相同;利用哈希矩阵中的每个第二方向向量的特征值,生成病毒样本的组特征值,组特征值具有第一维度,其中,第一方向向量为行向量且第二方向向量为列向量,或者第一方向向量为列向量且第二方向向量为行向量。
例如,行为标识的哈希值为基于MD5算法对行为标识进行计算得到的哈希值,其中,基于MD5计算得到的哈希值(后文简称为MD5值)是长度为128位的二进制数。因此,当每个行为标识的MD5值作为哈希矩阵的第一方向向量时,该第一方向向量的第一维度为128。此外,假设行为标识组(TTPs)中包括N个行为标识,N为大于等于1的整数,则该哈希矩阵的第二方向向量的第二维度为N。当然,第一维度和第二维度是对等的,可以互换,即该哈希矩阵的第二维度可以为128,且第一维度可以为N。
同时,每个第二方向向量包括至少一个第一值和至少一个第二值(例如在行为标识的哈希值为MD5值格式的情况下的二进制1和0),因此,可以通过以下方式计算哈希矩阵中的每个第二方向向量的特征值:获取特征值的初始值(例如0);对于该第二方向向量中的每个第一值,将所述特征值增加第一累加值(例如1),以对该特征值进行更新;对于该第二方向向量中的每个第二值,将该特征值增加第二累加值(例如,-1),以对该特征值进行更新;将更新后的特征值作为该第二方向向量的特征值。第一累加值和第二累加值是不同的。此后,将每个第二方向向量的特征值进行二值化转换,并将该经过二值化转换后的值作为该第二方向向量对应的值,并将所有第二方向向量对应的值进行组合,而得到该病毒样本的组特征值。
下面将结合图2更详细地描述在这种情况下生成该病毒样本的组特征值的示例过程的示意图。
如图2所示,行为标识组(TTPs)包括N个行为标识TID_1、TID_2、…TID_N,N为大于等于1的整数,所计算的每个行为标识(TID_i,其中i大于等于1且小于等于N)的MD5值是长度为128位的一个二进制数,因此共得到N个长度为128位的二进制数,如图2中所示的MD5_1、MD5_2、…、MD5_N,分别对应于TID_1、TID_2、…TID_N,因此可以构造得到哈希矩阵A,A∈R128*N,MD5_1的第一位、MD5_2的第一位、…、MD5_N的第一位构成第一个第二方向向量,MD5_1的第二位、MD5_2的第二位、…、MD5_N的第一位构成第二个第二方向向量,依次类推,共得到128个第二方向向量。
对于第一个第二方向向量,假设该第二方向向量的特征值的初始值为0,如果该第二方向向量的第一位的值为1,则将该特征值加1(增加第一累加值1),并且如果该第二方向向量的第一位的值为0,则将该特征值减1(增加第二累加值-1),从该第二方向向量的第一位到第N位迭代地进行该过程,从而得到该第一个第二方向向量的特征值,并对该特征值进行二值化转换,即如果该特征值大于或等于二值化参考值(例如,0),则将其设置为1,且如果该特征值小于二值化参考值,则将其设置为0。通过同样的过程依次计算得到第二个、第三个、…第128个第二方向向量的特征值(并二值化),并将经过二值化转换的各个第二方向向量的特征值进行串联组合得到128位的数组,该128位的数组即为该行为标识组的组特征值。应了解,所述第一累加值和所述第二累加值可以根据实际需要进行选取,而且所述二值化参考值也可以根据实际需要进行选取(例如不为0的其他整数)。
在步骤S140,基于该病毒样本的组特征值,生成该病毒样本的族群特征值。其中,族群特征值用于指示该病毒样本所属的病毒族群,并且每个病毒族群包括至少一个病毒家族。
可选地,该步骤S140可以包括如下子步骤,如图3所示。图3示出了根据本公开实施例的另一聚类方法的流程示意图,其中具体示出了步骤S140的各个子步骤。
在图3中,步骤S110-130以及S150与参考图1所描述的步骤S110-130以及S150相同,因此这里不再重复描述。下面对步骤S140进行进一步的描述。
在子步骤S1401,对组特征值中的第一数量的位进行编号。
例如,可以从整数1开始以1为间隔对该第一数量的位进行顺序编号。当然,其他编号方式也是可行的,本公开对此不做限制。
在子步骤S1402,对编号进行数值映射,得到第一数量的映射值。
例如,数值映射是将一个集合的数值按照某个规律映射至另一个集合的数值的过程,并且两个集合中包括的数值的数量可以相同或不同。在本公开中,可以通过哈希函数而对编号进行一对一数值映射,更具体地,例如通过完美哈希函数。
在子步骤S1403,基于第一数量的位的值,选择第一数量的映射值中的至少一个映射值。
例如,在子步骤S1403中,可以在第一数量的位的值当中确定具有第一值的第二数量的位的值,第二数量小于等于第一数量,确定第二数量的哈希值对应的第二数量的编号,将第二数量的编号对应的第二数量的映射值从小到大进行排序,选择最小的第三数量的映射值。
在子步骤S1404,利用至少一个映射值,生成族群特征值。
例如,在子步骤S1404中,可以将第三数量的映射值按照其对应的编号从小到大排序形成一数组,将该数组作为族群特征值。
下面将结合图4更详细地描述用于生成该病毒样本的族群特征值的示例过程的示意图。下面仍然基于上述参考图2所描述的情况来进行描述。
如图4所示,将行为标识组的组特征值的每个位编号为1-128,并且将该编号1-128进行映射(例如通过完美哈希函数)得到128个映射值f(i)(i大于等于1且小于等于128)构成的序列F,每个映射值f(i)与一个编号一一对应。然后,确定该组特征值的128个位中的、值为1的m个位;将所述m个位对应的编号所对应的映射值从小到大进行排序,选择最小的p个映射整数并按编号从小到大排序形成一数组(p大于或等于1且小于或等于m),所述数组作为所述病毒样本的族群特征值。
例如,在图4中,行为标识组的组特征值被示为[1,0,1,1,1,0,…,1](假设未示出的位均为0),并且编号1-128进行完美哈希函数映射得到128个映射值f(x)构成的序列F为[23,11,3,4,5,6,…110](假设未示出的序列F中的其他值均比示出的值大),然后,确定该组特征值的128个位中的、值为1的位的编号为1、3、4、5和128,而该编号1、3、4、5和128对应的映射值分别为[23,3,4,35,110],假设p=3,即选择最小的3个映射值,并按照编号从小到大的顺序,则数组[23,3,4]作为该病毒样本的族群特征值。
在步骤S150,基于病毒样本的组特征值和族群特征值,对病毒样本进行聚类,以确定病毒样本所属的病毒族群和病毒家族。
可选地,基于病毒样本的族群特征值,确定病毒样本的目标族群;以及基于目标族群和病毒样本的组特征值,确定病毒样本的目标家族。
更具体地,基于所述病毒样本的族群特征值,确定病毒样本的目标族群可以包括以下子步骤,如图5所示。图5示出了根据本公开实施例的如图1所示的聚类方法中的步骤S150的子步骤。
在子步骤S1501,获取至少一个候选族群的族群特征值。
例如,对于每个候选族群,其族群特征值是已知的并已经存储在存储装置(例如存储器、闪存设备等)中,因此可以从该存储装置中读取每个候选族群的每个族群特征值。
在子步骤S1502,将该病毒样本的族群特征值与该至少一个候选族群的族群特征值进行比较。
例如,病毒样本的族群特征值可以基于参考图2和图4描述的方法而得到,并且如上所述,可以从存储装置中读取每个候选族群的每个族群特征值,并将病毒样本的族群特征值与从该存储装置中读取到的各个族群特征值进行比较,例如,将病毒样本的族群特征值中的每个位依次与每个族群特征值中的每个位进行比较。
在子步骤S1503,在存在具有与该病毒样本的族群特征值相同的族群特征值的候选族群情况下,将该候选族群确定为该病毒样本的目标族群。
例如,在该病毒样本的族群特征值与一个候选族群的族群特征值相同的情况下,将该个候选族群确定为该病毒样本的目标族群。在子步骤S1504,在不存在具有与该病毒样本的族群特征值相同的族群特征值的候选族群情况下,创建新的病毒族群,并将该新的病毒族群确定为该病毒样本的目标族群。
例如,在该病毒样本的族群特征值与任何候选族群的族群特征值都不相同的情况下,则为该病毒样本创建一个新的病毒族群。
另一种情况,在存储装置中未存储任何候选族群的族群特征值的情况下,例如,该病毒样本为第一个待聚类处理的样本时,这种情况仍然属于不存在与所述病毒样本的族群特征值相同的族群特征值的候选族群的情形,因此为该病毒样本创建一个新的病毒族群,并将该病毒族群作为第一个候选族群。
此外,由于每个病毒族群包括至少一个病毒家族,因此在确定病毒样本的目标族群后,还需要进一步确定该病毒样本是否属于该目标族群下的病毒家族中。因此,在子步骤S1503中确定目标族群为候选族群之后,可以进一步进行如下步骤。
在子步骤S1505,获取候选族群所包括的至少一个候选家族的家族特征值。
同样地,例如,对于每个候选族群下的每个候选家族,其家族特征值是已知的并已经存储在存储装置(例如存储器、闪存设备等)中,因此可以从该存储装置中读取在步骤S1503或S1504所确定的候选族群下的每个候选家族的家族特征值。
在子步骤S1506,将病毒样本的组特征值与至少一个候选家族的家族特征值进行匹配。
例如,病毒样本的家族特征值可以基于参考图2描述的方法而得到,并且如上,可以从存储装置中读取在步骤S1503或S1504所确定的候选族群下的每个候选家族的家族特征值,并将该病毒样本的家族特征值与从该存储装置中读取到的各个家族特征值进行匹配,匹配程度能反映该病毒样本属于该候选家族的可能性。
在一些实施例中,可以通过以下方式来判断是否存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族:计算该组特征值与候选家族的家族特征值的欧氏距离,并且当该欧氏距离在预设范围内时,确定存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族,反之则不存在。
在存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族情况下,在子步骤S1507,将候选家族确定为病毒样本的目标家族;并且在不存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族情况下,在子步骤S1508,创建新的病毒家族,并将新的病毒家族确定为病毒样本的目标家族。
另一方面,在子步骤S1504中将新的病毒族群确定为病毒样本的目标族群之后,可以在子步骤S1509,在新的病毒族群中创建新的病毒家族,并将新的病毒家族确定为病毒样本的目标家族。
在一些实施例中,每个病毒家族中包括一个标记病毒样本,而该标记病毒样本为被聚类到该病毒家族中的第一个病毒样本,即,该第一个病毒样本的组特征值作为该病毒家族的家族特征值,并且该第一个病毒样本的族群特征值作为该病毒家族所属的病毒族群的族群特征值。因此,在创建新的病毒族群和/或新的病毒家族时,此时被聚类的病毒样本是被聚类到该新的病毒家族中的第一个病毒样本,即作为该新的病毒家族的标记病毒样本,继而如上确定该新的病毒家族的家族特征值。
在一些实施例中,病毒样本还具有样本标识,该样本标识在上述对病毒样本进行聚类的过程中,连同该病毒样本的行为标识组、组特征值和/或族群特征值一起被传递,以指示该病毒样本的身份信息。
在一些实施例中,在将病毒样本聚类到某一新的病毒家族中时,除了将该病毒样本的组特征值作为该新的病毒家族的组特征值并存储之外,还将该病毒样本的样本标识作为该新的病毒家族的家族标识并存储。
在一些实施例中,在将病毒样本聚类到某一新的病毒家族中时,在例如存储器的存储装置中存储该病毒样本的聚类相关信息,例如样本标识、该病毒样本该病毒样本所属的病毒家族及其对应的家族特征值、以及该病毒样本所属的病毒族群及其族群特征值。可选地,可以以表格的形式来存储病毒样本的聚类相关信息。
在本公开的实施例中,通过上述方法对病毒样本聚类后,每个病毒家族包括一个标记病毒样本,该标记病毒样本是被聚类到该病毒家族的第一个病毒样本,并且每个病毒家族中的其他病毒样本对应的组特征值与标记病毒样本的组特征值均是匹配的(例如欧氏距离均在预设范围内),且其他病毒样本的族群特征值均与标记病毒样本对应的族群特征值相同。例如,病毒家族包括五个病毒样本,其中一个病毒样本为该病毒家族的标记病毒样本,基于计算得到五个病毒样本各自的组特征值和族群特征值,其中,计算得到五个病毒样本的族群特征值相等,并且除了标记病毒样本以外的四个病毒样本对应的组特征值与该标记病毒样本对应的组特征值的欧氏距离在预设范围内,即该病毒家族内的五个病毒样本足够相似。显然,一个病毒家族可以包括更多或更少的病毒样本,本公开对此不做限制。
此外,通过上述聚类方法对多个病毒样本聚类后,可以存在多个病毒族群,每个病毒族群包括至少一个病毒家族,并且属于同一病毒族群的不同病毒家族中的不同标记病毒样本的族群特征值相同且组特征值不匹配(例如,欧氏距离在预设范围外),其中该相同的族群特征值为该病毒族群的族群特征值,且各个组特征值作为不同病毒家族的家族特征值。
例如,如图6所示,存在3个病毒族群G1、G2和G3;病毒族群G1中包括3个病毒家族SG11、SG12和SG13,病毒族群G2中包括2个病毒家族SG21和SG22,并且病毒族群G3包括一个病毒家族SG31;属于病毒族群G1的3个病毒家族SG11、SG12和SG13各自的标记病毒样本C11、C12和C13的族群特征值相同,但是组特征值不匹配(不够相似),属于病毒族群G2的2个病毒家族SG21和SG22各自的标记病毒样本C21和C22的族群特征值相同,但是组特征值不匹配(不够相似),并且病毒族群G2的族群特征值不等于病毒族群G1/G3的族群特征值,也就是说,不同的病毒族群可以通过病毒族群的族群特征值来进行区分。此外,如前面描述,可以创建新的病毒族群和新的病毒家族。
下面结合图6具体描述根据本公开实施例的用于对病毒样本进行聚类的示意场景图。
假设需要对三个病毒样本进行聚类,分别用VR1、VR2、VR3来表示它们的样本标识,该三个病毒样本可以同时从数据库批量抽取,它们的组特征值和族群特征值对分别表示为{组特征1,族群特征1}、{组特征2,族群特征2}和{组特征3,族群特征3}。
值得注意的是,这里仅仅用三个病毒样本作为示例来示意性地描述根据本公开实施例的用于对病毒样本进行聚类的示例过程,本领域技术人员应理解,实际的病毒样本的数量可以远远大于三,本公开对此不做限制。可以基于与以下描述的过程相同的过程来聚类任意数量的病毒样本。
首先对于第一个病毒样本(VR1),其族群特征值(即,族群特征1)与当前存储的病毒族群(G1、G2和G3)(即,候选族群)的族群特征值均不相同,因此创建一个新的病毒族群(GN),并将该新的病毒族群(GN)确定为该第一个病毒样本(VR1)的目标族群,并在该新的病毒族群(GN)下生成一个新的病毒家族(SGN),作为该第一个病毒样本(VR1)的目标家族。此外,将该第一个病毒样本(VR1)作为该新的病毒家族(SGN)的标记病毒样本,将该第一个病毒样本(VR1)的组特征值(即,组特征1)作为该新的病毒家族(SGN)的家族特征值,将该第一个病毒样本(VR1)的族群特征值(即,族群特征1)作为该新的病毒族群(GN)的族群特征值,该新的病毒族群(GN)的族群特征值和该新的病毒家族(SGN)的家族特征值也被存储。
对于第二个病毒样本(VR2),其族群特征值(即,族群特征2)与当前存储的病毒族群(G1,G2和G3)(即,候选族群)中的一个病毒族群(G2)的族群特征值相同,因此将该第二个病毒样本(VR2)的组特征值(即,组特征2)与作为该病毒族群(G2)的候选家族的两个病毒家族(SG21和SG22)的家族特征值(即,组特征2)分别进行匹配,由于该第二个病毒样本(VR2)的组特征值(即,组特征2)与病毒族群(G2)中的两个病毒家族(SG21和SG22)的家族特征值的欧氏距离均在预设范围外,则在该病毒族群(G2)下生成一个新的病毒家族(SG2N),作为该第二个病毒样本(VR2)的目标家族。此外,将该第二个病毒样本(VR2)作为该新的病毒家族(SG2N)的标记病毒样本,并将该第二个病毒样本的组特征值(即,组特征2)作为该新的病毒家族(SG2N)的家族特征值并存储。
对于第三个病毒样本(VR3),其族群特征值(即,族群特征3)与当前存储的病毒族群(G1,G2和G3)(即,候选族群)中的一个病毒族群(G1)族群特征值相同,因此将该第三个病毒样本(VR3)的组特征值(即,组特征3)与作为该病毒族群(G1)的候选家族的三个病毒家族(SG11,SG12,SG13)的家族特征值分别进行比较,由于该第三个病毒样本(VR3)的组特征值(即,组特征3)与病毒族群(G1)中的第一个病毒家族(SG11)的家族特征值的欧氏距离在预设范围内,因此将该第三个病毒样本(VR3)聚类到病毒族群(G1)中的第一个病毒家族(SG11)中。
从上面的描述可以得出,通过本公开实施例提出的用于病毒样本的聚类方法,由于执行该方法需要输入的参数种类少(例如,仅需行为标识组和样本标识),因此能够较少地依赖于环境和装置属性,并且由于行为标识组能够稳定体现病毒样本的行为特征,因此使得聚类结果更稳定,并且由于基于族群特征值对病毒样本进行初级分类,由于族群特征值的所占的存储资源和计算资源可以更少,因此可以大幅度提高运算效率,从而可以支持海量的数据运算,以实现对大量的病毒样本的聚类。
根据本公开的另一方面,还提供了一种用于病毒样本的聚类装置。图7示出了根据本公开的实施例的用于病毒样本的聚类装置700的示意结构框图。
如图7所示,用于病毒样本的聚类装置700包括获取模块710、生成模块720和聚类模块730。
获取模块710用于获取病毒样本的至少一个行为特征。
生成模块720用于基于预设的参考行为特征集,生成用于病毒样本的至少一个行为特征的行为标识组,其中,预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;基于病毒样本的行为标识组,生成病毒样本的组特征值,组特征值用于指示病毒样本所属的病毒家族;以及基于病毒样本的组特征值,生成病毒样本的族群特征值,族群特征值用于指示病毒样本所属的病毒族群,其中,每个病毒族群包括至少一个病毒家族。
例如,生成模块720可以包括匹配子模块、组特征值/族群特征值生成子模块以及存储子模块(如图8中示出)。更具体地,匹配子模块可以将该病毒样本的至少一个行为特征与预设的参考行为特征集进行匹配以得到行为标识组,组特征值/族群特征值生成子模块可以基于该行为标识组而生成组特征值,并进一步生成族群特征值,并且存储子模块可以存储所生成的组特征值/族群特征值、该病毒样本的样本标识等。
聚类模块730用于基于病毒样本的组特征值和族群特征值,对病毒样本进行聚类,以确定病毒样本所属的病毒族群和病毒家族。
例如,聚类模块730可以从生成模块720中的存储子模块获取该病毒样本的组特征值和族群特征值。
在一些实施例中,聚类模块730基于病毒样本的组特征值和族群特征值,对病毒样本进行聚类,包括:基于病毒样本的族群特征值,确定病毒样本的目标族群;以及基于目标族群和病毒样本的组特征值,确定病毒样本的目标家族。
此外,由于每个病毒族群包括至少一个病毒家族,因此在确定病毒样本的目标族群后,还需要进一步确定该病毒样本是否属于该目标族群下的病毒家族中。因此,聚类模块730在确定目标族群为候选族群之后,可以进一步进行如下操作:获取候选族群所包括的至少一个候选家族的家族特征值;将病毒样本的组特征值与至少一个候选家族的家族特征值进行匹配;在存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族情况下,将候选家族确定为病毒样本的目标家族;在不存在具有与病毒样本的组特征值相匹配的家族特征值的候选家族情况下,创建新的病毒家族,并将新的病毒家族确定为病毒样本的目标家族。或者,聚类模块730在将新的病毒族群确定为病毒样本的目标族群之后,在新的病毒族群中创建新的病毒家族,并将新的病毒家族确定为病毒样本的目标家族。
在一些实施例中,每个病毒家族中包括一个标记病毒样本,而该标记病毒样本为被聚类到该病毒家族中的第一个病毒样本,即,该第一个病毒样本的组特征值作为该病毒家族的家族特征值,并且该第一个病毒样本的族群特征值作为该病毒家族所属的病毒族群的族群特征值。因此,在创建新的病毒族群和/或新的病毒家族时,此时被聚类的病毒样本是被聚类到该新的病毒家族中的第一个病毒样本,即作为该新的病毒家族的标记病毒样本,继而如上确定该新的病毒家族的家族特征值。
在一些实施例中,聚类模块730可以是离线的。从上面的描述可以得出,通过本公开实施例提出的用于病毒样本的聚类方法,由于执行该方法需要输入的参数种类少(例如,仅需行为标识组和样本标识),因此能够较少地依赖于环境和装置属性,并且由于行为标识组能够稳定体现病毒样本的行为特征,因此使得聚类结果更稳定,并且由于基于族群特征值对病毒样本进行初级分类,由于族群特征值的所占的存储资源和计算资源可以更少,因此可以大幅度提高运算效率,从而可以支持海量的数据运算,以实现对大量的病毒样本的聚类。
根据本公开的另一方面,还提供了一种用于病毒样本的聚类系统。图8示出了根据本公开的实施例的用于病毒样本的聚类系统800。
如图8所示,该聚类系统800包括如图7所示的用于病毒样本的聚类装置700、病毒样本存储器、模拟执行器、预设参考行为特征集平台以及聚类结果存储器。其中,病毒样本存储器用于提供待聚类处理的病毒样本,该模拟执行器使该病毒样本在虚拟环境中运行,以向所述用于病毒样本的聚类装置700提供该病毒样本的至少一个行为特征。
该用于病毒样本的聚类装置700接收该病毒样本的至少一个行为特征以及来自预设参考行为特征集平台的预设的参考行为特征集,并根据如上所述的生成过程以及聚类过程生成聚类结果。聚类结果存储器存储该聚类结果。
用于病毒样本的聚类装置700的具体工作过程如参考图7所描述,因此这里不再详细描述。根据本公开的又一方面,还提供了一种电子设备。图9示出了根据本公开的实施例的电子设备900的示意结构框图。
参见图9,根据本公开的实施例的电子设备900可以包括处理器901和存储器902。处理器901和存储器902可以通过总线903相连。
处理器901可以根据存储在存储器902中的程序执行各种动作和处理。具体地,处理器901可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开的实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X99架构或ARM架构的。
存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本公开描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机指令被处理器执行时可以实现根据本公开实施例的用于病毒家族的聚类方法。类似地,本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的用于病毒家族的聚类方法。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种病毒样本的聚类方法,包括:
获取待聚类处理的病毒样本的至少一个行为特征;
基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,其中,所述预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;
基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,所述组特征值用于指示所述病毒样本所属的病毒家族;
基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,所述族群特征值用于指示所述病毒样本所属的病毒族群,其中,每个病毒族群包括至少一个病毒家族;以及
基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,以确定所述病毒样本所属的病毒族群和病毒家族。
2.根据权利要求1所述的聚类方法,其中,所述基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,包括:
基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群;以及
基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族。
3.根据权利要求2所述的聚类方法,其中,所述基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群,包括:
获取至少一个候选族群的族群特征值;
将所述病毒样本的族群特征值与所述至少一个候选族群的族群特征值进行比较;
在存在具有与所述病毒样本的族群特征值相同的族群特征值的候选族群情况下,将所述候选族群确定为所述病毒样本的目标族群;以及
在不存在具有与所述病毒样本的族群特征值相同的族群特征值的候选族群情况下,创建新的病毒族群,并将所述新的病毒族群确定为所述病毒样本的目标族群。
4.根据权利要求3所述的聚类方法,其中,所述基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族,包括:
在所述目标族群为候选族群的情况下,获取所述候选族群所包括的至少一个候选家族的家族特征值;将所述病毒样本的组特征值与所述至少一个候选家族的家族特征值进行匹配;在存在具有与所述病毒样本的组特征值相匹配的家族特征值的候选家族情况下,将所述候选家族确定为所述病毒样本的目标家族;在不存在具有与所述病毒样本的组特征值相匹配的家族特征值的候选家族情况下,创建新的病毒家族,并将所述新的病毒家族确定为所述病毒样本的目标家族;以及
在所述目标族群为新的病毒族群的情况下,在所述新的病毒族群中创建新的病毒家族,并将所述新的病毒家族确定为所述病毒样本的目标家族。
5.根据权利要求1所述的聚类方法,其中,所述基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,包括:
对所述行为标识组中的每个行为标识,计算所述行为标识的哈希值,其中,所述行为标识的哈希值包括第一数量的位;以及
基于所述行为标识组中每个行为标识的哈希值,生成所述病毒样本的组特征值,其中,所述组特征值包括第一数量的位。
6.根据权利要求5所述的聚类方法,其中,所述基于所述行为标识组中每个行为标识的哈希值,生成所述病毒样本的组特征值,包括:
利用所述行为标识组中每个行为标识的哈希值构造哈希矩阵,其中,每个行为标识的哈希值作为所述哈希矩阵的第一方向向量,该第一方向向量具有第一维度,所述第一维度与所述第一数量相同;
对于所述哈希矩阵中的每个第二方向向量,计算该第二方向向量的特征值,该第二方向向量具有第二维度,所述第二维度的数量与所述病毒样本所具有的行为标识的数量相同;以及
利用所述哈希矩阵中的每个第二方向向量的特征值,生成所述病毒样本的组特征值,所述组特征值具有第一维度,
其中,所述第一方向向量为行向量且所述第二方向向量为列向量,或者所述第一方向向量为列向量且所述第二方向向量为行向量。
7.根据权利要求6所述的聚类方法,其中,所述第二方向向量包括至少一个第一值和至少一个第二值,
其中,对于所述哈希矩阵中的每个第二方向向量,计算该第二方向向量的特征值,包括:
获取所述特征值的初始值;
对于该第二方向向量中的每个第一值,将所述特征值增加第一累加值,以对所述特征值进行更新;
对于该第二方向向量中的每个第二值,将所述特征值增加第二累加值,以对所述特征值进行更新;以及
将更新后的特征值作为该第二方向向量的特征值,
其中,所述第一累加值与所述第二累加值不同。
8.根据权利要求6或7所述的聚类方法,其中,利用所述哈希矩阵中的每个第二方向向量的特征值,生成所述病毒样本的组特征值,包括:
对于每个第二方向向量,对其特征值进行二值化转换,并将转换后的值作为该第二方向向量对应的值,以及
将所有第二方向向量对应的值进行组合,以得到所述病毒样本的组特征值。
9.根据权利要求5所述的聚类方法,其中,所述基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,包括:
对所述组特征值中的第一数量的位进行编号,得到第一数量的编号;
对所述第一数量的编号进行数值映射,得到第一数量的映射值;
基于所述组特征值中的第一数量的位的值,选择所述第一数量的映射值中的至少一个映射值;以及
利用所述至少一个映射值,生成所述病毒样本的族群特征值。
10.根据权利要求9所述的聚类方法,其中,所述基于所述第一数量的位的值,选择所述第一数量的映射值中的至少一个映射值,包括:
在所述组特征值中的第一数量的位当中确定具有第一值的第二数量的位,所述第二数量小于等于第一数量;
确定所述第二数量的位分别对应的第二数量的编号;以及
将所述第二数量的编号分别对应的第二数量的映射值从小到大进行排序,选择最小的第三数量的映射值,并且
其中,利用所述至少一个映射值,生成所述族群特征值,包括:
将所述第三数量的映射值按照其对应的编号从小到大排序形成一数组,将所述数组作为所述族群特征值。
11.根据权利要求1所述的聚类方法,其中,所述基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,包括:
对于所述至少一个行为特征中的每个行为特征,将其与所述预设的参考行为特征集中的每个参考行为特征进行匹配,并且在所述行为特征具有匹配的参考行为特征的情况下,将所述参考行为特征的行为标识作为所述行为特征的行为标识;以及
在所述病毒样本所具有的行为标识的数量超出预定数量阈值的情况下,将所述病毒样本所具有的行为标识组合为所述病毒样本的行为标识组。
12.一种病毒样本的聚类装置,包括:
获取模块,用于获取所述病毒样本的至少一个行为特征;
生成模块,用于基于预设的参考行为特征集,生成用于所述病毒样本的至少一个行为特征的行为标识组,其中,所述预设的参考行为特征集中的每个参考行为特征具有唯一的行为标识;基于所述病毒样本的行为标识组,生成所述病毒样本的组特征值,所述组特征值用于指示所述病毒样本所属的病毒家族;以及基于所述病毒样本的所述组特征值,生成所述病毒样本的族群特征值,所述族群特征值用于指示所述病毒样本所属的病毒族群,其中,每个病毒族群包括至少一个病毒家族;以及
聚类模块,用于基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,以确定所述病毒样本所属的病毒族群和病毒家族。
13.根据权利要求12所述的聚类装置,其中,基于所述病毒样本的组特征值和族群特征值,对所述病毒样本进行聚类,包括:
基于所述病毒样本的族群特征值,确定所述病毒样本的目标族群;以及
基于所述目标族群和所述病毒样本的组特征值,确定所述病毒样本的目标家族。
14.一种电子设备,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-11中任一项所述的病毒样本的聚类方法。
15.一种存储介质,其特征在于,用于存储实现如权利要求1-8中任一项所述的病毒样本的聚类方法的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010965213.3A CN112084500A (zh) | 2020-09-15 | 2020-09-15 | 病毒样本的聚类方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010965213.3A CN112084500A (zh) | 2020-09-15 | 2020-09-15 | 病毒样本的聚类方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084500A true CN112084500A (zh) | 2020-12-15 |
Family
ID=73737861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010965213.3A Pending CN112084500A (zh) | 2020-09-15 | 2020-09-15 | 病毒样本的聚类方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084500A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836534A (zh) * | 2021-09-28 | 2021-12-24 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN114254317A (zh) * | 2021-11-29 | 2022-03-29 | 上海戎磐网络科技有限公司 | 基于软件基因的软件处理方法、装置以及存储介质 |
CN114266045A (zh) * | 2021-12-13 | 2022-04-01 | 安天科技集团股份有限公司 | 网络病毒的识别方法、装置、计算机设备及存储介质 |
-
2020
- 2020-09-15 CN CN202010965213.3A patent/CN112084500A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836534A (zh) * | 2021-09-28 | 2021-12-24 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN113836534B (zh) * | 2021-09-28 | 2024-04-12 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN114254317A (zh) * | 2021-11-29 | 2022-03-29 | 上海戎磐网络科技有限公司 | 基于软件基因的软件处理方法、装置以及存储介质 |
CN114254317B (zh) * | 2021-11-29 | 2023-06-16 | 上海戎磐网络科技有限公司 | 基于软件基因的软件处理方法、装置以及存储介质 |
CN114266045A (zh) * | 2021-12-13 | 2022-04-01 | 安天科技集团股份有限公司 | 网络病毒的识别方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345388B (zh) | 区块链智能合约验证方法、装置及存储介质 | |
Xu et al. | Am I eclipsed? A smart detector of eclipse attacks for Ethereum | |
CN112084500A (zh) | 病毒样本的聚类方法、装置、电子设备和存储介质 | |
US10305776B2 (en) | Network verification | |
CN111565205A (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
US10282542B2 (en) | Information processing apparatus, information processing method, and computer readable medium | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
CN110019876B (zh) | 数据查询方法、电子设备及存储介质 | |
US11349824B2 (en) | Block sequencing method and system based on tree-graph structure, and data processing terminal | |
CN110474885B (zh) | 基于时间序列与ip地址的报警关联分析方法 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
US11088991B2 (en) | Firewall device to automatically select a rule required for each individual web server | |
CN113411342A (zh) | 基于大数据的信息安全风险识别方法及人工智能安全系统 | |
CN113486339A (zh) | 一种数据处理方法、装置、设备及机器可读存储介质 | |
CN111598711A (zh) | 目标用户账号识别方法、计算机设备及存储介质 | |
Moia et al. | Similarity digest search: A survey and comparative analysis of strategies to perform known file filtering using approximate matching | |
CN111709022B (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN111183620A (zh) | 入侵调查 | |
CN114063651A (zh) | 用户与多架无人机进行相互认证的方法、可存储介质 | |
US11487876B1 (en) | Robust whitelisting of legitimate files using similarity score and suspiciousness score | |
CN115150152B (zh) | 基于权限依赖图缩减的网络用户实际权限快速推理方法 | |
Sija et al. | Automatic payload signature generation for accurate identification of internet applications and application services | |
JP5983333B2 (ja) | 検索処理方法、データ生成方法及び情報処理装置 | |
Srilatha et al. | DDoSNet: A Deep Learning Model for detecting Network Attacks in Cloud Computing | |
CN112187743B (zh) | 一种基于ip地址最长前缀的网络策略匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |