一种基于深度学习的DNS隐蔽隧道检测方法技术

技术编号:21917516 阅读:50 留言:0更新日期:2019-08-21 13:32
本发明专利技术公开了一种基于深度学习的DNS隐蔽隧道检测方法,其特征在于,包括:使用tcpdump抓包DNS隐蔽通道工具iodine收发的DNS报文,获得黑样本;使用tcpdump抓包内部DNS流量,获得白样本;将所述黑样本和所述白样本转换为深度学习检测算法可识别的文件;对所述可识别文件进行随机抽样,获得抽样数据;使用80%的所述抽样数据训练卷积神经网络,使用余下20%的所述抽样数据对所述卷积神经网络进行模型验证,生成初步模型;使用隐蔽通道攻击的DNS样本对所述初步模型进行测试,达到预期效果后,生成一个稳定的检测模型;使用所述检测模型对DNS隐蔽隧道进行检测。

A DNS Hidden Tunnel Detection Method Based on Deep Learning

【技术实现步骤摘要】
一种基于深度学习的DNS隐蔽隧道检测方法
本专利技术涉及网络安全领域,特别是指一种基于深度学习的DNS隐蔽隧道检测方法。
技术介绍
DNS隐蔽隧道是众多隐蔽通道中的一种,由于大部分防火墙、入侵检测系统、入侵防御系统都很少对DNS流量进行检测,这就给DNS作为隐蔽隧道提供了条件,而目前DNS隐蔽通道的检测工具诸如有iodine、dnscat2、dns2tcp,需要人工整理规则和更新规则库,有些采用聚类、分类等传统机器学习的DNS隐蔽隧道检测模型虽然一定上减少了人力成本但却无法自动学习抽象特征,效率较低,仍需人工处理部分数据。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种节省人力成本、更高效率的DNS隐蔽隧道检测方法。基于上述目的,本专利技术提供了一种基于深度学习的DNS隐蔽隧道检测方法,其特征在于,包括:使用tcpdump抓包DNS隐蔽通道工具iodine收发的DNS报文,获得黑样本;使用tcpdump抓包内部DNS流量,获得白样本;将所述黑样本和所述白样本转换为深度学习检测算法可识别的文件;对所述可识别文件进行随机抽样,获得抽样数据;使用80%的所述抽样数据训练卷积神经网络,使用余下20%的所述抽样数据对所述卷积神经网络进行模型验证,生成初步模型;使用隐蔽通道攻击的DNS样本对所述初步模型进行测试,达到预期效果后,生成一个稳定的检测模型;使用所述检测模型对DNS隐蔽隧道进行检测。在一些实施方式中,所述DNS隐蔽通道工具iodine收发DNS报文时使用直连模式建立DNS通道。在一些实施方式中,所述深度学习检测算法可识别的文件为描述DNS协议网络传输报文的文本文件。在一些实施方式中,所述卷积神经网络的训练过程加入了embedding层进行数据降维,并将维度定为64维。在一些实施方式中,所述卷积神经网络在卷积层使用了一维卷积函数来处理DNS域名片段。在一些实施方式中,所述卷积神经网络加入了dropout层做平滑处理。在一些实施方式中,所述卷积神经网络的训练过程基于TensorFlow的框架,使用了python的TensorFlow库tflearn。在一些实施方式中,所述隐蔽通道攻击的DNS样本具体为XShell隐蔽通道攻击的DNS样本。另一方面,本专利技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。另一方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被计算机执行以实现根据权利要求1至8任意一项所述的方法。从上面所述可以看出,本专利技术提供的一种基于深度学习的DNS隐蔽隧道检测方法通过使用收集的DNS样本对卷积神经网络进行训练生成初步模型,再使用隐蔽通道攻击的DNS样本对所述初步模型进行测试,最后得到稳定的可自动对DNS隐蔽隧道进行检测的模型极大程度地减少了人力成本,同时提高了DNS隐蔽隧道检测的效率。此方法理论与技术先进,具有很高的应用价值,对相关问题的方案设计及方法选择有一定的指导意义。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一个实施例的基于深度学习的DNS隐蔽隧道检测方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。DNS通道是隐蔽通道的一种,通过将其他协议封装在DNS协议中进行数据传输。由于大部分防火墙和入侵检测设备很少会过滤DNS流量,这就给DNS作为隐蔽通道提供了条件,从而可以利用它实现诸如远程控制、文件传输等操作,DNS隐蔽通道也经常在僵尸网络和APT攻击中扮演着重要的角色。DNS隐蔽通道可以分为直连和中继两种模式。直连也就是Client直接和指定的目标DNSServer(授权的NS服务器)连接,通过将数据编码封装在DNS协议中进行通信,这种方式速度快,但是限制比较多,很多场景不允许用户指定DNSServer。而中继模式的DNS通道则更为隐蔽,但同时也因为数据包到达目标DNSServer前需要经过多个DNS查询服务器,所以速度上较直连模式慢很多。DNS隐蔽通道从提出到现在已经有了很多实现工具,历史比较早的有NSTX、Ozymandns,目前比较活跃的有iodine、dnscat2、dns2tcp,其他不太常见的还有DeNise、Heyoka等。不同工具的核心原理相似,但在编码、实现细节和应用场景方面存在一定的差异。但这些工具仍然需要人工整理规则和更新规则库,有些采用聚类、分类等传统机器学习的DNS隐蔽隧道检测模型虽然一定上减少了人力成本但却无法自动学习抽象特征,效率较低,仍需人工处理部分数据。受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),YannLecun最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。卷积神经网络中的卷积层和池化层能够响应输入特征的平移不变性,即能够识别位于空间不同位置的相近特征。该性质使卷积神经网络在计算机视觉问题中被广泛应用。平移不变特征在卷积神经网络内部的传递具有一般性的规律。在图像处理问题中,卷积神经网络前部的特征图通常会提取图像中显著的高频和低频特征;随后经过池化的特征图会显示出输入图像的边缘特征(aliasingartifacts);当信号进入更深的隐含层后,其更一般、更完整的特征会被提取。反卷积和向上池化(up-pooling)可以对卷积神经网络的隐含层特征进行可视化。一个成功的卷积神经网络中,传递至全连接层的特征图会包含与学习目标相同的特征,例如图像分类中各个类别的完整图像。卷积神经网络(CNN)检测的通常是二维数据,而作为DNS隐蔽通道传输的子域名虽是一维的文本数据,但同样可以用CNN进行处理,因此可以将卷积神经网络应用于DNS隐蔽通道的检测。有鉴于此,本专利技术的目的在于提出一种节省人力成本、更高效率的使用卷积神经网络(CNN)来检测DNS隐蔽通道的方法。准备2台linux机器,其中一台作为DNS隐蔽通道的Client,另外一台作为目标DNSServer,在两台linux机器上安装iodine,DNS隐蔽通道工具iodine分为服务器端程序iodined和客户端程序iodine。服务器端程序iodined提供特定域名的DNS解析服务。当客户端请求该域名的解析,就可以建立通道连接。iodine支持NULL、TXT、SRV、MX、CNAME等多种查询请求类型,并且支持EDNS、base32、base64、base128等多种编码规范,更多使用方法和功能特性可参考官方文档。iodine支持直接转发和中继两种模式,客户端和服务端建立通信后,可以看到客户机上多出一块名为dns0的虚拟网卡。本实施例使用iodine直连模式建立DNS通道。参本文档来自技高网...

