基于深度学习的DGA检测方法研究

(整期优先)网络出版时间:2023-11-28
/ 4

基于深度学习的DGA检测方法研究

周创

安徽国防科技职业学院

摘要

随着科技的飞速发展,互联网已成为当今社会人们生活中不可或缺的一部分。虽然互联网给人们带来了很多好处,但人们的信息安全意识却没有相应提高。网络安全事件日益频繁,造成这些事件的原因也多种多样,如恶意软件感染、软件漏洞和社会工程学等。随着恶意攻击手段的不断增加和演变,人们必须学习创新和实用的网络安全防御技术。本研究利用深度学习FastText 技术解决DGA 域检测问题。在使用FastText 提取单词向量后, 构建了基于卷积神经网络(CNN) 和长短期记忆(LSTM)的混合DGA检测模型,以自动从数据集中提取特征并进行检测和分类。准确率在97%以上。

Abstract

With the rapid development of science and technology, the Internet has become an indispensable part of people's lives in today's society. Although the Internet has brought many benefits to people, their awareness of information security has not been raised accordingly. Cyber security incidents are becoming more frequent, and the causes of these incidents are varied, such as malware infections, software vulnerabilities and social engineering. As malicious attacks continue to increase and evolve, it is imperative that people learn innovative and practical cybersecurity defense techniques. In this study, deep learning and FastText techniques are utilized to solve the DGA domain detection problem. After extracting word vectors using FastText, a hybrid DGA detection model based on Convolutional Neural Network (CNN) and Long Short-Term Memory (LSTM) is constructed to automatically extract features from the dataset and perform detection and classification. The accuracy rate is above 97%.

随着现代互联网通信技术的飞速发展,5G、物联网等关键技术日益普及。上网的门槛大大降低。网民数量无疑将继续增加,这证明互联网已成为大众不可或缺的工具。然而,人们的网络安全意识却依然如故。这使得黑客更容易通过各种网络渠道传播恶意软件, 并通过控制更多受害者的电脑来实施更严重的攻击例如分布式拒绝服务(DDoS)攻击、暴力破解攻击等。根据国家计算机网络应急技术处理中心报告,仅2021年上半年,我国境内感染计算机恶意程序的主机数量约 446 万台,位于境外的约 4.9 万个计算机恶意程序控制服务器控制我国境内约 410 万台主机[1]

1控制我国境内主机数量前10的国家或地区

近年来,僵尸网络导致的信息安全事件越来越多,其中基于DGADomain Generate Algorithm域名生成算法)僵尸网络最难防控。黑客利用DGA根据一定规则生成众多域名,即使 IP 地址被封或怀疑受到监视,每个僵尸网络仍可以快速定位另一个实时攻击服务器的 IP 地址。黑客可以在不中断僵尸主机的情况下动态调整其 C&Ccommand-and-control命令与控制)服务器,这使它们能够躲避黑名单检测。

过去,安全人员一般依赖经验规则制定了各种规则来创建黑名单,以防范特定的 DGA 。后来,利用 DNS 相关信息追踪黑客特别是利用异常域与 C&C 服务器通信时留下的线索但是效果也不是十分显著。

得益于人工智能技术的飞速发展,研究人员现在已经开始使用机器学习和深度学习模型来进行DGA 域名检测。在传统的机器学习过程中,首先必须人工提取特征,然后对这些特征进行筛选和组合,才能建立机器学习模型。这就需要在预处理阶段投入相对较多的资源。而深度学习则可以自动特征提取和处理。只需输入数据,神经网络模型就能从大量数据中自动学习具有代表性的潜在特征

二、相关研究

文献[2]指出,黑客通常不依赖静态 IP 地址或域列表,而是使用域名生成算法 (DGA) 动态确定指挥控制流量的目标域。这样, 网络安全工作者就很难阻止、跟踪或劫持命令控制信道。恶意软件可能会检查成千上万个潜在域以获取指令。通过DGA生成看似随机的字符串或整个单词域名,还有部分DGA生成域名是基于时间的,在不同的时间段生成不同的域名。

文献[3]提出了一种基于规则的僵尸网络检测方法,该方法侧重于基于 DNS 的僵尸网络识别,即基于规则的僵尸网络检测使用 DNS 查询和响应行为建立的规则进行分析。该技术可有效检测 DNS 查询和 DNS 响应中的恶意 DNS 流量或异常流量, 同时保持较低的误报率,从而提高检测准确率。

