本文是一篇计算机论文,本文详细介绍了互联网安全领域中所面临的威胁之一——僵尸网络,探究了其发展历程、生命周期和拓扑结构等基础背景知识,并综合分析了目前常用的僵尸网络检测方法及其优缺点,以及僵尸网络检测领域的研究现状。
1. 绪论
1.1 选题背景及研究意义
在现代社会中,计算机已经成为人们日常生活不可或缺的一部分。然而,计算机系统的普及也带来了新的安全风险,包括病毒和恶意软件、黑客攻击、数据泄露以及硬件安全漏洞等。这些安全风险可能会危及用户数据的安全性,或者对计算机系统的运行造成严重的阻碍,甚至导致整个系统的瘫痪。在各种安全威胁行为当中,僵尸网络(Botnet)仍然是最广泛、最持久的安全威胁。2016年,美国知名网络域名服务商Dyn遭受到了严重的分布式拒绝服务攻击(Distributed Denial of Service,DDoS )攻击,致使它无法正常提供网络服务,Mirai僵尸网络通过感染基础物联网设备引发了该事件。在2017年一年的时间内,Mirai僵尸网络累计感染了270万台物联网设备。2018年,门罗币挖矿僵尸网络Smominru感染了全球3千多万系统,并破坏了50万台用于加密采矿的机器。2019年,Emotet僵尸网络利用电子邮件中的下载链接从而控制受害者终端,达到窃取终端数据的目的,本次事件感染了美国多个州和地方政府的网络设备。根据CenturyLink威胁研究实验室发布的报告称[1],2019年上半年,某实验室的系统平均每天检测到恶意威胁120万种,较2017年的近20万种增加了500%,其中,僵尸网络威胁达到了每日约18000多次。绿盟科技发布《2020年BOTNET趋势报告》[2]指出物联网设备仍然是各类漏洞攻击的主要目标,而攻击者利用的漏洞跨度相对较长,涉及多种不同类型的设备和协议。此外,部分僵尸网络开始改变其发展模式,先专注于传播和入侵,待占领足够的肉鸡后再完善木马功能。Botnet控制者的行为也变得越来越谨慎,头部运营者控制的僵尸网络不断发展,以达到更高的隐匿性水平。2021年,由绿盟科技根据全年度的高级威胁事件持续追踪研究,整理形成了《2021年度高级威胁研究报告》[3],该报告指出,在追踪平台检测的命令与控制服务器中,美国的命令与控制服务器的数量最多,国内的大部分网络设备受到大量境外的命令与控制服务器的威胁,检测任务刻不容缓。2022年发布的《2022年度Botnet趋势报告》[4]指出僵尸网络威胁日益突出,全球主要国家中以美国的命令与控制服务器最多。图1-1展示了全球主要国家僵尸网络命令与控制服务器的分布情况。以僵尸网络为主的网络安全攻击屡见不鲜,并且感染设备开始更多地向基础设施蔓延,这对国家安全和社会稳定构成了严重的威胁。
计算机论文怎么写
.........................
1.2 国内外研究现状
基于网络流异常的检测方法是检测僵尸网络的主要手段之一。近年来,大量国内外研究人员尝试使用不同的方法提升网络流量异常检测的性能。肖琦和苏开宇[7]通过构建均衡网络流量并使用随机森林算法检测僵尸网络流量,但模型检测的网络流量并不真实。于洋和陈丹伟[8]采用卷积神经网络(convolutional neural network,CNN)算法检测僵尸网络流量,他们将原始“pcap”流量包转换为灰度图作为CNN的输入。在数据集CTU Normal 7和USTC TFC2016数据集作为实验的数据集,检测准确率达到99%。林宏刚等人[9]提出了一种基于图神经网络(Graph Neural Network,GNN)的点对点(Peer to Peer,P2P)僵尸网络检测方法。该方法利用P2P网络的特点,构建僵尸网络节点相互交互,搭建具有僵尸网络特征信息的网络拓扑结构,从而达到检测僵尸网络的目的。刘祥军等人[10]提出一种基于随机森林的包裹式特征选择方法RFCVFS(Random Forests Cross Validation Feature Selection),该方法减少了僵尸网络数据集的特征维度,筛选出合适的特征,达到提高模型检测效果的目的。唐玺博等人[11]在KDD99数据集上,利用自适应综合过采样(Adaptive Synthetic Sampling,ADASYN)算法处理类别不平衡的数据集,通过改进深度残差网络(Deep residual network,ResNet)深度学习模型作为检测方法,达到91%的检测准确率。Ahmed等人[12]采用人工神经网络(Artificial Neural Network,ANN)模型检测未知的僵尸网络流量,他们从数据集中选取10000条流量数据作为实验对象,80%的流量数据作为训练集,20%的流量数据作为测试集。但该方法实验选取的数据量太少,并且把准确率作评价模型的唯一指标。Poploola等人[13]提出了一种高效的基于深度学习的僵尸网络攻击检测算法,采用合成少数类过采样(Synthetic Minority Oversampling Technique,SMOTE)技术处理高度不平衡数据,并通过动态回归神经网络(Dynamic Recurrent Neural Networks,DRNN)算法检测僵尸网络流量。Nugraha等人[14]采用CNN_LSTM模型检测僵尸网络流量,就检测未知的僵尸网络流量和检测不平衡的僵尸网络流量两方面进行了实验。作者只是分类讨论了平衡与不平衡的问题,并没有从根本上处理数据的极度不平衡问题。并且仅仅在检测已知的僵尸网络的情况下具有较高的准确率。
............................
2. 相关技术与理论
2.1 僵尸网络
2.1.1 僵尸网络发展历程
历史上,僵尸网络起源于Internet Relay Chat(IRC)系统。IRC是一种基于文本的聊天系统,用于在组织频道内进行通信。在这个时期,“Bot”的概念并不一定包含有害行为。最初,僵尸网络的主要想法是控制IRC聊天室中的交互。它们能够解释简单的命令,提供管理支持和一些服务,并且并不具备现在所熟知的恶意攻击功能。
已知的第一个攻击IRC Bot是Eggdrop[24],于1993年发布并随后得到发展。接着,出现了恶意的IRC Bot,它们采用了同样的基本思想,但是被创建的主要目的是攻击其他IRC用户,甚至是整个服务器。之后,这些Bot实现了拒绝服务(Denial of Service,DoS)攻击,随后实现了DDoS 攻击。
新的Bot采用了复杂的机制与Botmaster进行通信,利用其他可用协议并集成了新的、强大的攻击方法,使Bot变得复杂和强大。它们可以像蠕虫一样传播,像病毒一样隐藏,并可以发动大规模、协调一致的攻击。例如AgoB ot[25]和SDBot[26]。AgoB ot[25]及其变体的发展被认为是一个里程碑,它标志着Bot已经发展成为一种更加危险和复杂的威胁。
当前一代的Bot可以通过在网络中共享的文件、P2P网络、电子邮件附件和受感染的网站传播,或者将病毒事先安装在软件后门中。Bot之间的通信通过多种协议实现,比如IRC、HTTP和P2P协议。
..........................
2.2 神经网络
2.2.1 基础结构
(1)卷积层
卷积层是神经网络模型中广泛使用的一种层次结构,主要用于特征提取。在处理一维数据形式的僵尸网络数据时,神经网络模型通常采用一维卷积层和一维池化层来处理数据。在卷积层中,使用卷积核对数据的相应采样区域进行卷积操作。通过指定卷积核的步长和大小,可以提取数据中的主要特征信息,从而实现对数据的特征提取和抽象。
(2)池化层
池化层作用是在保留主要特征的同时减少下一层的参数和计算量,同时还能防止过拟合现象,池化通常包括平均池化和最大池化。如图2-5所示,展示了一维池化的主要过程,紫色方块d1、d2、d3….d10代表原始数据信息,这里展示了池化大小为2的池化过程,假设这里是最大池化操作,则在第一个池化大小为2的范围内,假设d1>d2,则新的数据列中第一个数据为d1。以此类推,得出新的数据序列[36]。
................................
3.基于生成对抗网络的僵尸网络检测算法 ................... 17
3.1 算法设计 .................................. 17
3.1.1 GAN ..................................... 18
3.1.2 CGAN ...................................... 19
4.基于特征复用的僵尸网络检测模型 ....................... 40
4.1 模型设计 ............................... 40
4.2 模型实现 ................................... 41
5.总结与展望.................................... 50
5.1 总结 ................................. 50
5.2 展望 ....................................... 50
4. 基于特征复用的僵尸网络检测模型
4.1 模型设计
本章研究起点是“pcap”文件,即僵尸网络数据流量包。数据流量包可以通过数据预处理转换为具有实际意义的一维数据形式。通过本章提出的BRNet神经网络架构处理一维数据捕获有用信息,以达到高准确率的目的。如图4-1所示,展示了BRNet模型整体结构。具体的参数设置和实验详细步骤将在后面的小节中详细阐述。
BRNet模型主要包含两个部分,第一部分是僵尸网络的数据集预处理阶段,本章所采用的数据集为ISCX2014、CICIDS2017以及CIC-Darknet2020,本章基于统一的数据预处理手段对上述数据集进行处理;第二部分是构建BRNet僵尸网络检测模型的过程。该模型由多个组件组成,包括Recon块、卷积层、池化层以及BatchNormalization层。其中,Recon块包括卷积、池化、Relu以及批量归一化操作,它能够有效地提取数据中的特征,并对数据进行降维处理,Recon块的构造和数量在4.3.4小节会有具体解释。卷积层和池化层则能够对输入数据进行卷积和池化操作,从而进一步提取数据的特征。BatchNormalization层能够对数据进行归一化处理,使得数据在训练过程中更加稳定。在每个Recon块输出的特征数据中,都会在特征维度上进行特征数据的拼接,以便在下一次输入新的Recon块之前进行特征复用。最终,将特征数据输出到全局平均池化和全连接层中,以得出僵尸网络数据的分类结果。在BRNet模型中,特征复用是非常重要的。通过特征复用,模型能够将不同层级的特征信息进行整合,并提高模型的准确率和泛化能力。
计算机论文参考
.............................
5. 总结与展望
5.1 总结
本文详细介绍了互联网安全领域中所面临的威胁之一——僵尸网络,探究了其发展历程、生命周期和拓扑结构等基础背景知识,并综合分析了目前常用的僵尸网络检测方法及其优缺点,以及僵尸网络检测领域的研究现状。针对传统僵尸网络检测算法模型的局限性,本文提出了基于神经网络的僵尸网络检测模型。模型均采用神经网络构建模型,旨在解决在僵尸网络检测过程中出现的多种问题,例如数据集的特征质量、检测准确率以及其他性能指标。主要工作如下:
(1)本文采用的流量数据特征处理流程,可适用于任意流量数据,增强后续检测任务的性能表现。该流程主要为首先使用CICFlowMeter特征提取工具对“pcap”流量包进行处理,得到统一的特征数据。其次,利用CIC网站上的僵尸网络IP信息标记特征数据的标签,分为僵尸网络类和正常类。然后消除冗余特征和偏差值过大的特征,最终将数据缩放到[0,1]的范围内。
(2)本文设计并实现了一种解决僵尸网络领域中数据类别不平衡问题的生成对抗网络研究模型——Botnet-GAN。本文将原始GAN、CGAN和ACGAN作为对比算法引入,并利用本文提出的Botnet-GAN,均生成僵尸网络类别的数据,以增强和扩展僵尸网络数据集,并将ANN模型作为检测模型。对比实验结果表明,本文所提出的算法相较于GAN、CGAN以及ACGAN更稳定,性能表现更优异。
(3)本文设计并实现了BRNet僵尸网络检测模型,旨在解决由于特征数量不足而导致模型性能表现不佳的问题。该模型的基本思想是利用特征复用达到高检测准确率。通过实验验证,当Recon块的数量为6时,模型性能表现最好,将本文提出的模型与之前的模型对比,实验性能优于之前大多数研究结果。具体而言,在ISCX2014、CICIDS2017和CIC-Darknet2020数据集上进行了实验,结果表明,BRNet检测模型均达到97%以上的检测准确率。
参考文献(略)