CN113347210B - 一种dns隧道检测方法、装置及电子设备 - Google Patents

一种dns隧道检测方法、装置及电子设备 Download PDF

Info

Publication number
CN113347210B
CN113347210B CN202110883477.9A CN202110883477A CN113347210B CN 113347210 B CN113347210 B CN 113347210B CN 202110883477 A CN202110883477 A CN 202110883477A CN 113347210 B CN113347210 B CN 113347210B
Authority
CN
China
Prior art keywords
dns
domain name
traffic
normality
target
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
Application number
CN202110883477.9A
Other languages
English (en)
Other versions
CN113347210A (zh
Inventor
于海东
苏香艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Guancheng Technology Co ltd
Original Assignee
Beijing Guancheng Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Guancheng Technology Co ltd filed Critical Beijing Guancheng Technology Co ltd
Priority to CN202110883477.9A priority Critical patent/CN113347210B/zh
Publication of CN113347210A publication Critical patent/CN113347210A/zh
Application granted granted Critical
Publication of CN113347210B publication Critical patent/CN113347210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种DNS隧道检测方法、装置及电子设备,其中,该方法包括:获取待识别的目标DNS流量,从目标DNS流量中获取DNS特征并确定目标DNS流量的域名正常度;基于目标DNS流量的DNS特征及域名正常度,识别目标DNS流量是否为DNS隧道攻击流量。通过本发明实施例提供的DNS隧道检测方法、装置及电子设备,不仅从DNS流量中提取DNS特征作为识别DNS流量是否为DNS隧道攻击流量的判断依据,同时还获取了DNS流量的域名正常度,将该域名正常度也作为识别DNS流量是否为DNS隧道攻击流量的判断依据。该方法结合了DNS流量的DNS特征及域名正常度等多种不同的特征,可以更有效的识别出隐蔽的DNS隧道攻击流量,识别结果准确率更高,对于网络安全具有重大的意义。

Description

一种DNS隧道检测方法、装置及电子设备
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种DNS隧道检测方法、装置、电子设备及计算机可读存储介质。
背景技术
DNS(Domain Name System,域名系统)是网络中的一项核心服务,是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,因此网络中DNS流量通常不会被防火墙、入侵检测系统、安全软件等一般安全策略阻挡,使得基于DNS协议的隐蔽隧道的构建有了得天独厚的优势,攻击者利用这一特点使用DNS协议隐匿恶意行为,实现木马病毒的入侵、进行数据交互和命令控制。例如,使用DNS隧道进行文件外传、使用域名生成算法(DomainGenerate Algorithm,DGA)进行僵尸网络控制、以及一些新型木马利用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流量分为样本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隧道检测方法、装置、电子设备及计算机可读存储介质,不仅从DNS流量中提取DNS特征作为识别DNS流量是否为DNS隧道攻击流量的判断依据,同时还获取了DNS流量的域名正常度,用该域名正常度表示DNS流量的域名的正常程度,并将该域名正常度也作为识别DNS流量是否为DNS隧道攻击流量的判断依据。该方法结合了DNS流量的DNS特征及域名正常度等多种不同的特征,可以更有效的识别出隐蔽的DNS隧道攻击流量,识别结果准确率更高,对于网络安全具有重大的意义。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种DNS隧道检测方法的流程图;
图2a示出了本发明实施例所提供的DNS隧道检测方法中,训练得到深度学习分类模型的具体方法的流程图;
图2b示出了本发明实施例中深度学习分类模型的一种结构示意图;
图3示出了本发明实施例所提供的DNS隧道检测方法中,训练得到识别模型的具体方法的流程图;
图4示出了本发明实施例所提供的DNS隧道检测方法的一种详细流程图;
图5示出了本发明实施例所提供的一种DNS隧道检测装置的结构示意图;
图6示出了本发明实施例所提供的一种用于执行DNS隧道检测方法的电子设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种DNS隧道检测方法的流程图。如图1所示,该方法包括如下步骤101-102。
步骤101:获取待识别的目标DNS流量,从所述目标DNS流量中获取DNS特征,并确定所述目标DNS流量的域名正常度,所述域名正常度能够表示所述目标DNS流量的域名的正常程度。
其中,DNS(Domain Name System,域名解析系统)是互联网上的重要服务,是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,DNS在互联网通信中所传输的流量为DNS流量,DNS流量可以分为DNS隧道攻击流量和DNS正常流量。其中,DNS隧道攻击流量有别于DNS正常流量,是一种异常的DNS流量,例如,当攻击者在使用DNS隧道进行文件外传、使用DGA(Domain Generate Algorithm,域名生成算法)进行僵尸网络控制、使用DNS隧道作为远程控制新型木马时,通常会产生这种异常的DNS流量,即DNS隧道攻击流量。在需要识别某个DNS流量是否为DNS隧道攻击流量时,将该DNS流量作为目标DNS流量;在获取到待识别的目标DNS流量之后,即可从中提取或确定能够判断该目标DNS流量是否异常的特征,该特征可以包括DNS特征和域名正常度。
可选地,从上述目标DNS流量中获取DNS特征包括:获取目标DNS流量的会话特征及域名特征。
本实施例中,会话特征可以包括:回应次数、权威个数、请求长度、回应长度、回复类型、请求响应时间间隔等,具体而言,回应次数是DNS服务器响应DNS查询请求的次数;权威个数是DNS权威服务器的个数,权威服务器是域名的“源解析服务器”也是最权威的解析;请求长度是DNS请求报文的长度;回应长度是DNS服务器响应报文的长度;回复类型是DNS响应报文中的记录类型,常用的有A(Address,IP地址)记录、MX(Mail Exchanger,邮件交换)记录、CNAME(别名)记录、TXT记录(一般指为某个主机名或域名设置的说明)、AAAA(AAAArecord,用来将域名解析到IPv6地址)记录、NS(Name Server,域名服务器)记录;请求响应时间间隔是发送DNS请求报文与响应报文之间的时间间隔。其中,正常DNS查询域名,会话不会太频繁;而利用DNS隧道进行通信,因为要携带数据,从而会导致其流量(即DNS隧道攻击流量)回应次数过多、请求的域中权威个数不止一个、请求长度和回应长度太长,并且,回复类型更倾向于是可以携带数据的类型。
域名特征为与DNS流量的域名相关的特征,具体包括:域名总长度、域名中特殊字符个数、字母与数字的切换比例、查询与响应域名长度比等。对于目标DNS流量而言,其域名特征可以包括:目标DNS流量的域名的域名总长度、目标DNS流量的域名的域名中特殊字符个数、目标DNS流量的域名的字母与数字的切换比例、目标DNS流量的域名的查询与响应域名长度比等。
其中,域名总长度为域名中所有字符的长度;域名中的特殊字符可以是域名中除字母和数字之外的其他字符;域名特征中的字母与数字的切换比例表示DNS流量的域名的字符中出现相邻字符分别是字母和数字的出现次数与DNS流量的域名的总字符数的比例。其中,“相邻字符分别是字母和数字”指的是,相邻两个字符中,一个字符是字母,另一个字符是数字。
比如,获取到的DNS流量的域名为一串包含字母与数字的字符串:www.AAA.com/ab12cde3456fg7hi8,当该字符串中互为相邻的两个字符分别是一个数字和一个字母的情况共出现7次,即b1、2c、e3、6f、g7、7h、i8这七种情况,基于该种情况的出现次数与该域名的字符串的总字符数的比值(即例中7:29)能够得到该域名的字符串中字母与数字的切换比例。一般情况下,DNS隧道攻击流量的域名会采用复杂的命名方式,甚至随机命名,导致域名中的字母、数字交替出现,即DNS隧道攻击流量一般具有更大的字母与数字的切换比例,该字母与数字的切换比例也能够表示该域名异常的可能性。本发明实施例中,通过从DNS流量的会话特征及域名特征两个方面分别提取多种能够表示DNS流量属性及特点的数据,并引入了字母与数字的切换比例,为后续对DNS流量进行识别提供了丰富的依据。
此外,本发明实施例还基于域名正常度这一特征来判断DNS流量是否是DNS隧道攻击流量。该域名正常度能够表示所述目标DNS流量的域名的正常程度,一般情况下,域名越异常,其域名正常度越低。可选地,在确定目标DNS流量的域名正常度之前,可以预先构建能够判断域名是否正常的深度学习分类模型,之后基于该深度学习分类模型确定待识别的目标DNS流量的域名正常度。参见图2a所示,预先训练得到深度学习分类模型的过程可以包括以下步骤201-202。
步骤201:获取正常域名,并从预先得到的样本DNS隧道攻击流量中提取出异常域名。
本发明实施例中,由于DNS流量中包含域名,故可以将已经知道其异常的DNS隧道攻击流量作为样本DNS隧道攻击流量,该样本DNS隧道攻击流量的域名即可作为异常域名。在获取正常域名时,可以从Alexa排名(即网站的世界排名)前一百万中的域名里获取正常域名;或者,也可以获取已经知道其正常的DNS正常流量,将该流量作为样本DNS正常流量,从该样本DNS正常流量中提取出的域名也可以作为正常域名,本发明实施例对此不做限定。其中,该正常域名和异常域名均设有能够表示域名是否正常的标签;例如,正常域名的标签为“正常”或者“1”,异常域名的标签为“非正常”或者“0”等。
步骤202:根据所述正常域名和异常域名训练得到能够判断域名是否正常的所述深度学习分类模型。
本发明实施例中,采用深度学习的方法建立分类模型,即深度学习分类模型,将具有标签的正常域名及异常域名作为用于训练深度学习分类模型的样本集;之后,将上述具有标签的正常域名和异常域名输入至模型进行训练,从而得到该深度学习分类模型,该深度学习分类模型能够判断域名是否正常。其中,在该样本集中,正常域名的数量与异常域名的数量之间具有预设的比例关系,例如1:1,即二者的数量相等。本发明实施例中,在生成该样本集时,可以先确定正常域名的数量,之后再以该正常域名的数量为基准确定异常域名的数量,使得二者满足预设的比例关系。
可选地,该深度学习分类模型可以采用LSTM(Long Short-Term Memory,长短期记忆网络)结构。参见图2b所示,该深度学习分类模型包括:词嵌入层、长短期记忆网络层、丢弃层、全连接层以及输出层。
所述词嵌入层用于将输入的域名转换为能够用于神经网络运算的域名向量;例如,将输入的域名转换为可以用于神经网络运算的128维的域名向量。
所述长短期记忆网络层用于获取所述域名向量的时序性特征。其中,长短期记忆网络(LSTM)层是域名正常度计算的主要组成部分,通过该层的训练,让长短期记忆网络层能够自主学习到域名字符串之间的相关性。
所述丢弃层用于将所述长短期记忆网络层输出的所述时序性特征和/或部分权重按预设比例归零。例如,在训练过程中,丢弃层可以将长短期记忆网络层的部分权重或输出按一定比例归零,降低节点间的相互依赖和网络结构风险,从而有效的避免过拟合,本实施例中丢弃层的丢弃比例可以为0.5。
所述全连接层用于将所述丢弃层归零后输出的所述时序性特征进行综合处理,作为输入项输入至所述输出层。
所述输出层用于对所述全连接层处理后的所述输入项进行二分类判断,并输出所述域名是否正常的置信度。本实施例中,输出层可以选用sigmoid函数。
本发明实施例通过采用深度学习分类模型对域名的正常度进行判断,与传统的机器学习相比,能够得到更加准确地结果,即基于深度学习分类模型得到的域名正常度能够比较准确地表示相应域名的正常程度。基于长短期记忆网络层,使深度学习分类模型能够自主学习到域名的字符串之间的相关性,有效地避免过拟合,能够更准确地对输入数据进行判别,即判断域名是否正常,使得后续能够更加准确地判断目标DNS流量是否为DNS隧道攻击流量。
可选地,步骤101中“确定所述目标DNS流量的域名正常度”具体可以包括:将所述目标DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述目标DNS流量的域名正常的置信度,将所述目标DNS流量的域名正常的置信度确定为所述目标DNS流量的域名正常度。
其中,深度学习分类模型的输出结果包括“正常”的置信度、“非正常”的置信度中的至少一种,一般情况下包括“正常”的置信度,即域名是正常的置信度,该置信度能够表示域名正常(或者不正常)的概率值。当需要识别某个DNS流量是否为DNS隧道攻击流量时,将该DNS流量作为目标DNS流量,获取该目标DNS流量的域名,并将该目标DNS流量的域名输入至上述能够判断域名是否正常的深度学习分类模型,根据该深度学习分类模型的输出结果即可确定目标DNS流量的域名是正常域名的置信度,该置信度即可作为该目标DNS流量的域名正常度。
步骤102:基于所述目标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隧道攻击流量的识别模型,参见图3所示,训练得到该识别模型的过程包括以下步骤301-302。
步骤301:获取多个样本DNS流量,且所述样本DNS流量分为样本DNS隧道攻击流量和样本DNS正常流量。
本发明实施例中,将已知是否是DNS隧道攻击流量的DNS流量作为样本DNS流量;若该样本DNS流量是DNS隧道攻击流量,则该样本DNS流量称为样本DNS隧道攻击流量;否则,该样本DNS流量称为样本DNS正常流量。
步骤302:根据所述样本DNS流量的DNS特征及所述样本DNS流量的域名正常度训练得到能够确定DNS流量是否为DNS隧道攻击流量的识别模型,所述识别模型为机器学习模型。
其中,样本DNS流量与待识别的目标DNS流量均为DNS流量,二者可以采用相同的方式得到各自的DNS特征及域名正常度;例如,可以基于上述步骤101中所描述的获取目标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隧道攻击流量可以包括:将所述目标DNS流量的DNS特征及域名正常度输入至所述识别模型,基于所述识别模型的输出结果确定所述目标DNS流量是否为DNS隧道攻击流量。
其中,在获取到目标DNS流量的DNS特征及域名正常度之后,将该目标DNS流量的DNS特征及域名正常度输入至上述能够确定DNS流量是否为DNS隧道攻击流量的识别模型,根据该识别模型的输出结果即可确定目标DNS流量是否为DNS隧道攻击流量。
本发明实施例通过采用上述识别模型对DNS流量进行检测,可以在DNS流量数据量庞大的情况下快速且准确地检测出DNS隧道攻击流量,能够避免出现误报。
下面通过一个实施例详细介绍该DNS隧道检测方法流程。参见图4所示,该方法包括以下步骤401-408。
步骤401:获取样本DNS流量,该样本DNS流量包括样本DNS正常流量和样本DNS隧道攻击流量。
步骤402:根据正常域名和从样本DNS隧道攻击流量中提取的异常域名,训练得到能够判断域名是否正常的深度学习分类模型。
其中,可以基于上述步骤201-202中所描述的过程,通过正常域名及异常域名输入至预设模型进行训练,得到能够判断域名是否正常的深度学习分类模型,在此不做赘述。
步骤403:基于该深度学习分类模型,确定样本DNS流量的域名正常度。
步骤404:获取样本DNS流量的DNS特征,将样本DNS流量的DNS特征及样本DNS流量的域名正常度输入预设的机器学习模型进行训练,得到能够确定DNS流量是否为DNS隧道攻击流量的识别模型。
其中,可以基于上述“从上述目标DNS流量中获取DNS特征”部分中所描述的内容,采用同样的方式从样本DNS流量中获取DNS特征,在此不做赘述。
步骤405:获取目标DNS流量,从目标DNS流量中获取DNS特征。
步骤406:将目标DNS流量的域名输入能够判断域名是否正常的深度学习分类模型,确定目标DNS流量的域名正常度。
步骤407:将目标DNS流量的DNS特征及域名正常度输入该识别模型,判断该目标DNS流量是否为DNS隧道攻击流量。
步骤408:结束。
上文详细描述了本发明实施例提供的一种DNS隧道检测方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的一种DNS隧道检测装置。
图5示出了本发明实施例所提供的一种DNS隧道检测装置的结构示意图。如图5所示,该DNS隧道检测装置包括:获取模块51及识别模块52。
获取模块51用于获取待识别的目标DNS流量,从所述目标DNS流量中获取DNS特征,并确定所述目标DNS流量的域名正常度,所述域名正常度能够表示所述目标DNS流量的域名的正常程度。
识别模块52用于基于所述目标DNS流量的DNS特征及域名正常度,识别所述目标DNS流量是否为DNS隧道攻击流量。
可选地,获取模块51包括计算单元。
计算单元用于将所述目标DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述目标DNS流量的域名正常的置信度,将所述目标DNS流量的域名正常的置信度确定为所述目标DNS流量的域名正常度。
可选地,该装置还包括:提取模块和第一训练模块。
提取模块用于获取正常域名,并从预先得到的样本DNS隧道攻击流量中提取出异常域名。
第一训练模块用于根据所述正常域名和异常域名训练得到能够判断域名是否正常的所述深度学习分类模型。
可选地,该装置还包括:采集模块和第二训练模块。
在所述识别模块52基于所述目标DNS流量的DNS特征及域名正常度,识别所述目标DNS流量是否为DNS隧道攻击流量之前,采集模块用于获取多个样本DNS流量,且所述样本DNS流量分为样本DNS隧道攻击流量和样本DNS正常流量。第二训练模块用于根据所述样本DNS流量的DNS特征及所述样本DNS流量的域名正常度训练得到能够确定DNS流量是否为DNS隧道攻击流量的识别模型,所述识别模型为机器学习模型。
识别模块52识别所述目标DNS流量是否为DNS隧道攻击流量包括:用于将所述目标DNS流量的DNS特征及域名正常度输入至所述识别模型,基于所述识别模型的输出结果确定所述目标DNS流量是否为DNS隧道攻击流量。
可选地,该装置还包括:计算模块;所述计算模块用于将所述样本DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述样本DNS流量的域名正常的置信度,将所述样本DNS流量的域名正常的置信度确定为所述样本DNS流量的域名正常度。
可选地,深度学习分类模型包括词嵌入层、长短期记忆网络层、丢弃层、全连接层以及输出层。
词嵌入层用于将输入的域名转换为能够用于神经网络运算的域名向量。
长短期记忆网络层用于获取所述域名向量的时序性特征。
丢弃层用于将所述长短期记忆网络层输出的所述时序性特征和/或部分权重按预设比例归零。
全连接层用于将所述丢弃层归零后输出的所述时序性特征进行综合处理,作为输入项输入至所述输出层。
输出层用于对所述全连接层处理后的所述输入项进行二分类判断,并输出所述域名是否正常的置信度。
可选地,获取模块51中确定的DNS特征包括:会话特征及域名特征。
会话特征包括回应次数、权威个数、请求长度、回应长度、回复类型、请求响应时间间隔中的一种或多种,所述域名特征包括域名总长度、域名中特殊字符个数、字母与数字的切换比例、查询与响应域名长度比中的一种或多种。
字母与数字的切换比例为DNS流量的域名的字符中出现相邻字符分别是字母和数字的出现次数与DNS流量的域名的总字符数的比例。
本发明实施例提供的DNS隧道检测装置,不仅从DNS流量中提取DNS特征作为识别DNS流量是否为DNS隧道攻击流量的判断依据,同时还获取了DNS流量的域名正常度,用该域名正常度表示DNS流量的域名的正常程度,并将该域名正常度也作为识别DNS流量是否为DNS隧道攻击流量的判断依据。该方法结合了DNS流量的DNS特征及域名正常度等多种不同的特征,可以更有效的识别出隐蔽的DNS隧道攻击流量,识别结果准确率更高,对于网络安全具有重大的意义。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述DNS隧道检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图6所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述DNS隧道检测方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、外围部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)系统、码分多址(CDMA)系统、全球微波互联接入(WiMAX)系统、通用分组无线业务(GPRS)系统、宽带码分多址(WCDMA)系统、长期演进(LTE)系统、LTE频分双工(FDD)系统、LTE时分双工(TDD)系统、先进长期演进(LTE-A)系统、通用移动通信(UMTS)系统、增强移动宽带(Enhance Mobile Broadband,eMBB)系统、海量机器类通信(massive Machine Type of Communication,mMTC)系统、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)系统等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述DNS隧道检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种DNS隧道检测方法,其特征在于,包括:
获取待识别的目标DNS流量,从所述目标DNS流量中获取DNS特征,并确定所述目标DNS流量的域名正常度,所述域名正常度能够表示所述目标DNS流量的域名的正常程度;
基于所述目标DNS流量的DNS特征及域名正常度,识别所述目标DNS流量是否为DNS隧道攻击流量;
其中,所述确定所述目标DNS流量的域名正常度包括:
将所述目标DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述目标DNS流量的域名正常的置信度,将所述目标DNS流量的域名正常的置信度确定为所述目标DNS流量的域名正常度。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取正常域名,并从预先得到的样本DNS隧道攻击流量中提取出异常域名;
根据所述正常域名和异常域名训练得到能够判断域名是否正常的所述深度学习分类模型。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述目标DNS流量的DNS特征及域名正常度,识别所述目标DNS流量是否为DNS隧道攻击流量之前,还包括:
获取多个样本DNS流量,且所述样本DNS流量分为样本DNS隧道攻击流量和样本DNS正常流量;以及
根据所述样本DNS流量的DNS特征及所述样本DNS流量的域名正常度训练得到能够确定DNS流量是否为DNS隧道攻击流量的识别模型,所述识别模型为机器学习模型;
所述识别所述目标DNS流量是否为DNS隧道攻击流量包括:将所述目标DNS流量的DNS特征及域名正常度输入至所述识别模型,基于所述识别模型的输出结果确定所述目标DNS流量是否为DNS隧道攻击流量。
4.根据权利要求3所述的方法,其特征在于,还包括:
将所述样本DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述样本DNS流量的域名正常的置信度,将所述样本DNS流量的域名正常的置信度确定为所述样本DNS流量的域名正常度。
5.根据权利要求1、2或4所述的方法,其特征在于,所述深度学习分类模型包括:词嵌入层、长短期记忆网络层、丢弃层、全连接层以及输出层;
所述词嵌入层用于将输入的域名转换为能够用于神经网络运算的域名向量;
所述长短期记忆网络层用于获取所述域名向量的时序性特征;
所述丢弃层用于将所述长短期记忆网络层输出的所述时序性特征和/或部分权重按预设比例归零;
所述全连接层用于将所述丢弃层归零后输出的所述时序性特征进行综合处理,作为输入项输入至所述输出层;
所述输出层用于对所述全连接层处理后的所述输入项进行二分类判断,并输出所述域名是否正常的置信度。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述DNS特征包括:会话特征及域名特征;
所述会话特征包括回应次数、权威个数、请求长度、回应长度、回复类型、请求响应时间间隔中的一种或多种,所述域名特征包括域名总长度、域名中特殊字符个数、字母与数字的切换比例、查询与响应域名长度比中的一种或多种;
所述字母与数字的切换比例为DNS流量的域名的字符中出现相邻字符分别是字母和数字的出现次数与DNS流量的域名的总字符数的比例。
7.一种DNS隧道检测装置,其特征在于,包括:获取模块及识别模块;
所述获取模块用于获取待识别的目标DNS流量,从所述目标DNS流量中获取DNS特征,并确定所述目标DNS流量的域名正常度,所述域名正常度能够表示所述目标DNS流量的域名的正常程度;
所述识别模块用于基于所述目标DNS流量的DNS特征及域名正常度,识别所述目标DNS流量是否为DNS隧道攻击流量;
其中,所述获取模块包括:计算单元;
所述计算单元用于将所述目标DNS流量的域名输入至能够判断域名是否正常的深度学习分类模型,得到所述目标DNS流量的域名正常的置信度,将所述目标DNS流量的域名正常的置信度确定为所述目标DNS流量的域名正常度。
8.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的DNS隧道检测方法中的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的DNS隧道检测方法中的步骤。
CN202110883477.9A 2021-08-03 2021-08-03 一种dns隧道检测方法、装置及电子设备 Active CN113347210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110883477.9A CN113347210B (zh) 2021-08-03 2021-08-03 一种dns隧道检测方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110883477.9A CN113347210B (zh) 2021-08-03 2021-08-03 一种dns隧道检测方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113347210A CN113347210A (zh) 2021-09-03
CN113347210B true CN113347210B (zh) 2021-10-29