文献[4]提出了一个基于 Windows 的新型僵尸网络数据集。他们还提出了一种基于 IP 信誉的僵尸网络检测机制,使用Snort入侵检测系统和出错指标。实验结果表明,基 IP获得了79个恶意IP的详细信息。最后生成307Snort 规则

文献[5]使用 DNS 的恶意软件和僵尸网络的检测方法进行了研究各种恶意软件和僵尸网络依赖DNS协议的快速指挥和控制基础设施。通过研究如何基于域生成算法(DGA) 对恶意软件进行检测和分类,作者应用了基于 DNS 标志的检测方法以有效识别使用最新 DGA 技术生成的恶意软件。

文献[6]根据主机的关联强度将主机分为不同的组,然后根据每个组的查询时间分布和查询次数分布特征区分恶意主机和良性主机。最后,基于对DNS 流量查询行为的分析, 提出了一种基于DGA的僵尸网络检测方案DBod。这种机制不仅能有效对付当前基于DGA的僵尸网络模式,还能对付新出现的僵尸网络模式。

文献[7]提出了一个名为 "中心性 "的概念,以此作为分析恶意软件域名中的词语特征领域生成算法(DGA)。一些机器学习模型,如对Naive BayesKNearest Neighbors (KNN) 和支持向量机 (SVM) 进行了分类测试。实验结果表明,随机森林算法表现最佳,准确率达到 88.64%

三、研究方法

3.1 FastText

FastText Facebook 专门为 NLP 和机器学习开发的开源库,根据具体的使用情况, 它可用于开发不同的文本分类或词向量表示应用[8]FastText 还为数百种语言提供了预训练的词向量模型,每种模型都是使用来自 Common Crawl和维基百科的丰富数据进行训练的

3.2 Textcnn

TextCNN 是一种神经网络架构,其主要目的是在文本分类领域使用简单的CNN网络解决文本分类问题,使用不同大小的卷积核来捕捉多个句子的信息并结合池化技术提取最重要的部分[9]。最后,它通过激活函数输出不同分类的概率,从而实现文本分类的目标。基本的TextCNN模型由嵌入层、一维卷积层、池化层和全连接层等部分组成。训练数据中的每个单词都会在嵌入层中被编码成一个固定维度的向量。除了在模型训练过程中学习单词嵌入外, 最近的研究趋势是使用预训练的神经网络模型来获取单词嵌入。这些模型可以通过在大型文本语料库中训练神经网络, 生成能够捕捉原始训练数据语义的词嵌入,例如Word2VecGloVeFastText

3.3混合型 DGA检测

在本研究中,使用基于TensorFlowKeras API实现了混合DGA-DefenseNet 的架构和相关参数TensorFlow 是谷歌开发的开源机器学习框架, 广泛应用于各种机器学习任务,也适用于嵌入式系统和移动设备等边缘设备。Keras 作为 TensorFlow的高级API,为快速构建机器学习模型和测试各种模型参数提供了便利。它以易用性、模块化和与其他框架的兼容性而著称,因此非常流行且易于扩展[10]。为了达到特征融合的效果,DGA-DefenseNet混合模型背后的概念是融合 CNN 层和 LSTM 层学习到的特征。归一化技术来提高学习效率,确保梯度下降的稳定性。在预处理步骤中, 归一化将整体数据分布限制在一个固定的范围内。

四、系统架构

系统架构由五个部分组成:数据收集、数据预处理、向量映射、模型训练和模型预测在数据收集阶段,从 Netlab360 UMUDGA 这两个国际公共数据集中提取正常和异常样本。正常样本来自 Alexa Top One Million。异常样本由各种DGA恶意软件生成。Netlab360数据集包含25DGA恶意软件系列的样本。UMUDGA数据集包含来自 50个不同DGA 恶意软件系列的样本。

在数据预处理阶段, 要执行数据整合和数据标记等各种步骤, 以便为每个DGA 恶意软件系列生成等量的样本,从而使训练数据集分布均衡。在特征工程阶段,对收集到的域名进行标记化,并使用 FastText

技术为训练数据中的域名生成词嵌入。在模型训练和预测阶段,使用了一个混合神经网络模型, 该模型结合了深度学习技术中的CNNLSTM。该模型可自动提取潜在特征,并预测样本是良性还是恶意,或进一步将样本划分为特定的恶意系列,从而构建一个用于检测 DGA 域名的集成系统。

五、实验

本节将介绍实验环境的配置,分为硬件规格、操作系统和各种软件信息。服务器采用银4210R*2 DDR4 4*32GB 内存、 2TB 硬盘和 NVIDIA GeForce3090Python采用3.9.9版本Tensorflow Keras 的版本均为 2.10.0。整个实验在 Windows 10 64位操作系统环境下进行。

