基于对比学习的域名生成算法加密流量检测技术

朱蓓佳 ,  李娜 ,  陈晶 ,  何琨 ,  杜瑞颖

武汉大学学报(理学版) ›› 2025, Vol. 71 ›› Issue (4) : 517 -525.

PDF (2538KB)
武汉大学学报(理学版) ›› 2025, Vol. 71 ›› Issue (4) : 517 -525. DOI: 10.14188/j.1671-8836.2024.0034
信息安全

基于对比学习的域名生成算法加密流量检测技术

作者信息 +

Encrypted Traffic Detection of Domain Generation Algorithm Based on Contrastive Learning

Author information +
文章历史 +
PDF (2598K)

摘要

为进一步提升在加密DNS(Domain Name System)的通讯场景中,DGA(Domain Generation Algorithm)流量检测的实时性、准确率和泛化性,保障计算机通信安全,提出了一种域名生成算法加密流量检测方案——EDGAD(Encrypted Domain Generation Algorithm Detection)。EDGAD由数据预处理和流量分类两个模块构成。预处理模块通过流量簇划分策略和高效特征集减小开销。流量分类模块包含两阶段分类模型,其中阶段一采用二分类模型将DoH(DNS over HTTPS)流量分为DGA流量和非DGA流量;阶段二基于对比学习思想构建多分类模型,识别DGA加密流量所属的具体DGA软件。此外,阶段二中还设计了流量样本增强方法,以及对比学习模块和多分类模块联合调优方法,以提升模型泛化性和训练效率。在采用1 s流量数据构建特征的数据集实验中,选择XGBoost模型作为阶段一的二分类模型,并将阶段二中缩放参数确定为0.25。实验结果表明,EDGAD能有效识别7种DGA恶意软件,准确率达到98.07%,平均精度均值达到0.981 3,较对比方案分别提升了1.24个百分点和0.013 6。

Abstract

An encrypted traffic detection scheme (EDGAD) is proposed to enhance the real-time detection, accuracy, and generalization of domain generation algorithm (DGA) traffic in encrypted domain name system (DNS) communications and ensure computer communication security. EDGAD comprises two modules: data preprocessing and traffic classification. The preprocessing module employs traffic clustering and an efficient feature set to reduce the overhead. The traffic classification module includes a two-stage model. In the first stage, a binary classifier is used to distinguish DNS from HTTPS (DoH) traffic as either DGA or non-DGA. The second stage employs contrastive learning to construct a multiclass model that identifies the specific DGA software that generates the encrypted traffic. This stage also incorporates traffic sample enhancement and the joint optimization of contrastive learning and multi-classification modules to improve generalization and training efficiency. Experiments using 1 s traffic data indicated that the XGBoost model was optimal for the first-stage binary classification, with the second-stage scaling parameter set to 0.25. The results demonstrate that EDGAD effectively identifies seven types of DGA malware, with an accuracy of 98.07%, and an average precision mean value of 0.981 3, and an improvement of 1.24 percentage points and 0.013 6 compared with the comparison scheme, respectively.

Graphical abstract

关键词

机器学习 / 流量分析 / 异常检测

Key words

machine learning / traffic analysis / anomaly detection

引用本文

引用格式 ▾
朱蓓佳,李娜,陈晶,何琨,杜瑞颖. 基于对比学习的域名生成算法加密流量检测技术[J]. 武汉大学学报(理学版), 2025, 71(4): 517-525 DOI:10.14188/j.1671-8836.2024.0034

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

传统域名系统(Domain Name System, DNS)以明文形式进行域名查询[1],带来了隐私泄露风险[2]。为此,服务商开始支持加密DNS协议,如DNS over HTTPS(DoH)[3]和DNS over TLS(DoT)[4],以保护DNS消息的完整性和用户隐私。然而,这些加密协议也可能被攻击者用来隐藏恶意软件的通信内容,使得传统基于明文流量的检测难以识别其恶意活动,从而逃避网络监管[5]。例如域名生成算法(Domain Generation Algorithm, DGA)恶意软件通过生成大量随机域名规避传统安全检测,从而使受感染主机能够连接到僵尸网络。为了应对这一威胁,研究人员开发了多种技术,包括通过逆向工程[6]识别DGA背后的家族和变种,以及通过监控内网DNS流量[7]并维护白名单数据库来识别和阻断异常DNS流量。