Family

ID=77480614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110883477.9A Active CN113347210B (zh) 2021-08-03 2021-08-03 一种dns隧道检测方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113347210B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839948B (zh) * 2021-09-26 2023-10-24 新华三信息安全技术有限公司 一种dns隧道流量检测方法、装置、电子设备和存储介质
CN114567487A (zh) * 2022-03-03 2022-05-31 北京亚鸿世纪科技发展有限公司 一种多特征融合的dns隐蔽隧道检测方法
CN114648069A (zh) * 2022-03-23 2022-06-21 三六零数字安全科技集团有限公司 域名检测方法和装置、设备及存储介质
CN115208625A (zh) * 2022-06-01 2022-10-18 阿里巴巴(中国)有限公司 数据处理方法以及装置
CN115086080B (zh) * 2022-08-03 2024-05-07 上海欣诺通信技术股份有限公司 一种基于流量特征的dns隐蔽隧道检测方法
CN115348188B (zh) * 2022-10-18 2023-03-24 安徽华云安科技有限公司 一种dns隧道流量检测方法、装置、存储介质及终端
CN116132154B (zh) * 2023-02-03 2023-06-30 北京六方云信息技术有限公司 Dns隧道流量检测系统的验证方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379377A (zh) * 2018-11-30 2019-02-22 极客信安(北京)科技有限公司 加密恶意流量检测方法、装置、电子设备及存储介质
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法
CN109391706A (zh) * 2018-11-07 2019-02-26 顺丰科技有限公司 基于深度学习的域名检测方法、装置、设备和存储介质
CN113114618A (zh) * 2021-03-02 2021-07-13 西安电子科技大学 一种基于流量分类识别的物联网设备入侵检测的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075458B2 (en) * 2016-04-29 2018-09-11 International Business Machines Corporation Cognitive and contextual detection of malicious DNS

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法
CN109391706A (zh) * 2018-11-07 2019-02-26 顺丰科技有限公司 基于深度学习的域名检测方法、装置、设备和存储介质
CN109379377A (zh) * 2018-11-30 2019-02-22 极客信安(北京)科技有限公司 加密恶意流量检测方法、装置、电子设备及存储介质
CN113114618A (zh) * 2021-03-02 2021-07-13 西安电子科技大学 一种基于流量分类识别的物联网设备入侵检测的方法

