一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种恶意域名检测方法及装置与流程

2022-02-25 23:39:02 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其涉及一种恶意域名检测方法及装置。


背景技术:

2.近年来,网络攻击的方式向着多元化、规模化的趋势发展,尤其是恶意域名。恶意域名作为攻击者的攻击承载体其数量在不断增加,例如钓鱼网站使用的钓鱼网址、恶意软件通信使用的c&c服务器等等。为了识别恶意域名,传统的防御措施是使用的静态的黑名单策略,但是在僵尸网络等使用dga技术时,黑名单的更新速度远远比不上dga域名的生成速度,因此黑名单策略具有一定的滞后性,无法有效地识别恶意域名。


技术实现要素:

3.本发明实施例提供一种恶意域名检测方法及装置,能够实现将域名的连接关系转换为图来生成待检测域名节点的编码向量,并使用机器学习模型对域名进行分类,有效提高恶意域名的识别效果。
4.本发明实施例提供一种恶意域名检测方法,包括:
5.获取待检测的域名,并基于所述待检测各域名基于预先构建的二分图集生成该域名的二分图;
6.基于该域名的二分图生成该域名的编码向量;
7.将所述编码向量输入训练好的检测模型;
8.基于所述检测模型的输出结果确定该域名是否为恶意域名。
9.在一些实施例中,首次构建所述二分图集包括如下步骤:
10.获取多条dns流量数据,并提取各条dns流量数据的域名以及相应的dns源ip,以形成第一源文件;
11.基于所述第一源文件构建描述主机与域名访问关系的主机-域名二分图,其中在所述主机-域名二分图中的主机与域名之间的边表示该主机访问了该域名;
12.利用局部敏感哈希lsh算法将所述主机-域名二分图转换为对应的domain-bucket二分图,以获得降维的二分图集,其中所述二分图集中的数据被配置为:将存在共同访问关系的两个域名共同访问的主机集合的jaccard系数转换为该两个域名共同所在bucket集合的jaccard系数,且两个域名的jaccard相似度越高,则该两个域名同时落到更多的bucket的概率越高。
13.在一些实施例中,所述lsh算法是基于n个minhash函数和b个独立的哈希函数实现的;
14.利用局部敏感哈希lsh算法将所述主机-域名二分图转换为对应的domain-bucket二分图,以获得降维的二分图集包括:
15.将所述主机-域名二分图转换相应的第一邻接表,在所述第一邻接表中各主机名具有相应的标识;
16.基于第一邻接表利用所述n个minhash函数生成该主机-域名二分图的n
×
m的签名向量矩阵,其中m为域名数量;
17.将所述签名向量矩阵划分为b个band,每个band中每个域名包含n/b个签名值;
18.将各band使用对应的哈希函数将该band映射到对应的bucket中;
19.基于映射后的各bucket获得降维的二分图集。
20.在一些实施例中,基于所述待检测各域名基于预先训练的二分图模型生成该域名的二分图包括:
21.基于包含所述待检测域名的第二源文件以及所述主机-域名二分图,将待检测域名加入到所述主机-域名二分图中;
22.基于加入节点后的主机-域名二分图利用lsh算法,生成该所述待检测域名的签名向量,并将该待检测域名映射到对应的bucket中,生成所述待检测域名的二分图。
23.在一些实施例中,所述检测模型具有embedding层,训练所述检测模型包括:
24.将所述二分图集转换为第二邻接表,将所述第二邻接表的各列对应于各域名的编码向量;
25.为各域名的编码向量添加标签,以获得训练数据集;
26.基于所述训练数据集训练所述检测模型。
27.在一些实施例中,基于该域名的二分图生成该域名的编码向量包括:
28.将该域名的二分图转换为相应的第二邻接表;
29.基于该域名的第二邻接表成该域名的编码向量。
30.本发明实施例还提供一种恶意域名检测装置,包括处理器,被配置为:
31.获取待检测的域名,并基于所述待检测各域名基于预先构建的二分图集生成该域名的二分图;
32.基于该域名的二分图生成该域名的编码向量;
33.将所述编码向量输入训练好的检测模型;
34.基于所述检测模型的输出结果确定该域名是否为恶意域名。
35.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本公开各实施例所述的恶意域名检测方法的步骤。
36.本发明实施例将域名的连接关系转换为该域名的二分图,并基于相应的二分图来生成待检测域名节点的编码向量,并使用训练好的检测模型对域名进行分类,有效提高恶意域名的识别效果。
37.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
38.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
39.图1为本公开的恶意域名检测方法的基本流程图;
40.图2为本公开的恶意域名检测方法的构建二分图集流程示意图;
41.图3为本公开的恶意域名检测方法的lsh算法示例;
42.图4为本公开的恶意域名检测方法的二分图转换编码向量示例。
具体实施方式
43.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
44.本发明实施例提供一种恶意域名检测方法,如图1所示,包括如下步骤:
45.在步骤s101中,获取待检测的域名,并基于所述待检测各域名基于预先构建的二分图集生成该域名的二分图。通过将待检测域名的连接关系转换为该域名的二分图,从而处理会即可获得与该域名存在连接关系的编码向量。
46.在步骤s102中,基于该域名的二分图生成该域名的编码向量。
47.在步骤s103中,将所述编码向量输入训练好的检测模型。
48.在步骤s104中,基于所述检测模型的输出结果确定该域名是否为恶意域名。
49.本发明实施例将待检测域名的连接关系转换为该域名的二分图,并基于相应的二分图来生成待检测域名节点的编码向量,并使用训练好的检测模型对域名进行分类,有效提高恶意域名的识别效果。
50.在一些实施例中,首次构建所述二分图集包括如下步骤:
51.在步骤s201中、获取多条dns流量数据,并提取各条dns流量数据的域名以及相应的dns源ip,以形成第一源文件。具体的说该步骤可以通过流量采集设备采集dns流量,提取并解析每一条dns流量的dns queries name字段中的域名以及发送dns请求的源ip,每一个信息对(源ip-域名或者主机-域名)作为一条记录保存到特定格式的第一源文件。
52.其次还可以收集dns日志并解析dns请求的域名和发送dns请求的源ip,使用黑名单过滤所有的域名以收集恶意域名以及对应的源ip,每一个信息对作为一条记录保存到特定格式的第一源文件。通过黑名单过滤能够区分正常dns流量和恶意的dns流量,便于后续添加训练标签,用于执行检测模型的训练。
53.在步骤s202中、基于所述第一源文件构建描述主机与域名访问关系的主机-域名二分图,其中在所述主机-域名二分图中的主机与域名之间的边表示该主机访问了该域名。具体的可以通过图生成模块实现,该模块可以加载dns流量采集设备形成的第一源文件来构建主机与域名的访问关系二分图,即主机与域名之间的连接图,可以将主机-域名二分图保存到特定格式的文件。在所构建的主机-域名二分图中,若一个主机访问了某个域名,则在该主机与域名之间添加一条边。如果一个主机访问了恶意域名,那么这个主机访问的其它域名是恶意域名的概率会变得更高,并且感染相同家族的主机会以更高的概率访问相同家族的c&c域名。
54.在步骤s203中、利用局部敏感哈希lsh算法将所述主机-域名二分图转换为对应的domain-bucket二分图,以获得降维的二分图集。其中所述二分图集中的数据被配置为:将
存在共同访问关系的两个域名共同访问的主机集合的jaccard系数转换为该两个域名共同所在bucket集合的jaccard系数,且两个域名的jaccard相似度越高,则该两个域名同时落到更多的bucket的概率越高。也即本示例中通过计算两个域名的共同访问主机集合的jaccard系数就可以有效地衡量域名关系的强度,从而能够有效实现对主机-域名二分图的降维。
55.在一些实施例中,所述lsh算法是基于n个minhash函数和b个独立的哈希函数实现的;
56.利用局部敏感哈希lsh算法将所述主机-域名二分图转换为对应的domain-bucket二分图,以获得降维的二分图集包括:
57.将所述主机-域名二分图转换相应的第一邻接表,在所述第一邻接表中各主机名具有相应的标识。如图3所示,第一邻接表中各主机具有相应的标识a、b、c、d。基于第一邻接表利用所述n个minhash函数生成该主机-域名二分图的n
×
m的签名向量矩阵,其中m为域名数量。将所述签名向量矩阵划分为b个band,每个band中每个域名包含n/b个签名值。具体参见图3,可以将基于第一邻接表利用所述n个minhash函数生成该主机a、b、c、d与域名aa.com、bbcom、cc.com、dd.com、ee.com的主机-域名二分图的n
×
m的签名向量矩阵,并将签名矩阵水平划分为b个band,每个band中每个域名包含r个签名值然后将各band使用对应的哈希函数将该band映射到对应的bucket中。将所有的bucket进行编号,并将domain-bucket保存到指定格式的文件。由此可以基于映射后的各bucket获得降维的二分图集(domain-bucket二分图)。通过这样的方式实现了将主机-域名二分图变换为域名(domain)与bucket的连接关系,由于bucket的数量远小于主机的数量,因此整个主机-域名二分图即连接关系转换成了降维的domain-bucket二分图。
58.神经网络是一种对非线性可微分函数进行权值训练的多层网络。它的最大特点是仅仅借助样本数据无需建立系统的数学模型,就可以实现输入空间到输出空间的高度非线性映射。假设模型输入的特征向量为x∈rn,y∈{0,1},g为激活函数,神经网络模型可以简单表示为:
59.h
θ
(x)=g(θ
t
x)
60.模型输出h
θ
(x)=p(y=1|x;θ),也即模型输出是待预测样本标签为1的概率。神经网络通过反向传播实现参数的更新,通过不断迭代最小化模型的损失函数来近似求解参数θ。
61.在一些实施例中,所述检测模型具有embedding层,训练所述检测模型包括:
62.将所述二分图集转换为第二邻接表,将所述第二邻接表的各列对应于各域名的编码向量;
63.为各域名的编码向量添加标签,以获得训练数据集;
64.基于所述训练数据集训练所述检测模型。
65.本示例中,检测模型可以包括一个embedding层3个全连接层和1个dropout层,embedding层的输出即为域名的嵌入向量,使用该项量可进行恶意家族分类或者恶意域名识别。在训练过程中可以加载前述的domain-bucket二分图,将二分图转换为第二邻接表,如图4所示在该第二邻接表中每一列对应于每个域名的编码向量;其次对每个域名进行标
注作为训练数据集,例如正常域名的向量标签置为0,恶意域名的向量标签置为1,具体的标注可以依据前述基于黑名单过滤的结果实现。最后使用训练数据训练带有embedding层神经网络模型,调优后将该检测模型保存到设备磁盘。
66.在一些实施例中,基于所述待检测各域名基于预先训练的二分图模型生成该域名的二分图包括:
67.基于包含所述待检测域名的第二源文件以及所述主机-域名二分图,具体的生成第二源文件的过程也可以通过流量采集设备完成,在获取到第二源文件之后,基于该第二源文件将待检测域名加入到前述主机-域名二分图中,若节点存在则仅添相应的边即可。
68.基于加入节点后的主机-域名二分图利用lsh算法,生成该所述待检测域名的签名向量,并将该待检测域名映射到对应的bucket中,生成所述待检测域名的二分图。可以利用前述的n个minhash函数,对该域名执行给定的n个minhash算法,生成该域名的签名向量,其次将该签名向量划分为b个band,并使用每个band对应的哈希函数将各band映射到相应的bucket中,生成该待检测域名的domain-bucket连接图(待检测域名的二分图)。
69.在一些实施例中,基于该域名的二分图生成该域名的编码向量包括:
70.将该域名的二分图转换为相应的第二邻接表,具体的第二邻接表的格式可以参考图4或者前述转换方式。从而可以基于该域名的第二邻接表成该域名的编码向量。将该域名的编码向量作为前述训练完成的检测模型的输入,则模型输出该域名为恶意域名的概率p,对于人工设定的阈值k(默认k=0.5),若p>k,则判定该域名为恶意域名,否则为正常域名。
71.本公开的方法基于图实现恶意域名检测,通过构建域名与主机连接关系的二分图,并将域名与主机的二分图通过局部哈希算法(lsh)转换为domain-bucket二分图来提取域名之间的局部相关性特征,使用该特征训练嵌入模型来生成每个域名的向量表达,该方案将域名分类转换为图节点分类,可以有效地提高模型对恶意域名的检测效果。
72.本发明实施例还提供一种恶意域名检测装置,包括处理器,被配置为:
73.获取待检测的域名,并基于所述待检测各域名基于预先构建的二分图集生成该域名的二分图;
74.基于该域名的二分图生成该域名的编码向量;
75.将所述编码向量输入训练好的检测模型;
76.基于所述检测模型的输出结果确定该域名是否为恶意域名。
77.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本公开各实施例所述的恶意域名检测方法的步骤。
78.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
79.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
80.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
81.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献