本文深入分析了加密DNS的协议特性和DGA的域名通讯行为,发现DGA恶意脚本频繁发送大量无效域名请求,导致其数据包具有独特流量特征。然而,传统的加密DNS流量检测方法未充分利用这一特性[8],导致检测的实时性不足。DGA恶意软件DNS查询频率的种类差异导致流量数据不平衡[8],现有研究常忽略此不平衡性,影响了模型在真实数据集上的泛化性。

对比学习在处理不平衡数据集时表现出色[9],其特点在于通过多种数据增强手段生成正样本对,模拟样本的真实世界变化,从而促进模型学习更具泛化性的特征表示。在传统的对比学习中,分类任务通常分为特征编码和多类别分类两个阶段:首先,使用原始特征数据通过对比学习训练特征编码器,生成用于后续分类的加强特征;其次,利用这些特征训练多类别分类器,产生预测结果。对比学习的特征提取优势和分类器的精确性,提高了整体分类性能,但分别优化两个模块增加了训练成本。

本文针对以往研究忽略恶意流量实时性检测的问题,提出了针对加密DNS的DGA流量分簇策略和特征集,通过有效划分流量簇和提取高效特征,显著降低了流量分类的时间成本,实现了DGA加密流量的实时性检测。为了提高模型在DGA加密流量这一不平衡数据集上的泛化性能,设计了一种基于对比学习的DGA加密流量检测方案EDGAD(Encrypted Domain Generation Algorithm Detection)。此外,本文将对比学习模块和多分类模块的训练过程合并为单一训练过程,并设计了综合性损失函数以优化模型,有效融合了不同损失函数的优势,简化了训练流程,提高了训练效率。

1  背景知识与相关工作

1.1 背景知识

1) 域名生成算法

域名生成算法是网络安全中常用的攻击算法,主要用于控制僵尸网络。该算法能保持被感染主机与指挥控制(C&C)服务器的通信,通过预定参数如日期或时间生成大量随机域名,其中大部分为“无效域名”。由DGA算法生成的AGD(Algorithm Generated Domain,算法生成域名)通常展现出如字符串长度、元辅音比例等独特特征,与常规域名显著不同。因此,传统DGA检测主要通过分析AGD的文本属性构建特征集,并采用统计或文本分析模型(例如TF-IDF、N-Gram)进行识别。除利用域名文本信息之外,还可以利用DGA通讯所产生的NXDomain(Non-existent Domain,不存在域名)响应来识别恶意行为。NXDomain指在域名解析时因域名不存在或无法找到对应IP地址而返回的错误信息。DGA恶意软件生成的大量域名均未经注册,这导致多数未注册的随机域名解析请求返回NXDomain错误。这些错误响应不含IP地址,使得数据包长度通常短于正常响应。

2) 对比学习

对比学习是机器学习中的一种学习思想,广泛应用于无监督和自监督任务中的表示学习。对比学习的核心是将相似样本拉近,不相似的样本推远,从而提升特征空间的区分能力[10]

对比学习还包括一个关键模块——数据增强。数据增强模块通过引入数据变化[11],生成增强样本,能帮助模型学习到关键的不变性特征[12]。相比于传统的采样方法,如随机过采样和合成少数类,数据增强技术能通过模拟真实世界变化进一步提升模型泛化性能。目前数据增强技术已被广泛应用于图像数据和文本数据中。具体而言,对于图像数据可以进行旋转、裁剪以及添加噪声等;对于文本数据可以进行更改语序、近义词替换等。

1.2 相关工作

攻击者使用DGA脚本随机生成大量域名并控制主机发送请求,这些未曾观测的随机域名能够规避黑名单检测。为此,研究人员深入分析DGA域名的文本特征,提出了基于明文域名的检测防御方法。Zhao等[13]提出基于N-Gram的恶意域名检测方法,通过计算域名声誉得分判断域名是否可疑。Suryotrisongko等[14]使用Shannon函数的熵、域名字符长度以及Alexa声誉分数构建DGA域名统计特征,利用随机森林模型实现域名分类。Schüppen等[15]利用DGA响应信息多为NXDomain的特点,通过监控NXDomain流量实现DGA流量检测。Patsakis等[16]通过从NXDomain响应生成自定义字典,检测主机查询的域名是否超过配额,从而高效检测DGA域名查询行为。