Also Published As

Publication number Publication date
CN113347210A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113347210B (zh) 一种dns隧道检测方法、装置及电子设备
CN109246064B (zh) 安全访问控制、网络访问规则的生成方法、装置及设备
CN110855661B (zh) 一种WebShell检测方法、装置、设备及介质
CN111866024B (zh) 一种网络加密流量识别方法及装置
US10594655B2 (en) Classifying locator generation kits
CN111371778B (zh) 攻击团伙的识别方法、装置、计算设备以及介质
EP3703329A1 (en) Webpage request identification
CN111224941A (zh) 一种威胁类型识别方法及装置
CN113472791A (zh) 一种攻击检测方法、装置、电子设备及可读存储介质
CN114629718A (zh) 一种基于多模型融合的隐匿恶意行为检测方法
CN113765846A (zh) 一种网络异常行为智能检测与响应方法、装置及电子设备
CN110958244A (zh) 一种基于深度学习的仿冒域名检测方法及装置
CN112583827A (zh) 一种数据泄露检测方法及装置
US11689550B2 (en) Methods and apparatus to analyze network traffic for malicious activity
CN110808997B (zh) 对服务器远程取证的方法、装置、电子设备、及存储介质
CN113691489A (zh) 一种恶意域名检测特征处理方法、装置和电子设备
CN112615713B (zh) 隐蔽信道的检测方法、装置、可读存储介质及电子设备
CN113329035B (zh) 一种攻击域名的检测方法、装置、电子设备及存储介质
US11038921B1 (en) Detecting malicious actors
CN110392064B (zh) 风险识别方法、装置、计算设备以及计算机可读存储介质
CN110868410A (zh) 获取网页木马连接密码的方法、装置、电子设备、及存储介质
CN116827562A (zh) 一种基于图数据结构识别攻击的方法、装置及电子设备
US11907658B2 (en) User-agent anomaly detection using sentence embedding
TWI689839B (zh) 偵測網址可疑程度的方法
US11916939B2 (en) Abnormal traffic detection method and abnormal traffic detection device

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