为了合理评估模型的结果,引入多个指标对模型结果进行评估,包括准确度、精确度、召回率F1

Accuracy为准确度,Precision为精确度,Recall为召回率,F1是精确度和召回率的平均值它代表了模型的鲁棒性。TP为测试样本的真实标签是 DGA 样本,对该数据的模型预测

结果也是 DGAFP为测试样本的真实标签是合法(Legit)样本,但对该数据的模型预测结果是 DGAFN为测试样本的真实标签是 DGA 样本,但预测该数据模型的结果是合法(Legit)样本,TN表示测试样本的真实标签是合法(Legit)样本,对该数据的模型预测结果也是合法的。

5.1 Netlab360实验结果

为了防止过度拟合,采用了早停法Early Stopping, 即在训练过程中达到最佳效果就暂定训练。我们的模型使用 Netlab360 数据集在检测任务中训练了约 39epoch。模型在训练过我们的模型采用了自动学习率调整机制, 可以适当降低学习率, 帮助模型尽可能达到最优。从结果来看准确率在第 25 epoch左右逐渐趋于稳定

5.2 UMUDGA实验结果

UMUDGA 数据集中,与 Netlab360 数据集相比,UMUDGA 数据集的数据量更大,这使得模型可以从更多的样本中学习特征。在第20 epoch,本研究观察到训练数据和验证 数据的准确率和损失曲线都出现了明显波动。造成这种情况的主要原因可能是模型在这一阶段学习到的特征与实际数据的特征不同,导致准确率意外下降, 损失随之增加

数据源

Netlab360

UMUDGA

准确率

97.50%

97.32%

精准率

97.49%

97.43%

召回率

97.61%

97.31%

F1

0.9760

0.9734

实验结果表明,该模型在两个测试数据集上的准确率都超过了97%,其他评价指标也达到了较高水平。这些结果表明,该模型在检测和分类DGA 域方面表现出色。此外,实验结果表明,本研究提出的方法成功地将FastText 技术和深度学习技术有效地结合起来,并将其应用于DGA 域检测任务

参考文献

[1]国家互联网应急中心,2021年上半年我国互联网网络安全监测数据分析报告[OL]]

[2]B. Shteiman, R. Benson, and S. Gil, T1568.002: Dynamic Resolution: Domain Generation Algorithms of MITRE ATT&CK  framework, Available

[3]K. Alieyan,A. Almomani, R. Abdullah and M. Anbar, "A Rule-based Approach to Detect Botnets based on DNS," Proceedings of the IEEE International ConferenceInternational Conference on Control System, Computing and Engineering, pp.115- 120, 2018

[4]F. Suthar, N. Patel, and S. V.O. Khanna, "A Signature-Based Botnet (Emotet) Detection Mechanism," International Journal of Engineering Trends and Technology, vol. 70,no. 5,pp. 185- 193, 2022

[5]J. Y. Lee, J. Y. Chang, and E. G. Im, "DGA-based malware detection using DNS traffic analysis," Proceedings of the  Conference on Research in Adaptive and Convergent Systems, pp. 283–288, 2019.

[6]Tzy Shiah Wang, Hui Tang Lin, Wei Tsung Cheng, Chang Yu Chen,"DBod: Clustering and detecting DGA-based botnets using DNS traffic analysis",Computers & Security, vol. 64,pp. 1- 15, 2017.

[7]T pya, P.P Amritha, and S. Viswanathan, "A model to detect domain names generated by DGA malware," Procedia Computer Science, vol. 215,pp. 403-412, 2022.

[8]Facebook, Word vectors for 157 languages,  Available: https://fasttext.cc/docs/en/crawl-vectors.html

[9]H. Zhang, Y. Shan, P. Jiang, and X. Cai, "A Text Classification Method Based on BERT-Att-TextCNN   Model," Proceedings  of the  Advanced Information Management, Communicates, Electronic and Automation Control Conference, pp. 1731- 1735, 2022.

Google, Keras, Available: https://www.tensorflow.org/guide/keras?hl=zh-cn

基金项目:

安徽省教育厅科学项目(KJ2021A1491),安徽省质量工程项目(2021kcszsfkc076、2021jyxm0234)、安徽省高校优秀青年人才支持计划(gxyq2020143)、安徽国防科技职业学院质量工程项目(gf2022jxyj01、gf2022xqjc04)、提质培优项目(《Linux应用基础》课堂革命典型案例)的阶段性成果。