以上方案均为基于传统统计机器学习算法,这类算法依赖于人工特征工程,且在复杂数据集上拟合能力较弱。对此,研究者提出了基于深度学习的DGA域名检测方案,利用深度学习突出的表达能力,提升在复杂数据集上的性能表现。例如,Zhang等[17]使用了合成少数类技术生成样本,以平衡正常域名和算法生成的域名之间的不平衡,结合神经网络和卷积神经网络模型有效地捕获域名特征。Ayub等[18]利用Bigram和Word2Vec模型,结合深度学习分析了现有84种DGA家族的域名。Ravi等[19]提出基于Siamese神经网络的DGA域名检测模型,并验证了该模型对DeepDGA等对抗性攻击模型的稳健性。

上述方法均为基于DGA算法所产生的明文流量或域名,并不适用于加密DNS场景下DGA流量的检测。对此,Patsakis等[5]对DGA密文域名的统计学特征进行研究,并利用Hodrick-Prescott过滤器对DGA加密流量进行分类,但他们采用的是模拟流量,且检测准确率并不突出。随后,Mitsuhashi等[8]使用集成学习模型对4种真实的DGA加密流量进行分类。然而,该方法实时性较差,需要2 min左右的流量数据才能输出检测结果,并且在不平衡数据集上泛化性不足。

近年来,加密DNS流量识别成为研究热点。Veshin等[20]实现了HTTPS流量中DoH流量的检测,准确率达到99%。Csikor等[21]设计了针对网页和DoH流量的开放世界分类模型,分类准确率达到90%。Siby等[22]设计了全新特征集,能准确识别DoH/DoT环境下的网站加密流量。Bushart等[23]利用流量大小和时间信息,基于DoH/DoT策略推断用户访问网站,实现了86.1%的网站去匿名化。相关工作及其特点如表1所示。

综上所述,现有面向加密DNS的DGA流量检测工作则处于起步阶段,缺乏准确度高、实时性强且泛化性强的检测方案。

2  EDGAD方案设计

EDGAD的总体框架如图1所示。EDGAD主要有两个模块:数据预处理模块和流量分类模块。在数据预处理模块中,捕捉原始流量并过滤,随后进行流量簇划分以及特征提取,最后生成流量特征序列,以输入到后续算法模型。流量分类模块包含两个阶段,阶段一使用二分类模型Ms1将DoH流量特征序列分类为DGA流量和非DGA流量,随后阶段二使用分类模型Ms2对DGA流量进行分类,输出其所属DGA类别。

2.1 数据预处理

2.1.1 流量捕捉与过滤

图2所示,攻击者通过DGA恶意脚本产生DGA随机域名列表,注册少量域名并指向C&C服务器。受感染主机依次发送这些域名请求,当访问到已注册域名时,即与C&C服务器建立连接,受到远程控制。这一过程中,网络管理员可在客户端与DNS递归解析器间的路径上捕捉加密流量。因此,本文将EDGAD系统部署于客户端和DNS递归解析器之间,分析加密DNS流量以检测DGA攻击。

根据RFC 8484定义的DoH规范[24],客户端和服务器需完成握手后才能查询加密DNS,但TLS握手和证书信息不含域名请求响应数据,因此需先进行流量过滤以排除无关数据包。EDGAD在443端口捕获HTTPS流量,过滤掉握手包等协议包,保留“Application Data”类型的TLS数据包。接着对保留的数据包进行解析,过滤掉包头字段,仅保留“Encrypted Application Data”字段以及数据包的时间戳和方向。最后,构建数据包三元组(时间,方向,长度),将加密流量序列化为三元组序列。

流量过滤能有效排除无关数据以及噪声流量的干扰。将过滤后的数据送入特征提取模块,提取出模型所能处理的特征向量。

2.1.2 流量簇划分和特征提取

与网站流量相比,DNS请求和响应所包含资源更少,交互更频繁。根据DoH协议规范[24],DNS查询被包装在HTTP请求中。另外,与常规域名相比,同一DGA算法生成的域名有相对固定的长度,即便通过DoH协议加密,其加密字段长度也相对一致。大部分DGA域名为未注册域名,查询后服务器返回NXDomain响应,其长度通常短于已注册域名响应(含域名和IP信息)。

