基于流量切片的DNS隐蔽通道检测
2023-10-17刘阳洋阮树骅曾雪梅
刘阳洋 阮树骅 曾雪梅
摘 要:针对DNS隐蔽信道(DCC)流量变形策略对现有检测方法的绕过性问题,提出了一种基于流量切片的DCC检测方法。该方法首先将实验环境出口流量基于滑动窗口分批,再基于主机端聚合形成流量切片,每个切片包含一个较短时间跨度中归属同一主机的DNS报文与Web报文,再对切片内DNS报文的数据量、请求行为、响应行为以及与Web报文的关联行为实施面向DCC检测的特征工程,并在此基础上建立DCC检测模型。对比实验表明,所构建的DCC检测模型在常规DCC流量切片集上检测准确性达到99.83%,误报率仅0.08%,在6类不同流量变形策略的变形DCC流量切片集上有平均95%以上的检出能力,远优于其他检测方案,证明了所提出的方法应对DCC流量变形的有效性。同时,该方法能在主机单个流量切片上对DCC通信作出有效检测,是一种具有良好实时性的检测方法。
关键词:DNS隐蔽通道;流量变形;主机流量切片;行为分析
中图分类号:TP309 文献标志码:A 文章编号:1001-3695(2023)10-039-3138-06
doi:10.19734/j.issn.1001-3695.2023.02.0040
DNS covert channel detection based on traffic slice
Liu Yangyanga,b,Ruan Shuhuaa,b,Zeng Xuemeib
(a.School of Cyber Science & Engineering,b.Cyber Science Research Institute,Sichuan University,Chengdu 610065,China)
Abstract:In order to solve the problem of bypassing detection methods for DNS covert channel(DCC) traffic deformation strategies,this paper proposed a DCC detection method based on traffic slice.In this method,the traffic of the experimental environment was firstly divided into batches based on the sliding window,and then obtained the traffic slice based on the aggregation of each host-end IP.Each slice contains DNS packets and Web packets belonging to the same host in a short time span.Then,for the DNS data volume,DNS request behavior,DNS response behavior,and association behavior correlation behavior with WEB of DNS in the slice,it implement DCC-detection-oriented feature engineering and create detection models on this basis.Comparative experiments show that the detection accuracy of the constructed DCC detection model on the conventional DCC traffic datasets is 99.83%,and the false positive rate is only 0.08%.On the deformed DCC traffic datasets with six types of different traffic deformation strategies,the detection ability of the DCC detection model is more than 95% on average,which is better than the other detection schemes.It proves that the proposed method is effective in dealing with DCC traffic deformation.Moreover,the proposed method,which can effectively detect DCC communication within a single traffic slice,is a detection method with good real-time performance.
Key words:DNS covert channel;traffic deformation;host traffic slice;behavior analysis
0 引言
DNS隱蔽通道(DCC)[1]作为一种隐匿C&C通信与数据窃取行为的隧道技术被广泛集成于各种攻击软件,活跃在网络安全事件中。2019年Lab Dookhtegan在Telegram上曝光的APT34组织的攻击数据包中发现了利用异常长域名传输数据的DNS报文;2021年PYSA勒索团伙将DCC集成到远程访问木马程序ChaChi中用于数据窃取;2022年Malwarebytes披露出一款针对约旦政府的恶意软件Saitama,其将DCC作为唯一控制命令传输通道,DCC严重危害网络安全。
流量异常检测是目前公认最有效的DCC检测手段,根据防御方在检测中关注的异常点不同,可将目前的DCC检测方法分为基于报文内容分析的DCC检测、基于流行为分析的DCC检测和基于域行为分析的DCC检测三类。
基于报文内容分析的DCC检测方法[2~10],依据DCC报文与正常DNS报文在内容表现上存在的差异性进行检测。Ahmed等人[2]认为DCC报文会在全限定域名FQDN表现出明显差异,提取了字符数、域名级数、各级域名熵等6维特征用于检测DCC。Born等人[7]认为DCC报文的请求域名不符合zipf定律,通过分析域的unigram、bigram和trigram字符频率来进行DCC的检测。Preston[8]提取子域长度、信息熵、字符串平均相似度等内容特征进行DCC检测。文献[9,10]将DNS报文中的字节序列转码为高维的字节级特征,结合深度学习算法进行DCC检测,本质上仍然是基于DNS报文内容的异常检测。
基于流行为分析的DCC检测方法[11~16],将DNS报文以五元组进行流聚合,依据DCC流与正常DNS流在通信行为表现上存在的差异性进行检测。Ellens等人[11]提出DCC会维持通信流并持续传输数据,提取DNS流持续时间、通信包数等特征,通过设立阈值的方式进行DCC流的判断。Jiang等人[15]提出一种流级和包级特征结合分析的方法,提取持续时间、请求域名信息熵等13维特征来识别DCC。Bai等人[13]在DNS流还原前提下,利用时间bin切分流片段,分析包间隔时间的均值、方差、偏斜、峰度、百分位数等指标,用三种机器学习算法将DCC流进行细分识别。
基于域行为分析的DCC检测方法[17~21],是针对中继模式[22]的DCC。中继DCC服务端通常伪装为权威域名服务器加入DNS系统,运行时需要借助域来实现DCC报文的转发定向,会产生较多针对同一个域的非重复子域名查询报文。因此,此类DCC检测方法先将网络中的DNS报文基于二级域名进行聚合,再进行域行为异常分析。如Nadler等人[17]针对每个域的所有请求报文提取字符熵、唯一查询比率、非IP查询类型率等6维特征来识别DCC。Liu等人[18]提取唯一子域名个数、子域名熵值、查询类型为A/AAAA类型的比例等7维特征来区分识别DCC。Chen等人[21]设计了一种两级结构,先将FQDN子域的字节序列作为LSTM算法的输入进行一级DCC检测,再基于域分组来进行二级DCC识别。
然而,随着攻击的组织化,DCC攻击方越来越注重攻击的隐蔽性,各种流量变形策略用于进一步伪装DCC流量,从而绕过相关的检测模型。例如:针对报文内容层面,攻击者常采用的流量变形策略有编码方式变化、数据包长度限制、设置更具迷惑性的域名结构等;针对流行为层面,攻击者改变了早期DCC单五元组会话的通信方式,采用多个流进行数据传输;针对域行为层面,攻击者可基于多个域构建隧道,分担需要传输的数据,或采用直连DCC通信模式,FQDN就不会受到域名结构的限制。这些流量变形策略使得攻击者可以绕过现行的检测方法。
为了应对DCC绕过性问题,本文对当前DCC流量变形策略进行了分析,发现如下流量行为关系:a)不论如何改变报文内容与会话方式,DCC运行就会有相当量的DNS报文;b)DCC产生的DNS流量,没有后续的HTTP或TLS会话流量,与正常网络行为有较大差异;c)以上两种行为具有瞬时性。由此,本文提出了一种基于流量切片的DCC检测方法,在对DCC变形策略充分分析的基础上,综合分析主机流量切片中的DNS的数据量行为、请求行为、响应行为以及与Web流量关联行为来进行DCC行为识别。实验表明,相较于三类应用较广的DCC检测方法,本文方法在6类变形DCC数据集上均具备极好的检测能力,在应对DCC流量变形表现上远优于其他检测方法,并具有良好的实时性。
1 DCC變形策略
为了更好地认识DCC可采取的流量变形策略,本文对目前应用较多的DCC软件进行了分析,包括DET[23]、Dns-cat2[24]、Iodine[25]、dns2tcp[26]、TCP-over-DNS[27]、dnsShell[28]、DNSExfiltrator[29]、DNSlivery[30]、goDoH-raw[31]。目前DCC流量变形主要分为报文内容层面的流量变形和DCC通信行为层面的流量变形。攻击者在报文内容上的变形策略主要体现在:
a)选用不同类型的请求/响应报文来构建隧道,将数据编码在A、NULL、TXT、MX、AAAA等类型的DNS报文中。不同类型的DNS报文承载了不同的功能性,在结构和内容表现上有更大的自由度。
b)调整DCC的编码方式,常见的有base32、base64,而iodine还可选择base64u、base128编码方式,tcp-over-dns还可选择hexhack37以及base16编码方式。不同的编码方式下,数据包大小写字符频率、数字占比、长度特征指标会发生变化。
c)限制DCC报文携带信息的容量,使得DCC报文的长度、域名长度处于常见DNS数据包长度范围。
d)个性化编辑策略差异,如构建的DCC报文的域名级数、外传数据的加密方式、响应报文的资源结构等。
攻击者在通信行为上的变形策略主要体现在:
a)流行为的变形,早期DCC通道如TCP-over-DNS、Dns-cat2、Iodine会维持单个五元组会话流来进行数据传输,使得DCC流表现出明显的流特征异常。然而改良之后的DCC通道能够采用多五元组会话的方式进行数据传输,使得DCC流表现出类似于正常DNS流的行为。
b)域行为的变形,直连模式DCC,无须借助DNS转发机制,只要正常的路由转发实现通信,其产生的DNS报文编码时不必设置相同的二级域名,这会使得基于域行为的检测方式失效。同时,攻击者可以利用多域来分担传输数据,这也使得单个域的DCC行为表现正常。
2 检测方法
根据第1章分析,当前DCC报文的内容与行为的表现可随着攻击者调整变形策略而发生变化。对目前应用较广的三类DCC检测方法,均存在针对性的变形策略,使得相应的DCC检测机制失效。为了应对DCC流量变形策略,本文进行了如下考虑:a)DCC运行时,虽然可以作出内容与行为的流量变形,但会有相当量的DNS协议流量产生,以传递数据,这种流量行为异于正常的DNS网络访问;b)目前DCC变形策略只涉及到DNS流量,然而DNS协议并不是单独工作的协议,在正常的DNS网络访问中,域名解析之后通常建立HTTP或TLS会话,而DCC的DNS流量会缺失这种行为;c)考虑前两点的时间瞬时性特征,即由DCC导致的DNS数据量异常具有瞬时性,DNS协议与Web协议的流量关联具有瞬时性。
综上,本文提出一种基于流量切片的DCC检测方案,通过关注主机瞬时的DNS与Web流量特征,应对现有的DCC变形策略。方案包括主机流量切片构建、切片特征工程以及DCC检测模型,总体架构如图1所示。
2.1 流量切片
获取流量切片需经过三个步骤:a)基于滑动窗口的流量分批;b)每批窗口流量基于主机IP聚合形成流量切片;c)过滤不含DNS包的流量切片。
a)基于滑动窗口对原始流量分批,在实验环境的出口流量处,以λ为周期对DNS和Web相关协议流量实现流量分批。λ的大小会影响检测效果,由于DNS协议与Web协议的流量关联具有瞬时性,λ理论上值较小,具体情况在模型有效性验证实验中进行讨论。
b)对每一批滑动窗口中的数据包,通过源、目的端口号对数据包进行方向判断,标记数据包的主机端与服务端,再通过主机端IP将窗口中流量进行主机级聚合形成流量切片。第k个批次窗口流量的所有主机流量切片集表示为:Sprek={Sh1k,Sh2k,…,Shik,…,Shpk}(p表示实验场景活跃主机数量),其中,第k个批次的第i个主机流量切片表示为Shik=〈Dreq,Dres,W,λ〉。假设滑动窗口从0时刻开始如图1所示,λ表示窗口时间跨度,k表示窗口的批次,Dreq和Dres分别表示λ时间跨度内,所有该IP的请求和响应DNS数据包,W表示λ时间跨度内,所有该IP发出和接收到的Web通信数据包。
c)对每批次流量切片Sprek进行过滤。考虑主机访问部分视频网站时,在较长时间段中只有Web流量,不产生DNS流量,因此需要过滤掉Sprek中不包含DNS流量的切片来减少计算量,过滤后每批次流量切片为Sfilterk。
2.2 特征工程
流量切片的特征工程分如下四个维度展开:
a)DNS数据量特征。DNS协议承担域名解析功能,主机发出的DNS报文个数、字节数与主机操作次数正相关。在切片的短时跨度内DNS数据量通常较少,而DCC报文用途在于数据通信,不论采取何种流量变形策略,在DCC运行的时段内会呈现出相对较高的数据量通信行为。因此,对每个切片中D(D=Dreq ∪ Dres)计算如下特征:DNS包总数Pd、DNS总字节数Bd、DNS总请求字节数Brd。
b)DNS请求行为特征。网络中DNS请求包的请求类型约有96%为A和AAAA,而DCC为追求高吞吐量,会运用其他请求资源类型,如TXT、NULL。如果仅基于内容分析,报文的类型并不能成为DCC的判定条件,但本文的分析视角是流量切片,DCC的这种行为会导致切片内DNS请求类型的比例发生变化。从DNS请求类型行为角度,本文先对切片Dreq解析获取到请求类型序列DTreq,再计算请求类型行为特性:非IP类型请求数据包个数NIr、非IP类型请求数据包占比RNIr如下:
c)DNS响应行为特征。实验过程中发现部分誤报来自主机访问一些大型域,诸如baidu.com、cloudflare等,由于CDN及负载均衡配置影响,主机访问到这部分域相关网络资源时会在几秒内产生十几个针对同一个域的不同FQDN请求,导致切片中正常的DNS请求包表现出类似中继形DCC的请求行为。针对这类问题,可以从响应报文结构来区分这部分流量,大型域中每个FQDN承载不同功能并且一般都配置了多个IP来实现负载均衡,不同FQDN请求的响应包资源记录数量更具随机性。而DCC响应包的资源记录为携带数据通常统一设计响应结构,其记录数量与格式相对统一且简单,因此,本文对响应包的资源数提取特征减少这部分误报。首先通过获取切片中响应报文Dres的响应资源数序列记做RR={rrN1,rrN2,…,rrNb}(b表示该切片内响应包个数) 再通过RR计算响应行为部分特征:切片内响应结构简单度RRS;切片内响应结构熵值RRE,公式为
d)DNS/Web关联行为特征。通常情况下DNS流量与Web会话建立行为存在正相关的关系,这一行为在主机流量切片上的表现为:访问资源越丰富,请求解析的域名就越多,需要发出的DNS包就越多,对应DNS流就会增加,对应建立的Web链接就越多。而与DCC相关的DNS流量具有Web流量缺失的特点,这就会导致正相关关联失败或比值异常。本文用Web流量中SYN报文表征主机建立Web会话的行为,用DNS包数、流数、FQDN数表征请求解析行为。同时考虑到Firefox与Google等浏览器采用的并行TCP连接加速资源获取的技术(这意味着单次域名解析行为会对应多个Web会话建立,因此引入通信对概念对SYN报文进行去重)。综上,本文通过跨流量层级正相关比值来表征这种关联行为,首先对每个切片Shik获取所有Web流量的syn报文记做Wsyn,再结合切片中的DNS流量相关报文信息计算如下关联特征:FQDN个数与Web通信对个数比值RFwc,DNS流数与Web通信对个数比值Rdfwc,DNS包数与Web 通信对个数比值Rpdwc,DNS流数与Web流数比值Rdfwf ,公式如下:
其中:triplet代表获取通信对三元组(源IP、目的IP、服务端口)。
至此,对流量切片完成面向DCC行为异常表征的向量化,共计14维特征。
2.3 DCC检测模型
基于前两节流量切片与特征工程流程。接下来介绍本文对流量切片数据集的标注、模型的训练、验证流程。在构建模型的分类算法选择上,本文选用恶意流量识别领域常用分类算法逻辑回归(LG)、gradient boost decision tree(GBT)、随机森林(RF)算法。模型构建与验证总体流程如图2所示。
a)构建阶段,仅采用常规DCC流量和背景良性流量完成检测模型训练。本文在实验园区可控网络环境下部署运行默认设置的DCC客户端来获取常规DCC主机流量。由于DCC流量切片是混合流量(即同时存在正常行为DNS和DCC产生的DNS报文),所以在标记时,为避免误标,人工记录DCC运行时段、运行设置的二级域名、 DCC服务端IP进行切片标记(即当前切片DNS报文中存在记录的中继DCC通信二级域名或存在直连DCC通信的目的DCC服务端IP则标记为DCC切片)。再经由特征工程完成常规DCC向量标注,结合良性切片构建的背景向量完成模型训练。
b)验证阶段,验证本文DCC检测方法对常规DCC以及变形DCC的检测能力。其中,对于变形DCC,需改变部署DCC的报文变形策略并记录运行时段与设置,激活DCC运行形成具备DCC变形代表意义的主机流量,再以a)中的标记方式进行变形DCC切片标记,经由特征工程构建验证集。
同时,考虑到流量切片的粒度λ可能对检测准确性造成影响,在实验时进行多轮变更,构建不同λ粒度DCC检测模型进行对比分析。
3 实验
3.1 实验环境与设置
1)良性切片 以实验园区中近两周所有正常主机(约200台)的出口DNS和Web流量作为正常背景流量用于生成良性切片。共采集正常主机背景DNS和Web报文存储为pcap格式文件共计约800 GB(正常DNS数据包800万个),以预设滑动窗口λ为5 s,生成良性流量切片数据样本130万条。
2)常规DCC切片 DCC流量切片通过三台运行了DCC客户端的主机DNS和Web流量生成。依次运行的DCC客户端包括第1章提及的9种DCC软件,执行DCC功能包括文件上传、文件下载、CC交互命令、静默。同时,在三台主机上,人工间歇运行常见网络软件包括QQ、影音、FireFox、IE浏览器、WPS等来模拟正常工作行为,以保证DCC主机流量具备真实的背景DNS和Web流量。再根据运行DCC时段是否设置流量变形策略规则,区分DCC切片类型。将默认设置下DCC运行时段的DCC主机流量经由2.3节标记为常规DCC切片,以λ窗口设置为5 s为例,训练集测试集划分如表1所示。
3)变形DCC切片 经由2.3节对采用变形策略时段DCC切片进行標记。策略记录示例如:12月9日11时到12月9时15时,主机172.XX.XX.99,运行DCC软件DET|Iodine|其他,DCC发出的DNS报文类型为:默认|A|TXT|CNAME|其他,单个数据包携带字节数:8|15|60|其他,Base编码类型:默认|Base16|Base32|其他,会话模式:单流|多流,DCC通信模式:中继单域名 |直连多域名。根据第1章变形策略对DCC内容和行为理论分析影响,以λ值为5 s将变形策略时段的DCC流量切片样本归类到表2中6个类别变形样本集中(由于变形策略的复合使用,样本存在复用分类)。
4)实验环境 根据不同DCC软件需求进行相关的软硬件的环境配置,采用的客户端包括两台Windows 10主机和一台Linux CentOS 7系统主机,DCC服务端包括Windows 10和两台公网云服务器Linux CentOS 7双核2 MB带宽,并注册了一个“ourDomain.top”域实现DNS中继通信,机器学习框架采用SparkML。
3.2 实验与分析
本文利用构建的标签数据集、验证集进行检测方法对常规DCC识别的有效性、对流量变形DCC的适用性评估,以及验证窗口λ可能带来的性能和准确率影响,共设置三组实验,并通过表3中的指标进行模型评估。
3.2.1 常规DCC识别有效性验证
依据流量切片和特征工程提取方法,本节实验用标记时段中生成的25 000个常规切片和均衡抽样的25 000良性切片进行模型训练,并通过测试集验证对9种DCC的常规形式进行识别能力。不同算法模型在本文流量切片方法下对常规DCC识别准确率如表4所示。可以看出,在不同算法模型下,本文方法对9种常规DCC均取得了超过98%的识别率,其中RF算法取得了平均超过99.7%的有效识别率,证明了在DCC不进一步伪装自身流量行为的常规情况下,本文检测方法具备极好的有效性与泛化性。
3.2.2 变形DCC识别有效性验证
为了验证方法应对DCC流量变形策略的有效性,在本节实验中,仅基于常规DCC流量和良性流量切片进行模型构建,再利用变形DCC流量进行检测模型有效性验证,算法模型为实验1中表现最好的RF。
同时,本文选取了三种不同分析视角的DCC检测方法[2,15,21]进行对比。Chen等人[21]提出一种基于LSTM深度学习算法并结合域分组分析进行DCC识别的检测方法,为了横向对比,采用本文的流量数据训练LSTM模型,样本中良性流量为实验环境出口处DNS随机抽样的18万个报文,训练DCC流量为抽样选取的18万个常规DCC数据包,训练测试集设置为9:1复现其检测方法;Ahmed等人[2]提出一种基于内容的DCC检测方法,根据其检测算法孤立森林算法的特性,污染率设置为其指出的最优值0.05,抽取95万个正常DNS报文和5万个常规DCC报文作为训练集; Jiang等人[15]使用了基于流的DCC检测方法,采用了随机森林算法作为检测模型,复现时先将良性和常规DNS数据进行流聚合处理再构建对应的检测模型。随后利用6类变形流量进行验证。检测结果如表5所示。
從表5检测结果分析:基于流的DCC检测方法在早期采用单流通信的DCC中取得最好的检测率,但在应对较新的DCC工具如dnsShell、DNSlivery等采取了多流会话方式的DCC通道中识别效果较差;三类对比检测方法在应对数据字节限制的DCC变形策略时,均只有百分之30即以下的召回率,经分析是由于三种检测方法在特征分析时都将较大的包长作为DCC识别的关键特征,字节限制策略规避了这一异常表现;基于包内容的DCC检测方法最容易受到流量变形的影响,在由多种DCC软件生成的常规DCC流量中也并未取得很好的检测效果,这是由于不同DCC流量之间存在加密方式、压缩方式以及域名结构等差异。根据调研,大部分基于内容的DCC检测研究往往局限于较少类型的DCC流量,这就导致其特征工程缺乏普适性;基于域分组分析的检测方法在面临多域通信时的DCC流量时几乎是失效的。相较于目前的检测方法,本文方法在构建的6类表征变形策略的DCC中实现了平均超过95%的识别率,具备对抗DCC流量变形策略的优势。
3.2.3 切片滑动窗口分析验证
在隐蔽信道识别领域,如何在通道初期就做到有效检测,是当下研究者们关注的重点问题。本文所提出的DCC检测方法基于固定时长的主机流量切片,切片窗口λ的设置会对检测方法的准确性和时效性产生影响。为分析窗口λ对检测方法的影响并寻求最优λ值,本文对原始流量进行了多轮次处理,设置λ为1 s,3 s,5 s,10 s,…,40 s,良性切片和DCC切片设置比例为1:1,训练集测试集划分为9:1,不同粒度λ下的检测模型准确率与误报率结果如图3、4所示。
从图3和4结果分析,当λ设置过小时如λ=1 s,准确率会有明显下降,误报率会明显上升,原因是过小的λ形成的流量切片在检测DCC时容易受到网络延迟的影响,由良性切片关联行为失效而导致误判。但随着λ持续增大,准确率也会下降,经分析,原因是当λ设置过大如λ=40 s,部分切片会包含较多正常网络访问产生的流量,若同时切片时间范围内的DCC运行时间很短且通信量极少时,这种微弱的DCC流量行为会被过大的流量切片忽略进而导致准确率下降。根据实验结果,λ在设置为3~10 s时是最优选择,在三种分类算法中均取得了超过98.5%的准确率和低于1.2%的误报率,其中利用随机森林算法建立的检测模型在λ设置为5 s时取得99.83%的准确率和0.08%的误报率。
4 结束语
针对DCC流量变形策略的对当前检测方法的绕过性问题,本文提出了一种基于流量切片的DCC检测方法,该方法采用主机级流量分析视角,并将DNS流行为与Web流行为的关联特征融入到DCC检测模型中。多个对比实验表明本文方法对常规DCC具有更高识别率、泛化性,对良性流量具备更低的误报率,同时具备对变形DCC流量的显著检出优越性,具备一定的理论价值和实用价值。随着网络攻击的组织化发展,流量变形、流量混淆策略的应用也越发广泛。本文采用的主机流量切片多协议行为关联的分析方法对其他隐蔽通信和变形流量识别具备一定的借鉴意义。未来工作包括两方面:第一,本文在调研后采用了恶意流量检测领域常用算法来进行检测研究,未来可以尝试更为先进的智能算法;第二,未来可以探索流量切片多协议关联分析方法对其他类型网络隐蔽信道检测的应用。
参考文献:
[1]刁嘉文,方滨兴,崔翔,等.DNS隐蔽信道综述[J].通信学报,2021,42(5):164-178.(Diao Jiawen,Fang Binxing,Cui Xiang,et al.Survey of DNS covert channel[J].Journal on Communications,2021,42(5):164-178.)
[2]Ahmed J,Gharakheili H H,Raza Q,et al.Real-time detection of DNS exfiltration and tunneling from enterprise networks[C]//Proc of IFIP/IEEE Symposium on Integrated Network and Service Management.Piscataway,NJ:IEEE Press,2019:649-653.
[3]Cheng Qi,Chen Xiaojun,Cui Xu,et al.A bigram based real time DNS tunnel detection approach[J].Procedia Computer Science,2013,17:852-860.
[4]Farnham G,Atlasis A.Detecting DNS tunneling[J].SANS Institute InfoSec Reading Room,2013,9:1-32.
[5]刁嘉文,方滨兴,田志宏,等.基于攻击流量自生成的DNS隐蔽信道检测方法[J].计算机学报,2022,45(10):2190-2206.(Diao Jiawen,Fang Binxing,Tian Zhihong,et al.DNS covert channel detection method based on attack traffic self generation[J].Chinese Journal of Computers,2022,45(10):2190-2206.)
[6]Das A,Shen Minyi,Shashanka M,et al.Detection of exfiltration and tunneling over DNS[C]//Proc of the 16th IEEE International Confe-rence on Machine Learning and Applications.Piscataway,NJ:IEEE Press,2017:737-742.
[7]Born K,Gustafson D.Detecting DNS tunnels using character frequency analysis[EB/OL].(2010).https://arxiv.org/abs/1004.4358.
[8]Preston R.DNS tunneling detection with supervised learning[C]//Proc of IEEE International Symposium on Technologies for Homeland Security.Piscataway,NJ:IEEE Press,2019:1-6.
[9]Wu Kemeng,Zhang Yongzheng,Yin Tao.CLR:a classification of DNS tunnel based on logistic regression[C]//Proc of the 38th IEEE International Performance Computing and Communications Conference.Piscataway,NJ:IEEE Press,2019.
[10]Chen Yang,Li Xiaoyang.A high accuracy DNS tunnel detection me-thod without feature engineering[C]//Proc of the 16th International Conference on Computational Intelligence and Security.Piscataway,NJ:IEEE Press,2020:374-377.
[11]Ellens W,Z·uraniewski P,Sperotto A,et al.Flow-based detection of DNS tunnels[C]//Proc of IFIP International Conference on Autonomous Infrastructure,Management and Security.Berlin:Springer,2013:124-135.
[12]DAngelo G,Castiglione A,Palmieri F.DNS tunnels detection via DNS-images[J].Information Processing & Management,2022,59(3):102930.
[13]Bai Huiwen,Liu Weiwei,Liu Guangjie,et al.Application behavior identification in DNS tunnels based on spatial-temporal information[J].IEEE Access,2021,9:80639-80653.
[14]Zhan Mengqi,Li Yang,Yu Guangxi,et al.Detecting DNS over HTTPS based data exfiltration[J].Computer Networks,2022,209:108919.
[15]Jiang Kui,Wang Fei.Detecting DNS tunnel based on multidimensional analysis[C]//Proc of the 5th International Conference on Mechanical,Control and Computer Engineering.Piscataway,NJ:IEEE Press,2020:272-275.
[16]Bai Huiwen,Liu Guangjie,Zhai Jiangtao,et al.Refined identification of hybrid traffic in DNS tunnels based on regression analysis[J].ETRI Journal,2021,43(1):40-52.
[17]Nadler A,Aminov A,Shabtai A.Detection of malicious and low throughput data exfiltration over the DNS protocol[J].Computers & Security,2019,80:36-53.
[18]Liu Yong,Gou Xiangnan.Research on application of feature analysis method in DNS tunnel detection[C]//Proc of the 5th Annual International Conference on Information System and Artificial Intelligence.[S.l.]:IOP Publishing,2020:012069.
[19]沈傳鑫,王永杰,熊鑫立.基于图注意力网络的DNS隐蔽信道检测[J].信息网络安全,2023,23(1):73-83.(Shen Chuanxin,Wang Yongjie,Xiong Xinli.DNS covert channel detection based on graph attention networks[J].Netinfo Security,2023,23(1):73-83.)
[20]Ishikura N,Kondo D,Vassiliades V,et al.DNS tunneling detection by cache-property-aware features[J].IEEE Trans on Network and Service Management,2021,18(2):1203-1217.
[21]Chen Shaojie,Lang Bo,Liu Hongyu,et al.DNS covert channel detection method using the LSTM model[J].Computers & Security,2021,104:102095.
[22]Wang Yue,Zhou Anmin,Liao Shan,et al.A comprehensive survey on DNS tunnel detection[J].Computer Networks,2021,197:108322.
[23]Data exfiltration toolkit[EB/OL].(2016-06-13)[2017-11-03].https://github.com/sensepost/DET.
[24]Dnscat2[EB/OL].(2014)[2018-06-26].https://github.com/iagox86/dnscat2.
[25]Iodine[EB/OL].(2010)[2014-06-16].https://code.kr yo.se/iodine/.
[26]dns2tcp[EB/OL].(2016)[2020-03-07].https://github.com/zf l9/dns2tcp.
[27]TCP-over-DNS[EB/OL].(2008)[2008-07-27].https://analogbit.com/software/tcp-over-dns.
[28]Reverse_DNS_Shell[EB/OL].(2014)[2015-12-11].https://github.com/ahhh/Reverse_DNS_Shell.
[29]DNSExfiltrator[EB/OL].(2017)[2018-04-06].https://github.com/Arno0x/DNSExfiltrator.
[30]DNSlivery[EB/OL].(2018)[2019-02-01].https://github.com/no0be/DNSlivery.
[31]goDoH[EB/OL].(2018)[2022-06-26].https://github.com/sensepost/godoh.
收稿日期:2023-02-06;修回日期:2023-03-17 基金項目:国家自然科学基金区域基金重点项目(U19A2081);中央高校基础研究基金资助项目(2022SCU12116);四川大学理工科发展计划项目(2020SCUNG129)
作者简介:刘阳洋(1998-),男,四川成都人,硕士,主要研究方向为网络流量识别、网络行为分析;阮树骅(1966-),女(通信作者),四川成都人,副教授,硕导,硕士,主要研究方向为云计算与大数据安全、区块链安全(ruanshuhua@scu.edu.cn);曾雪梅(1976-),女,四川成都人,工程师,博士,主要研究方向为网络流量识别、网络行为分析、 IPv6网络安全.