掌桥专利:专业的专利平台
掌桥专利
首页

一种DNS隧道攻击的检测方法、系统及装置

文献发布时间:2024-04-18 19:53:33


一种DNS隧道攻击的检测方法、系统及装置

技术领域

本发明涉及计算机技术领域,更具体的说是涉及一种DNS隧道攻击的检测方法、系统及装置。

背景技术

入侵检测是指“通过对行为、安全日志或审计数据或其它网络上可以获得的信息进行操作,检测到对系统的闯入或闯入的企图”。入侵检测是检测和响应计算机误用的学科,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。

现有的网络入侵检测技术大多忽略了样本不平衡对分类算法的影响,从而导致入侵检测效果不佳,在模型分类研究中,许多算法都假设数据分布是平衡的。而当这些算法在应用于实际数据时,往往难以达到理想的效果,尤其是在攻击检测的场景中,白样本远大于黑样本的分布,少数样本在分类过程中可能被视为噪声,导致算法效果不理想。解决不平衡数据的方法有多种:在数据层面,使用过采样合成少数样本,使用欠采样消除多数样本能够有效解决样本不平衡问题;算法层面:选用合适的模型能减小不平衡数据对模型的影响,例如:使用树模型,由于熵的计算与样本数量无直接关系,所以在计算过程中样本的数量对模型结果影响较小;评估层面:选用合适的评估方式做为模型评估结果,能有效缓解不平衡样本对模型的影响。

由于目前多数入侵检测技术忽略样本不平衡,从而导致模型在真实环境中的适应性差,针对这一现象,提出了一种基于GBDT和SMOTE的入侵检测方法,该方法利用SMOTE技术合成少数样本,用于平衡训练数据,实验结果表明,虽然降低了误报率,但总体检测精度没有较大提升。使用ADASYN与XGBoost结合的方法,虽然能够有效处理数据冗余和类不平衡问题,可以有效提高异常检测模型的F1值,但ADASYN同时也容易受到离群点的影响,若存在少数类样本近邻都是多数类样本,其权重会变得相当大,进而在其周围生成较多样本。

由此可见,如何克服在DNS隧道攻击检测模型训练中,面临的高维、数据不平衡的问题,并改进DNS隧道攻击检测模型的检测效果,是我们亟待解决的问题。

发明内容

针对现有技术中存在的问题,本发明的目的在于提供一种DNS隧道攻击的检测方法、系统及装置。

本发明为实现上述目的,通过以下技术方案实现:

一种DNS隧道攻击的检测方法,包括如下步骤:

S1:通过网络监控,进行流量日志的采集,利用过滤器分别对采集的历史数据和在线数据生成相应的数据集;

S2:在历史数据的数据集中提取出预设特征,经过特征处理后,利用过采样技术进行样本处理,选用遗传算法对模型参数进行优化,并进行模型训练,以确定检测模型;

S3:在在线数据的数据集中提取出预设特征,经过特征处理后,利用模型分类器运行检测模型,进行规则分析,并生成检测结果。

进一步,数据集包括:DNS隐蔽隧道样本和正常DNS流量样本,其中DNS隐蔽隧道样本包括iodine、dnscat、dns2tcp和cobalt strike。

进一步,预设特征包括:

查询和响应域名长度、请求时间间隔、域名混乱程度、Query报文的payload载荷量、有效载荷的上传和下载比、DNS包数量、资源记录类型、域名中数字字符所占百分比、域名中不同字符个数、以及连续辅音字母。

进一步,利用过采样技术进行样本处理,包括:

噪音消除;

删除模糊样本;

样本合成。

进一步,噪音消除包括:

通过删除异常值来减少产生噪声的可能性,通过欧式距离计算样本点之间的距离,公式如下所示:

分别计算每个少数样本与同类的距离,计算公式如下所示:

通过以下公式归一化转化为偏离度:

根据箱线图的异常检测方式,剔除小于Q

进一步,删除模糊样本包括:

使用欧氏距离,计算每个少量样本的k个近邻点;若k近邻点中,多数为同类样本,保留该样本,若多数为其他类样本,则删除该类样本。

进一步,样本合成包括:

根据以下公式计算需要生成的样本数n

n

其中,n

根据少数样本的k个近邻的同类样本,随机选出近邻,按照如下公式构建新的样本:

每个样本合成新样本的数目为:

其中,Δ

相应的,本发明还公开了一种DNS隧道攻击的检测系统,包括:

数据采集模块,用于通过网络监控,进行流量日志的采集,利用过滤器分别对采集的历史数据和在线数据生成相应的数据集;

离线训练模块,用于在历史数据的数据集中提取出预设特征,经过特征处理后,利用过采样技术进行样本处理,选用遗传算法对模型参数进行优化,并进行模型训练,以确定检测模型;

在线检测模块,用于在在线数据的数据集中提取出预设特征,经过特征处理后,利用模型分类器运行检测模型,进行规则分析,并生成检测结果。

相应的,本发明还公开了一种DNS隧道攻击的检测装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述DNS隧道攻击的检测方法的步骤。