本文通过划分流量簇,减少流量检测所需数据量。对于过滤后的流量序列(x1,x2,,xn),设置时间窗口t,以t为步长,根据流量序列的时间戳,从时间维度上划分多个流量簇((x1,,xi),,(xm,,xn))。每个流量簇可以表示为一个序列,序列中每个元素的绝对值即为加密字段长度,元素的符号表示数据包传输方向。如一个流量簇为:(-36,70,-30,60),其中的请求序列表示为(70,60),响应序列为(-36,-30)

流量簇划分完成后,对于每条流量簇,提取其特征如表2所示。数据包总数和字段总长度特征能有效反映DNS查询频次和数据量,字段长度标准差能揭示DNS请求和响应长度的分布情况。此外,分别提取请求包和响应包的特征,利用其各自的特点,以提高识别效果。传统的DNS加密流量特征提取方法主要用于网页或App流量分析,对实时性的要求较低。因此,这些方法通常需要计算约2 min的流量数据以生成特征。EDGAD的预处理模块对特征进行精简,设置时间窗口并提取更高效的特征,在保证DGA加密流量检测准确性的同时,提高了实时性。

2.2 流量分类

2.2.1 阶段一

阶段一中,由于特征间数据尺度差异较大,需要先对输入数据进行标准化处理,公式如下:

Xstd=X-μσ

其中,Xstd是标准化后的特征值;X是原始特征值;μ为特征均值;σ是特征标准差。

随后,将标准化样本送入集成学习模型进行训练。集成学习是一种通过集成多个弱学习器的推理结果来完成学习任务的机器学习范式。构建集成学习模型需要训练多个弱学习器,再将弱学习器的结果相结合,从而提升模型整体的稳定性和准确性,在二分类任务上性能表现突出。本文构建集成学习分类器,包括:极端梯度上升(Extreme Gradient Boosting, XGBoost)、梯度提升决策树(Gradient Boosting Decision Tree, GBDT)和随机森林,并在实验阶段对各分类器的性能进行评估,将性能最好的分类器作为Ms1模型。其中,XGBoost和GBDT能通过减小偏差提升性能,随机森林则是通过减少方差提升性能。最后,为找到模型最优参数组合,进一步提升分类器性能,本文采用网格搜索法对模型参数进行调优。

2.2.2 阶段二

由于不同DGA恶意样本的DNS查询频率存在显著差异,流量样本数据不平衡,影响模型在真实数据集上的性能。而传统平衡采样策略可能降低样本信息量和模型泛化能力。对此,本文采用对比学习改善模型在不平衡数据集的表现。对比学习允许模型从所有数据中学习,而不依赖于平衡数据。在阶段二中,本文提出基于有监督对比学习的流量分类模型Ms2,并设计流量样本增强方法,补充样本信息以提高泛化性。模型架构主要包含四个模块,模型框架如图3所示。

1) 数据增强Aug():对于任意输入样本xi,回溯该样本所在的原始索引窗口(ts,te),生成一个随机值t,截取窗口(ts+t,te+t)内的流量数据作为增强样本,并随机插入空包延迟来模拟网络延迟。通过构建增强样本,模拟真实世界数据变化,生成正样本对,帮助模型学习更高效的特征表示。

2) 特征编码Encoder():将增强样本特征向量xaug和原始样本特征向量分别通过特征编码器映射到高维特征空间,即xfeat=Encoder(xaug),其中xfeat代表加强特征向量。通过特征编码,可以将原始数据投影到高维嵌入空间,从而通过计算该空间内向量相似度来衡量样本间的相似性。

3) 特征投影Proj():对于编码后的特征向量xfeat,通过特征投影计算投影向量f=Proj(xfeat),对特征向量进行降维和规范化处理,确保输出向量范数为1。通过降维处理,能有效去除冗余信息,有助于避免过拟合,并且提高计算效率。最后,根据投影向量f计算对比学习损失,计算方式如(2)式所示。

Losscon=-iI1N(S(i))sS(i)fi·fsτ-
logdDiexpfifdτ

其中,I表示样本集合;fi表示投影向量;τ是温度参数,用于控制特征空间相似性分数的缩放程度;S(i)表示与样本i相同类别的样本集合;fs表示相同类别样本的投影向量;D(i)表示与样本i不同类别的样本集合;fd表示不同类别样本的投影向量;N()表示集合内样本数量。

