一种基于集成学习的恶意域名检测方法与流程

文档序号:31624409发布日期:2022-09-24 00:12阅读:82来源:国知局
一种基于集成学习的恶意域名检测方法与流程

1.本发明属于网络空间安全领域,特别是涉及一种基于集成学习的恶意域名检测方法。


背景技术:

2.随着互联网的快速发展和普及,无论是个人,还是企业、政府等都受到了由恶意域名产生的巨大危害和恶劣影响。前产生恶意域名威胁的主要有两种方式,一是采用相关恶意算法(domain generation algorithm,dga)来生成大量域名,不断替换躲避检测;另外一种是通过更换服务器逃脱防御者的检测。在传统的解决方案中主要是通过建立黑名单列表和逆向工程。但由于dga能够在短时间内生成大量域名,且具有极大的随机性,所以通过传统建立黑名单等方式已经赶不上恶意域名的更新速度,故已不再能给相关用户、企业提供保护。
3.目前针对域名检测的主要方式分为基于域名dns流量的检测和基于域名文本字符的检测两类,构建了较为高效的恶意域名检测模型,也很好地补足了传统检测方式的短板。但是,根据dga生成算法的不同,会生成不同的家族域名,而不同dga家族之间的突出特征往往存在不同,基于恶意域名某一方面的特征来进行检测判断,往往会导致检测模型针对不同家族的恶意域名时产生的效果也具有较大差异,就会出现漏检现象,同时也要根据不同家族构建不同的检测模型,在学习时间、检测时效上带来巨大的成本。


技术实现要素:

4.本发明的目的是提供一种基于集成学习的恶意域名检测方法,以解决上述现有技术存在的问题。
5.为实现上述目的,本发明提供了一种基于集成学习的恶意域名检测方法,包括:
6.基于域名特征提取技术提取域名特征;
7.基于特征选择算法对所述域名特征进行筛选;
8.构建恶意域名检测模型;
9.基于所述恶意域名检测模型,采用集成学习的方式进行恶意域名检测。
10.可选地,所述域名特征包括:域名与平均长度距离、特殊字符比例、特殊字符个数、数字比例、连续辅音比例、最长连续辅音字符串长度、字母个数、连续辅音个数、辅音字母个数和n-gram特征;
11.所述n-gram特征的提取方法包括:
12.对域名进行粗切分、gram切分,获取相关频度列表;
13.设定阈值并选取大于阈值的片段,将每个片段作为一个维度,形成特征向量表;
14.将所述特征向量表中的特征向量进行均值化处理作为域名的特征;所述n-gram特征的距离计算公式如下:
15.d=|gn(s)|+|gn(t)|-2
×
|gn(s)∩gn(t)|
16.其中,|gn(s)|表示n-gram切分之后的合集,即两个域名之间共同字符串的个数,|gn(t)|表示被检测域名切分后的字符串个数。
17.可选地,筛选后的域名特征融合改进relief特征选择算法和基于决策数的特征选择算法的筛选结果,其中:
18.所述改进relief算法包括在relief算法的基础上将数据集分割后并行处理;
19.所述基于决策树的特征选择法具体包括:按照特征选择标准从特征数据集中选择一个特征作为当前节点的分裂标准;基于所选特征的特征评估标准,生成子节点直至数据集不可再分;针对决策树的过拟合现象进行修剪。
20.可选地,所述特征评估标准采用基尼指数,计算方法为:
[0021][0022]
可选地,构建所述恶意域名检测模型的过程中,采用xgboost分类算法和多层感知器分类算法。
[0023]
可选地,基于所述xgboost分类算法构建所述恶意域名检测模型,计算公式为:
[0024][0025]
其中,k表示分类回归树的总数,fk表示第k棵分类回归树,表示xi对应的预测结果;
[0026]
在计算过程中,通过将学习速率设置为0.01以控制树的权重;将最大迭代次数设为100,计算过程中使用的损失函数公式为:
[0027][0028]
其中,表示训练样本xi对应的误差,表示决策树模型对训练样本的预测损失或经验误差,ω(fk)表示正则项(第k棵回归树),表示决策数模型的繁杂程度。
[0029]
可选地,所述多层感知器分类算法中的多层感知器包括两层隐藏层,每层的神经元个数分别为5、2,随机数生成器的种子值为1;所述多层感知器分类算法中层与层之间的联系为:
[0030]
h=f(w1x+b1)
[0031]
其中,h表示多层感知器中层之间全连接计算所得的权重和,w表示权重值,b表示偏置值,f是激活函数,采用relu作为激活函数,relu函数的计算公式为:
[0032]
relu=max(0,x)
[0033]
在多层感知器模型的训练过程中,选择拟牛顿算法族的优化算法进行权重优化得到权重值;设置正则化项参数为1
×
10-5
于控制平衡,防止过拟合显现。
[0034]
可选地,采用集成学习的方式进行恶意域名检测的过程包括:
[0035]
采用投票分类器将xgboost分类算法和多层感知器分类算法相结合,获取整体分类器学习模型;
[0036]
基于所述整体分类器学习模型,并采用软投票的方式进行恶意域名检测。
[0037]
本发明的技术效果为:
[0038]
本发明通过在海量的恶意域名数据库中,利用恶意域名和合法域名在字符特征和高级特征上的差别,使用改进的relief特征选择算法和基于决策数的特征选择算法,分别筛选出权重值最高的6种特征进行融合,以减少域名的特征维度,降低计算复杂度,并使用多种分类器模型进行组合学习训练,提升恶意域名的检测效率和准确率,再通过集成方式将多个分类器结合在一起以优化恶意域名检测能力,使检测模型更加稳定与高效。
附图说明
[0039]
构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0040]
图1为本发明实施例中基于集成学习的恶意域名检测方法流程图;
[0041]
图2为本发明实施例中的正常域名与dga域名中元音字母比重分布图;
[0042]
图3为本发明实施例中的正常域名与dga域名的香农熵分布图;
[0043]
图4为本发明实施例中的改进relief算法特征选择流程图;
[0044]
图5为本发明实施例中的基于决策树特征选择法流程图;
[0045]
图6为本发明实施例中的xgboost分类流程图;
[0046]
图7为本发明实施例中的多层感知器架构示意图;
[0047]
图8为本发明实施例中的集成学习软投票原理示意图。
具体实施方式
[0048]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0049]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0050]
实施例一
[0051]
如图1所示,本实施例中提供一种基于集成学习的恶意域名检测方法,包括:
[0052]
步骤1:提取域名特征;
[0053]
步骤2:特征选择算法筛选特征;
[0054]
步骤3:生成恶意域名检测模型;
[0055]
步骤4:采用集成学习的方式,进行恶意域名检测。
[0056]
在一些实施例中,域名特征包括:基本字符特征和高级特征;所述基本字符特征包括元音字母个数、元音字母比例、字母个数、字母比例、数字个数、数字比例、域名长度、特殊字符个数、特殊字符比例、重复字符个数、重复字符比例、唯一字符个数、唯一字符比例、最长连续辅音字符串长度、最长连续辅音字符串比例、辅音字母个数、辅音字母比例、域名与
平均长度距离、最长连续元音字符串长度、最长连续元音字符串比例、连续数字个数、连续数字比例、连续元音个数、连续元音比例、连续辅音个数、连续辅音比例共26种特征;
[0057]
高级特征包括香农熵和n-gram两种特征,其中:
[0058]
香农熵表示了一个字符串中包含的期望值,代表了改字符串的随机程度,香农熵计算公式如下:
[0059][0060]
其中,pi表示给定字符出现的概率。
[0061]
n-gram特征的提取方法包括:对域名进行粗切分、gram切分,得到相关的频度列表,然后根据设定的阈值选取大于该值的片段,每个片段都作为一个维度最终形成一个特征向量表,最后将特征向量做均值化处理作为域名的特征。n-gram的距离计算公式如下:
[0062]
d=|gn(s)|+|gn(t)|-2
×
|gn(s)∩gn(t)|
[0063]
其中,|gn(s)|表示n-gram切分之后的合集,也就是两个域名之间共同字符串的个数,|gn(t)|则是被检测域名切分后的字符串个数。
[0064]
在一些实施例中,融合了两种特征选择算法的筛选结构,特征选择法包括:改进的relief特征选择算法和基于决策数的特征选择算法,其中:
[0065]
改进的relief特征选择算法计算公式如下:
[0066][0067]
其中,分子表示x、y的协方差,分母为x、y的标准差之积。
[0068]
改进的relief算法在relief算法上将数据集分割之后同时并行处理,极大地缩短了运算时间,relief算法的计算公式如下:
[0069]
w=∑|x
i-nm(xi)|-|x
i-nh(xi)|
[0070]
其中,|
·
|是绝对值符号,xi表示样本的第i维,nm(xi)和nh(xi)分别表示样本xi异类近邻和同类近邻的第i维。
[0071]
基于决策树的特征选择法,具体步骤包括:按照特征选择标准从特征数据集中选择一个特征作为当前节点的分裂标准;根据所选特征的评估标准,生成子节点直至数据集不可再分;针对决策树容易出现过拟合的现象进行修剪。
[0072]
特征的评估标准采用基尼指数,计算公式如下:
[0073][0074]
在一些实施例中,生成恶意域名检测模型的算法具体包括:xgboost分类算法和多层感知器分类算法,其中:
[0075]
xgboost算法的检测模型计算公式如下:
[0076]
[0077]
其中,k表示分类回归树的总数,fk表示第k棵分类回归树,表示xi对应的预测结果。
[0078]
为了削弱xgboost中各棵树的影响以及避免过拟合现象,通过将学习速率设置为0.01以控制树的权重,每轮迭代后叶子节点就会乘上该值;并且最大迭代次数设为100,其使用的损失函数公式如下:
[0079][0080]
其中,表示训练样本xi对应的误差,表示决策树模型对训练样本的预测损失或经验误差,ω(fk)表示正则项(第k棵回归树),表示决策数模型的繁杂程度。
[0081]
多层感知器分类层与层之间的联系公式如下:
[0082]
h=f(w1x+b1)
[0083]
其中,h表示多层感知器中层之间全连接计算所得的权重和,w表示权重值,b表示偏置值,f是激活函数,采用relu作为激活函数,relu函数的计算公式如下:
[0084]
relu=max(0,x)
[0085]
在训练多层感知器模型时,选择limited-memory bfgs(l-bfgs)进行权重优化得到前面所述的权重值,l-bfgs就是拟牛顿算法族的优化算法,对于小型数据集具有收敛速度快的良好表现;设置正则化项参数为1e-5用于控制平衡,防止过拟合显现;本发明的多层感知器有两层隐藏层,每层的神经元个数分别为5、2;随机数生成器的种子为值1。
[0086]
在一些实施例中,集成学习采用投票分类器将分类算法结合组成一个整体分类器学习模型,通过软投票的方式进行恶意域名检测。
[0087]
实施例二
[0088]
如图2-8所示,本实施例中提供一种基于集成学习的恶意域名检测方法的应用实例,包括:
[0089]
步骤1:提取域名特征
[0090]
本发明的域名数据采集自alexa和360网站近20万条数据,其中白名单和黑名单比例为5:5,且本发明的黑名单收录了该网站上的52个家族的dga,如表1所示。
[0091]
表1
[0092][0093]
通过域名特征提取技术,最终提取了28种域名的特征值,如表2所示。图2与图3分别为正常域名和dga域名在不同特征上差异示意图。
[0094]
表2
[0095]
[0096][0097]
步骤2:特征选择算法筛选特征。
[0098]
本发明使用了融合了改进的relief特征选择算法和基于决策数的特征选择算法的筛选结果。使用改进的relief算法进行特征筛选,并按权重选取前6种特征,筛选流程如
图4所示,特征筛选结果如表3所示。
[0099]
表3
[0100][0101]
基于决策树的特征选择法筛选6种特征,筛选流程如图5所示,决策树通常包含三个步骤:按照特征选择标准从特征数据集中选择一个特征作为当前节点的分裂标准;根据所选特征的评估标准,生成子节点直至数据集不可再分;针对决策树容易出现过拟合的现象进行修剪,特征筛选结果如表4所示。
[0102]
表4
[0103][0104]
融合表3和表4中的域名特征,具体域名特征包括:域名与平均长度距离、特殊字符比例、特殊字符个数、数字比例、连续辅音比例、最长连续辅音字符串长度、字母个数、连续辅音个数、辅音字母个数和n-gram,共10种域名特征。
[0105]
步骤3:生成恶意域名检测模型。
[0106]
对步骤二中融合的域名特征构建数据集,按6:4的比例随机分为以训练集和测试集,使用xgboost分类器和多层感知器模型进行学习预测,生成用于集成学习的基分类器,两种算法的分类流程图分别如图6与图7所示。
[0107]
步骤4:采用集成学习的方式,进行恶意域名检测。
[0108]
不同分类器算法模型的最终检测结果会有各自的优点。而集成学习就是将多个分类学习器相结合,致力于构建一个比单一学习器性能更优越的最优检测模型,所以本发明采用基于权重的软投票分类方法,将xgboost分类器和多层感知分类器结合组成一个整体分类器学习模型,软投票原理如图8所示。
[0109]
使用步骤三中构建的域名特征数据集,以五折交叉验证的方式对组合分类器进行训练,并生成检测模型进行验证,取五轮实验的平均值作为性能评价依据。实验中还选取了单一特征选择算法与单一分类器进行实验,与本发明所提出的方法进行对比,实验结果如表5所示。
[0110]
表5
[0111][0112][0113]
由实验结果得出,通过使用特征融合算法和集成学习,该检测模型对恶意域名的检测准确率达到99.83%,f1指标达到99.67%,相较单个分类器所训练的检测模型,所耗时间的增长控制在3s内。
[0114]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1