CN111756735A - 一种dns隧道流量检测方法及装置 - Google Patents
一种dns隧道流量检测方法及装置 Download PDFInfo
- Publication number
- CN111756735A CN111756735A CN202010585693.0A CN202010585693A CN111756735A CN 111756735 A CN111756735 A CN 111756735A CN 202010585693 A CN202010585693 A CN 202010585693A CN 111756735 A CN111756735 A CN 111756735A
- Authority
- CN
- China
- Prior art keywords
- flow
- detected
- dns
- value
- traffic
- 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.)
- Pending
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
-
- 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/16—Threshold monitoring
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种DNS隧道流量检测方法及装置,涉及网络安全技术领域。该DNS隧道流量检测方法包括:先对获取到的待检测流量进行特征提取处理,得到特征数据;然后根据特征数据计算待检测流量的信息度量值;判断信息度量值是否大于预先计算的信息度量阈值;如果大于,则确定该待检测流量为DNS隧道流量,进而实现对待检测流量进行快速检测,且不需要对待检测流量进行解析或者解密的处理,节省了计算时间,进而有利于提升检测效率。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种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隧道流量检测方法的流程示意图;
图2为本申请实施例二提供的一种DNS隧道流量检测方法的流程示意图;
图3为本申请实施例三提供的一种DNS隧道流量检测装置的结构示意图;
图4为本申请实施例三提供的另一种DNS隧道流量检测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供的一种DNS隧道流量检测方法的流程示意框图。该方法应用于DNS隧道流量检测的场景中。如图1所示,该DNS隧道流量检测方法包括:
S101、对获取到的待检测流量进行特征提取处理,得到特征数据。
本申请实施例中,DNS(Domain Name System),即域名系统服务协议,是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以及控制因特网的电子邮件的发送。
本申请实施例中,可以通过流量采集设备来获取待检测流量,对此本申请实施例不作限定。
本申请实施例中,待检测流量包括请求数据包的包长、与该请求数据包对应的响应数据包的包长、请求数据包与其相对应的响应数据包之间的时间间隔等,对此本申请实施例不作限定。
本申请实施例中,特征向量包括请求数据包的包长平均值、请求数据包的包长方差、与该请求数据包对应的响应数据包的包长平均值、该响应数据包的包长方差、请求数据包与该响应数据包之间时间间隔的平均值、该时间间隔的方差。
本申请实施例中,特征向量是基于请求数据包的包长、与该请求数据包对应的响应数据包的包长、请求数据包与其相对应的响应数据包之间的时间间隔进行计算得到的,因此无需对DNS协议进行解析,从而节省了计算时间;同样是由于无需对DNS协议进行解析,该方法对加密流量(如DNSSec)同样有效。
S102、根据特征数据计算待检测流量的信息度量值。
本申请实施例中,该信息度量值可以为互信息(Mutual Information,MI),互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
作为一种可选的实施方式,可以通过Python编程语言提供的函数来计算MI值。具体地,可以先根据特征数据通过Python编程语言提供的PCA的计算函数,计算待检测流量的PCA(principal components analysis,主成分分析技术)值,然后再根据PCA值通过Python编程语言提供的MI的计算函数,计算待检测流量的MI值。
在上述实施方式中,Python是一种跨平台的计算机程序设计语言,是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
S103、判断信息度量值是否大于预先计算的信息度量阈值,如果否,执行步骤S104;如果是,执行步骤S105。
S104、确定待检测流量为DNS隧道流量,结束本流程。
本申请实施例中,当DNS服务器收到攻击时,导致待检测流量中大多数流量数据具有独立性,且由于DNS隧道流量具有不连续性,从而导致较低的MI值。因此,当判断出信息度量值不大于预先计算的信息度量阈值MI值时,该待检测流量为DNS隧道流量。
作为一种可选的实施方式,当判断出信息度量值大于预先计算的信息度量阈值时,还可以包括以下步骤:
S105、确定待检测流量为DNS正常流量。
本申请实施例中,因为DNS正常流量在时间上具有连续性,则正常流量在时间上应该具有更高的相似性,从而导致较高的MI值。则当判断出信息度量值大于预先计算的信息度量阈值MI值时,则可以判断出该待检测流量为DNS正常流量。
本申请实施例中,该方法的执行主体可以为计算机、服务器、DNS流量检测设备等计算装置,对此本实施例中不作任何限定。
可见,实施图1所描述的DNS隧道流量检测方法,能够对待检测流量进行快速检测,且不需要对待检测流量进行解析或者解密,节省了计算时间,进而有利于提升检测效率。
实施例2
请参看图2,图2为本申请实施例提供的一种DNS隧道流量检测方法的流程示意框图。如图2所示,该DNS隧道流量检测方法包括:
S201、获取用于计算信息度量阈值的DNS正常流量和DNS隧道流量。
本申请实施例中,DNS正常流量包括相应的请求数据包的包长、与该请求数据包对应的响应数据包的包长、请求数据包与其相对应的响应数据包之间的时间间隔。同理,DNS隧道流量也包括相应的请求数据包的包长、与该请求数据包对应的响应数据包的包长、请求数据包与其相对应的响应数据包之间的时间间隔,对此本申请实施例不作限定。
本申请实施例中,特征向量包括请求数据包的包长平均值、请求数据包的包长方差、与该请求数据包对应的响应数据包的包长平均值、该响应数据包的包长方差、请求数据包与该响应数据包之间时间间隔的平均值、该时间间隔的方差。
作为一种可选的实施方式,获取用于计算信息度量阈值的DNS正常流量和DNS隧道流量,可以包括以下步骤:
通过流量采集设备在本地DNS服务器上收集DNS正常流量;
通过DNS隧道工具模拟生成DNS隧道流量。
在上述实施方式中,DNS隧道工具可以为iodine、dns2tcp等,对此本申请实施例不作限定。
S202、根据预设的混合比例,对DNS正常流量和DNS隧道流量进行混合处理,得到混合流量。
本申请实施例中,混合流量是在DNS正常流量中注入DNS隧道流量,预设的混合比例为DNS隧道流量与DNS正常流量的比值,具体可以为30%,50%等,对此本申请实施例不作限定。
S203、分别对DNS正常流量和混合流量进行特征提取处理,得到DNS正常流量的第一特征数据和混合流量的第二特征数据。
作为一种可选的实施方式,分别对DNS正常流量和混合流量进行特征提取处理,得到DNS正常流量的第一特征数据和混合流量的第二特征数据,可以包括以下步骤:
分别对DNS正常流量进行数据分组,得到正常流量分组,以及对混合流量进行数据分组,得到混合流量分组;
按照预设的特征数据计算规则计算正常流量分组的正常流量特征向量,以及按照特征数据计算规则计算混合流量分组的混合流量特征向量;
汇总所有正常流量特征向量得到DNS正常流量的第一特征数据,以及汇总所有混合流量特征向量得到混合流量的第二特征数据。
在步骤S203之后,还包括以下步骤:
S204、根据第一特征数据,计算DNS正常流量的第一信息度量值,以及根据第二特征数据,计算混合流量的第二信息度量值。
本申请实施例中,第一信息度量值可以为第一MI值,第二信息度量值可以为第二MI值。
作为一种可选的实施方式,对于第一MI值的计算,可以先根据第一特征数据通过Python编程语言提供的PCA的计算函数,计算第一PCA值,然后再根据PCA值通过Python编程语言提供的MI的计算函数,计算第一MI值。同理,可以通过Python编程语言提供的计算函数,计算混合流量的第二MI值。
其中,第一PCA值包括第一PCA1值和第一PCA2值,第二PCA值包括第二PCA1值和第二PCA2值。具体的,假设x表示第一特征数据中的第x条特征向量,则x+r表示x及其之后r条特征向量。其中,第一PCA1值=PCA1 [x,x+r],表示x及其之后r条特征向量的第一主成分的值,第一PCA2值=PCA2 [x,x+r],表示x及其之后r条特征向量的第二主成分的值。如果x+r>特征向量总数时,则从第一条特征向量开始重新选取(顺次选取,选取个数为x+r个),此时X=1。同理,第二PCA值包括的第二PCA1值和第二PCA2值,此处不再赘述。
在上述实施方式中,r为固定取值,可以预先设置,具体可以为500、100等,对此本申请实施例不作限定。
在步骤S204之后,还包括以下步骤:
S205、根据预设的阈值确定规则、第一信息度量值和第二信息度量值,确定信息度量阈值。
本申请实施例中,阈值确定规则为提前预设保存,具体可以为第一信息度量值和第二信息度量值的平均值、min(第一信息度量值,第二信息度量值)等,对此本申请实施例不作限定。举例来说,当阈值确定规则为min(第一信息度量值,第二信息度量值)时,若计算出第一信息度量值为3时,第二信息度量值为3.1时,则可以确定出信息度量阈值为3。
S206、对待检测流量进行数据分组,得到至少一组分组流量数据。
本申请实施例中,在实际使用中,可以按照每N条数据为一组的分组方式对待检测流量进行数据分组,其中N可以为1000、1500、2000等,对此本申请实施例不作限定。
S207、按照预设的特征数据计算规则计算每组分组流量数据的特征向量。
本申请实施例中,特征向量包括请求数据包的包长平均值、请求数据包的包长方差、与该请求数据包对应的响应数据包的包长平均值、该响应数据包的包长方差、请求数据包与该响应数据包之间时间间隔的平均值、该时间间隔的方差。
本申请实施例中,预设的特征数据计算规则包括包长平均值计算公式、包长方差计算公式、时间间隔的平均值计算公式以及时间间隔的方差计算公式等,对此本申请实施例不作限定。
本申请实施例中,特征向量是基于请求数据包的包长、与该请求数据包对应的响应数据包的包长、请求数据包与其相对应的响应数据包之间的时间间隔进行计算得到的,因此无需对DNS协议进行解析,从而节省了计算时间;同样是由于无需对DNS协议进行解析,该方法对加密流量(如DNSSec)同样有效。
在步骤S207之后,还包括以下步骤:
S208、汇总所有特征向量得到待检测流量的特征数据。
本申请实施例中,每个分组流量对应一个特征向量,假如一共有M组分组流量数据,则该待检测流量的特征数据包括M个特征向量。
本申请实施例中,实施上述步骤S206~步骤S208,能够对获取到的待检测流量进行特征提取处理,得到特征数据。
S209、根据特征数据计算待检测流量的主成分分析值。
本申请实施例中,主成分分析值即为PCA值。PCA(principal componentsanalysis)即主成分分析技术,又称主分量分析。主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。在统计学中,主成分分析PCA是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用于减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。
作为一种可选的实施方式,可以根据特征数据通过Python编程语言提供的PCA的计算函数,计算待检测流量的PCA值。
作为另一种可选的实施方式,设有待检测流量有M条特征向量,特征向量为n维,将该M条特征向量作为自变量,得到自变量矩阵X;则计算待检测流量的PCA值可以包括以下步骤:
对自变量X进行标准化处理,得到标准化X;
求标准化X的特征协方差矩阵C;
求特征协方差矩阵C的特征值和特征向量;
将特征值按照从大到小的顺序排序,选择其中最大的k个特征值作为目标特征值;
将k个目标特征值对应的k个特征向量作为列向量组成特征向量矩阵A;
通过公式Y=AT*X对特征向量矩阵A进行降维处理,得到降维矩阵Y;
根据降维矩阵Y确定自变量X的PCA值。
其中,Y为降维矩阵,A为特征向量矩阵,X为自变量矩阵。
在上述实施方式中,对特征向量矩阵A进行降维处理,得到降维矩阵Y,即将M维自变量矩阵X变成了k维,这k维就是自变量矩阵X在k维上的投影。
本申请实施例中,PCA值包括PCA1值和PCA2值。
在步骤S209之后,还包括以下步骤:
S210、根据主成分分析值计算待检测流量的互信息值,互信息值为待检测流量的信息度量值。
本申请实施例中,互信息(Mutual Information)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
作为一种可选的实施方式,可以根据PCA值通过Python编程语言提供的MI的计算函数,计算待检测流量的MI值。
作为另一种可选的实施方式,可以通过以下公式计算待检测流量的互信息值:
其中,I(X,Y)为待检测流量的互信息值,X为PCA1值,Y为PCA2值,p(x)表示PCA1[x]发生的概率,p(y)表示PCA2[x]发生的概率,p(x,y)表示联合概率分布。
本申请实施例中,实施上述步骤S209~步骤S210,能够根据特征数据计算待检测流量的信息度量值。
在步骤S210之后,还包括以下步骤:
S211、判断信息度量值是否大于预先计算的信息度量阈值,如果否,执行步骤S212;如果是,执行步骤S213。
S212、确定待检测流量为DNS隧道流量,结束本流程。
作为一种可选的实施方式,在判断出信息度量值是不大于信息度量阈值时,还包括以下步骤:
S213、确定待检测流量为DNS正常流量。
可见,实施图2所描述的DNS隧道流量检测方法,能够对待检测流量进行快速检测,且不需要对待检测流量进行解析或者解密,节省了计算时间,进而有利于提升检测效率。
实施例3
请参看图3,图3为本申请实施例提供的一种DNS隧道流量检测装置的结构示意框图。如图3所示,该DNS隧道流量检测装置包括:
第一提取模块310,用于对获取到的待检测流量进行特征提取处理,得到特征数据;
第一计算模块320,用于根据特征数据计算待检测流量的信息度量值;
判断模块330,用于判断信息度量值是否大于预先计算的信息度量阈值;
确定模块340,用于当判断出信息度量值大于信息度量阈值时,确定待检测流量为DNS隧道流量。
请一并参阅图4,图4是本申请实施例提供的另一种DNS隧道流量检测装置的结构示意框图。其中,图4所示的DNS隧道流量检测装置是由图3所示的DNS隧道流量检测装置进行优化得到的。如图4所示,第一提取模块310,包括:
第一子模块311,用于对待检测流量进行数据分组,得到至少一组分组流量数据。
第二子模块312,用于按照预设的特征数据计算规则计算每组分组流量数据的特征向量;以及汇总所有特征向量得到待检测流量的特征数据。
作为一种可选的实施方式,第一计算模块320包括:
第三子模块321,用于根据特征数据计算待检测流量的主成分分析值;
第四子模块322,用于根据主成分分析值计算待检测流量的互信息值,互信息值为待检测流量的信息度量值。
作为一种可选的实施方式,该DNS隧道流量检测装置还包括:
流量获取模块350,用于在对获取到的待检测流量进行特征提取处理,得到特征数据之前,获取用于计算信息度量阈值的DNS正常流量和DNS隧道流量;以及根据预设的混合比例,对DNS正常流量和DNS隧道流量进行混合处理,得到混合流量。
第二提取模块360,用于分别对DNS正常流量和混合流量进行特征提取处理,得到DNS正常流量的第一特征数据和混合流量的第二特征数据;
第二计算模块370,用于根据第一特征数据,计算DNS正常流量的第一信息度量值,以及根据第二特征数据,计算混合流量的第二信息度量值;
阈值确定模块380,用于根据预设的阈值确定规则、第一信息度量值和第二信息度量值,确定信息度量阈值。
作为一种可选的实施方式,流量获取模块350包括:
第五子模块351,用于通过流量采集设备在本地DNS服务器上收集DNS正常流量;
第六子模块352,用于通过DNS隧道工具模拟生成DNS隧道流量。
可见,实施本实施例所描述的DNS隧道流量检测装置,能够对待检测流量进行快速检测,且不需要对待检测流量进行解析或者解密,节省了计算时间,进而有利于提升检测效率。
此外,本发明还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器可用于存储计算机程序,处理器通过运行计算机程序,从而使该计算机设备执行上述方法或者上述DNS隧道流量检测方法中的各个模块的功能。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本实施例还提供了一种计算机存储介质,用于储存上述计算机设备中使用的计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种DNS隧道流量检测方法,其特征在于,包括:
对获取到的待检测流量进行特征提取处理,得到特征数据;
根据所述特征数据计算所述待检测流量的信息度量值;
判断所述信息度量值是否大于预先计算的信息度量阈值;
如果不大于,则确定所述待检测流量为DNS隧道流量。
2.根据权利要求1所述的DNS隧道流量检测方法,其特征在于,所述对获取到的待检测流量进行特征提取处理,得到特征数据,包括:
对所述待检测流量进行数据分组,得到至少一组分组流量数据;
按照预设的特征数据计算规则计算每组所述分组流量数据的特征向量;
汇总所有特征向量得到所述待检测流量的特征数据。
3.根据权利要求1所述的DNS隧道流量检测方法,其特征在于,所述根据所述特征数据计算所述待检测流量的信息度量值,包括:
根据所述特征数据计算所述待检测流量的主成分分析值;
根据所述主成分分析值计算所述待检测流量的互信息值,所述互信息值为所述待检测流量的信息度量值。
4.根据权利要求1所述的DNS隧道流量检测方法,其特征在于,在所述对获取到的待检测流量进行特征提取处理,得到特征数据之前,所述方法还包括:
获取用于计算信息度量阈值的DNS正常流量和DNS隧道流量;
根据预设的混合比例,对所述DNS正常流量和DNS隧道流量进行混合处理,得到混合流量;
分别对所述DNS正常流量和所述混合流量进行特征提取处理,得到所述DNS正常流量的第一特征数据和所述混合流量的第二特征数据;
根据所述第一特征数据,计算所述DNS正常流量的第一信息度量值,以及根据所述第二特征数据,计算所述混合流量的第二信息度量值;
根据预设的阈值确定规则、所述第一信息度量值和所述第二信息度量值,确定信息度量阈值。
5.根据权利要求4所述的DNS隧道流量检测方法,其特征在于,所述获取用于计算信息度量阈值的DNS正常流量和DNS隧道流量,包括:
通过流量采集设备在本地DNS服务器上收集DNS正常流量;
通过DNS隧道工具模拟生成DNS隧道流量。
6.一种DNS隧道流量检测装置,其特征在于,包括:
第一提取模块,用于对获取到的待检测流量进行特征提取处理,得到特征数据;
第一计算模块,用于根据所述特征数据计算所述待检测流量的信息度量值;
判断模块,用于判断所述信息度量值是否大于预先计算的信息度量阈值;
确定模块,用于当判断出所述信息度量值大于所述信息度量阈值时,确定所述待检测流量为DNS隧道流量。
7.根据权利要求6所述的DNS隧道流量检测装置,其特征在于,所述第一提取模块,包括:
第一子模块,用于对所述待检测流量进行数据分组,得到至少一组分组流量数据;
第二子模块,用于按照预设的特征数据计算规则计算每组所述分组流量数据的特征向量;以及汇总所有特征向量得到所述待检测流量的特征数据。
8.根据权利要求6所述的DNS隧道流量检测装置,其特征在于,所述第一计算模块,包括:
第三子模块,用于根据所述特征数据计算所述待检测流量的主成分分析值;
第四子模块,用于根据所述主成分分析值计算所述待检测流量的互信息值,所述互信息值为所述待检测流量的信息度量值。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行权利要求1至5中任一项所述的DNS隧道流量检测方法。
10.一种计算机可读存储介质,其特征在于,其存储有用于实现权利要求1至5中任一项所述的DNS隧道流量检测方法时所使用的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585693.0A CN111756735A (zh) | 2020-06-23 | 2020-06-23 | 一种dns隧道流量检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585693.0A CN111756735A (zh) | 2020-06-23 | 2020-06-23 | 一种dns隧道流量检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111756735A true CN111756735A (zh) | 2020-10-09 |
Family
ID=72676951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010585693.0A Pending CN111756735A (zh) | 2020-06-23 | 2020-06-23 | 一种dns隧道流量检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756735A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565259A (zh) * | 2020-12-04 | 2021-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 过滤dns隧道木马通信数据的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063162A1 (en) * | 2016-08-25 | 2018-03-01 | International Business Machines Corporation | Dns tunneling prevention |
CN109218461A (zh) * | 2018-08-09 | 2019-01-15 | 北京奇安信科技有限公司 | 一种检测隧道域名的方法及装置 |
CN109474575A (zh) * | 2018-09-11 | 2019-03-15 | 北京奇安信科技有限公司 | 一种dns隧道的检测方法及装置 |
CN110602100A (zh) * | 2019-09-16 | 2019-12-20 | 上海斗象信息科技有限公司 | Dns隧道流量的检测方法 |
CN110958241A (zh) * | 2019-11-27 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 网络数据检测方法、装置、计算机设备以及存储介质 |
-
2020
- 2020-06-23 CN CN202010585693.0A patent/CN111756735A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063162A1 (en) * | 2016-08-25 | 2018-03-01 | International Business Machines Corporation | Dns tunneling prevention |
CN109218461A (zh) * | 2018-08-09 | 2019-01-15 | 北京奇安信科技有限公司 | 一种检测隧道域名的方法及装置 |
CN109474575A (zh) * | 2018-09-11 | 2019-03-15 | 北京奇安信科技有限公司 | 一种dns隧道的检测方法及装置 |
CN110602100A (zh) * | 2019-09-16 | 2019-12-20 | 上海斗象信息科技有限公司 | Dns隧道流量的检测方法 |
CN110958241A (zh) * | 2019-11-27 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 网络数据检测方法、装置、计算机设备以及存储介质 |
Non-Patent Citations (2)
Title |
---|
MAURIZIO AIELLO等: "Profiling DNS tunneling attacks with PCA and mutual information", 《LOGIC JOURNAL OF IGPL》 * |
单康康等: "基于混合分类算法模型的DNS隧道检测", 《通信学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565259A (zh) * | 2020-12-04 | 2021-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 过滤dns隧道木马通信数据的方法及装置 |
CN112565259B (zh) * | 2020-12-04 | 2022-10-28 | 互联网域名系统北京市工程研究中心有限公司 | 过滤dns隧道木马通信数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ronen et al. | Microsoft malware classification challenge | |
US11188650B2 (en) | Detection of malware using feature hashing | |
Baldwin et al. | Leveraging support vector machine for opcode density based detection of crypto-ransomware | |
CN110351280B (zh) | 一种威胁情报提取的方法、系统、设备及可读存储介质 | |
US11470097B2 (en) | Profile generation device, attack detection device, profile generation method, and profile generation computer program | |
CN110034921B (zh) | 基于带权模糊hash的webshell检测方法 | |
EP2284752B1 (en) | Intrusion detection systems and methods | |
CN114003903B (zh) | 一种网络攻击追踪溯源方法及装置 | |
US20170063892A1 (en) | Robust representation of network traffic for detecting malware variations | |
Zhao et al. | A feature extraction method of hybrid gram for malicious behavior based on machine learning | |
CN105224600A (zh) | 一种样本相似度的检测方法及装置 | |
CN106709336A (zh) | 识别恶意软件的方法和装置 | |
CN111159413A (zh) | 日志聚类方法、装置、设备及存储介质 | |
CN111404949A (zh) | 一种流量检测方法、装置、设备及存储介质 | |
CN106845217B (zh) | 一种安卓应用恶意行为的检测方法 | |
CN114785567A (zh) | 一种流量识别方法、装置、设备及介质 | |
CN111756735A (zh) | 一种dns隧道流量检测方法及装置 | |
CN112839055A (zh) | 面向tls加密流量的网络应用识别方法及装置 | |
CN111368128A (zh) | 目标图片的识别方法、装置和计算机可读存储介质 | |
CN109241706B (zh) | 基于静态胎记的软件抄袭检测方法 | |
JP7031438B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN110826062A (zh) | 恶意软件的检测方法及装置 | |
CN108573148B (zh) | 一种基于词法分析的混淆加密脚本识别方法 | |
EP3848822B1 (en) | Data classification device, data classification method, and data classification program | |
CN110197066B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201009 |