4) 分类输出Cls():将特征编码通过全连接层映射到标签类别维度ypre=Cls(xfeat),使用交叉熵进行训练,从而使模型能应用于多分类任务,具体计算方式如下:

Losscls=-iIcMyiclogpic

其中,M表示类别总数;yic是一个指示变量,当样本i属于类别c时为1,否则为0;pic是模型预测样本i属于类别c的概率。在模型训练阶段,为了能充分利用对比学习损失和多分类交叉熵损失更新模型参数,计算总损失函数,计算方式如下:

Loss=λLosscon+Losscls

其中,Losscls是多分类交叉熵损失函数;λ是缩放参数,用于调整对比学习损失所占比重。随着λ值增加,对比学习所占的比重也相应增加。总损失函数融合了对比学习和多分类这两个不同的优化目标,避免了先优化一个目标后再优化另一个目标的冗余步骤,减少了训练时间。在训练阶段,通过使用总损失函数进行梯度回传,可以同时更新Encoder()Proj()Cls()的模型参数,将原本需要分阶段进行的训练任务合并为单一训练过程;在推理阶段,丢弃Proj(),仅使用Encoder()Cls()预测样本标签。

3  实 验

3.1 实验数据集与实验设置

本文在Windows 11上使用阿里巴巴的公共DoH服务建立加密DNS通信环境。通过VirusShare和360netlab收集了Banjori、Enviserv、Mykings、Padcrypt、Ranbyus、Sisron和Zloader这7个DGA恶意软件,并通过Wireshark采集其加密流量。将这些加密流量过滤后,得到加密流量序列的数据包数量分别为:144 144个Banjori,72 363个Enviserv,33 919个Mykings,176 096个Padcrypt,313 218个Ranbyus,28 716个Sisron和14 935个Zloader。负样本数据为上述DGA样本的真实DoH流量。本文选取CIRA-CIC-DoHBrw-2020数据集作为实验的正样本来源,该数据集是由加拿大互联网注册管理机构与加拿大信息通信技术创新中心联合开发的一个网络安全数据集[25]。正样本数据包含434 452个数据包,经过滤后剩余432 379个数据包,提取特征后共产生19 240条样本数据。测试集比例为0.2。

两阶段模型均部署在Python 3.9.6环境下。设置特征提取时间窗口t为1 s。阶段一中,使用Sklearn 1.3.1实现集成学习模型,采用网格搜索法调参。阶段二中,使用TensorFlow 2.15.0实现神经网络模型构建,其中对比学习模块的具体神经网络结构如图4所示。Encoder()采用多层感知机(MLP)架构,输入特征维度为10,包含4个隐藏层,维度分别为10、16、32、16,使用ReLU激活函数引入非线性。Proj()输入维度为16,通过两层全联接层,维度分别为10和4,输出4维投影向量,并进行归一化处理。另外,分类器模块中Cls()包含一个全联接层,输入维度为16,输出维度为7,对应7种DGA恶意软件分类。对比学习损失的温度系数τ设为0.1。使用Adam优化器更新模型参数,学习率为0.001。

3.2 数据预处理和阶段一模型实验结果

DoHlyzer[26]是一种加密流量特征提取工具,被广泛应用于加密流量分析场景。因此,选择DoHlyzer作为对比方案来评估EDGAD预处理模块的性能。为保证算法模型的一致性,均使用XGBoost模型构建分类器,结果如表3所示。DoHlyzer需要120 s的流量数据来构建特征,单条特征需要112 bytes的内存开销,而EDGAD预处理模块采用1 s流量数据来构建特征,特征内存开销降低至40 bytes。其中,EDGAD预处理模块单条样本特征的推理时延约0.44 ms,相比于对比方案减少了约0.98 ms。这是因为DoHlyzer在特征提取时未考虑DGA域名查询的高频特性,而是采用传统网页流量分析方法,导致了额外的存储和时间消耗。

为评估阶段一模型的分类性能,选择模型评估时常用的准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值(F1)作为评价指标,其计算公式如下所示:

Accuracy=TP+TNTP+FP+FN+TN×100%
Precision=TPTP+FP×100%
Recall=TPTP+FN×100%
F1=2×Precision×RecallPrecision+Recall×100%