对比现有技术,本发明有益效果在于:本发明提供了一种DNS隧道攻击的检测方法、系统及装置,在特征选择后,通过PCA算法对样本数据进行降维,减少特征属性数量,并提出一种新的自适应过采样方法对不平衡数据中的少量样本进行合成,使用XGboost完成模型训练,并通过遗传算法进行参数优化,达到在线检测的目的。

本发明利用一种新的过采样方法,有效解决了样本不平衡对模型的影响,产生的新样本没有出现重叠现象,且该方法避免了离群点对过采样造成的影响,合成后的样本边界明显,更有利于模型的训练,并对高维特征进行主成分分析,使样本的每个维度具有较高的独立性。经DNS隧道攻击检测验证,增加该特征工程过程,有效的提高了检测的准确性。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明具体实施方式的方法流程图。

图2是本发明具体实施方式的系统结构图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

如图1所示的一种DNS隧道攻击的检测方法,包括如下步骤:

S1:通过网络监控,进行流量日志的采集,利用过滤器分别对采集的历史数据和在线数据生成相应的数据集。

数据集包括:DNS隐蔽隧道样本(即恶意样本)和正常DNS流量样本(即良性样本),其中良性样本约有70w条,恶意样本包含iodine、dnscat、dns2tcp、cobalt strike四种,分别为208、6935、5630、2086条。其中,过滤器的主要目的是对大量正常DNS流量和部分恶意DNS进行过滤,提高模型的检测效率。

S2:在历史数据的数据集中提取出预设特征,经过特征处理后,利用过采样技术进行样本处理,选用遗传算法对模型参数进行优化,并进行模型训练,以确定检测模型。

本方法确定以下特征为检测所使用的预设特征,并使用主成分分析(PCA)减少数据的冗余特征,所选预设特征如下:

1、查询、响应域名长度

2、请求时间间隔

3、域名混乱程度

4、Query报文的payload载荷量

5、有效载荷的上传和下载比

6、DNS包数量

7、资源记录类型

8、域名中数字字符所占百分比

9、域名中不同字符个数

10、连续辅音字母

若数据特征属性之间存在相关性,将导致模型泛化能力较差,高维空间样本的稀疏性使得模型很难找到数据特征,过多的特征属性会增加模型搜索规则的难度,因此,通过降低高维数据的维数,减少特征属性的数量,使各特征属性都相对独立,本方法采用PCA方法降低域名等特征的冗余度,增强模型的泛化程度。

在本步骤中,选用遗传算法对模型参数进行优化,利用概率搜索,能够有效避免模型迭代陷入局部最优解。确定搜索方向和搜索范围,解决目标函数无法求导或导数不存在的优化情况。

S3:在在线数据的数据集中提取出预设特征,经过特征处理后,利用模型分类器运行检测模型,进行规则分析,并生成检测结果。

其中,规则分析包括:经模型判定后,对模型认定的正样本进行规则验证。

作为示例的,本方法中,利用过采样技术进行样本处理,主要分为3个步骤:噪音消除、删除模糊样本、样本合成。

噪音消除包括:

通过删除异常值来减少产生噪声的可能性,通过欧式距离计算样本点之间的距离,公式如下所示:

分别计算每个少数样本与同类的距离,计算公式如下所示:

通过以下公式归一化转化为偏离度:

根据箱线图的异常检测方式,剔除小于Q

删除模糊样本包括:

使用欧氏距离,计算每个少量样本的k个近邻点;若k近邻点中,多数为同类样本,保留该样本,若多数为其他类样本,则删除该类样本。

样本合成包括:

根据以下公式计算需要生成的样本数n

n

其中,n

根据少数样本的k个近邻的同类样本,随机选出近邻,按照如下公式构建新的样本:

每个样本合成新样本的数目为:

其中,Δ

实际运行时,DNS隧道攻击检测系统安装在防火墙内部,通过交换机连接流量端口检测隐藏在DNS流量中的DNS隧道攻击流量,经样本分析,本方法提出的过采样方法产生的新样本没有出现重叠现象,且该方法避免了离群点对过采样造成的影响,合成后的样本边界明显。由此可见,本方法结合主成分分析、并提出一种新的过采样方法,有效的解决了在DNS隧道攻击检测模型训练中,面临的高维、数据不平衡的问题,改进了DNS隧道攻击检测模型的检测效果。

相应的,如图2所示,本发明还公开了一种DNS隧道攻击的检测系统,包括:数据采集模块、离线训练模块和在线检测模块。

数据采集模块,用于通过网络监控,进行流量日志的采集,利用过滤器分别对采集的历史数据和在线数据生成相应的数据集。

离线训练模块,用于在历史数据的数据集中提取出预设特征,经过特征处理后,利用过采样技术进行样本处理,选用遗传算法对模型参数进行优化,并进行模型训练,以确定检测模型。

在线检测模块,用于在在线数据的数据集中提取出预设特征,经过特征处理后,利用模型分类器运行检测模型,进行规则分析,并生成检测结果。

相应的,本发明还公开了一种DNS隧道攻击的检测装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述DNS隧道攻击的检测方法的步骤。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。

同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

相关技术
  • 一种DNS隧道检测方法以及DNS隧道检测装置
  • 一种DNS隧道检测方法以及DNS隧道检测装置
技术分类

06120116338065