【技术保护点】
1.一种基于深度学习的DNS隐蔽隧道检测方法,其特征在于,包括:使用tcpdump抓包DNS隐蔽通道工具iodine收发的DNS报文,获得黑样本;使用tcpdump抓包内部DNS流量,获得白样本;将所述黑样本和所述白样本转换为深度学习检测算法可识别的文件;对所述可识别文件进行随机抽样,获得抽样数据;使用80%的所述抽样数据训练卷积神经网络,使用余下20%的所述抽样数据对所述卷积神经网络进行模型验证,生成初步模型;使用隐蔽通道攻击的DNS样本对所述初步模型进行测试,达到预期效果后,生成一个稳定的检测模型;使用所述检测模型对DNS隐蔽隧道进行检测。

【技术特征摘要】
2018.12.12 CN 20181152053371.一种基于深度学习的DNS隐蔽隧道检测方法,其特征在于,包括:使用tcpdump抓包DNS隐蔽通道工具iodine收发的DNS报文,获得黑样本;使用tcpdump抓包内部DNS流量,获得白样本;将所述黑样本和所述白样本转换为深度学习检测算法可识别的文件;对所述可识别文件进行随机抽样,获得抽样数据;使用80%的所述抽样数据训练卷积神经网络,使用余下20%的所述抽样数据对所述卷积神经网络进行模型验证,生成初步模型;使用隐蔽通道攻击的DNS样本对所述初步模型进行测试,达到预期效果后,生成一个稳定的检测模型;使用所述检测模型对DNS隐蔽隧道进行检测。2.根据权利要求1所述的,其特征在于,所述DNS隐蔽通道工具iodine收发DNS报文时使用直连模式建立DNS通道。3.根据权利要求1所述的,其特征在于,所述深度学习检测算法可识别的文件为描述DNS协议网络传输报文的...

【专利技术属性】
技术研发人员:陈春霖许勇刚李祉岐王利斌刘晓蕾宋洁焦腾王杨霍钰冯磊
申请(专利权)人:国网信息通信产业集团有限公司国网思极网安科技北京有限公司国网网安北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1