CN113438137B - 一种dns隧道内复杂协议行为识别方法 - Google Patents
一种dns隧道内复杂协议行为识别方法 Download PDFInfo
- Publication number
- CN113438137B CN113438137B CN202111000021.XA CN202111000021A CN113438137B CN 113438137 B CN113438137 B CN 113438137B CN 202111000021 A CN202111000021 A CN 202111000021A CN 113438137 B CN113438137 B CN 113438137B
- Authority
- CN
- China
- Prior art keywords
- dns
- tunnel
- dns tunnel
- protocol
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种DNS隧道内复杂协议行为识别方法,该方法包括:首先识别DNS隧道流量,针对DNS隧道流量,提取DNS数据包中的查询和应答数据并生成长度序列,提取识别DNS隧道内不同协议行为的统计特征并生成特征向量,基于该特征向量识别DNS隧道内部的HTTP协议、邮件协议、SSH协议、FTP协议等常用协议及行为;对于对隧道内部多种协议混合使用的情况,进一步提取估计DNS隧道内部混合协议数据包比例的统计特征并生成特征向量,并基于该特征向量建立回归模型,估计DNS隧道内部混合协议情况下的各协议数据包占比。本发明用以实现DNS隧道流量的细粒度分析。
Description
技术领域
本发明涉及网络安全技术领域,特别是一种DNS隧道内复杂协议行为识别方法。
背景技术
DNS作为互联网最重要的基础协议之一,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
由于DNS协议在网络中的作用,监管设备通常不会阻断DNS数据包,因此可以利用DNS的查询过程建立隧道,进而传输私有数据。
由于DNS隧道的查询和相应中的负载数据与正常的DNS数据包存在字符分布的差异,通常可以使用字符规律来检测是否为DNS隧道。
现有的方法可以检测到DNS隧道的存在,但是没有针对DNS隧道内部的协议及应用行为进行细粒度的分析,尤其是隧道内部可能存在多协议混合的情况,目前完全没有有效的解决方法。
发明内容
本发明所要解决的技术问题是克服现有技术的不足而提供一种DNS隧道内复杂协议行为识别方法,用以实现DNS隧道流量的细粒度分析。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种DNS隧道内复杂协议行为识别方法,包括以下步骤:
步骤1、识别DNS隧道;
步骤2、提取DNS隧道中DNS隧道包的查询和回答数据,生成DNS隧道包序列;
步骤3、根据所述DNS隧道包序列计算识别DNS隧道内部协议的统计特征并生成第一特征向量;
步骤4、根据生成的第一特征向量,训练分类器模型,该分类器模型用于识别隧道内部协议行为;
步骤5、根据隧道内部协议行为,针对多协议混合情况,进一步根据所述DNS隧道包序列计算估计DNS隧道内部混合协议隧道包比例的统计特征并生成第二特征向量;
步骤6、使用主成分分析方法,筛选第二特征向量,使得筛选后的第二特征向量中不存在与DNS隧道内部混合协议隧道包比例无关的统计特征;
步骤7、使用筛选后的第二特征向量训练回归模型,该回归模型用于估计隧道内部多协议混合情况下,不同协议的隧道包所占比例。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,步骤1具体如下:
通过DNS数据包的查询和回答内容识别DNS数据包中的DNS隧道包。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,
识别DNS隧道包后,根据源地址、目的地址、源端口、目的端口、协议类型五元组解析出DNS隧道流;
将DNS隧道流根据窗口尺寸N进行切分,得到N个DNS隧道包;
根据DNS隧道包的Flags字段中的QR字段判断类型,将DNS隧道包分为查询隧道包和应答隧道包;
根据查询隧道包和应答隧道包生成DNS隧道包序列,DNS隧道包序列中的每个元素为一个包含DNS隧道包的负载长度、时间间隔、和查询/应答类型的向量;其中,负载长度为DNS隧道包中查询或应答的内容长度。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,使用+标记查询隧道包,使用-标记应答隧道包。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,根据DNS隧道包序列中的类型,分别计算识别DNS隧道内部协议的统计特征,包括DNS隧道包序列中的负载长度和时间间隔的均值、方差、偏度、峰度、最小值、四分之一分位数、中位数、四分之三分位数和最大值。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,分类器模型是SVM、决策树、随机森林或贝叶斯网络。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,针对DNS隧道内的多协议混合情况,所述计算的估计DNS隧道内部混合协议数据包比例的统计特征包括:
在DNS 隧道包序列中,根据类型分别计算以下统计特征值:
最小负载长度占N个DNS隧道包的比例;
负载长度的四分之一分位数占N个DNS隧道包的比例;
负载长度中位数占N个DNS隧道包的比例;
负载长度四分之三分位数占N个DNS隧道包的比例;
最大负载长度占N个DNS隧道包的比例;
负载长度均值占N个DNS隧道包的比例;
负载长度均值;
负载长度方差;
负载长度峰度;
负载长度偏度;
最小DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之一分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔中位数占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之三分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔均值占N个DNS隧道包的比例;
DNS隧道包时间间隔均值;
DNS隧道包时间间隔方差;
DNS隧道包时间间隔峰度;
DNS隧道包时间间隔偏度;
用于保持隧道连接的心跳包占N个DNS隧道包的比例。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,步骤6中,筛选第二特征向量是进行特征筛选,具体方法为:
其中,为协方差,表示方差,是第二特征向量中的第u个统计特征,h≥u≥1,h是第二特征向量中统计特征的总数,y是DNS隧道内不同混合协议隧道包比例;设置第一相关性阈值,若,则作为筛选出的统计特征;筛选后的第二特征向量中统计特征的总数为j个;
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,步骤7中的回归模型为线性相关模型:
其中,筛选后的第二特征向量中的第v个统计特征为自变量x v ,以DNS隧道内混合协议隧道包比例为因变量y, 为筛选后的第二特征向量中第v个统计特征的权重参数,k≥v≥1,k为筛选后的第二特征向量中统计特征的总数, 表示偏置参数。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,根据线性相关模型,采用梯度下降法得到线性相关模型的权重参数和偏置参数。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)当前针对DNS隧道流量的研究主要针对隧道发现技术,或针对通过DNS隧道进行数据传输的行为进行检测,忽略了DNS隧道本身作为隐蔽通信信道的能力,缺乏隧道内部协议行为的有效识别技术;本发明针对这一问题,分析DNS隧道内部协议行为产生的统计特征,并结合机器学习算法可以有效识别隧道内部的协议行为,包括Web浏览、邮件收发、文件传输、命令控制等多种常见行为;
(2)进一步,针对DNS隧道内部可能存在的混合协议的情况,本发明分析多种混合情况下的统计特征,并结合深度学习算法,有效地估计出混合情况中各协议数据包所占的比例值;针对DNS隧道内部协议行为的有效识别,可以精细化分析DNS流量的类型,有助于流量管理以及异常行为的检测。
附图说明
图1为本发明实施DNS隧道内多协议混合流量识别方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
图1为本发明实施一种DNS隧道内复杂协议行为识别方法的流程示意图。如图1所示,该识别方法包括以下步骤:
步骤1、识别DNS隧道;
步骤2、提取DNS隧道中DNS隧道包的查询和回答数据,生成DNS隧道包序列;
步骤3、根据所述DNS隧道包序列计算识别DNS隧道内部协议的统计特征并生成第一特征向量;
步骤4、根据生成的第一特征向量,训练分类器模型,该分类器模型用于识别隧道内部协议行为;
步骤5、根据隧道内部协议行为,针对多协议混合情况,进一步根据所述DNS隧道包序列计算估计DNS隧道内部混合协议隧道包比例的统计特征并生成第二特征向量;
步骤6、使用主成分分析方法,筛选第二特征向量,使得筛选后的第二特征向量中不存在与DNS隧道内部混合协议隧道包比例无关的统计特征;
步骤7、使用筛选后的第二特征向量训练回归模型,该回归模型用于估计隧道内部多协议混合情况下,不同协议的隧道包所占比例。
步骤1具体如下:
通过DNS数据包的查询和回答内容识别DNS数据包中的DNS隧道包。
作为本发明所述的一种DNS隧道内复杂协议行为识别方法进一步优化方案,
识别DNS隧道包后,根据源地址、目的地址、源端口、目的端口、协议类型五元组解析出DNS隧道流;
将DNS隧道流根据窗口尺寸N进行切分,得到N个DNS隧道包;
根据DNS隧道包的Flags字段中的QR字段判断类型,将DNS隧道包分为查询隧道包和应答隧道包;
根据查询隧道包和应答隧道包生成DNS隧道包序列,DNS隧道包序列中的每个元素为一个包含DNS隧道包的负载长度、时间间隔、和查询/应答类型的向量;其中,负载长度为DNS隧道包中查询或应答的内容长度。
使用+标记查询隧道包,使用-标记应答隧道包。
根据DNS隧道包序列中的类型,分别计算识别DNS隧道内部协议的统计特征,包括DNS隧道包序列中的负载长度和时间间隔的均值、方差、偏度、峰度、最小值、四分之一分位数、中位数、四分之三分位数和最大值。
分类器模型是SVM、决策树、随机森林或贝叶斯网络。
针对DNS隧道内的多协议混合情况,所述计算的估计DNS隧道内部混合协议数据包比例的统计特征包括:
在DNS 隧道包序列中,根据类型分别计算以下统计特征值:
最小负载长度占N个DNS隧道包的比例;
负载长度的四分之一分位数占N个DNS隧道包的比例;
负载长度中位数占N个DNS隧道包的比例;
负载长度四分之三分位数占N个DNS隧道包的比例;
最大负载长度占N个DNS隧道包的比例;
负载长度均值占N个DNS隧道包的比例;
负载长度均值;
负载长度方差;
负载长度峰度;
负载长度偏度;
最小DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之一分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔中位数占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之三分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔均值占N个DNS隧道包的比例;
DNS隧道包时间间隔均值;
DNS隧道包时间间隔方差;
DNS隧道包时间间隔峰度;
DNS隧道包时间间隔偏度;
用于保持隧道连接的心跳包占N个DNS隧道包的比例。
步骤6中,筛选第二特征向量是进行特征筛选,具体方法为:
其中,为协方差,表示方差,是第二特征向量中的第u个统计特征,h≥u≥1,h是第二特征向量中统计特征的总数,y是DNS隧道内不同混合协议隧道包比例;设置第一相关性阈值,若,则作为筛选出的统计特征;筛选后的第二特征向量中统计特征的总数为j个;
步骤7中的回归模型为线性相关模型:
其中,筛选后的第二特征向量中的第v个统计特征为自变量x v ,以DNS隧道内混合协议隧道包比例为因变量y, 为筛选后的第二特征向量中第v个统计特征的权重参数,k≥v≥1,k为筛选后的第二特征向量中统计特征的总数, 表示偏置参数。
根据线性相关模型,采用梯度下降法得到线性相关模型的权重参数和偏置参数。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (9)
1.一种DNS隧道内复杂协议行为识别方法,其特征在于,包括以下步骤:
步骤1、识别DNS隧道;
步骤2、提取DNS隧道中DNS隧道包的查询和应答数据,生成DNS隧道包序列;
步骤3、根据所述DNS隧道包序列计算识别DNS隧道内部协议的统计特征并生成第一特征向量;
步骤4、根据生成的第一特征向量,训练分类器模型,该分类器模型用于识别隧道内部协议行为;
步骤5、根据隧道内部协议行为,针对多协议混合情况,进一步根据所述DNS隧道包序列计算估计DNS隧道内部混合协议隧道包比例的统计特征并生成第二特征向量;
步骤6、使用主成分分析方法,筛选第二特征向量,使得筛选后的第二特征向量中不存在与DNS隧道内部混合协议隧道包比例无关的统计特征;
步骤7、使用筛选后的第二特征向量训练回归模型,该回归模型用于估计隧道内部多协议混合情况下,不同协议的隧道包所占比例;
步骤6中,筛选第二特征向量是进行特征筛选,具体方法为:
其中,为协方差,表示方差,是第二特征向量中的第u个统计特征,h≥u≥1,h是第二特征向量中统计特征的总数,y是DNS隧道内不同混合协议隧道包比例;设置第一相关性阈值,若,则作为筛选出的统计特征;筛选后的第二特征向量中统计特征的总数为j个;
2.根据权利要求1所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,步骤1具体如下:
通过DNS数据包的查询和应答内容识别DNS数据包中的DNS隧道包。
3.根据权利要求2所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,
识别DNS隧道包后,根据源地址、目的地址、源端口、目的端口、协议类型五元组解析出DNS隧道流;
将DNS隧道流根据窗口尺寸N进行切分,得到N个DNS隧道包;
根据DNS隧道包的Flags字段中的QR字段判断类型,将DNS隧道包分为查询隧道包和应答隧道包;
根据查询隧道包和应答隧道包生成DNS隧道包序列,DNS隧道包序列中的每个元素为一个包含DNS隧道包的负载长度、时间间隔、和查询/应答类型的向量;其中,负载长度为DNS隧道包中查询或应答的内容长度。
4.根据权利要求3所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,使用+标记查询隧道包,使用-标记应答隧道包。
5.根据权利要求1所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,根据DNS隧道包序列中的类型,分别计算识别DNS隧道内部协议的统计特征,包括DNS隧道包序列中的负载长度和时间间隔的均值、方差、偏度、峰度、最小值、四分之一分位数、中位数、四分之三分位数和最大值。
6.根据权利要求1所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,分类器模型是SVM、决策树、随机森林或贝叶斯网络。
7.根据权利要求1所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,针对DNS隧道内的多协议混合情况,所述计算估计DNS隧道内部混合协议隧道包比例的统计特征包括:
在DNS 隧道包序列中,根据类型分别计算以下统计特征值:
最小负载长度占N个DNS隧道包的比例;
负载长度的四分之一分位数占N个DNS隧道包的比例;
负载长度中位数占N个DNS隧道包的比例;
负载长度四分之三分位数占N个DNS隧道包的比例;
最大负载长度占N个DNS隧道包的比例;
负载长度均值占N个DNS隧道包的比例;
负载长度均值;
负载长度方差;
负载长度峰度;
负载长度偏度;
最小DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之一分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔中位数占N个DNS隧道包的比例;
DNS隧道包时间间隔四分之三分位数占N个DNS隧道包的比例;
DNS隧道包时间间隔占N个DNS隧道包的比例;
DNS隧道包时间间隔均值占N个DNS隧道包的比例;
DNS隧道包时间间隔均值;
DNS隧道包时间间隔方差;
DNS隧道包时间间隔峰度;
DNS隧道包时间间隔偏度;
用于保持隧道连接的心跳包占N个DNS隧道包的比例。
9.根据权利要求8所述的一种DNS隧道内复杂协议行为识别方法,其特征在于,根据线性相关模型,采用梯度下降法得到线性相关模型的权重参数和偏置参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000021.XA CN113438137B (zh) | 2021-08-30 | 2021-08-30 | 一种dns隧道内复杂协议行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000021.XA CN113438137B (zh) | 2021-08-30 | 2021-08-30 | 一种dns隧道内复杂协议行为识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438137A CN113438137A (zh) | 2021-09-24 |
CN113438137B true CN113438137B (zh) | 2021-11-30 |
Family
ID=77798279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111000021.XA Active CN113438137B (zh) | 2021-08-30 | 2021-08-30 | 一种dns隧道内复杂协议行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438137B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326894A (zh) * | 2013-05-29 | 2013-09-25 | 深信服网络科技(深圳)有限公司 | Dns隧道检测的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9003518B2 (en) * | 2010-09-01 | 2015-04-07 | Raytheon Bbn Technologies Corp. | Systems and methods for detecting covert DNS tunnels |
CN111756874A (zh) * | 2020-06-24 | 2020-10-09 | 北京天融信网络安全技术有限公司 | 一种dns隧道上层协议的类型的识别方法和装置 |
CN111835763B (zh) * | 2020-07-13 | 2022-03-04 | 北京邮电大学 | 一种dns隧道流量检测方法、装置及电子设备 |
-
2021
- 2021-08-30 CN CN202111000021.XA patent/CN113438137B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326894A (zh) * | 2013-05-29 | 2013-09-25 | 深信服网络科技(深圳)有限公司 | Dns隧道检测的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113438137A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600363B (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
CN109328448B (zh) | 基于网络流数据的垃圾邮件分类系统 | |
CN101827084B (zh) | 网络设备的高效的应用程序识别 | |
Liu et al. | Network traffic classification using k-means clustering | |
EP3304823B1 (en) | Method and apparatus for computing cell density based rareness for use in anomaly detection | |
Li et al. | A machine learning approach for efficient traffic classification | |
Li | Change trend of averaged Hurst parameter of traffic under DDOS flood attacks | |
Lin et al. | Application classification using packet size distribution and port association | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN111052704A (zh) | 网络分析工作流程加速 | |
Palmieri et al. | A nonlinear, recurrence-based approach to traffic classification | |
Zhai et al. | A covert channel detection algorithm based on TCP Markov model | |
CN113378899B (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN104052639A (zh) | 基于支持向量机的实时多应用网络流量识别方法 | |
CN109151880A (zh) | 基于多层分类器的移动应用流量识别方法 | |
SG184120A1 (en) | Method of identifying a protocol giving rise to a data flow | |
CN104796405A (zh) | 反弹连接检测方法和装置 | |
Juvonen et al. | An efficient network log anomaly detection system using random projection dimensionality reduction | |
Baye et al. | Api security in large enterprises: Leveraging machine learning for anomaly detection | |
CN111835681A (zh) | 一种大规模流量异常主机检测方法和装置 | |
Fei et al. | The abnormal detection for network traffic of power iot based on device portrait | |
Bin et al. | A NetFlow based flow analysis and monitoring system in enterprise networks | |
CN113438137B (zh) | 一种dns隧道内复杂协议行为识别方法 | |
Farea et al. | Detections of iot attacks via machine learning-based approaches with cooja | |
Liu et al. | A Scalable DDoS Detection Framework with Victim Pinpoint Capability. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |