基于神经网络的入侵检测系统的设计与实现

2023-07-17 09:30肖中峰何思熙
计算机应用文摘 2023年13期

肖中峰 何思熙

摘要:入侵检测系统可以及时发现和响应网络攻击,保护重要的数据和资源。基于神经网络的入侵检测系统是一种利用神经网络技术来宾现入侵检测的方法,通过对现有攻击方法和模式的模拟仿真,利用大量数据的训练来学习特征和模式,并用于分类、识别和预测等任务。该方法具有一定的泛化能力和自适应能力.可以处理大规模和复杂的数据,提高检测的准确率和鲁棒性。文章基于递归神经网络搭建了一个入侵检测系统的框架并用NSL-KDD数据集做了训练和测试。实验结果表明,入侵检测系统框架中的LSTM网络架构表现最好,VAC,TAC,FIS分别达到了98.16%,84.76%,98.48%,可以满足实际应用需求。

关键词:循环神经网络;入侵检测系统;XGBoost;Softmax

中图法分类号:TF393 文献标识码:A

1 概述

入侵检测系统(Intrusion Detection System,IDS)在计算机安全领域具有广泛的应用,可以帮助受保护的单位及时发现和响应网络攻击,保护重要的数据和系统资源[1] 。入侵检测系统可以用于监控公司网络[2] ,也可以为其他公司提供软件服务,如电子邮件、网站和应用软件等[3] 。虽然入侵检测系统可以保护计算机系统和网络安全,但也存在一些挑战和不足。

例如,入侵检测系统可能会产生误报,即将正常的操作误判为攻击行为,或者漏报少报,无法检测到真正的攻击。入侵检测系统还需要不断更新和维护,才能应对新的攻击技术和入侵模式。

2 基于神经网络入侵检测系统

基于签名的入侵检测是最常见的检测方法之一,它使用已知的攻击签名库来识别网络流量中的恶意操作。这种方法主要依赖于已知的攻击模式和特征,因此只能识别那些已知的攻击,并且需要经常更新签名库,以保持监测的全面性。基于网络行为的入侵检测则是一种更加灵活的方法,它通过分析系统和网络的行为来识别异常行为和攻击。这种方法不依赖于已知的攻击签名,而是基于对正常系统和网络调用行为的理解,通过检测异常行为来识别潜在的攻击。基于行为的入侵检测可以识别新的未知攻击,但也会产生较多误报。除了基于签名和基于行为的入侵检测方法,还有一些其他的入侵检测技术,如基于支持向量机的方法、神经网络方法等。

基于神经网络的入侵检测系统是一种利用神经网络技术来实现入侵检测的方法。神经网络是一种模仿人脑神经系统的计算模型,它可以通过对大量数据的训练来学习特征和模式,并用于分类、识别和预测等任务。与传统的入侵检测系统相比,基于神经网络的入侵检测系统具有以下优点:对于新的未知攻击,具有一定的泛化能力和自适应能力,可以识别和防范新的攻击模式和类型;可以处理大规模和复杂的数据,可以自动提取和学习数据中的特征和模式,減少人工干预;可以通过多层网络学习数据的高层次特征和抽象表示,提高检测的准确率和鲁棒性。但该系统也存在一些挑战和限制。例如,需要大量的数据进行训练和调优,如果数据质量不好或者数据不足,那么可能会影响检测的准确率。此外,神经网络具有一定的复杂性和计算资源需求,需要较高的计算性能和存储容量。

基于上述问题,本文实现了一个使用机器学习技术的IDS 框架, 该框架使用多种递归神经网络(Recurrent Neural Network,RNN) 和基于XGBoost 的特征选择方法进行对比。为了评估所提出的IDS 框架的性能,本文采用了NSL⁃KDD 基准数据集。实验表明,与现有方法相比,本文提出的IDS 框架中的LSTM 网络架构表现最好。

3 检测系统基本流程及系统架构设计

3.1 实验数据及预处理

在基于神经网络的入侵检测系统中,通常会采用深度学习技术,使用多层神经网络对数据进行处理和学习。一般而言,基于神经网络的入侵检测系统主要包含2 个部分:训练和测试。为保障入侵检测系统的普遍适用性和稳定性,实验数据需要选取具有代表性的数据集,实验数据集应具有数据量大、攻击类别全面、模拟性强以及能够代表现实网络攻击行为的特点。本研究采用KDD’99 数据集的修订版本NSL⁃KDD,利用该数据集模拟网络环境,对不同类型的网络攻击行为进行仿真。数据预处理主要包含2 方面:一是将数据集中的符号特征转换成计算机能识别的数值型;二是经变换后的数据特征差别性较大,不利于模型训练,在不破坏数据映射的情况下,需进行归一化处理。

3.2 LSTM 网络架构

RNN 能够在不同的层之间循环,并且还能够临时存储信息以供以后使用。标准RNN 的结构如图1 所示。NN 表示标准神经网络,xp 表示输入和hp 是输出。根据定义,RNN 被认为是深度神经网络,因为有不同的层来处理信息。如图1 等号右侧所示,展开的标准RNN 说明RNN 构造的深度。尽管标准RNN 在执行各种预测任务时有效,但它们确实存在梯度消失的问题。