其中,TP为真正例;TN为真反例;FP为假正例;FN为假反例。准确率越高,模型整体表现越好;精确率越高,模型在正例预测方面的准确性越好;召回率越高,模型在识别正例方面的能力越强;F1分数越高,模型在平衡精确率和召回率方面的表现越好。

UNIPI[5]是首个实现对DGA模拟加密流量进行分类的方案,该方案采用HP(Hodrick-Prescott)滤波器构建DGA加密流量时序关系并进行流量分类。TTU[18]是一个经典的基于域名明文的DGA检测方案,利用Bigram和Word2vec来实现DGA域名检测。因此,在本文的加密场景下,采用XGBoost、GBDT和随机森林三种集成学习分类器以及UNIPI和TTU两种对比方案进行阶段一的流量分类,实验结果如表4所示。由表4可知,UNIPI和TTU的模型性能略差于其他三种分类器。其中,UNIPI更注重对序列数据的平滑处理,因此在分类任务上表现不佳。在本文的加密场景中,由于加密后的文本字符杂乱随机,无法凭借词频等文本信息来分类,因此TTU的效果不理想。其中,XGBoost的性能优于另外两个集成分类器,分类准确率达到了99.95%,F1值也达到了99.95%,召回率高达99.97%。因此,选择XGBoost作为阶段一中的Ms1模型。

为进一步探究不同特征对阶段一中XGBoost模型的影响,本文对EDGAD特征重要度进行排序。重要性分数主要根据特征在构建决策树时的使用频率和对模型增益的影响来计算。通过重要性分数,可以确定区分DGA流量和非DGA流量的依据。如表5所示,请求包字段长度均值对模型贡献度最高,达到了80.260,响应包字段长度均值和请求包字段长度标准差的贡献度分别为9.597和4.429。相比于正常域名,DGA生成的随机域名长度更为固定,且由于随机域名大多未被注册,DoH服务器往往给DGA恶意脚本返回NXDomain信息。因此基于请求包字段长度和响应包字段长度的特征能有效区分DGA流量和正常DoH流量。

3.3 阶段二模型实验结果

为了评估模型总体性能,使用准确率和平均精度均值(Mean Average Precision, mAP)作为评价指标,mAP的具体计算方式如下:

mAP=1Nj=1NAPj

其中,N是样本类别的数量;APj是对于类别j的平均精确度。在多分类任务中,mAP能综合评估模型的精确度和召回率,反映模型的泛化性,并且适用于不平衡数据集。mAP值越大,则模型泛化性越好。如2.2.2节中所述,阶段二中多分类对比学习的总损失函数需要设置缩放参数λ,平衡对比学习和多分类损失函数对模型参数的影响。图5展示了在不同缩放参数λ下,算法模型mAP值随训练轮次(Epoch)的变化曲线。可见随着缩放参数λ的增加,多分类对比学习模型的收敛速度和mAP呈现先增后减的趋势。这是由于λ增加时,对比学习损失占比提高,从而帮助模型学习更多类别间差异;但当λ过大时,分类损失占比减小,模型对标签信息的学习能力减弱。λ=0.25时,模型收敛速度最快,mAP最高。另外,不进行样本增强时,模型收敛速度减慢,mAP降低,这显示出样本增强对提升模型泛化能力的重要性。因此,将阶段二中Ms2模型的缩放参数λ设置为0.25。

UNIPI采用滤波器对11种DGA的模拟加密流量进行分类[5]。CCNC是首个对真实DGA加密流量进行种类细分的方案,该方案利用随机森林和LightGBM等集成学习模型对4种DGA加密流量进行分类[8]。为评估模型在真实的加密流量数据集上的性能,数据预处理和阶段一均采用相同处理方式,阶段二分别采用UNIPI、CCNC和Ms2模型(λ=0.25)进行对比,采用mAP和准确率作为评价指标,对前述7种DGA软件的加密流量进行分类,对比结果如表6所示。由表6可知,EDGDA在阶段二采用的Ms2模型的mAP达到了0.981 3,相比于CCNC提升了0.013 6;准确率达到98.07%,较CCNC方案提升了1.24个百分点。与UNIPI和CCNC所采用的传统机器学习方案相比,本文基于对比学习的分类方案在不平衡数据集上展现出更强的泛化能力,因此mAP和准确率均有所提升。

