当前位置: 首页 > 专利查询>杨连群专利>正文

DNS隧道传输检测方法和装置制造方法及图纸

技术编号:20118710 阅读:21 留言:0更新日期:2019-01-16 12:13
一种基于特征向量的DNS隧道传输检测方法和装置,其通过对正常DNS请求数据和异常的DNS隧道传输数据进行特征训练学习获得机器学习检测模型,并通过对捕获的DNS请求数据进行特征提取,获得该DNS请求数据的特征向量,对该特征向量进行归一化预处理后输入机器学习检测模型进行检测,从而获得DNS隧道传输的检测结果。相对于传统检测方法,该方法提高了DNS隧道的检测准确性和检测效率。

DNS Tunnel Transmission Detection Method and Device

A detection method and device for DNS tunnel transmission based on eigenvector is proposed. The machine learning detection model is obtained by training the normal DNS request data and abnormal DNS tunnel transmission data. The eigenvector of the DNS request data is obtained by extracting the features from the captured DNS request data. The eigenvector of the DNS request data is input into machine science after normalized pretreatment of the eigenvector. The learning detection model is used to detect the results of DNS tunnel transmission. Compared with traditional detection methods, this method improves the detection accuracy and efficiency of DNS tunnel.

【技术实现步骤摘要】
DNS隧道传输检测方法和装置
本专利技术涉及网络安全
,特别涉及一种DNS隧道传输检测方法和装置。
技术介绍
随着全球信息一体化的迅猛发展,互联网规模不断扩大,信息量呈几何级数增长。网络威胁层出不穷,安全态势严峻,需要从海量网络数据中挖掘分析异常行为。由于网络异常行为行踪隐蔽,常隐藏于正常的网络流量中,难于检测和分析,而且其形式变化多样,种类逐渐增多,内部结构复杂,需要基于大数据和机器学习分析进行建模和分析。网络隐蔽信道是指允许违反系统安全策略的方式传送信息的通信信道,是一种通过网络泄露隐蔽信息的技术,由于其本身具有隐蔽性,一般很难被检测到。利用网络隐蔽信道进行的扩散攻击和信息泄露技术,对计算机网络的安全构成了巨大的威胁,网络隐蔽信道技术与加密技术不同,加密只是对传输的数据进行加密,而网络隐蔽信道是要掩盖隐蔽通信信道的存在。恶意的网络隐蔽信道会给网络、系统安全带来巨大的挑战,网络中的不法分子会通过构建隐蔽信道泄露隐蔽信息。DNStunnel即DNS隧道,就是利用DNS查询过程建立起隐蔽信道,实现数据传输的技术。DNS协议在查询的时候,如果查询的域名在DNS服务器本机的缓存cache中没有查询到,它就会去互联网上查询,最终返回结果。如果在互联网上有台定制的DNS服务器,只要依靠DNS的协议约定,就可以交换数据包。从DNS协议上看,只是在一次次的查询某个特定域名,并得到解析结果,但实际上是在和外部通讯。此时,虽然客户端并没有直接连到局域网外的机器,网关不会转发IP包出去,但是局域网上的DNS服务器帮忙做了中转,这就是DNS隧道的基本原理。目前基于DNS隧道实现的网络隐蔽信道传输技术层出不穷,出现了多种变种类型,现有技术中对于变种的新型DNS隧道的检测能力仍然存在诸多不足。中国专利技术公开文献CN103326894A提出一种DNS隧道检测方法,通过检测客户端数据包的查询域名是否符合预置的域名约束条件,从而区分正常的DNS数据包和DNS隧道数据包。中国专利技术公开文献CN104754071A也提出一种DNS隧道检测方法,通过检测数据包是否符合DNS协议规定的长度和格式,从而判断是否属于DNS隧道数据包。上述公开文献均是通过判断通信报文是否匹配预定格式来识别DNS隧道,这种单纯特征匹配的检测方式的缺点是难以准确检测未知或变种的DNS隧道传输。期刊文献(“基于DNS的隐蔽通道流量检测”,章思宇等,通信学报第34卷第5期,2013年5月)提出了一种检测DNS隐蔽通道的方法,其提取可区分合法查询与隐蔽通信的12个数据分组特征,利用机器学习的分类器对其会话统计特性进行判别,从而实现对DNS隐蔽信道的检测。这种检测方式利用统计特征分析和机器学习相结合的手段,相对于单纯的特征匹配方式具有一定优势,但是过多的统计特征必然导致分类器模型的训练数据需求增大,并且需要消耗更多训练时间,从而使得检测效率降低。因此,如何提取能够有效识别各变种类型的DNS隧道传输数据的统计特征,并且提高DNS隧道传输检测的准确性和高效性,一直是本领域亟待解决的问题。
技术实现思路
本专利技术的主要目的是提出一种DNS隧道传输检测方法和装置,能够实现对新型DNS隧道传输的全面有效检测,提高DNS隧道传输检测的效率和准确性。为了实现上述目的,一方面,本专利技术的技术方案提出一种基于特征向量的DNS隧道传输检测方法,其特征在于包括以下步骤:捕获客户端发送给DNS服务器的DNS请求数据;对捕获的DNS请求数据进行特征提取,提取DNS请求数据中请求域名包含的数字个数、DNS请求数据的请求类型、请求域名的长度,并且记录一次DNS会话连接中的上行数据包的数量、上行数据包大小的方差和上行数据包的发送间隔时间,从而获得DNS请求数据的特征向量;该DNS请求数据的特征向量表示如下:V={q_number,q_type,q_length,package_size,package_interval,up_package_var}其中,V表示DNS请求数据的特征向量,q_number表示请求域名q中包含的数字个数,q_type表示DNS请求数据的请求类型,q_length表示请求域名的长度,package_size表示一次DNS会话连接中的上行数据包的数量,up_package_var表示一次DNS会话连接中的上行数据包大小的方差,package_interval表示一次DNS会话连接中的上行数据包的发送间隔时间;对获得的DNS请求数据的特征向量进行归一化预处理;将经过归一化预处理后的特征向量输入机器学习检测模型进行检测,从而获得DNS隧道传输的检测结果,所述机器学习检测模型由正常DNS访问数据和DNS隧道传输数据组成的训练数据训练得到;将获得的DNS隧道传输的检测结果进行聚合,以用于更新机器学习检测模型的训练数据,从而对机器学习检测模型进行训练学习。优选地,所述对获得的DNS请求数据的特征向量进行归一化预处理包括将离散变量映射到(0,1)区间中的固定值。优选地,所述机器学习检测模型包括支持向量机SVM分类器模型。另一方面,本专利技术还提出一种基于特征向量的DNS隧道传输检测装置,其特征在于包括以下模块:捕获模块,用于捕获客户端发送给DNS服务器的DNS请求数据;特征提取模块,用于对捕获的DNS请求数据进行特征提取,提取DNS请求数据中请求域名包含的数字个数、DNS请求数据的请求类型、请求域名的长度,并且记录一次DNS会话连接中的上行数据包的数量、上行数据包大小的方差和上行数据包的发送间隔时间,从而获得DNS请求数据的特征向量;该DNS请求数据的特征向量表示如下:V={q_number,q_type,q_length,package_size,package_interval,up_package_var}其中,V表示DNS请求数据的特征向量,q_number表示请求域名q中包含的数字个数,q_type表示DNS请求数据的请求类型,q_length表示请求域名的长度,package_size表示一次DNS会话连接中的上行数据包的数量,up_package_var表示一次DNS会话连接中的上行数据包大小的方差,package_interval表示一次DNS会话连接中的上行数据包的发送间隔时间;预处理模块,用于对获得的DNS请求数据的特征向量进行归一化预处理;检测模块,用于将经过归一化预处理后的特征向量输入机器学习检测模型进行检测,从而获得DNS隧道传输的检测结果,所述机器学习检测模型由正常DNS访问数据和DNS隧道传输数据组成的训练数据训练得到;反馈模块,用于将获得的DNS隧道传输的检测结果进行聚合,以用于更新机器学习检测模型的训练数据,从而对机器学习检测模型进行训练学习。优选地,所述对获得的DNS请求数据的特征向量进行归一化预处理包括将离散变量映射到(0,1)区间中的固定值。优选地,所述机器学习检测模型包括支持向量机SVM分类器模型。本专利技术通过分析大量的正常DNS请求数据特征和DNS隧道通信特征,选取适配各变种DNS隧道传输数据的典型特征,构建特征向量,并利用机器学习的方法建立自学习的检测模型,从而实现了对各变种DNS隧道传输的检测,提高了检测的效率和准确性。下面结合附图和具体实施方式本文档来自技高网
...

