基于CNN和LSTM的网络恶意流量识别研究
作者: 黄嵩
关键词:卷积神经网络;长短期记忆网络;恶意流量
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2024)28-0069-03
0 引言
近年来,随着计算机技术和人工智能领域的迅猛发展,数字校园、智慧校园等概念日益深入人心[1]。高校纷纷顺应时代潮流,依托校园网络,构建起包括学校网站群、教务系统、后勤系统、人事系统、一卡通系统等在内的智能应用体系。这无疑极大地满足了师生的工作学习需求,但同时也使得姓名、身份证、手机号等敏感信息暴露于网络之上。不容忽视的是,受部分黑客群体利益驱使及国际形势影响,网络攻击手段层出不穷,如勒索病毒、挖矿攻击等,轻则导致系统瘫痪,重则引发机密信息泄露。若高校在网络安全防护上存在疏漏,便会给不法分子以可乘之机。此外,黑客技术和网络攻击手段持续升级,如SQL注入、DDoS 攻击、端口扫描、漏洞利用等,防不胜防。因此,若能运用技术手段对高校网络流量进行深度分析,提前识别并拦截恶意流量,将有助于网安人员追溯攻击源头,及时阻断攻击,从而有效保护高校内部的网络安全与信息安全,确保校园网络的平稳运行。
本文采用当前较为成熟的深度学习技术——卷积神经网络(CNN) 与长短期记忆网络(LSTM) ,对网络流量进行建模分析,训练出能够精准识别网络恶意流量的模型。该模型将助力网安人员更好地识别恶意流量,为高校信息资产的安全保驾护航。
1 卷积神经网络(CNN)
早在20世纪80年代,科学家们便提出了人工神经网络的概念,他们利用大量模拟的神经元构建模型,以模仿大脑的思考方式。然而,由于当时计算能力的不足和缺乏具体的应用场景,人工神经网络并未得到广泛应用。随着近年来半导体技术的持续进步和神经网络理论模型的不断迭代更新,神经网络已成为深度学习领域的关键组成部分,并被广泛应用于图形图像处理、文本识别、金融分析、医药研究等多个与大众生活息息相关的领域。同时,随着网络化时代的到来,各类丰富的数据得以便捷地流通,这为科学家们使用海量数据训练出高效实用的模型提供了便利。
人工神经网络根据其内部神经元之间的连接关系,可以分为前向网络和反馈网络两大类。由于前向网络中神经元之间的信息传递是单向的,且结构相对简单,因此它特别适合于处理大规模、多维度的数据。卷积神经网络(CNN) 便是前向网络中的一个经典代表。CNN 的结构与典型的前向网络相似,由输入层、隐藏层(包括卷积层、池化层和全连接层)以及输出层构成[2]。
在CNN中,输入层负责接收原始数据。这些数据可以是图像、文本、音频等多种形式,根据数据类型的不同,它们会被转换为相应的矩阵形式进行输入。
进入隐藏层后,隐藏层中的卷积层会对输入数据进行特征提取。通过使用卷积核与原始矩阵进行卷积操作,如公式(1) 所示,得到一个比输入数据更小的矩阵,这个矩阵即被视为降维后的数据,同时也是从原始数据中提取出的关键特征。如图1所示,即以二维矩阵为例进行卷积操作的过程。
卷积层输出的特征矩阵中包含的特征数量往往过多,且通常可能伴随过拟合的问题,因此会将特征矩阵输入到池化层中进行进一步的处理[3]。常见的池化技术包括最大池化和平均池化,如图2和图3所示,通过选择适当的池化窗口大小,依据其对应的算法降低特征矩阵的维度,最终将处理结果输出至全连接层。
特征矩阵中存储的均为局部特征,全连接层的作用是将这些特征矩阵转换为一维向量,经过计算后,根据激活函数即可得到最终的输出结果。
2 长短期记忆网络(LSTM)
由于卷积神经网络作为一种前向网络,缺乏反馈机制,神经网络在训练时可能会过度依赖邻近的训练数据。而神经网络通常需要大量数据进行训练才能达到较优效果,因此,为了避免卷积神经网络因时序问题导致的模型局限性,需要引入长短期记忆网络(LSTM) 。与卷积神经网络不同,LSTM是一种反馈网络,通过前向传播和反向传播等手段,使模型在训练时具备记忆性,并持续动态地迭代参数[4]。普通的反馈网络如循环神经网络(RNN) 存在长期依赖问题,而LSTM是对RNN的改进,其核心结构包括记忆细胞、输入门、遗忘门和输出门,这些结构能够按照时间顺序对输入数据进行筛选,从而具备处理时序数据的能力。
记忆细胞是贯穿LSTM网络的关键结构,通过记忆细胞,LSTM能够实现对信息的长期记忆。然而,网络中的信息并非固定不变,在训练过程中,通过输入门、遗忘门和输出门这三个结构来控制信息的流动与更新[5]。长短期记忆网络的结构如图4所示。
3 实验及分析
3.1 实验数据及环境
本文使用的数据集为CIC-IDS2017,是加拿大安全研究所提供的开源数据集[6]。鉴于以往数据集在覆盖面及恶意流量攻击类型丰富度上的不足,研究人员基于HTTP、HTTPS、FTP等协议,模拟了为期5天、涉及25个用户的行为数据,包含了正常的数据流以及多样化的攻击方式,如DDoS、僵尸网络、渗透和Web攻击等。该数据集包含时间戳、源地址IP、目标地址IP、源端口、目标端口、协议等共计75种特征。提供的数据集形式多样,既有pcap格式的数据包文件,也有经过预处理的csv格式文件。本文用于研究的数据集为其中的Thursday-WebAttacks、Thursday-Infilteration、Fridayn-PortScan、Friday-DDos,其数据分布如表1 所示。
本次实验的硬件环境配置为Windows 10 64位系统,搭载Intel i5-7400 CPU 及NVIDIA GTX1660SUPER GPU,内存容量为16GB。软件环境方面,采用Python 3.6版本,开发框架选用Pytorch,集成开发环境为PyCharm。
3.2 实验流程
实验流程如图5所示。首先,读取数据集后,对整体数据进行检查,发现“每秒传输的字节数”和“每秒传输的数据包数”两列中存在nan、infinity 等异常值(脏数据),需将这些包含脏数据的数据行予以剔除。鉴于数据样本中部分攻击行为的样本数量较少,为防止模型训练时出现过拟合现象,对含有恶意流量的数据进行重采样处理。随后,按照70%和30%的比例划分训练数据集和测试数据集。接着,利用卷积神经网络(CNN) 进行特征提取,再通过长短期记忆网络(LSTM) 构建模型,最后验证测试集输出结果。
3.3 实验结果
实验结果如表2 所示,本文提出的基于CNN 和LSTM 的分类模型对数据集中的Thursday-WebAttacks、Thursday-Infiltration、Friday-PortScan、Friday-DDoS均有不错的预测效果,其中准确率依次达到96.03%、93.25%、94.48%和97.19%,精确率依次为98.58%、94%、97.62% 和98.25%,召回率依次为97.28%、93.19%、96.33% 和98.08%,F1值依次为97.93%、93.59%、96.97% 和98.16%。仅在Thursday-Infiltration这个样本上,由于恶意流量类型为渗透的数据较少,可能会在训练模型时导致过拟合而表现略有不佳,但在其余样本上均能达到96%以上的准确识别率。通过以上结果可以得出结论,本文提出的基于CNN和LSTM的模型能够有效地对网络中的恶意流量进行分析和识别,从而帮助相关网络安全人员更好地提前识别和预判风险,以保障校园网络的安全和信息资产的安全。
4 结束语
本文首先介绍了当前严峻的网络安全形势以及防范和识别网络恶意流量的必要性,随后简要介绍了卷积神经网络(CNN) 和长短期记忆网络(LSTM) 的背景和原理。接着,提出了一种基于CNN和LSTM的模型,该模型首先利用CNN对数据集进行特征提取,随后通过LSTM进行建模,以此实现对网络恶意流量的分析和识别。
在后续工作中,鉴于本文在训练模型时遇到的部分攻击样本较少的问题,以及不断出现的新型恶意流量攻击形式,建议未来研究可以收集更多、更全面的数据集进行训练。同时,面对海量数据时,如何解决机器性能与训练效率之间的矛盾也将成为研究的重点。