4  结 语

为应对现有DGA加密流量检测方法在实时性和泛化性上的不足,本文提出了一个基于对比学习的方案。针对DGA恶意脚本频繁发送无效域名请求的特点,设计了流量簇划分策略和特征集,利用 1 s的流量样本提取特征,并构建集成学习分类器实现DGA加密流量的检测。开发了一种流量增强方法,模拟网络变化生成有效样本,减少过拟合。此外,为降低训练成本,本文设计了一种对比学习和多分类联合训练方法,将对比学习和分类合并为单一训练过程,提高训练效率。选择XGBoost模型作为阶段一的二分类模型,并将阶段二中缩放参数确定为0.25进行对比实验,实验结果显示,在不平衡数据集上,EDGAD识别DGA加密流量种类的模型mAP和准确率相比于CCNC分别提升了0.013 6和1.24个百分点,表现出良好的泛化性。

在实际应用场景中,EDGAD能在网络安全监控等领域发挥作用。具体而言,EDGAD能有效识别加密DNS通讯场景下的DGA恶意软件流量,因此可以将EDGAD和现有的网络防火墙体系进行集成,从而实现对DGA恶意流量的监控与拦截。通过这种方式,EDGAD能协助保障个人及企业的网络安全,防止被僵尸网络控制,提升整体防护力。

本文评估了模型在包含7种真实DGA恶意软件的数据集上的性能。考虑到实际应用中DGA恶意软件种类繁多,笔者计划收集更广泛的DGA恶意软件流量数据,提升模型泛化能力,以检测更多样化的DGA恶意流量。未来,笔者还将开发基于开放世界假设的加密DGA流量检测方案,以识别未知类型的DGA恶意软件流量,增强模型在实际应用中的实用性和有效性。

参考文献

[1]

SCHMID G. Thirty years of DNS insecurity: Current issues and perspectives[J]. IEEE Communications Surveys & Tutorials202123(4): 2429-2459. DOI: 10.1109/COMST.2021.3105741 .

[2]

GARCÍA SHYNEK KVEKSHIN Det al. Large scale measurement on the adoption of encrypted DNS[EB/OL]. 2021arXiv: 2107.04436.

[3]

HOFFMAN PMCMANUS P. DNS queries over HTTPS (DoH)[J]. RFC20188484: 1-21. DOI: 10.17487/RFC8484 .

[4]

LYU M ZGHARAKHEILI H HSIVARAMAN V. A survey on DNS encryption: Current development, malware misuse, and inference techniques[J]. ACM Computing Surveys202355(8): 1-28. DOI: 10.1145/3547331 .

[5]

PATSAKIS CCASINO FKATOS V. Encrypted and covert DNS queries for botnets: Challenges and countermeasures[J]. Computers & Security202088: 101614. DOI: 10.1016/j.cose.2019.101614 .

[6]

PLOHMANN DYAKDAN KKLATT Met al. A comprehensive measurement study of domain generating malware[C]//Proceedings of the 25th USENIX Conference on Security Symposium. Austin: USENIX Association, 2016: 263–278.

[7]

ICHISE HJIN YIIDA Ket al. NS record history based abnormal DNS traffic detection considering adaptive botnet communication blocking[J]. Journal of Information Processing202028: 112-122. DOI: 10.2197/ipsjjip.28.112 .

[8]

MITSUHASHI RJIN YIIDA Ket al. Detection of DGA-based malware communications from DoH traffic using machine learning analysis[C]//2023 IEEE 20th Consumer Communications & Networking Conference (CCNC). New York: IEEE Press, 2023: 224-229. DOI: 10.1109/CCNC51644.2023.10059835 .

[9]

CHEN TKORNBLITH SNOROUZI Met al. A simple framework for contrastive learning of visual representations[EB/OL]. [2020-03-30].

[10]

TIAN Y LKRISHNAN DISOLA P. Contrastive multiview coding[C]//European Conference on Computer Vision. Cham: Springer, 2020: 776-794.10.1007/978-3-030-58621-8_45. DOI: 10.1007/978-3-030-58621-8_45 .

[11]

FANG H CWANG S CZHOU Met al. CERT: Contrastive self-supervised learning for language understanding[EB/OL]. 2020arXiv: 2005.12766.

