CN111835763B - 一种dns隧道流量检测方法、装置及电子设备 - Google Patents
一种dns隧道流量检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111835763B CN111835763B CN202010667126.XA CN202010667126A CN111835763B CN 111835763 B CN111835763 B CN 111835763B CN 202010667126 A CN202010667126 A CN 202010667126A CN 111835763 B CN111835763 B CN 111835763B
- Authority
- CN
- China
- Prior art keywords
- detected
- dns
- traffic data
- neural network
- network model
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明实施例提供了一种DNS隧道流量检测方法、装置及电子设备,获取文本格式的待检测DNS流量数据;将文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使神经网络模型对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于待检测特征向量,进行类别划分,得到检测结果;神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。本发明实施例中,执行特征提取操作的神经网络模型是基于大量的DNS流量数据样本和样本真值训练得到的,与人工提取特征的方式相比,提取到的特征向量的准确性较高。因此,基于提取到的准确率较高的特征向量,得到的检测结果的准确性也较高,提高了DNS隧道流量检测的准确性。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及一种DNS隧道流量检测方法、装置及电子设备。
背景技术
DNS(DomainName System,域名系统)协议是必不可少的网络通信协议之一,DNS隧道技术是指利用DNS协议建立隐蔽通道,实现隐蔽数据传输的技术。DNS隧道流量即指通过上述DNS隐蔽通道传输的DNS数据流(报文)。攻击者通常会建立DNS隧道,然后通过DNS隧道进行DNS隧道流量传输,进而达到恶意攻击、窃取数据的目的。因此,通信过程中,对DNS隧道流量进行检测十分必要。
目前,进行DNS隧道流量检测的方法一般为:针对原始的待检测DNS流量数据,直接采用人工方式进行特征提取,再将提取到的特征输入至预先训练好的分类器中,从而得到检测结果,确定待检测DNS流量为DNS正常流量或DNS隧道流量。上述分类器是基于样本特征训练得到的,其中,样本特征是采用人工方式对样本DNS流量数据进行特征提取之后得到的。
上述方法中,采用人工方式提取特征,其准确性受人的主观因素影响较大,提取到的特征的准确性较低,因此,DNS隧道流量检测的准确性较低。
发明内容
本发明实施例的目的在于提供一种DNS隧道流量检测方法、装置及电子设备,以提高DNS隧道流量检测的准确性。具体技术方案如下:
第一方面,本发明实施例提供了一种DNS隧道流量检测方法,包括:
获取文本格式的待检测DNS流量数据;
将所述文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使所述神经网络模型对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于所述待检测特征向量,进行类别划分,得到检测结果;所述神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
进一步的,所述神经网络模型包含:特征提取子模型和分类器子模型;
所述将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型的步骤,包括:
将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型;
所述特征提取子模型,用于对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将所述待检测特征向量输入所述分类器子模型;
所述分类器子模型,用于对所述待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,所述类别为DNS隧道流量或者DNS正常流量。
进一步的,所述神经网络模型,采用如下方法训练获得:
获取多个DNS流量数据样本和样本真值;所述DNS流量数据样本的格式为文本格式;所述样本真值为所述DNS流量数据样本实际所属的类别;
将所述DNS流量数据样本输入所述神经网络模型中的特征提取子模型,以使所述特征提取子模型对所述DNS流量数据样本进行特征提取,得到样本特征向量,并将所述样本特征向量输入所述神经网络模型中的分类器子模型;以使所述分类器子模型对所述样本特征向量进行类别划分,并将划分得到的类别,作为样本检测结果并输出;
基于所述样本真值和所述样本检测结果,计算损失函数;
判断所述损失函数是否小于阈值;
若是,则结束训练,得到训练完成的神经网络模型;
若否,调整所述特征提取子模型和所述分类器子模型中的网络参数,继续下一次训练。
进一步的,所述特征提取子模型为长短期记忆LSTM网络,或者,门控制循环单元GRU网络;
所述LSTM网络或所述GRU网络,用于基于注意力机制,对所述文本格式的待检测DNS流量数据或所述DNS流量数据样本进行特征提取,得到所述待检测特征向量或样本特征向量。
进一步的,所述神经网络模型为字符级神经网络模型;
所述字符级神经网络模型中的特征提取子模型,包括:全连接层、至少一个卷积层以及至少一个最大池化层。
进一步的,所述获取文本格式的待检测DNS流量数据,包括:
获取PCAP格式的待检测DNS流量数据;
对所述PCAP格式的待检测DNS流量数据进行格式转换,得到文本格式的待检测DNS流量数据。
第二方面,本发明实施例提供了一种DNS隧道流量检测装置,包括:
获取模块,用于获取文本格式的待检测DNS流量数据;
检测结果得到模块,用于将所述文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使所述神经网络模型对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于所述待检测特征向量,进行类别划分,得到检测结果;所述神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
进一步的,所述神经网络模型包含:特征提取子模型和分类器子模型;
所述检测结果得到模块在执行所述将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型的步骤时,具体用于将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型;
所述特征提取子模型,用于对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将所述待检测特征向量输入所述分类器子模型;
所述分类器子模型,用于对所述待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,所述类别为DNS隧道流量或者DNS正常流量。
进一步的,所述装置,还包括:模型训练模块;
所述模型训练模块,用于:
获取多个DNS流量数据样本和样本真值;所述DNS流量数据样本的格式为文本格式;所述样本真值为所述DNS流量数据样本实际所属的类别;
将所述DNS流量数据样本输入所述神经网络模型中的特征提取子模型,以使所述特征提取子模型对所述DNS流量数据样本进行特征提取,得到样本特征向量,并将所述样本特征向量输入所述神经网络模型中的分类器子模型;以使所述分类器子模型对所述样本特征向量进行类别划分,并将划分得到的类别,作为样本检测结果并输出;
基于所述样本真值和所述样本检测结果,计算损失函数;
判断所述损失函数是否小于阈值;
若是,则结束训练,得到训练完成的神经网络模型;
若否,调整所述特征提取子模型和所述分类器子模型中的网络参数,继续下一次训练。
进一步的,所述特征提取子模型为长短期记忆LSTM网络,或者,门控制循环单元GRU网络;
所述LSTM网络或所述GRU网络,用于基于注意力机制,对所述文本格式的待检测DNS流量数据或所述DNS流量数据样本进行特征提取,得到所述待检测特征向量或样本特征向量。
进一步的,所述神经网络模型为字符级神经网络模型;
所述字符级神经网络模型中的特征提取子模型,包括:全连接层、至少一个卷积层以及至少一个最大池化层。
进一步的,所述获取模块,具体用于:
获取PCAP格式的待检测DNS流量数据;
对所述PCAP格式的待检测DNS流量数据进行格式转换,得到文本格式的待检测DNS流量数据。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一DNS隧道流量检测方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的DNS隧道流量检测方法。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的DNS隧道流量检测方法。
本发明实施例有益效果:
本发明实施例提供的DNS隧道流量检测方法、装置及电子设备,获取文本格式的待检测DNS流量数据;将所述文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使所述神经网络模型对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于所述待检测特征向量,进行类别划分,得到检测结果;所述神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
本发明实施例中,通过预先训练完成的神经网络模型对文本格式的待检测DNS流量数据自动进行特征提取,得到待检测特征向量,进而得到检测结果。由于执行特征提取操作的神经网络模型是基于大量的DNS流量数据样本和样本真值训练得到的,与人工提取特征的方式相比,提取到的特征向量的准确性较高。因此,基于提取到的准确率较高的特征向量,得到的检测结果的准确性也较高,即:提高了DNS隧道流量检测的准确性。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的DNS隧道流量检测方法的一种流程示意图;
图2为本发明实施例中神经网络模型的训练流程示意图;
图3为LSTM网络中重复模块的结构示意图;
图4为GRU网络中重复模块的结构示意图;
图5为本发明实施例提供的DNS隧道流量检测装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高DNS隧道流量检测的准确性,本发明实施例提供了一种DNS隧道流量检测方法、装置及电子设备。
参见图1,图1为本发明实施例提供的DNS隧道流量检测方法的一种流程示意图,具体包括如下步骤:
步骤101,获取文本格式的待检测DNS流量数据。
本步骤中的待检测DNS流量数据,可以包括如下至少一项:检测DNS流量的源IP地址;待检测DNS流量的目的IP地址;待检测DNS流量的源端口号;待检测DNS流量的目的端口号;待检测DNS流量的开始时间;待检测DNS流量的DNS请求内容信息。
其中,DNS请求内容信息可以包括:DNS响应码、DNS请求名称、DNS请求类型、DNS请求包和响应包时间间隔、DNS响应TTL(Time To Live,生存时间值)、DNS响应IPV4地址、DNS响应IPV6地址、DNS响应类型、DNS请求长度和DNS响应长度等信息。
进一步的,获取文本格式的待检测DNS流量数据的方式可以为:
获取PCAP格式的待检测DNS流量数据;
对PCAP格式的待检测DNS流量数据进行格式转换,得到文本格式的待检测DNS流量数据。
通常,我们获取到的待检测DNS流量数据格式为PCAP,对于这种格式的DNS流量数据是无法采用神经网络模型的方式进行检测的。因此,在进行流量检测之前,需要进行格式转换,将PCAP格式的待检测DNS流量数据转换为文本格式的待检测DNS流量数据。
步骤102,将文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使神经网络模型对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于待检测特征向量,进行类别划分,得到检测结果。
其中,神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
由上述的实施例可见,在本发明实施例中,通过预先训练完成的神经网络模型对文本格式的待检测DNS流量数据自动进行特征提取,得到待检测特征向量,进而得到检测结果。由于执行特征提取操作的神经网络模型是基于大量的DNS流量数据样本和样本真值训练得到的,与人工提取特征的方式相比,提取到的特征向量的准确性较高。因此,基于提取到的准确率较高的特征向量,得到的检测结果的准确性也较高,即:提高了DNS隧道流量检测的准确性。
进一步的,上述实施例中,神经网络模型可以包括:特征提取子模型和分类器子模型。
在步骤101中获取到文本格式的待检测DNS流量数据之后,可以将文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型。
特征提取子模型,用于对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将待检测特征向量输入分类器子模型;分类器子模型,用于对待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,类别为DNS隧道流量或者DNS正常流量。
参见图2,图2为本发明实施例中神经网络模型的训练流程示意图,具体包括如下步骤:
步骤201,获取多个DNS流量数据样本和样本真值。
其中,DNS流量数据样本的格式为文本格式;样本真值为DNS流量数据样本实际所属的类别,具体的,上述类别包括:DNS隧道流量或者DNS正常流量。
本步骤中获取的多个DNS流量数据样本中,既包括DNS隧道流量数据还包括DNS正常流量数据。为提高模型训练的准确度,可以将DNS隧道流量数据和DNS正常流量数据的数量设置为相等的值。获取DNS流量数据样本时,具体的,可以从ISP(Internet ServiceProvider,互联网服务提供商)DNS服务器收集DNS正常流量数据;采用隧道生成工具生成DNS隧道流量。
步骤202,将DNS流量数据样本输入神经网络模型中的特征提取子模型,以使特征提取子模型对DNS流量数据样本进行特征提取,得到样本特征向量,并将样本特征向量输入神经网络模型中的分类器子模型;以使分类器子模型对样本特征向量进行类别划分,并将划分得到的类别,作为样本检测结果并输出。
步骤203,基于样本真值和样本检测结果,计算损失函数。
步骤204,判断损失函数是否小于阈值。若是,则结束训练,得到训练完成的神经网络模型;若否,执行步骤205。
步骤205,调整特征提取子模型和分类器子模型中的网络参数,返回执行步骤步骤202。
进一步的,在步骤202中,特征提取子模型可以为长短期记忆LSTM网络,或者,门控制循环单元GRU网络;
LSTM网络或GRU网络,用于基于注意力机制,对文本格式的DNS流量数据样本进行特征提取,得到样本特征向量。
LSTM网络或GRU网络是特殊的循环神经网络,所有的循环神经网络都是由多个重复模块连接而成的网络模型。模型训练阶段,进行特征提取操作时,将文本格式的DNS流量数据样本输入LSTM网络或GRU网络的第一个重复模块中,经LSTM网络或GRU网络运算之后,从最后一个重复模块中输出初步样本特征向量。
参见图3,图3为LSTM网络中重复模块的结构示意图。在标准循环神经网络中,重复模块具有非常简单的结构,例如:只有单个tanh经网络层。而在LSTM网络中,重复模块结构较为复杂,共包含3个Sigmoid神经网络层和1个tanh神经网络层。该重复模块的处理过程为:
首先,通过第一个Sigmoid神经网络层决定从上一个重复模块的输出单元状态Ct-1中丢弃什么信息。该层会查看上一个,也就是第t-1个重复模块的输出值ht-1和当前重复模块的输入值xt,并为上一个重复模块的输出单元状态Ct-1中的每个数字输出一个0到1之间的参数值ft,其中,ft=1代表完全保留,ft=0代表彻底删除。
其次,决定在单元状态下要存储哪些新信息。具体包括两部分:首先,由第二个Sigmoid神经网络层决定待更新值it;之后,tanh神经网络层创建一个新的候选值向量以便于后续将该候选值向量添加到单元状态中。在确定了待更新值it以及候选值向量之后,可以通过公式得到当前重复模块的输出单元状态Ct。
最后,确定当前重复模块的输出值ht。首先,通过第三个sigmoid神经网络层,为输出单元状态Ct中的每个数字输出一个0到1之间的参数值ot,确定要输出单元状态Ct的哪个部分。与ft类似,ot=1代表完全保留,ot=0代表彻底删除;然后,将单元状态Ct通过tanh神经网络层并将其乘以第三个sigmoid门的输出ot,从而得到当前重复模块的输出值ht,即:ht=ot*tanh(Ct)。
参见图4,图4为GRU网络中重复模块的结构示意图。GRU网络是对LSTM网络重复模块的结构进行简单变换之后得到的,GRU网络中重复模块包含:2个Sigmoid神经网络层和1个tanh神经网络层。其中,ht-1为第t-1个重复模块的输出值;xt为当前重复模块的输入值;ht为当前重复模块的输出值。
具体的,当步骤202中的特征提取子模型为LSTM网络时,该LSTM网络可以包括两个子网络:编码器子网络和解码器子网络,其中,编码器子网络由多个重复模块-LSTM单元连接而成的,解码器子网络中包括单个LSTM单元。
LSTM网络,基于注意力机制对文本格式的DNS流量数据样本进行特征提取,得到样本特征向量的具体过程可以为:
首先对DNS流量数据样本进行分词预处理,并将DNS流量数据样本转换为数字向量,然后将该数字向量输入到编码器子网络的LSTM单元中,从而得到各LSTM单元的真实输出值(输出向量),针对解码器子网络中的单个LSTM单元,可以对其输出值进行随机初始化,得到初始化输出值,该初始化输出值的维度可以与上述真实输出值的维度相同。
分别将各真实输出值与上述初始化输出值进行点积运算,得到与各真实输出值对应的分数值,对上述分数值进行归一化处理,得到归一化后分数值。
分别计算各真实输出值与对应的归一化后分数值的乘积,得到多个对齐向量;之后对所有对齐向量求和,得到一个上下文向量;并将得到的该上下文向量输入解码器子网络中的单个LSTM单元,以使上述单个LSTM单元输出样本特征向量。
当步骤202中的特征提取子模型为GRU网络时,该GRU网络也可以包括两个子网络:编码器子网络和解码器子网络,其中,编码器子网络由多个重复模块-GRU单元连接而成的,解码器子网络中包括单个GRU单元。
GRU网络,基于注意力机制对文本格式的DNS流量数据样本进行特征提取,得到样本特征向量的具体过程可以为:
首先对DNS流量数据样本进行分词预处理,并将DNS流量数据样本转换为数字向量,然后将该数字向量输入到编码器子网络的GRU单元中,从而得到各GRU单元的真实输出值(输出向量),针对解码器子网络中的单个GRU单元,可以对其输出值进行随机初始化,得到初始化输出值,该初始化输出值的维度可以与上述真实输出值的维度相同。
分别将各真实输出值与上述初始化输出值进行点积运算,得到与各真实输出值对应的分数值,对上述分数值进行归一化处理,得到归一化后分数值。
分别计算各真实输出值与对应的归一化后分数值的乘积,得到多个对齐向量;之后对所有对齐向量求和,得到一个上下文向量;并将得到的该上下文向量输入解码器子网络中的单个GRU单元,以使上述单个GRU单元输出样本特征向量。
在本发明另一实施例中,神经网络模型可以为字符级神经网络模型,其中,特征提取子模型,包括:全连接层、至少一个卷积层以及至少一个最大池化层。卷积层用于初步特征提取;最大池化层用于对初步特征进行再次提取,即:对卷积层提取到的特征进行了压缩;全连接层连接所有压缩后的特征,并将其输出给分类器子模型。
其中,示例性的,特征提取子模型中可以包含9个网络层,依次为:第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、以及全连接层。
基于同一发明构思,根据本发明上述实施例提供的DNS隧道流量检测方法,相应地,本发明一个实施例还提供了一种DNS隧道流量检测装置,其结构示意图如图5所示,包括:
获取模块501,用于获取文本格式的待检测DNS流量数据;
检测结果得到模块502,用于将文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使神经网络模型对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于待检测特征向量,进行类别划分,得到检测结果;神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
进一步的,神经网络模型包含:特征提取子模型和分类器子模型;
检测结果得到模块502在执行将文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型的步骤时,具体用于将文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型;
特征提取子模型,用于对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将待检测特征向量输入分类器子模型;
分类器子模型,用于对待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,类别为DNS隧道流量或者DNS正常流量。
进一步的,装置还包括:模型训练模块;
模型训练模块,用于:
获取多个DNS流量数据样本和样本真值;DNS流量数据样本的格式为文本格式;样本真值为DNS流量数据样本实际所属的类别;
将DNS流量数据样本输入神经网络模型中的特征提取子模型,以使特征提取子模型对DNS流量数据样本进行特征提取,得到样本特征向量,并将样本特征向量输入神经网络模型中的分类器子模型;以使分类器子模型对样本特征向量进行类别划分,并将划分得到的类别,作为样本检测结果并输出;
基于样本真值和样本检测结果,计算损失函数;
判断损失函数是否小于阈值;
若是,则结束训练,得到训练完成的神经网络模型;
若否,调整特征提取子模型和分类器子模型中的网络参数,继续下一次训练。
进一步的,特征提取子模型为长短期记忆LSTM网络,或者,门控制循环单元GRU网络;
LSTM网络或GRU网络,用于基于注意力机制,对文本格式的待检测DNS流量数据或DNS流量数据样本进行特征提取,得到待检测特征向量或样本特征向量。
进一步的,神经网络模型为字符级神经网络模型;
字符级神经网络模型中的特征提取子模型,包括:全连接层、至少一个卷积层以及至少一个最大池化层。
进一步的,获取模块501,具体用于:
获取PCAP格式的待检测DNS流量数据;
对PCAP格式的待检测DNS流量数据进行格式转换,得到文本格式的待检测DNS流量数据。
在图3实施例中,通过预先训练完成的神经网络模型对文本格式的待检测DNS流量数据自动进行特征提取,得到待检测特征向量,进而得到检测结果。由于执行特征提取操作的神经网络模型是基于大量的DNS流量数据样本和样本真值训练得到的,与人工提取特征的方式相比,提取到的特征向量的准确性较高。因此,基于提取到的准确率较高的特征向量,得到的检测结果的准确性也较高,即:提高了DNS隧道流量检测的准确性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取文本格式的待检测DNS流量数据;
将文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使神经网络模型对文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于待检测特征向量,进行类别划分,得到检测结果;神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一DNS隧道流量检测方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一DNS隧道流量检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种DNS隧道流量检测方法,其特征在于,包括:
获取文本格式的待检测DNS流量数据;
将所述文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使所述神经网络模型对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于所述待检测特征向量,进行类别划分,得到检测结果;所述神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的;
所述神经网络模型包含:特征提取子模型和分类器子模型;
所述将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型的步骤,包括:
将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型;
所述特征提取子模型,用于对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将所述待检测特征向量输入所述分类器子模型;
所述分类器子模型,用于对所述待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,所述类别为DNS隧道流量或者DNS正常流量;
所述神经网络模型,采用如下方法训练获得:
获取多个DNS流量数据样本和样本真值;所述DNS流量数据样本的格式为文本格式;所述样本真值为所述DNS流量数据样本实际所属的类别;
将所述DNS流量数据样本输入所述神经网络模型中的特征提取子模型,以使所述特征提取子模型对所述DNS流量数据样本进行特征提取,得到样本特征向量,并将所述样本特征向量输入所述神经网络模型中的分类器子模型;以使所述分类器子模型对所述样本特征向量进行类别划分,并将划分得到的类别,作为样本检测结果并输出;
基于所述样本真值和所述样本检测结果,计算损失函数;
判断所述损失函数是否小于阈值;
若是,则结束训练,得到训练完成的神经网络模型;
若否,调整所述特征提取子模型和所述分类器子模型中的网络参数,继续下一次训练;
所述特征提取子模型为长短期记忆LSTM网络,或者,门控制循环单元GRU网络;
所述LSTM网络或所述GRU网络,用于基于注意力机制,对所述文本格式的待检测DNS流量数据或所述DNS流量数据样本进行特征提取,得到所述待检测特征向量或样本特征向量。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型为字符级神经网络模型;
所述字符级神经网络模型中的特征提取子模型,包括:全连接层、至少一个卷积层以及至少一个最大池化层。
3.根据权利要求1或2任一所述的方法,其特征在于,所述获取文本格式的待检测DNS流量数据,包括:
获取PCAP格式的待检测DNS流量数据;
对所述PCAP格式的待检测DNS流量数据进行格式转换,得到文本格式的待检测DNS流量数据。
4.一种DNS隧道流量检测装置,其特征在于,包括:
获取模块,用于获取文本格式的待检测DNS流量数据;
检测结果得到模块,用于将所述文本格式的待检测DNS流量数据输入预先基于训练完成的神经网络模型,以使所述神经网络模型对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量;并基于所述待检测特征向量,进行类别划分,得到检测结果;所述神经网络模型是基于多个DNS流量数据样本和样本真值训练得到的;
所述神经网络模型包含:特征提取子模型和分类器子模型;
所述检测结果得到模块在执行所述将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型的步骤时,具体用于将所述文本格式的待检测DNS流量数据输入预先训练完成的神经网络模型中的特征提取子模型;
所述特征提取子模型,用于对所述文本格式的待检测DNS流量数据进行特征提取,得到待检测特征向量,并将所述待检测特征向量输入所述分类器子模型;
所述分类器子模型,用于对所述待检测特征向量进行类别划分,并将划分得到的类别,作为检测结果并输出;其中,所述类别为DNS隧道流量或者DNS正常流量。
5.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667126.XA CN111835763B (zh) | 2020-07-13 | 2020-07-13 | 一种dns隧道流量检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667126.XA CN111835763B (zh) | 2020-07-13 | 2020-07-13 | 一种dns隧道流量检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835763A CN111835763A (zh) | 2020-10-27 |
CN111835763B true CN111835763B (zh) | 2022-03-04 |
Family
ID=72900887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010667126.XA Active CN111835763B (zh) | 2020-07-13 | 2020-07-13 | 一种dns隧道流量检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835763B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657428B (zh) * | 2021-06-30 | 2023-07-14 | 北京邮电大学 | 网络流量数据的抽取方法及装置 |
CN113438137B (zh) * | 2021-08-30 | 2021-11-30 | 南京信息工程大学 | 一种dns隧道内复杂协议行为识别方法 |
CN114615007B (zh) * | 2022-01-13 | 2023-05-23 | 中国科学院信息工程研究所 | 一种基于随机森林的隧道混合流量分类方法及系统 |
CN114567487B (zh) * | 2022-03-03 | 2024-08-06 | 北京亚鸿世纪科技发展有限公司 | 一种多特征融合的dns隐蔽隧道检测方法 |
CN115348188B (zh) * | 2022-10-18 | 2023-03-24 | 安徽华云安科技有限公司 | 一种dns隧道流量检测方法、装置、存储介质及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218124A (zh) * | 2017-07-06 | 2019-01-15 | 杨连群 | Dns隧道传输检测方法和装置 |
CN109639744A (zh) * | 2019-02-27 | 2019-04-16 | 深信服科技股份有限公司 | 一种dns隧道的检测方法及相关设备 |
CN110138787A (zh) * | 2019-05-20 | 2019-08-16 | 福州大学 | 一种基于混合神经网络的异常流量检测方法及系统 |
CN110572362A (zh) * | 2019-08-05 | 2019-12-13 | 北京邮电大学 | 针对多类不均衡异常流量的网络攻击检测方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794229B2 (en) * | 2015-04-03 | 2017-10-17 | Infoblox Inc. | Behavior analysis based DNS tunneling detection and classification framework for network security |
US10432651B2 (en) * | 2017-08-17 | 2019-10-01 | Zscaler, Inc. | Systems and methods to detect and monitor DNS tunneling |
CN110149418A (zh) * | 2018-12-12 | 2019-08-20 | 国网信息通信产业集团有限公司 | 一种基于深度学习的dns隐蔽隧道检测方法 |
CN110602100B (zh) * | 2019-09-16 | 2023-02-28 | 上海斗象信息科技有限公司 | Dns隧道流量的检测方法 |
CN111371806B (zh) * | 2020-03-18 | 2021-05-25 | 北京邮电大学 | 一种Web攻击检测方法及装置 |
-
2020
- 2020-07-13 CN CN202010667126.XA patent/CN111835763B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218124A (zh) * | 2017-07-06 | 2019-01-15 | 杨连群 | Dns隧道传输检测方法和装置 |
CN109639744A (zh) * | 2019-02-27 | 2019-04-16 | 深信服科技股份有限公司 | 一种dns隧道的检测方法及相关设备 |
CN110138787A (zh) * | 2019-05-20 | 2019-08-16 | 福州大学 | 一种基于混合神经网络的异常流量检测方法及系统 |
CN110572362A (zh) * | 2019-08-05 | 2019-12-13 | 北京邮电大学 | 针对多类不均衡异常流量的网络攻击检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于通信行为分析的DNS隧道木马检测方法;罗友强,刘胜利,颜猛,武东英;《浙江大学学报》;20170930;第51卷(第9期);1780-1787 * |
Also Published As
Publication number | Publication date |
---|---|
CN111835763A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835763B (zh) | 一种dns隧道流量检测方法、装置及电子设备 | |
CN112003870B (zh) | 一种基于深度学习的网络加密流量识别方法及装置 | |
CN112818257B (zh) | 基于图神经网络的账户检测方法、装置和设备 | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN109976995B (zh) | 用于测试的方法和装置 | |
CN112333706B (zh) | 物联网设备异常检测方法、装置、计算设备及存储介质 | |
CN111245667A (zh) | 网络业务识别方法及装置 | |
CN114726823B (zh) | 一种基于生成对抗网络的域名生成方法、装置和设备 | |
CN109698798B (zh) | 一种应用的识别方法、装置、服务器和存储介质 | |
CN116453023B (zh) | 5g富媒体信息的视频摘要系统、方法、电子设备及介质 | |
TW202016765A (zh) | 文本還原方法、裝置及電子設備 | |
CN110111311B (zh) | 一种图像质量评价方法和装置 | |
CN112839051B (zh) | 基于卷积神经网络的加密流量实时分类方法及装置 | |
CN112437022B (zh) | 网络流量识别方法、设备及计算机存储介质 | |
CN111291078B (zh) | 一种域名匹配检测方法及装置 | |
CN110929506A (zh) | 一种垃圾信息检测方法、装置、设备及可读存储介质 | |
CN117332409A (zh) | 一种针对图像分类模型的窃取攻击检测方法 | |
CN116112209A (zh) | 漏洞攻击流量检测方法及装置 | |
CN110738233B (zh) | 模型训练、数据分类方法、装置、电子设备及存储介质 | |
CN114979017A (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN112968906A (zh) | 一种基于多元组的Modbus TCP异常通讯检测方法和系统 | |
CN116383029B (zh) | 一种基于小程序的用户行为标签生成方法和装置 | |
CN115333802B (zh) | 一种基于神经网络的恶意程序检测方法和系统 | |
CN115150165B (zh) | 一种流量识别方法及装置 | |
CN113472654B (zh) | 一种网络流量数据转发方法、装置、设备及介质 |
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 |