本申请涉及计算机技术领域,尤其涉及一种恶意域名识别方法、装置、电子设备及存储介质。
背景技术:
随着互联网的普及,访问各式各样的网络域名已成为大家日常生活、办公中不可或缺的一部分,现阶段的网络安全问题大都涉及到恶意域名:通过域名可以进行诸如钓鱼、垃圾邮件传播等常见的网络攻击,而更高级的攻击者可以通过其控制的僵尸网络中使用域名生成算法和域名轮换技术增强恶意网络的健壮性,因此对恶意域名的测量至关重要。
技术实现要素:
本申请的主要目的在于提供一种恶意域名识别方法、装置、电子设备及存储介质,可判断出恶意域名。
为实现上述目的,本申请实施例第一方面提供一种恶意域名识别方法,包括:
通过已知域名样本集对原始数据集打标签,得到训练集和测试集;
利用训练集训练em算法模型,利用测试集测试所述em算法模型,得到训练好的em算法模型;
利用训练好的em算法模型对所述待检测域名对应的特征进行聚类,得到聚类结果;
根据聚类结果,判定所述待检测域名是否为恶意域名。
可选的,实时收集网络中的dns数据包;
解析所述dns数据包,从中提取dns数据;
从dns数据中提取所需的待分析字段;
从待分析字段中提取有利于区分善意域名和恶意域名的属性集;
利用已知的善意域名和恶意域名样本集对所述属性集打标签,并形成训练集和测试集。
可选的,所述属性集中的属性包括基于时间序列的属性,基于dns应答的属性,基于ttl值的属性,和基于域名本身的属性。
可选的,对所述属性集进行整理计算,合并重复域名,并将每个域名对应的ip地址进行整合;
对每个域名的属性集中属性的特征进行统计;
利用em算法模型,将所述特征聚类成多个簇,聚类过程中,会使得簇中特征的熵值达到最小,从而使得同一簇中特征的属性相同。
可选的,对于基于ttl值的属性,所述对每个域名的属性集中属性的特征进行统计包括:
计算ttl的平均值,ttl平方的平均值,ttl的方差,不同ttl的个数,ttl的总个数,ttl变化的次数以及ttl个数所在范围。
可选的,所述将每个域名对应的ip地址进行整合包括:
统计同一个域名对应的ip地址的个数,以及,每个ip地址出现的次数。
可选的,所述根据聚类结果,判定所述待检测域名是否为恶意域名包括:
提取所述待检测域名的属性集;
根据所述属性集计算所述待检测域名的特征;
利用em算法模型,对所述特征进行聚类,当所述待检测域名的特征聚类到恶意域名所在的簇中,则所述待检测域名为恶意域名。
本申请实施例第二方面提供一种恶意域名识别装置,包括:
处理模块,用于通过已知域名样本集对原始数据集打标签,得到训练集和测试集;
训练模块,用于利用训练集训练em算法模型,利用测试集测试所述em算法模型,得到训练好的em算法模型;
聚类模块,用于利用训练好的em算法模型对所述待检测域名对应的特征进行聚类,得到聚类结果;
判定模块,用于根据聚类结果,判定所述待检测域名是否为恶意域名。
本申请实施例第三方面提供了一种电子设备,包括:
存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本申请实施例第一方面提供的恶意域名识别方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面提供的恶意域名识别方法。
从上述本申请实施例可知,本申请提供的恶意域名识别方法、装置、电子设备及存储介质,
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的恶意域名识别方法的流程示意图;
图2为本申请一实施例提供的恶意域名识别装置的结构示意图;
图3示出了一种电子设备的硬件结构示意图。
具体实施方式
为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请一实施例提供的恶意域名识别方法的流程示意图,该方法可应用于电子设备中,电子设备包括:手机、平板电脑、手提电脑、智能手表、智能眼镜等可在移动中进行数据处理的电子设备以及台式计算机、一体机、智能电视机等非可在移动中进行数据处理的电子设备,该方法主要包括以下步骤:
s101、通过已知域名样本集对原始数据集打标签,得到训练集和测试集。
s102、利用训练集训练em算法模型,利用测试集测试该em算法模型,得到训练好的em算法模型。
s103、利用训练好的em算法模型对该待检测域名对应的特征进行聚类,得到聚类结果。
s104、根据聚类结果,判定该待检测域名是否为恶意域名。
在本申请其中一个实施例中,实时收集网络中的dns数据包;解析该dns数据包,从中提取dns数据;从dns数据中提取所需的分析字段;从待分析字段中提取有利于区分善意域名和恶意域名的属性集;利用已知的善意域名和恶意域名样本集对该属性集打标签,并形成训练集和测试集。
具体的,数据采集收集大量的dns解析请求、域名注册记录,并且建立所需要的ip地址黑名单、域名地址黑名单,从dns服务器收集网络中的dns数据,包括请求数据和响应数据,并将收集到的数据进行解析和存储,保存关于每一个域名的相关信息。
收集网络中ip地址对应的信息,如自治系统编号(asn),国家编码(cc)等,通过相关的网络协议,通过命令在指定服务器上进行查询,将收集到的信息存储到数据库中,为后面的查询做准备。
分别从alex网站排名和maldomain.com等恶意域名公布网站中搜集善意域名和恶意域名样本,从dns流量中提取所需的分析字段,从待分析字段中提取有利于区分善意和恶意域名的属性集,利用善意和恶意域名样本集对提取的属性集打标签,并形成训练集和测试集。
在本申请其中一个实施例中,属性集中的属性包括基于时间序列的属性,基于dns应答的属性,基于ttl值的属性,和基于域名本身的属性。
在本申请其中一个实施例中,对于该训练集和测试集:对所述属性集进行整理计算,合并重复域名,并将每个域名对应的ip地址进行整合,对每个域名的属性集中属性的特征进行统计,利用em算法模型,将所述特征聚类成多个簇,聚类过程中,会使得簇中特征的熵值达到最小,从而使得同一簇中特征的属性相同。
具体的,逐条读取.txt文件中的数据,获取域名、ip地址、ttl以及时间等信息存放到容器,选定特定时间长度,比如两个小时,当达到两个小时时间时,停止读取,开始对这两个小时内的数据进行整理计算,首先合并重复域名,并将每个域名对应的ip地址信息进行整合,包括同一个域名对应几个ip地址,每个ip地址出现了几次等。
整理完两个小时时间段内的数据之后,对域名所对应的特征信息进行统计计算,计算ttl的平均值,ttl平方的平均值,ttl的方差,不同ttl的个数,ttl的总个数,ttl变化的次数以及ttl个数所在范围等。
对于ip地址,获得在不同时间段,同一域名对应的不同ip地址的出现和小时情况,并获取域名注册信息的asn、cc、bgp数目,得到上面计算的统计特征后存储到数据库,对应一个时间段的数据处理完后,将容器内容清空,开始读取下一时间段数据。
在本申请其中一个实施例中,该对每个域名所对应的特征信息进行统计包括:计算ttl的平均值,ttl平方的平均值,ttl的方差,不同ttl的个数,ttl的总个数,ttl变化的次数以及ttl个数所在范围。
在本申请其中一个实施例中,该将每个域名对应的ip地址进行整合包括:统计同一个域名对应的ip地址的个数,以及,每个ip地址出现的次数。
对于ip地址,获得在不同时间段,同一域名对应的不同ip地址的出现和小时情况,并获取域名注册信息的asn、cc、bgp数目,得到上面计算的统计特征后存储到数据库,对应一个时间段的数据处理完后,将容器内容清空,开始读取下一时间段数据。
在本申请其中一个实施例中,s104包括:提取所述待检测域名的属性集,根据所述属性集计算所述待检测域名的特征,利用em算法模型,对所述特征进行聚类,当所述待检测域名的特征聚类到恶意域名所在的簇中,则所述待检测域名为恶意域名。
具体的,恶意域名识别及查询,计算出每个域名对应的n维特征向量,利用em算法,将特定时间段中数据聚类成多个簇,聚类过程中,会使得簇中数据的熵值达到最小,从而使得同一簇中大多数数据的属性相同(均为善意或者恶意数据)。对于每一个簇中的所有未分类的域名,根据整个簇中恶意域名与善意域名的比例进行分类,随着时间推移,不停的收集到新的数据,并对于部分新的数据进行人工标记,从而利用新收集的数据与数据库中已有的数据重新进行聚类,进而更新数据库,以此应对域名进化。
请参阅图2,图2是本申请一实施例提供的恶意域名识别装置的结构示意图,该装置主要包括:处理模块201、训练模块202、聚类模块203、判定模块204。
处理模块201,用于通过已知域名样本集对原始数据集打标签,得到训练集和测试集;
训练模块202,用于利用训练集训练em算法模型,利用测试集测试该em算法模型,得到训练好的em算法模型;
聚类模块203,用于利用训练好的em算法模型对该待检测域名对应的特征进行聚类,得到聚类结果;
判定模块204,用于根据聚类结果,判定该待检测域名是否为恶意域名。
在本申请其中一个实施例中,还包括:
收集单元,用于实时收集网络中的dns数据包;
解析单元,用于解析该dns数据包,从中提取dns数据;
第一提取单元,用于提取从dns数据中提取所需的待分析字段;
第二提取单元,用于从待分析字段中提取有利于区分善意域名和恶意域名的属性集;
处理单元,用于利用已知的善意域名和恶意域名样本集对该属性集打标签,并形成训练集和测试集。
在本申请其中一个实施例中,所述属性集中的属性包括基于时间序列的属性,基于dns应答的属性,基于ttl值的属性,和基于域名本身的属性。
在本申请其中一个实施例中,还包括:
整理单元,用于对所述属性集进行整理计算,合并重复域名,并将每个域名对应的ip地址进行整合;
统计单元,用于对每个域名的属性集中属性的特征进行统计;
聚类单元,用于利用em算法模型,将所述特征聚类成多个簇,聚类过程中,会使得簇中特征的熵值达到最小,从而使得同一簇中特征的属性相同。
在本申请其中一个实施例中,对于基于ttl值的属性,统计单元,具体用于计算ttl的平均值,ttl平方的平均值,ttl的方差,不同ttl的个数,ttl的总个数,ttl变化的次数以及ttl个数所在范围。
在本申请其中一个实施例中,整理单元,具体用于统计同一个域名对应的ip地址的个数,以及,每个ip地址出现的次数。
在本申请其中一个实施例中,判断模块,具体用于提取所述待检测域名的属性集;根据所述属性集计算所述待检测域名的特征;利用em算法模型,对所述特征进行聚类,当所述待检测域名的特征聚类到恶意域名所在的簇中,则所述待检测域名为恶意域名。
请参见图3,图3示出了一种电子设备的硬件结构图。
本实施例中所描述的电子设备,包括:
存储器41、处理器42及存储在存储器41上并可在处理器上运行的计算机程序,处理器执行该程序时实现前述图1所示实施例中描述的多轴运动系统的同步控制方法。
进一步地,该电子设备还包括:
至少一个输入设备43;至少一个输出设备44。
上述存储器41、处理器42输入设备43和输出设备44通过总线45连接。
其中,输入设备43具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备44具体可为显示屏。
存储器41可以是高速随机存取记忆体(ram,randomaccessmemory)存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器41用于存储一组可执行程序代码,处理器42与存储器41耦合。
进一步地,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图3所示实施例中的电子设备。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1所示实施例中描述的恶意域名识别。进一步地,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种恶意域名识别方法、装置、电子设备及可读存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
1.一种恶意域名识别方法,其特征在于,包括:
通过已知域名样本集对原始数据集打标签,得到训练集和测试集;
利用训练集训练em算法模型,利用测试集测试所述em算法模型,得到训练好的em算法模型;
利用训练好的em算法模型对所述待检测域名对应的特征进行聚类,得到聚类结果;
根据聚类结果,判定所述待检测域名是否为恶意域名。
2.根据权利要求1所述的恶意域名识别方法,其特征在于,其中,
实时收集网络中的dns数据包;
解析所述dns数据包,从中提取dns数据;
从dns数据中提取所需的待分析字段;
从待分析字段中提取有利于区分善意域名和恶意域名的属性集;
利用已知的善意域名和恶意域名样本集对所述属性集打标签,并形成训练集和测试集。
3.根据权利要求2所述的恶意域名识别方法,其特征在于,所述属性集中的属性包括基于时间序列的属性,基于dns应答的属性,基于ttl值的属性,和基于域名本身的属性。
4.根据权利要求3所述的恶意域名识别方法,其特征在于,其中,
对所述属性集进行整理计算,合并重复域名,并将每个域名对应的ip地址进行整合;
对每个域名的属性集中属性的特征进行统计;
利用em算法模型,将所述特征聚类成多个簇,聚类过程中,会使得簇中特征的熵值达到最小,从而使得同一簇中特征的属性相同。
5.根据权利要求4所述的恶意域名识别方法,其特征在于,对于基于ttl值的属性,所述对每个域名的属性集中属性的特征进行统计包括:
计算ttl的平均值,ttl平方的平均值,ttl的方差,不同ttl的个数,ttl的总个数,ttl变化的次数以及ttl个数所在范围。
6.根据权利要求4所述的恶意域名识别方法,其特征在于,所述将每个域名对应的ip地址进行整合包括:
统计同一个域名对应的ip地址的个数,以及,每个ip地址出现的次数。
7.根据权利要求1所述的恶意域名识别方法,其特征在于,所述根据聚类结果,判定所述待检测域名是否为恶意域名包括:
提取所述待检测域名的属性集;
根据所述属性集计算所述待检测域名的特征;
利用em算法模型,对所述特征进行聚类,当所述待检测域名的特征聚类到恶意域名所在的簇中,则所述待检测域名为恶意域名。
8.一种恶意域名识别装置,其特征在于,包括:
处理模块,用于通过已知域名样本集对原始数据集打标签,得到训练集和测试集;
训练模块,用于利用训练集训练em算法模型,利用测试集测试所述em算法模型,得到训练好的em算法模型;
聚类模块,用于利用训练好的em算法模型对所述待检测域名对应的特征进行聚类,得到聚类结果;
判定模块,用于根据聚类结果,判定所述待检测域名是否为恶意域名。
9.一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至7中的任一项所述的恶意域名识别方法中的各个步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任一项所述的恶意域名识别方法中的各个步骤。
技术总结