【技术保护点】
1.一种基于特征向量的DNS隧道传输检测方法,其特征在于包括以下步骤:步骤一,捕获客户端发送给DNS服务器的DNS请求数据;步骤二,对捕获的DNS请求数据进行特征提取,提取DNS请求数据中请求域名包含的数字个数、DNS请求数据的请求类型、请求域名的长度,并且记录一次DNS会话连接中的上行数据包的数量、上行数据包大小的方差和上行数据包的发送间隔时间,从而获得DNS请求数据的特征向量;该DNS请求数据的特征向量表示如下:V={q_number,q_type,q_length,package_size,package_interval,up_package_var}其中,V表示DNS请求数据的特征向量,q_number表示请求域名q中包含的数字个数,q_type表示DNS请求数据的请求类型,q_length表示请求域名的长度,package_size表示一次DNS会话连接中的上行数据包的数量,up_package_var表示一次DNS会话连接中的上行数据包大小的方差,package_interval表示一次DNS会话连接中的上行数据包的发送间隔时间;步骤三,对获得的DNS请求数据的特征向量进行归一化预处理;步骤四,将经过归一化预处理后的特征向量输入机器学习检测模型进行检测,从而获得DNS隧道传输的检测结果,所述机器学习检测模型由正常DNS访问数据和DNS隧道传输数据组成的训练数据训练得到;步骤五,将获得的DNS隧道传输的检测结果进行聚合,以用于更新机器学习检测模型的训练数据,从而对机器学习检测模型进行训练学习。...