为解决上述问题,本研究提出了一种新的IDS 框架。初始阶段包括收集模型构建所需的数据。所提出的体系结构的第二层是数据处理和特征提取阶段。

在这一步骤中,对特定数据集进行标准化,以确保所有分类属性都正确编码,所有数字特征都标准化。一旦数据集被清理和规范化,就应用XGBoost 算法。该过程生成包含特征重要性(Feature Importance,FI)值的向量,并且基于经验选择的FI 阈值来选择最佳特征子集。架构的第三层是模型构建阶段。在这一阶段,有3 个主要的独立操作,即训练、验证和测试。

标准RNN、长短期记忆递归网络(Long Short TermMemory,LSTM)和门控循环单元(Gate Recurrent Unit,GRU)的配置如图2 所示。第一层是输入层,它输入到RNN/ LSTM/ GR 深层的构造中。然后通过密集的NN 层(可以是单层人工神经网络(Artificial NeuralNetwork,ANN)或多层感知器(Multi⁃Layer Perceptron,MLP))计算来自深层的信息。最后,通过Softmax(式1)用于多类分类配置,该Softmax 激活函数返回一个向量,该向量包含相加为1 的值,最高值表示预测的结果,表达式为:

3.3 模型训练及测试

在训练阶段,系统使用已知的攻击数据和正常数据来训练神经网络,使其能够学习到攻击的特征和模式。这个过程需要使用大量的数据进行训练,并对神经网络进行多轮迭代训练,以提高其准确率和鲁棒性。在测试阶段,系统使用已经训练好的神经网络对新的数据进行分类和预测。对于入侵检测系统而言,新的数据就是系统中检测到的网络流量、日志数据和系统行为等。当新的数据经过神经网络处理后,系统会根据输出结果判断数据是否属于正常的行为或者是否存在入侵行为。

4 实验分析

4.1 实验环境和数据集介绍

本文使用Python 工具包Scikit⁃Learn 和Keras ML及DL 进行实验,采用网络安全数据集NSL⁃KDD 训练并测试网络。

在硬件系统方面,所有模拟实验均在Windows 10操作系统的DELL⁃153000 上运行, 处理器为: Intel(R)⁃Core(TM)i7⁃8568U。

NSL⁃KDD 數据集包含大量的网络流量数据和入侵攻击数据,这些数据来自一个基于模拟的网络环境。数据集中的网络流量数据包括TCP 和UDP 协议的连接记录和特征,入侵攻击数据包括22 种不同类型的攻击,如DoS,R2L,U2R 和probe 等。同时,NSL⁃KDD 数据集还包含大量的正常数据,可以用于建立入侵检测模型的基准。NSL⁃KDD 数据集共包含4 个子集,分别是训练集、测试集、20%交叉验证集和完整数据集。其中,训练集包含125 973 个数据样本,测试集包含22 544 个数据样本,20%交叉验证集包含25 192个数据样本,完整数据集包含148 517 个数据样本。

数据集中的特征包括41 个基本特征和14 个附加特征,涵盖网络连接的各个方面,如协议类型、源地址、目标地址、源端口、目标端口等。

4.2 实验结果分析

本文通过NSL⁃KDD 数据集中的5 个类来进行实验验证,使用Softmax 激活函数的标准RNN,LSTM 和GRU 的分类方案的结果对比如表1 所列。结果表明,3 种网络都是大约在隐藏层中使用150 个RNN 单元时效果最佳,此时简单RNN 网络VAC 为97.64%,TAC 为83.94%,F1S 为97.96%,并在108.32 s 内完成了训练。关于LSTM 方法VAC 为98.61%,TAC 为84.76%,F1S 为98.48%,。在GRU 算法的实例中,VAC 为98.42%,TAC 为84.64%,F1S 为98.45%,训练时间为141.44 s。通过对比可以看出,基于XGBoost的LSTM 分类器具有最好的效果。

5 结束语

入侵检测是一种重要的计算机安全技术,它是为了保护计算机系统和网络免受恶意攻击和未经授权的访问而设计的,可以监控网络和系统的活动,并检测出不正常的行为和攻击,帮助管理员及时发现和响应安全问题。本研究提出了一种IDS 框架的实现方案,该框架使用不同类型的RNN 技术以及基于XGBoost 的特征选择方法做对比,并使用NSL⁃KDD 数据集评估分类器的性能。实验结果表明, 在标准RNN,LSTM 和GRU 的分类方案的结果中,LSTM 的效果最好,指标VAC,TAC,F1S 分别达到了98.16%,84.76%,98.48%。在未来的研究中,我们还可能对多种网络的混合方法进行研究。

参考文献:

[1] 刘海燕,张钰,毕建权.基于分布式及协同式网络入侵检测技术综述[J].计算机工程与应用,2018,54(8):1⁃6+20.

[2] 刘奇旭,王君楠,陈艳辉,等.对抗机器学习在网络入侵检测领域的应用[J].通信学报,2021,42(11):1⁃12.

[3] 古险峰.一种基于数据挖掘的网络入侵检测系统设计与实现[J].河南科技学院学报(自然科学版),2020,48(6):54⁃58+67.

作者简介:

肖中峰(1993—),硕士,助教,研究方向:计算机软件、网络安全、智慧城市。

何思熙(1995—),硕士,助教,研究方向:群体安全智能、人工智能。