[12]

KHOSLA PTETERWAK PWANG Cet al. Supervised contrastive learning[EB/OL]. [2020-04-23].

[13]

ZHAO HCHANG Z BBAO G Bet al. Malicious domain names detection algorithm based on N-gram[J]. Journal of Computer Networks and Communications20192019(1): 4612474.1-4612474.9. DOI: 10.1155/2019/4612474 .

[14]

SURYOTRISONGKO HMUSASHI YTSUNEDA Aet al. Robust botnet DGA detection: Blending XAI and OSINT for cyber threat intelligence sharing[J]. IEEE Access202210: 34613-34624. DOI: 10.1109/ACCESS.2022.3162588 .

[15]

SCHÜPPEN STEUBERT DHERRMANN Pet al. FANCI: Feature-based automated NXDomain classification and intelligence[C]//Proceedings of the 27th USENIX Conference on Security Symposium. Baltimore: USENIX Association, 2018: 1165-1181. DOI: 10.5555/3277203.3277290 .

[16]

PATSAKIS CCASINO F. Exploiting statistical and structural features for the detection of Domain Generation Algorithms[J]. Journal of Information Security and Applications202158: 102725. DOI: 10.1016/j.jisa.2020.102725 .

[17]

ZHANG Y DCHEN Y ZLIN Y Yet al. Detection of algorithmically generated domain names using SMOTE and hybrid neural network[C]//CCF Conference on Computer Supported Cooperative Work and Social Computing. Singapore: Springer, 2019: 738-751.10.1007/978-981-15-1377-0_57. DOI: 10.1007/978-981-15-1377-0_57 .

[18]

AYUB M ASMITH SSIRAJ Aet al. Domain generating algorithm based malicious domains detection[C]//2021 8th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud)/2021 7th IEEE International Conference on Edge Computing and Scalable Cloud (EdgeCom). New York: IEEE Press, 2021: 77-82. DOI: 10.1109/CSCloud-EdgeCom52276.2021.00024 .

[19]

RAVI VALAZAB MSRINIVASAN Set al. Adversarial defense: DGA-based botnets and DNS homographs detection through integrated deep learning[J]. IEEE Transactions on Engineering Management202370(1): 249-266. DOI: 10.1109/TEM.2021.3059664 .

[20]

VEKSHIN DHYNEK KCEJKA T. DoH Insight: Detecting DNS over HTTPS by machine learning[C]//Proceedings of the 15th International Conference on Availability, Reliability and Security. New York: ACM, 2020: 87.1-87.8. DOI: 10.1145/3407023.3409192 .

[21]

CSIKOR LSINGH HKANG M Set al. Privacy of DNS-over-HTTPS: Requiem for a dream?[C]//2021 IEEE European Symposium on Security and Privacy (EuroS&P). New York: IEEE Press, 2021: 252-271. DOI: 10.1109/EuroSP51992.2021.00026 .

[22]

SIBY SJUAREZ MDIAZ Cet al. Encrypted DNS ⇒ Privacy? A traffic analysis perspective[EB/OL]. 2019arXiv: 1906.09682. DOI: 10.14722/ndss.2020.24301 .

[23]

BUSHART JROSSOW C. Padding ain’t enough: Assessing the privacy guarantees of encrypted DNS[EB/OL]. 2019arXiv: 1907.01317.

[24]

HOFFMAN P EMCMANUS P. RFC 8484―DNS Queries over HTTPS[EB/OL]. [2018-10-31]. DOI: 10.17487/rfc8484 .

[25]

Canadian Institute for Cybersecurity. CIRA-CIC-DoHBrw-2020[DB/OL]. [2024-03-01].

[26]

MONTAZERISHATOORI MDAVIDSON LKAUR Get al. Detection of DoH tunnels using time-series classification of encrypted traffic[C]//2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress(DASC/PiCom/CBDCom/CyberSciTech). New York: IEEE Press, 2020: 63-70. DOI: 10.1109/DASC-PICom-CBDCom-CyberSciTech49142.2020.00026 .

基金资助

国家重点研发计划(2021YFB2700200)

国家自然科学基金(U1836202)

国家自然科学基金(62076187)

国家自然科学基金(62172303)

AI Summary AI Mindmap
PDF (2538KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/