【技术特征摘要】
1.一种基于特征向量的DNS隧道传输检测方法,其特征在于包括以下步骤:步骤一,捕获客户端发送给DNS服务器的DNS请求数据;步骤二,对捕获的DNS请求数据进行特征提取,提取DNS请求数据中请求域名包含的数字个数、DNS请求数据的请求类型、请求域名的长度,并且记录一次DNS会话连接中的上行数据包的数量、上行数据包大小的方差和上行数据包的发送间隔时间,从而获得DNS请求数据的特征向量;该DNS请求数据的特征向量表示如下:V={q_number,q_type,q_length,package_size,package_interval,up_package_var}其中,V表示DNS请求数据的特征向量,q_number表示请求域名q中包含的数字个数,q_type表示DNS请求数据的请求类型,q_length表示请求域名的长度,package_size表示一次DNS会话连接中的上行数据包的数量,up_package_var表示一次DNS会话连接中的上行数据包大小的方差,package_interval表示一次DNS会话连接中的上行数据包的发送间隔时间;步骤三,对获得的DNS请求数据的特征向量进行归一化预处理;步骤四,将经过归一化预处理后的特征向量输入机器学习检测模型进行检测,从而获得DNS隧道传输的检测结果,所述机器学习检测模型由正常DNS访问数据和DNS隧道传输数据组成的训练数据训练得到;步骤五,将获得的DNS隧道传输的检测结果进行聚合,以用于更新机器学习检测模型的训练数据,从而对机器学习检测模型进行训练学习。2.根据权利要求1所述的DNS隧道传输检测方法,其特征在于:所述对获得的DNS请求数据的特征向量进行归一化预处理包括将离散变量映射到(0,1)区间中的固定值。3.根据权利要求1所述的DNS隧道传输检测方法,其特征在于:所述机器学习检测模型包括支持向量机SVM分类器模型。4.一种基于特征向...

【专利技术属性】
技术研发人员:杨连群王斌韩勇
申请(专利权)人:杨连群
类型:发明
国别省市:天津,12

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

1