(完整版)基于神经网络的网络入侵检测
- 格式:doc
- 大小:1.06 MB
- 文档页数:16
基于LSTM网络的网络入侵检测模型网络入侵是指黑客通过攻击网络系统,获取非法权限,窃取、破坏或篡改数据信息的行为。
在当前互联网环境下,网络安全问题日益严峻,迫切需要有效的入侵检测手段来保护网络系统的安全性和完整性。
本文将介绍一种基于LSTM(长短时记忆)网络的网络入侵检测模型,该模型通过深度学习方法对网络入侵进行准确的监测和识别。
一、背景介绍网络入侵检测是网络安全领域的关键问题之一。
传统的入侵检测方法通常基于特征工程和机器学习算法,需要人工提取和选择特征,存在着特征选择困难和特征变化的问题。
相比之下,深度学习作为一种端到端的学习算法,可以自动学习输入数据的特征表示,具有较高的泛化能力。
因此,基于深度学习的网络入侵检测模型备受关注。
二、LSTM网络简介LSTM是一种循环神经网络(RNN)的变体,能够有效地处理序列数据,并具有记忆功能。
相比于传统的RNN模型,LSTM通过引入三个门控单元(输入门、遗忘门、输出门)来控制信息的传递和遗忘,解决了长序列训练中的梯度消失和梯度爆炸问题。
这使得LSTM网络具有较好的记忆能力,适合处理具有时间序列性质的网络流量数据。
三、基于LSTM的网络入侵检测模型基于LSTM的网络入侵检测模型主要由以下几个组成部分构成:1. 数据预处理首先,需要对网络流量数据进行适当的预处理。
这包括数据清洗、特征提取和归一化等步骤。
数据清洗用于去除异常值和噪声,特征提取则是提取网络流量数据中的有用信息,例如源IP地址、目的IP地址、端口号等。
归一化是将不同特征的取值范围映射到统一的范围,以避免某些特征对模型训练的影响过大。
2. LSTM网络模型构建接下来,在数据预处理完毕后,可以构建基于LSTM的网络入侵检测模型。
模型的输入是经过预处理后的网络流量数据,通过LSTM层对数据进行特征学习和表示。
为了提高模型的性能,可以在LSTM层之后添加一些其他的层,例如卷积层或全连接层,以进一步提取和组合特征。
第1篇一、实验背景随着信息技术的飞速发展,网络安全问题日益凸显。
入侵检测技术作为网络安全的重要手段,能够实时监控网络系统的运行状态,及时发现并阻止非法入侵行为,保障网络系统的安全稳定运行。
本实验旨在通过构建一个入侵智能检测系统,验证其有效性,并分析其性能。
二、实验目的1. 理解入侵检测技术的基本原理和实现方法。
2. 掌握入侵检测系统的构建过程。
3. 评估入侵检测系统的性能,包括检测准确率、误报率和漏报率。
4. 分析实验结果,提出改进建议。
三、实验材料与工具1. 实验材料:KDD CUP 99入侵检测数据集。
2. 实验工具:Python编程语言、Scikit-learn库、Matplotlib库。
四、实验方法1. 数据预处理:对KDD CUP 99入侵检测数据集进行预处理,包括数据清洗、特征选择、归一化等操作。
2. 模型构建:选择合适的入侵检测模型,如支持向量机(SVM)、随机森林(Random Forest)等,进行训练和测试。
3. 性能评估:通过混淆矩阵、精确率、召回率等指标评估入侵检测系统的性能。
4. 实验结果分析:分析实验结果,总结经验教训,提出改进建议。
五、实验步骤1. 数据预处理(1)数据清洗:删除缺失值、异常值和重复数据。
(2)特征选择:根据相关性和重要性选择特征,如攻击类型、服务类型、协议类型等。
(3)归一化:将数据特征进行归一化处理,使其在相同的量级上。
2. 模型构建(1)选择模型:本实验选择SVM和Random Forest两种模型进行对比实验。
(2)模型训练:使用预处理后的数据对所选模型进行训练。
(3)模型测试:使用测试集对训练好的模型进行测试,评估其性能。
3. 性能评估(1)混淆矩阵:绘制混淆矩阵,分析模型的检测准确率、误报率和漏报率。
(2)精确率、召回率:计算模型的精确率和召回率,评估其性能。
4. 实验结果分析(1)对比SVM和Random Forest两种模型的性能,分析其优缺点。
基于神经网络的网络安全评估方法研究随着互联网在国内的普及和应用范围的不断扩大,网络安全问题愈加凸显。
各类安全威胁层出不穷,传统安全技术已经难以满足安全需求,网络安全的研究和保障任务日益繁重。
针对当前网络安全问题,国内外的学者和专家们不断探索新的安全技术和方法,其中基于神经网络的网络安全评估方法备受关注。
一、基于神经网络的网络安全评估方法原理神经网络是一种机器学习的算法,其模型受到人类神经系统的启发,可以用于模拟人脑对信息的处理过程。
网络安全评估是指对网络系统的安全性能进行评估,包括安全需求、安全目标、安全策略等多个方面。
基于神经网络的安全评估方法,其核心就是将大量的安全数据输入到神经网络中,通过训练使神经网络自动学习网络安全模式,从而建立网络安全评估模型。
该模型可用于对网络安全问题进行预测、检测和防御。
二、基于神经网络的网络安全评估方法的优劣势分析1. 优势:(1)基于神经网络的网络安全评估方法具有强大的数据处理能力,可以处理大量的网络安全数据,将数据转化为可供评估的信息。
(2)该方法的自适应性和自学习能力强,可以动态更新网络安全模型,提高对新兴网络安全威胁的检测和防御能力。
(3)基于神经网络的网络安全评估方法不受网络结构的限制,适用于各种不同的网络结构和设备。
2. 缺陷:(1)基于神经网络的网络安全评估方法需要大量的安全数据进行训练,缺乏充足的安全数据会影响模型的准确性。
(2)该方法虽然可以适应新的安全威胁,但模型泛化能力有限,可能会存在误判问题。
(3)基于神经网络的网络安全评估方法需要专门的算法和技术支持,技术门槛较高,需要专业人员进行研究和开发。
三、基于神经网络的网络安全评估方法在实际应用中的场景1. 基于神经网络的入侵检测入侵检测是指对网络系统进行检测和识别,判断是否遭到入侵。
基于神经网络的入侵检测可以更加准确地识别入侵行为,并及时进行防御。
2. 基于神经网络的网络威胁分析网络威胁分析是指对网络系统中安全威胁情况进行分析和评估,以及对威胁进行预测和抵御。
基于人工智能的网络入侵检测方法研究随着网络技术的发展和应用的广泛,网络安全问题愈演愈烈。
网络入侵攻击威胁着网上用户的安全与隐私,如何有效地检测和防范网络入侵威胁成为了当前迫切需要解决的问题之一。
人工智能技术因其在处理复杂问题方面具有的优势而逐渐成为网络入侵检测领域中的重要手段。
本文对基于人工智能的网络入侵检测技术进行了研究和探讨,并提出了相应的应对方案。
一、人工智能在网络入侵检测领域的应用人工智能技术在网络入侵检测领域中的应用主要体现在以下三个方面:1. 基于机器学习的网络入侵检测方法。
机器学习是一种能够让计算机不断地学习和适应的技术,通过对样本数据进行学习和模型构建,使得计算机能够在没有人类干预的情况下自动识别和处理数据。
在网络入侵检测领域,基于机器学习的方法通过建立模型来学习网络入侵行为的规律,并将新的数据与模型进行比对来判断其是否存在入侵行为。
相较于传统的基于规则的检测方法,机器学习技术能够更加全面地考虑网络入侵的各个方面,提高检测精度和准确性。
2. 基于神经网络的网络入侵检测方法。
神经网络是一种类似于人类大脑神经细胞相互连接的计算模型,能够学习和处理复杂的非线性关系。
在网络入侵检测领域,基于神经网络的方法通过构建网络模型来学习和识别网络流量特征,从而实现网络入侵检测。
相较于基于机器学习的方法,基于神经网络的方法能够更加准确地识别数据流量中的复杂关系,从而提高检测精度和准确性。
3. 基于深度学习的网络入侵检测方法。
深度学习是一种基于神经网络的机器学习方法,在处理复杂问题方面具有明显的优势。
在网络入侵检测领域,基于深度学习的方法通过多层次的神经网络架构来学习和识别网络入侵行为。
相较于传统的基于规则和特征提取的方法,深度学习技术能够更加高效地识别复杂的网络入侵行为和攻击类型。
二、基于人工智能的网络入侵检测技术的发展现状当前,基于人工智能的网络入侵检测技术已经逐渐成为网络安全领域的重要研究方向。
基于LSTM网络的网络入侵检测技术网络安全一直是当今科技发展中的一个重要领域,随着互联网的普及和网络攻击手段的不断进化,网络入侵检测技术变得尤为重要。
本文将介绍一种基于LSTM(长期短期记忆)网络的网络入侵检测技术,探讨其原理以及在实际应用中的效果。
一、引言在互联网时代,网络安全问题日益突出。
网络入侵行为通过潜在的威胁随时威胁着企业和个人的信息安全。
网络入侵检测技术是保护网络安全的重要手段之一。
传统的网络入侵检测技术主要依赖于规则匹配和特征提取,但针对未知的入侵行为往往无法有效应对。
而基于LSTM网络的网络入侵检测技术能够利用其强大的序列模型特性,有效地进行入侵行为的检测和预测。
二、LSTM网络原理LSTM网络是一种具有长短期记忆能力的循环神经网络。
相比于传统的循环神经网络,LSTM网络引入了遗忘门和输入门,能够更好地处理长序列依赖关系。
遗忘门用于控制哪些信息应该被遗忘,输入门用于控制哪些新信息应该被添加进来。
这一机制使得LSTM网络在处理近期和远期依赖问题时更加准确和有效。
三、基于LSTM网络的网络入侵检测技术基于LSTM网络的网络入侵检测技术主要分为两个阶段:训练阶段和测试阶段。
1. 训练阶段在训练阶段,需要准备入侵和非入侵样本数据集。
入侵样本数据集包含已知的入侵行为数据,非入侵样本数据集包含正常的网络流量数据。
首先,将样本数据集进行预处理,包括数据清洗、特征提取等步骤。
然后,构建LSTM网络模型进行训练。
在训练过程中,通过反向传播算法不断调整网络的权重和参数,以达到对入侵行为的准确识别和分类。
2. 测试阶段在测试阶段,使用已训练好的LSTM网络模型对实时网络流量进行检测。
将实时网络流量输入到网络模型中,通过前向传播算法进行预测。
根据预测结果,可以将网络流量划分为入侵行为和非入侵行为两类。
通过设定合适的阈值,可以对入侵行为进行进一步的细分和报警。
四、实验与应用为了验证基于LSTM网络的网络入侵检测技术的效果,我们进行了一系列实验。
基于深度学习的网络入侵检测方法研究网络入侵是指攻击者利用网络空间漏洞,从而获取敏感信息、破坏系统或者窃取资源。
随着网络技术的不断发展,网络入侵已经成为一种常见的安全威胁。
传统的入侵检测方法主要基于规则匹配、特征识别等技术,具有一定的局限性。
而基于深度学习的网络入侵检测方法则可以通过学习网络流量数据的特征,实现更加精确和高效的入侵检测,本文将介绍基于深度学习的网络入侵检测方法的原理、关键技术、应用现状以及未来发展前景。
一、基于深度学习的网络入侵检测方法的原理基于深度学习的网络入侵检测方法基于神经网络进行建模,通过学习网络流量数据的特征,实现了对异常流量的检测。
具体来说,该方法分为两个阶段:模型训练和入侵检测。
首先是模型训练阶段。
在这个阶段中,首先需要构建深度神经网络的模型架构,然后使用标记的数据集对模型进行训练。
其中标记的数据集是指标注了正常流量和异常流量的网络数据集。
模型通过学习这些标记的数据集,提取并学习数据的特征,建立了一个能够准确反映数据特征的模型。
这个模型训练好以后,就可以用于后续的入侵检测。
其次是入侵检测阶段。
在这个阶段中,该方法将网络流量数据送入已经训练好的深度神经网络模型中,从而得到一个预测结果。
如果模型预测结果表明当前的网络流量数据是异常流量,则会触发警报或者防御措施,从而保护网络安全。
二、基于深度学习的网络入侵检测方法的关键技术基于深度学习的网络入侵检测方法的关键技术主要包括数据预处理,模型的选择和训练,以及模型的评估和调整。
1. 数据预处理在进行深度学习网络入侵检测之前,需要进行数据预处理。
数据预处理可以通过一系列技术来清洗数据、去除噪声和预处理特征。
这可以减少模型的复杂度,提高训练效果。
数据预处理方法主要包括数据标准化、数据降维以及特征工程。
2. 模型的选择和训练选择合适的深度神经网络模型是关键的。
目前,常用的网络模型包括卷积神经网络、循环神经网络和深度信念网络等。
在选择模型之后,需要使用数据集对模型进行训练,并优化模型参数。
第42卷第6期2021年6月哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报Journal of Harbin Engineering UniversityVol.42ɴ.6Jun.2021基于GRU-RNN 的网络入侵检测方法李俊1,夏松竹2,兰海燕2,李守政2,孙建国2(1.国家工业信息安全发展研究中心,北京100040;2.哈尔滨工程大学计算机科学与技术学院,黑龙江哈尔滨150001)摘㊀要:针对数据集中少数分类用例过采样问题,本文依据网络入侵行为具有时序特征的特点,将门控循环单元记忆模块引入递归神经网络当中,提出了一种基于记忆和时序的入侵检测网络模型 GRU-RNN 模型㊂针对原始攻击数据具有离散性且分布较广的问题,对数据进行数值化及归一化的预处理操作,并对攻击的时序性进行分析,探讨门控循环单元在递归神经网络中应用于入侵检测的可行性,构建GRU-RNN 网络模型,选取最优的损失函数㊁分类函数,提出了基于时序的不平衡学习入侵检测模型,用于检测具有时序特征的攻击行为㊂将模型应用在KDD 数据集中进行实验测试,表明与其他不平衡学习方法相比,本模型具有更好的识别率与收敛性㊂关键词:入侵检测;时序神经网络;优化函数;门控循环单元;One-hot 编码;拒绝服务攻击;深度学习DOI :10.11990/jheu.202005001网络出版地址:http :// /kcms /detail /23.1390.u.20210322.1610.004.html 中图分类号:TP391㊀文献标志码:A㊀文章编号:1006-7043(2021)06-0879-06Network intrusion detection method based on GRU-RNNLI Jun 1,XIA Songzhu 2,LAN Haiyan 2,LI Shouzheng 2,SUN Jianguo 2(1.National Industrial Information Security Development Research Center,Beijing 100040,China;2.College of Computer Science andTechnology,Harbin Engineering University,Harbin 150001,China)Abstract :Aiming at the oversampling problem of a few classification use cases in datasets and according to the time-series characteristics of the network intrusion behavior,the gated recurrent unit (GRU)memory module is in-troduced into a recurrent neural network (RNN).A new intrusion detection network model,i.e.,GRU-RNN mod-el,is proposed in this paper based on memory and time series.The data are numericalized and normalized,which aims to solve the problem on discrete and widely distributed original attack data.The time-series characteristics of attacks are analyzed by the model,and the feasibility of the application of GRU in intrusion detection in RNNs is investigated.The GRU-RNN model is constructed,and the optimal loss function and classification function are se-lected.An imbalanced learning intrusion detection model is proposed based on the time series to detect attack be-haviors with time-series characteristics.The model is applied to the KDD dataset for testing.The results show that the model has a better recognition rate and convergence than other imbalanced learning methods.Keywords :intrusion detection;time-series neural network;optimization function;gated recurrent unit (GRU);one-hot encoding;denial-of-service attack(DOS);deep learning收稿日期:2020-05-01.网络出版日期:2021-03-23.基金项目:黑龙江省自然科学基金项目(F2018006).作者简介:李俊,男,研究员;兰海燕,女,讲师,博士.通信作者:兰海燕,E-mail:lanhaiyan@.㊀㊀网络安全包括承载载体的完整性㊁可用性及机密性㊂任何企图破坏机密性或者绕过网络安全机制的活动都可以视为网络入侵[1]㊂网络入侵检测系统是一种用于检测网络入侵的安全管理系统,是网络安全系统中不可或缺的一部分[2]㊂网络入侵检测系统通常会抓取检测特定网络中全部的出流量及入流量,以确定其中一些数据包是否含有入侵迹象[3]㊂近年来,机器学习的许多研究应用在入侵检测领域㊂例如,支持向量机㊁人工神经网络和遗传算法在入侵检测领域取得了不错的成绩㊂但是由于入侵呈现多样化,现有的机器学习方法暴露出很多局限性㊂尤其在自动提取入侵特征和分析中,需要更好的学习方法㊂Hinton 等[4]研究发现,深度学习被广泛应用在自然语言处理㊁图像识别和天气预报领域㊂深度学习中应用高度非线性结构,在处理复杂数据时表现出出色的识别能力㊂并行计算硬件设施的高速发展也为深度学习算法提供了强有力的硬件支撑㊂通过设计合理的网络结构,深度神经网络可有效控制神哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报第42卷经网络的参数量,确保网络性能的同时,降低神经网络的运行成本[5]㊂由于训练和计算复杂性,递归神经网络(recur-rent neural network,RNN)在过去的一段时间未能成为主流深度学习的网络模型㊂近些年,RNN开始进入快速发展时期,在手写识别[6]和语音识别[7-8]领域有了广泛的应用㊂RNN的特点是同一层中的节点是连通的㊂因此,隐藏层的输入不仅包括上层的输出,还包含最后一个时间点的同一层的输出[9]㊂许多入侵行为可以抽象为来自底层网络的特定时间序列的时间㊂因此,RNN被认为适合用来构建入侵检测系统㊂本文将门控循环单元(gated recurrent unit, GRU)结构放在RNN神经网络中进行入侵检测,模型可以识别具有时序特性的入侵流量㊂分析并设计模型的层次结构,分析最优的损失函数㊁分类函数,提出了一种最适用于本文的优化函数,加快模型收敛速度㊂1㊀数据预处理1.1㊀数值化使用归一化㊁数值化方法处理元数据㊂KDD数据集中的数据是多组一维向量组成:[0,tcp,http,SF,219,1098,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00, 1.00,0.00,0.00,7,255,1.00,0.00,0.14,0.05, 0.00,0.01,0.00,0.00,normal]每列所代表内容为:[ duration , protocol_type , service , flag , src_bytes , dst_bytes , land , wrong_frag-ment , urgent , hot , num_failed_logins , log-ged_in , num_compromised , root_shell , su_at-tempted , num_root , num_file_creations , num_ shells , num_access_files , num_outbound_cmds , is_host_login , is_guest_login , count , srv_ count , serror_rate , srv_serror_rate , rerror_ rate , srv_rerror_rate , same_srv_rate , diff_srv_ rate , srv_diff_host_rate , dst_host_count , dst_ host_srv_count , dst_host_same_srv_rate , dst_host_ diff_srv_rate , dst_host_same_src_port_rate , dst_ host_srv_diff_host_rate , dst_host_serror_rate , dst_ host_srv_serror_rate , dst_host_rerror_rate , dst_ host_srv_rerror_rate , label ]其中4项是字符型的数据,需要对其进行数值化处理㊂例如最后一项数据类型label,共有5种,分别是普通行为㊁拒绝服务攻击㊁网络窥探㊁越权攻击㊁远程攻击㊂此部分数据离散化不能作为GRU-RNN模型的直接输入,需要将数据重新编码㊂可以采用One-hot编码方式㊂在用机器学习算法分类时,计算各个特征之间的距离非常重要㊂One-hot编码基本思想是将原数据的离散值转换为欧式空间中的一个点㊂label分类的转换可以如表1所示㊂表1㊀攻击分类one-hot编码表Table1㊀Attack classification one-hot code table标签序列化后One-hot编码Normal000001Probe100010Dos200100U2R301000R2L410000 1.2㊀归一化元数据的范围不一致,例如第一列数据在(0, 1)分布,第5列数据理论上可以达到无穷大㊂不利于神经网络的处理㊂如果数值过大会增加计算负担㊂所以对数据进行归一化处理,例如将第5列数据归一到(0,1),本文采用归一化式:X norm=X-X minX max-X min(1) 2㊀GRU-RNN网络结构2.1㊀RNN循环神经网络推出RNN的目的是因为人们想要利用带有顺序性的数据㊂在传统的神经网络中,假设所有输入和输出互相独立㊂但是对于许多的任务处理,这种处理方式得到的模型效果很差㊂例如某人想要预测句子的下一个单词,那么他最好知道之前的单词都是什么,否则无法完成预测㊂RNN之所以称之为递归,是因为它对序列的每个元素都执行相同的任务,它的输出受之前运算影响㊂RNN具有记忆功能,可以捕获到目前已经计算出来的所有有关的内容㊂RNN具有记忆功能,得益于RNN的模型结构设计,可以将之前的信息传递到后面的隐含层中,从而达到记忆的效果㊂RNN能够记住在时间t处理的信息,在随后的时间进行计算,RNN模型结构图如图1所示㊂图1㊀递归神经网络结构Fig.1㊀Recurrent neural network structure diagram RNN的模型结构比较简单,由输入层㊁隐藏层㊃088㊃第6期李俊,等:基于GRU-RNN 的网络入侵检测方法和输出层组成㊂输入层与隐含层和隐含层与输出层之间为全连接的状态,隐含层自身也有一个自循环结构㊂RNN 模型展开图如图2所示㊂图2㊀递归神经网络的层级展开Fig.2㊀Hierarchical expansion of recurrent neural networkRNN 展开图中t -1,t ,t +1代表时间顺序㊂输入层用x 表示,W 表示之前样本的权重矩阵,U 表示当前时刻输入样本的权重矩阵,V 表示输出的权重矩阵㊂S t 表示数据在时间点t 的隐藏状态,其计算过程受上一个时间点计算出来的状态影响:S t =f (W ∗S t -1+U ∗X t )(2)其中,f (㊃)为激活函数,采用tanh 函数㊂模型一般在t 时刻初始化各类初值,其余值初始化阶段:h 1=Ux 1+Ws 0(3)s 1=f (h 1)(4)o 1=g (Vs 1)(5)其中g (㊃)为激活函数,采用SOFTMAX 函数,在一次运算完成后,当前的状态将作为t 时刻的状态参与下一时刻的运算:h 2=Ux 2+Ws 1(6)s 2=f (h 2)(7)o 2=g (Vs 2)(8)㊀㊀由此可知,最终输出的式为:h t =Ux t +Ws t -1(9)s t =f (h t )(10)o t =g (Vs t )(11)㊀㊀可以将隐藏状态视为RNN 内存 ㊂捕获t 时间点前发生的所有事情,并基于t 时间点计算输出㊂RNN 在所有步骤中共享相同的参数(U ,W ,V ),减少了学习过程中需要学习的参数总数㊂2.2㊀门控制循环单元门控循环单元(gated recurrent unit,GRU)在多种应用领域中被证明是一种有效的LSTM 变体,其结构是LSTM 的简化和提升版[10]㊂使用复位门和更新门替代LSTM 结构中输入门㊁遗忘门和输出门㊂复位门来计算是否忘记之前计算状态,更新门决定将上一步多少信息继续迭代到当前步骤[11]㊂GRU 结构如图3所示㊂GRU 结构的主要计算式:r t =σ(W r x t +U r h t -1)(12)z t =σ(W z x t +U r h t -1)(13) h t =tanh(W h x t +U (r t ☉h t -1))(14)h t =(1-z t )h t -1+z t h ~t (15)式中:r t ㊁z t 代表重置门和更新门在t 时的输出;h t 和 h t 代表t 时间点的状态信息和候选状态信息㊂图3㊀门控循环单元结构Fig.3㊀gated recurrent unit structure diagramGRU 结构比LSTM 简单,在运算的速度和性能上比LSTM 更有优势[12],其展开图如图4所示㊂图4㊀门控循环单元展开Fig.4㊀Hierarchical expansion of gated recurrent unit2.3㊀GRU-RNN 网络设计传统网络入侵检测[13-14]被证明是非常有效的检测手段,但这类检测方式只对例如越权攻击有较好的检出率[15]㊂由于网络入侵有明显的时序性,例如DDOS 攻击就是在短时间内大量的访问某服务造成服务不可用的状态㊂传统的检测方式[16],无法对持续一段时间的攻击行为进行检测,会在迭代学习的过程中产生一种梯度消失的现象,即遗忘[17]㊂所以本文采用RNN 循环神经网络,结合GRU 模型,能够处理具有时序性的攻击信息㊂将GRU 与RNN 结合,构建GRU-RNN 网络入侵检测模型㊂如图5所示,该系统由数据预处理模块㊁过采样模块㊁GRU 模块㊁RNN 模块和输出模块组成㊂预处理模块负责将原数据转换为适合神经网络输入的数值;GRU 模块由2个GRU 层组成,每层含2个GRU 结构存储数据,是系统的核心部分;RNN 模块含15层隐含层,对GRU 模块的输出执行非线性映射,最终做出非线性的分类决策㊂KDD 数据集共有5种行为,分别是普通行为㊁拒绝服务攻击㊁网络窥探㊁越权攻击㊁远程攻击㊂所以输出层采用SOFTMAX 函数对结果进行分类处理,可标准化分类概率并将其输出为最终结果㊂在这些组件当中,GRU 和RNN 模块是2种不㊃188㊃哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报第42卷同的神经网络模型㊂GRU结构复杂,计算量大㊂RNN结构简单,可以进行快速的计算且易于堆叠㊂所以本文采用2层GRU和15层RNN隐含层来实现㊂两者构成一个深层网络,实现更优化的结果㊂图5㊀GRU-RNN网络结构Fig.5㊀GRU-RNN network structure diagram㊀㊀输入层具有41个输入神经元,输入层连接到2个记忆模块的隐含层,输入层的神经元与隐含层是全连接的关系㊂1)输入层设计㊂将KDD-99数据集中的元数据数值化和归一化后输入GRU-RNN模型㊂其中protocol_type㊁service㊁flag和label元数据为字符型,利用One-hot编码成为标量㊂对src_bytes㊁dst_bytes等数据归一化成为(0,1)标量㊂元数据共41个维度,处理后对应41个输入神经元的输入层将元数据输入GRU-RNN㊂2)GRU与RNN隐含层设计㊂由2层记忆层组成,该部分负责存储数据,即模型最核心的创新点 记忆功能 ㊂用于识别持续时间较长的攻击行为㊂然后将数据导入一个15层的RNN隐含层进行特征识别㊂3)输出层㊂该KDD-99数据集中共有5种行为被标识,所以本系统采用一个5个输出神经元的输出层㊂3㊀实验3.1㊀测量方法对于分类问题,分类结果可以是正确的或不正确的,所有可能的结果可以分为表2中4个情况㊂表2㊀性能指标分类表Table2㊀Measure classification状态判断为攻击判断为正常攻击流量TP FP正常流量FN TN㊀㊀TP表示模型检测出攻击流量的数目,且该检测结果是正确的;FN表示检出为攻击流量的数目,但其检测结果错误,这些流量实际是正常流量;TN表示检出为正常流量的数目,且检测结果是正确的;FP表示检出为正常流量的数目,但其检测结果错误,实际该流量是攻击流量㊂其中,FP和FN称为误报㊂根据以上4个参数,通常可以得出4个指标衡量一个模型的实际性能㊂准确率:AR=TP+TNTP+TN+FN+FP(16)㊀㊀检出率:DR=TPTP+FP(17)㊀㊀正确检出率:CDR=TPTP+FN(18)㊀㊀漏报率:FCR=FPFP+TN(19)㊀㊀相关系数:RC=2(DR㊃CDR)DR+CDR(20)㊀㊀其中,式(16)代表正确判断所有入侵流量和正常流量的概率;式(17)㊁(18)代表攻击流量的检出率;式(19)代表攻击流量被当成正常流量的误报率;式(20)是衡量模型总体指标的衡量函数㊂3.2㊀数据集KDD数据集是美国空军模拟空军基地局域网,收集7个星期的训练数据和2个星期的测试数据㊂手机的数据总数包含200多个实例㊂流量被分类为正常流量或某种攻击类型㊂攻击被分成4个攻击类别:拒绝服务攻击(DOS)㊁网络探测(Probe)㊁远程攻击(R2L)和越权攻击(U2R)㊂3.3㊀GRU-RNN网络结构实验为进一步验证本文提出的GRU-RNN网络模型性能㊂与其他文献中入侵检测模型进行比较,包括不平衡学习㊁支持向量机㊁DNN等学习方法[18-19]㊂㊃288㊃第6期李俊,等:基于GRU-RNN 的网络入侵检测方法此外在本实验中,使用NSL-KDD 数据集进行实验,作为KDD 数据集的改进版,解决了KDD-CUP -99数据集s 一些固有问题[20]㊂但总体仍然存在一些问题,通常将2种数据集一起使用㊂如表3~5所示,实验测试了不同模型的整体检测性能㊂表3㊀与其他不平衡算法性能比较Table 3㊀Comparison with other imbalance algorithms算法准确率正确检出率误报率采用数据集训练用数据集大小CANN +SMOTE 98.9599.510.561NSL-KDD 125973MHCVF98.1495.53 1.37KDD-CUP-99494021DENDRON 97.6595.89 1.09NSL-KDD 125973I-NGSA 99.4599.36NSL-KDD 125973GRU-RNN 99.1398.850.129NSL-KDD73906表4㊀与其他传统算法性能比较Table 4㊀Compared with other traditional algorithms算法准确率正确检出率误报率采用数据集训练用数据集大小SVM94.3192.85 3.65KDD-CUP-99145585OS-ELM 98.6899.16 1.56NSL-KDD125973TLMD 93.2593.280.792KDD-CUP-9986000GA-LR 99.799.670.135KDD-CUP-99494021GRU-RNN 99.1398.850.129NSL-KDD 73906表5㊀与其他深度学习算法性能比较Table 5㊀Comparison with other deep learning algorithms算法准确率正确检出率误报率采用数据集训练用数据集大小CNN +LSTM 99.3597.650.09KDD-CUP-992466929S-NADE 97.9297.15 2.23KDD-CUP-99494021DNN99.1399.730.91NSL-KDD 125973SCDNN 92.2392.927.76NSL-KDD 62986GRU-RNN99.1398.430.129NSL-KDD73906㊀㊀与其他的不平衡学习方法相比,本文提出的GRU-RNN 模型使用最少的样本来获得最佳性能㊂在准确率和正确检出率方面,I-NGSA 与CANN +SMOTE 模型在不平衡学习模型中取得了比较好的效果㊂相比之下,本文提出的GRU-RNN 模型效果略逊色于上述2种模型,但由于均达到99%以上的检出率㊂所以可以忽略本部分的劣势,可以视为是较好的检测水平㊂与浅层学习相比,GA-LR 在浅层学习中所有指标均表现良好,总体效果要略好于本文提出的模型㊂但由于GA-LR 模型所需要的训练数据集大小为本模型的7倍㊂因此,在相同的数据量下,本模型的收敛性比GA-LR 模型好㊂表现出本算法在少量数据的时候,就能达到最优状态㊂与其他深度学习模型[21-22]相比,结果显示其他深度模型均有较好的性能㊂其中,CNN-LSTM 与DNN 模型总体上检测效果要好于本模型,与GA-LR 模型具有同样的问题,需要的数据量远大于本模型㊂S-NADE 模型,整体性能较差,需要的数据量也远超本模型㊂SCDNN 模型,正确检出率极低㊂4㊀结论1)实验结果验证了基于GRU 网络记忆模块的GRU-RNN 入侵检测系统,能够解决传统的入侵检测模型普遍无法对具有时序特征(尤其是持续时间较长的攻击)检出率不高的问题㊂2)对KDD 数据集的仿真实验表明,该模型能够在使用较少数据集的条件下,达到99%以上的准确率,且具有较好的准确率㊁检出率和漏报率㊂本文对所提出的模型主要进行了理论验证,为了验证该模型的实际应用,需要投入到大量的工程中运行㊂下一步的研究重点是优化模型,使其能够应用在网络入侵检测的实际场景中㊂参考文献:[1]LIAO H J,LIN C H R,LIN Y C,et al.Intrusion detectionsystem:a comprehensive review [J].Journal of network and computer applications,2013,36(1):16-24.[2]SHARMA S,GUPTA R K.Intrusion detection system:areview[J].International journal of security and its applica-tions,2015,9(5):69-76.[3]ALLEN J H,CHRISTIE A M,FITHEN W L,et al.Stateof the practice of intrusion detection technologies [R ].Pittsburgh:Carnegie Mellon University,Software Engineer-ing Institute,2000.[4]HINTON G E,OSINDERO S,TEH Y W.A fast learningalgorithm for deep belief nets [J ].Neural computation,㊃388㊃哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报第42卷2006,18(7):1527-1554.[5]王振东,徐振宇,李大海,等.面向入侵检测的元图神经网络构建与分析[J/OL].自动化学报:1-24.[2021-03-14].DOI:10.16383/j.aas.c200819 WANG Zhendong,XU Zhenyu,LI Dahai,et al.Construc-tion and Analysis of Meta Graph Neural Network for Intru-sion Detection[J/OL].Acta automatica sinica:1-24. [2021-03-14].DOI:10.16383/j.aas.c200819.[6]GREGOR K,DANIHELKA I,GRAVES A,et al.DRAW:a recurrent neural network for image generation[C]//Pro-ceedings of the32nd International Conference on Interna-tional Conference on Machine Learning.Lille,France, 2015:1462-1471.[7]HANNUN A,CASEC,CASPER J,et al.Deep speech: scaling up end-to-end speech recognition[EB/OL].(2014-12-19).https:///abs/1412.5567. [8]袁文浩,胡少东,时云龙,等.一种用于语音增强的卷积门控循环网络[J].电子学报,2020,48(7):1276-1283. YUAN Wenhao,HU Shaodong,SHI Yunlong,et al.A con-volutional gated recurrent network for speech enhancement [J].Acta electronica sinica,2020,48(7):1276-1283.[9]刘文军,郭志民,吴春明,等.基于深度学习的配电网无线通信入侵检测系统[J].电子学报,2020,48(8): 1538-1544.LIU Wenjun,GUO Zhimin,WU Chunming,et al.A deep learning based intrusion detection system for electric distri-bution grids[J].Acta electronica sinica,2020,48(8): 1538-1544.[10]LE T T H,KIM J,KIM H.An effective intrusion detec-tion classifier using long short-term memory with gradient descent optimization[C]//2017International Conference on Platform Technology and Service(PlatCon).Busan, Korea(South),2017:1-6.[11]KIM J,THU H L T.Long short term memory recurrentneural network classifier for intrusion detection[C]//2016 International Conference on Platform Technology and Serv-ice(PlatCon).Jeju,Korea(South),2016:1-5. [12]HOCHREITER S,SCHMIDHUBER J.Long short-term mem-ory[J].Neural computation,1997,9(8):1735-1780.[13]POZI M S M,SULAIMAN N,MUSTAPHA N,et al.Im-proving anomalous rare attack detection rate for intrusiondetection system using support vector machine and genetic programming[J].Neural processing letters,2016,44(2):279-290.[14]HUSSAIN J,LALMUANAWMA S,CHHAKCHHUAK L.A two-stage hybrid classification technique for network in-trusion detection system[J].International journal of com-putational intelligence systems,2016,9(5):863-875.[15]SHEN Yanping,ZHENG Kangfeng,WU Chunhua,et al.An ensemble method based on selection using bat algo-rithm for intrusion detection[J].The computer journal, 2018,61(4):526-538.[16]ASLAHI-SHAHRI B M,RAHMANI M,CHIZARI M,etal.A hybrid method consisting of GA and SVM for intru-sion detection system[J].Neural computing and applica-tions,2016,27(6):1669-1676.[17]KANG M J,KANG J W.Intrusion detection system usingdeep neural network for in-vehicle network security[J].PLoS one,2016,11(6):e0155781.[18]ERFANI S M,RAJASEGARAR S,KARUNASEKERA S,et al.High-dimensional and large-scale anomaly detection using a linear one-class SVM with deep learning[J].Pat-tern recognition,2016,58:121-134.[19]JAVAID A,NIYAZ Q,SUN Weiqing,et al.A deeplearning approach for network intrusion detection system[C]//Proceedings of the9th EAI International Confer-ence on Bio-Inspired Information and Communications Technologies(Formerly BIONETICS).New York,NY, USA,2016:21-26.[20]IBRAHIM L M,BASHEER D T,MAHMOD M S.A com-parison study for intrusion database(KDD99,NSL-KDD)based on Self Organization map(SOM)artificial neural network[J].Journal of engineering science and technolo-gy,2013,8(1):107-119.[21]BAMAKAN S M H,WANG Huadong,TIAN Yingjie,etal.An effective intrusion detection framework based on MCLP/SVM optimized by time-varying chaos particle swarm optimization[J].Neurocomputing,2016,199:90-102.[22]ABUROMMAN A A,REAZ M B I.A novel SVM-kNN-PSO ensemble method for intrusion detection system[J].Applied soft computing,2016,38:360-372.本文引用格式:李俊,夏松竹,兰海燕,等.基于GRU-RNN的网络入侵检测方法[J].哈尔滨工程大学学报,2021,42(6):879-884.LI Jun,XIA Songzhu,LAN Haiyan,et work intrusion detection method based on GRU-RNN[J].Journal of Harbin Engineering University, 2021,42(6):879-884.㊃488㊃。
基于稀疏自编码深度神经网络的入侵检测方法任伟【摘要】针对现有未知网络攻击检测方法采用人工或浅层机器学习方法选取特征导致检测精度较低的问题,提出一种基于稀疏自编码深度神经网络的入侵检测模型.该模型采用多层无监督神经元将高维、非线性的数据映射成低维空间,建立高维空间和低维空间的双向映射的自编码网络结构.除此之外,通过稀疏自编码获得权值和偏置初始化深度神经网络隐含层的参数,用归一化后的网络底层连接记录数据对深度神经网络进行训练并测试.实验结果表明,本文所采用的方法能够提高入侵检测模型的准确率,优于浅层机器学习选取特征的分类算法,是一种高效且可行的入侵检测模型.【期刊名称】《移动通信》【年(卷),期】2018(042)008【总页数】6页(P27-32)【关键词】特征提取;稀疏自编码;深度神经网络;入侵检测【作者】任伟【作者单位】中国电信股份有限公司广东分公司,广东广州 510627【正文语种】中文【中图分类】TN929.51 引言随着移动互联网的高速发展,应用安全从传统桌面进入移动应用时代。
移动应用风险为业务安全带来大量的不确定因素,移动应用安全也成为移动互联网发展的焦点。
企业在享用移动互联网带来便利的同时也面临着各种各样的网络入侵。
当前,入侵检测研究备受业界人士的关注,互联网的安全防范技术不断涌现并被广泛应用:(1)数据加密和杀毒软件等被动防范技术;(2)对网络安全状态进行实时检测的主动防范技术。
上述两种技术都是采用数据库匹配技术实现入侵行为的识别。
但是在实际的生产环境中,黑客或恶意软件的入侵行为并不是一成不变的,当出现新的入侵行为时,上述的入侵检测方法就显得无能为力了。
为了应付新的入侵威胁,采用一定的规则对入侵网络行为进行分析与挖掘,构造入侵行为的分类器以实现网络入侵的检测成为当前网络安全研究领域的重要方向。
KENNEDY[1]等人采用神经网络进行网络入侵行为的检测,但是由于神经网络是基于一定规模的训练样本进行模型构建,在训练样本足够多的情况下才能保证模型的精度,而入侵行为本来就是小概率事件,因此该方法的入侵检测结果不稳定,检测正确率也不如人意。
基于深度神经网络的入侵检测系统一、基于深度神经网络的入侵检测系统概述随着信息技术的快速发展,网络安全问题日益受到重视。
入侵检测系统(Intrusion Detection System, IDS)作为网络安全的重要组成部分,其主要任务是监测网络流量,识别并响应可能的恶意行为。
传统的入侵检测方法,如基于签名的检测和异常检测,虽然在某些情况下有效,但面对日益复杂的网络攻击手段,其局限性也日益凸显。
基于深度神经网络的入侵检测系统以其强大的特征学习能力和泛化能力,为提高检测准确性和应对新型攻击提供了新的解决方案。
1.1 深度学习在入侵检测中的应用深度学习是机器学习的一个分支,通过构建多层的神经网络模型,能够自动提取数据的高层次特征。
在入侵检测系统中,深度学习可以应用于流量分析、行为分析和异常模式识别等多个方面。
与传统方法相比,深度学习模型能够更好地捕捉到数据的内在复杂性,从而提高检测的准确性和效率。
1.2 深度神经网络的结构和原理深度神经网络由多层神经元组成,每层神经元通过权重连接到下一层,形成复杂的网络结构。
网络的输入层接收原始数据,中间层进行特征提取和转换,输出层则根据学习到的特征进行分类或回归。
通过反向传播算法和梯度下降方法,网络可以不断调整权重,优化模型性能。
二、基于深度神经网络的入侵检测系统设计设计一个有效的基于深度神经网络的入侵检测系统,需要考虑数据预处理、网络模型选择、训练与验证等多个环节。
2.1 数据预处理数据预处理是构建深度学习模型的第一步,包括数据清洗、特征选择和数据标准化等。
在入侵检测系统中,原始网络流量数据可能包含大量的噪声和无关信息,需要通过预处理步骤来提高数据质量。
此外,为了提高模型的泛化能力,还需要对数据进行归一化处理,使其分布更加均匀。
2.2 网络模型选择选择合适的深度神经网络模型对于入侵检测系统的性能至关重要。
常见的深度学习模型包括卷积神经网络(CNN)、循环神经网络(RNN)和长短期记忆网络(LSTM)。
基于神经网络入侵检测体系的设计与实现的开题报告一、研究背景和意义随着信息化技术的迅速发展,计算机网络安全问题备受关注。
在垃圾邮件、网络钓鱼、病毒攻击等网络安全问题得到有效控制的同时,黑客攻击问题却愈发严重,成为一个重要的安全问题。
入侵检测系统是网络安全中的重要组成部分,其作用是监控网络行为、发现网络攻击,并及时警告和响应。
然而,传统的入侵检测系统依赖人工设置规则来识别威胁,耗时且容易出错。
而随着计算机视觉、自然语言处理等技术的发展,利用神经网络实现智能化的入侵检测系统,成为当前的热点研究方向。
因此,本研究将基于神经网络技术探索入侵检测系统的设计和实现,旨在解决目前入侵检测系统不智能化的问题,提高网络安全性和操作效率。
二、研究内容和目标1. 研究基于神经网络的入侵检测系统的原理和方法。
2. 探讨神经网络模型的建立和训练方法,并结合深度学习等技术优化模型性能。
3. 构建基于神经网络的入侵检测系统原型,并进行实验验证。
4. 提出优化方案,进一步提升入侵检测系统的性能和实用效果。
三、研究方法1. 文献研究法:调研已有研究成果和相关案例,分析优缺点,总结经验和不足。
2. 实验研究法:通过实验验证各种神经网络模型的性能和适用性,并进行性能分析和对比评估。
3. 统计分析法:收集数据和结果,运用统计分析方法评估系统性能和优化方案的可行性。
四、预期结果预计能够建立基于神经网络的智能化入侵检测系统,并具有以下特点:1. 系统能够自动识别网络安全威胁,减少误判率和漏报率。
2. 系统具有一定的自适应性,能够根据网络环境的变化调整检测策略。
3. 系统具有较高的准确性和可信度,能够有效保护网络安全。
五、研究进度安排1. 第一阶段(2022年3月-2022年6月):完成文献调研和理论研究,研究和结合深度学习技术优化模型性能。
2. 第二阶段(2022年7月-2022年9月):构建基于神经网络的入侵检测系统原型,并进行实验验证。
基于机器学习的网络入侵检测方法一、网络入侵检测简介在如今高度信息化、网络化的社会,网络入侵已经成为一种常见的攻击方式。
网络入侵不仅会威胁到用户的信息安全,也会对整个网络的运行稳定性造成极大的影响。
因此,如何尽早地发现并防范网络入侵成为了一个非常迫切的问题。
网络入侵检测(Intrusion Detection)是指对网络活动进行识别和评估,以发现有害攻击、侵入和威胁活动。
其目的是识别存在或正在发生的袭击,及时采取措施降低风险或损失。
网络入侵检测方法可以分为基于特征的检测和基于异常的检测。
其中基于特征的检测方法就是通过预先规定好攻击特征,然后将数据流进行匹配,从而找出攻击流量。
基于异常的检测方法则是利用机器学习的方法,学习日常的网络流量数据,然后通过分辨来自异常源的流量和从正常网络流量之间的差异,从而判定是否有入侵的行为。
二、基于异常的网络入侵检测原理由于入侵行为的多样性和变化性,基于特征的网络入侵检测方法需要预先定义好特定的特征,如该数据包的源地址、目的地址、端口、协议等。
然而,新型的入侵攻击和目标选择的巧妙性经常会导致特征的准确性降低,因此基于特定特征的检测方法难以应对新的攻击手段。
因此基于异常的网络入侵检测方法就应运而生了。
该方法利用机器学习的方法进行学习,分析正常网络流量,从而形成“正常流量的模型”,当遇到新的网络流量时,机器学习的方法能够快速分析出是否属于“正常”的网络流量。
如果不属于正常,则判定为入侵行为。
在实际应用过程中,通常会使用一些特殊的算法进行分类,如决策树、逻辑斯蒂回归、支持向量机等。
这些算法通过分析可获得的重要特征变量,可以对不同类别进行准确区分和分类。
基于异常的入侵检测方法的主要思想是通过检测网络流量中与网络活动正常行为不一致的数据流,来确认网络入侵的发生。
当网络入侵者试图对网络系统进行攻击时,其行为将会导致网络活动产生异常,网络数据流量也将出现异常或异常轨迹,因此基于异常的入侵检测方法通过对数据流的异常轨迹进行分析,可以发现异常流量并进一步确认入侵行为。
基于深度学习的网络入侵检测方法摘要:网络入侵检测(NID)是指通过分析网络流量特征来区分正常和异常的网络行为。
入侵检测系统会通过分析对比收集到的网络数据和资料,寻找系统中的危险,检测系统中的入侵行为。
网络入侵检测对信息产业的健康发展和人民群众的生产生活至关重要。
近年来,随着网络数据的不断增长和攻击手段的不断升级,网络入侵呈现更加隐蔽、更加先进和更加频繁的新特点,对网络入侵检测提出了更高的要求。
本文主要分析基于深度学习的网络入侵检测方法。
关键词:网络入侵检测;人工智能;卷积神经网络;递归神经网络引言传统的机器学习检测算法以特征提取和特征分离为基础,需要通过人工方式事先对每种网络攻击类型进行学习。
随着网络入侵变得越来越复杂,种类越来越多,这一类检测算法的局限性被逐渐放大,在应对新型攻击类型的时候往往不能达到令人满意的效果。
新兴的以人工智能为基础的检测算法很好地弥补了传统机器学习算法的这一缺陷,并不需要过多的人工干预,对新型攻击类型也能达到良好的检测准确率。
目前,网络入侵检测主要可以分成误用检测和异常检测两类。
误用检测以特征检测为基础,通过将流量数据与特征库进行比对进行检测。
这种检测方法类似于现在的病毒检测,主要针对已知的攻击模式,被广泛用于商业产品中。
误用检测有一个明显的弊端,就是不能检测出新的攻击类型。
当新的攻击类型或者已有攻击的变种出现时,特征库没有该攻击的特征,会导致检测系统失效。
这时需要通过人工介入,分析并提取这种攻击的特征,并加入特征库才能使系统获得检测能力,这个过程需要耗费大量的人力物力,并需要一定时间。
1、深度学习检测算法与传统机器学习算法不同,深度学习具有能够直接从原始数据中提取特征的能力,近年来已逐渐被用于网络入侵检测中。
多层感知机(MLP)是早期的深度神经网络,最初被应用在语音识别和图像识别等领域,近年来也被应用在网络入侵检测领域。
使用堆叠自编码器(SAE)和卷积神经网络(CNN)相结合的方式对网络数据进行分类,进而完成流量特征分类和应用类型识别。
基于深度学习的网络入侵检测研究综述一、概要随着网络技术的飞速发展,网络安全问题日益严重。
传统的防御方法已经难以满足需求,而入侵检测系统作为一种有效的安全防护手段,引起了越来越多的关注。
《基于深度学习的网络入侵检测研究综述》旨在对近年来深度学习在网络入侵检测领域的研究进行概括和总结。
本文从网络入侵检测技术的发展背景、基本原理以及基于深度学习的入侵检测方法等方面进行了深入探讨,并展望了未来的发展趋势。
介绍了网络入侵检测技术的发展背景。
随着互联网的普及和应用,网络攻击手段不断演变,传统的网络安全措施已经无法有效应对。
随着大数据和人工智能等技术的发展,为网络入侵检测提供了新的解决思路。
基于深度学习的网络入侵检测技术应运而生,并得到了广泛关注和研究。
阐述了网络入侵检测的基本原理。
网络入侵检测系统通过对网络流量进行监测和分析,发现异常行为或恶意访问并及时采取防范措施。
传统的基于签名的入侵检测方法容易受到各种攻击方式的规避,而基于机器学习的入侵检测方法能够自动学习和提取特征,具有较强的自适应性。
深度学习通过多层次的神经网络结构对网络数据进行表示和学习,能够更有效地捕捉到网络中的复杂模式和内在规律。
重点介绍了基于深度学习的入侵检测方法。
研究者们针对不同类型的网络攻击和场景,提出了多种基于深度学习的入侵检测模型。
基于卷积神经网络的异常检测模型能够自动提取图像特征并识别异常行为;基于循环神经网络的路由入侵检测模型能够根据网络流量的时序特征进行入侵检测;基于生成对抗网络的注入检测模型能够生成与正常流量相似的假数据来迷惑攻击者。
这些方法在一定程度上提高了入侵检测的性能和准确性,为网络安全防护提供了有力支持。
《基于深度学习的网络入侵检测研究综述》对近年来深度学习在网络入侵检测领域的研究进行了全面的回顾和总结。
通过分析发展趋势和存在的问题,随着未来研究的不断深入和技术进步,基于深度学习的入侵检测技术将在网络安全领域发挥越来越重要的作用。
基于神经网络的网络入侵检测本章从人工神经网络的角度出发,对基于神经网络的网络入侵检测系统展开研究。
在尝试用不同的网络结构训练和测试神经网络后,引入dropout层并给出了一种效果较好的网络结构。
基于该网络结构,对目前的神经网络训练算法进行了改进和优化,从而有效避免了训练时出现的过拟合问题,提升了训练效率。
4.1 BP神经网络相关理论本章从学习算法与网络结构相结合的角度出发,神经网络包括单层前向网络、多层前向网络、反馈神经网络、随机神经网络、竞争神经网络等多种类型。
构造人工神经网络模型时主要考虑神经元的特征、网络的拓补结构以及学习规则等。
本文选择反向传播神经网络(Back Propagation Neural Network, BPNN)作为基本网络模型。
BP神经网络是一种通过误差逆传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络模型形式之一。
网络中每一层的节点都只接收上一层的输出,而每一层节点的输出都只影响下一层的输入,同层节点之间没有交互,相邻两层节点之间均为全连接模式。
BP神经网络在结构上分为输入层、隐含层与输出层三部分,其拓扑结构如图4-1所示。
图4-1 BP神经网络拓扑结构Figure 4-1 Topological Structure of BP Neural Network这里隐含层既可以是一层也可以是多层,数据在输入后由隐含层传递到输出层,通过各层的处理最终得到输出结果。
传统的BP网络算法可分为两个过程:神经网络中信号的前向传播和误差函数的反向传播。
算法在执行时会不断调整网络中的权值和偏置,计算输出结果与期望结果之间的误差,当误差达到预先设定的值后,算法就会结束。
(1)前向传播隐含层第J个节点的输出通过式(4-1)来计算:(4-1) 式中ωij代表输入层到隐含层的权重,αj代表输入层到隐含层的偏置,n 为输入层的节点个数,f(.)为激活函数。
输出层第k个节点的输出通过式(4-2)来计算:(4-2) 式中ωjk代表隐含层到输出层的权重,bk代表隐含层到输出层的偏置,l为隐含层的结点个数。
根据实际输出与期望输出来计算误差,见式(4-3)。
(4-3) 式中(Yk-Ok)用ek来表示,Yk代表期望输出,m为输出层的结点个数。
当E不满足要求时,就会进入反向传播阶段。
(2)反向传播反向传播是从输出到输入的传播过程。
从式((4-1)至式(4-3 )中,可以发现网络误差E是与各层权值和偏置有关的函数,所以如果想减小误差,需要对权值和偏置进行调整。
一般采取梯度下降法反向计算每层的权值增量,令权值的变化量同误差的负梯度方向成正相关,调整的原则是令误差沿负梯度方向不断减少。
权值的更新公式见式(4-4),偏置的更新公式见式(4-5)。
(4-4)(4-5) 式中η为学习速率。
BP算法的整体流程如图4-2所示。
图4-2 BP算法流程图Figure 4-2 Flow Chart of Back Propagation Algorithm4.2 网络结构的设计4.2.1 设计思路设计网络结构时确定隐含层的层数以及隐含层的节点数是非常重要的。
增加隐含层的层数有利于提高精度同时降低网络误差,但是BP神经网络的隐含层层数越多,所需的训练时间也就越长。
对于单隐层神经网络而言,隐含层的神经元数量过少会导致网络的学习能力不足。
相反,神经元数量越多,网络的学习能力就越强,越容易达到预期的精度,但是相对地会削弱网络的泛化能力,使网络容易达到过拟合状态。
为了保证网络拥有足够强的性能及泛化能力,尽量避免在训练时出现过拟合现象,本文在设计网络结构时主要遵循以下原则:(1)在保证神经网络检测精度的前提下,尽量减少神经元的数量;(2)通过仿真实验试探查找隐含层节点数的最优值。
本文中网络结构选择的是多层前馈神经网络,它的结构虽然简单,但是能够实现任意精度逼近任意连续函数,并且可以获得复杂的处理能力,因此分类能力和模式识别能力一般都会强于反馈网络。
激活函数选择的是线性整流函数( Rectified Linear Unit, ReLU),也叫作修正线性单元,函数曲线如图4-3所示,其公式见式(4-6)。
图4-3 ReLU函数曲线Figure 4-3 Function Curve of ReLU(4-6) ReLU激活函数定义了神经元在线性变换w T x+b以后的非线性输出。
换句话说,来自上一层网络的输入向量x在进入神经元后,将输出max(0, w T x + b)至下一层神经元。
采用ReLU激活函数可以使梯度下降和反向传播的过程更加高效,同时避免了梯度爆炸与梯度消失的问题。
此外,该函数没有其他复杂激活函数如Sigmoid函数中指数的影响,并且活跃度较为分散,使得神经网络整体的计算成本减少,从而简化计算过程。
目标函数选择的是Softmax函数。
Softmax函数是式(4-7)取负对数后得到的损失函数,其公式见式((4-8)。
(4-7)(4-8) 式中Sj表示j上的得分,Yi表示真实类别。
4.2.2 网络结构及对应实验分析本文利用生长法来设计神经网络的网络结构,即设计网络结构时,首先确定一种较为简单的网络结构,然后通过增加隐含层数和隐含层节点数来形成其他的网络结构。
根据4.2.1中的设计思路,设计并训练了五种不同的神经网络模型,对应的网络结构如图4-4所示。
在图4-4的网络结构中,输入层均由41个神经元构成,输出层由5个神经元构成。
x为输入向量,数据输入后通过隐含层最终输出分别属于五个类别的概率,然后将概率最大的类别作为最终的判断结果。
其中网络结构a,b,c包含一个隐含层,分别由50, 100, 500个神经元构成;网络结构d, e由两个隐含层构成,前者每个隐含层包含50个神经元,后者每个隐含层包含100个神经元。
a)网络结构a b)网络结构ba) Network Structure a b) Network Structure bc)网络结构c d)网络结构dc) Network Structure c d) Network Structure de)网络结构ee) Network Structure e图4-4神经网络的网络结构Figure 4-4 Structure of Neural Network本章训练和测试神经网络时使用了Google推出的Tensorflow深度学习框架,Tensorflow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。
它的灵活性和可延展性让用户可以在各种平台上展开计算,例如台式计算机中的单个或多个CPU(GPU)、服务器、移动设备等等,因此主要用于机器学习和深度神经网络方面的研究。
本章实验部分的机器配置,显卡采用的是GeForceGT 750M,显存大小为2G,网络训练和测试时使用GPU模式。
用完整训练集分别训练图4-4中的五种网络结构,训练时的参数batch size(每次从训练集中取的数据量)和epochs(使用完整训练集训练的轮数)将影响模型的精度和训练时间。
在合理范围内增大batch size对训练有一定好处,可以提高训练的速度,并且batch size越大其确定的下降方向越准确,引起的训练震荡越小。
但受显存的限制,不能无限地增大batch size,因此在本实验中batch size设为50。
Epochs代表使用完整训练集训练的轮数,由于训练集共包含494021条数据,在batch size = 50的情况下,训练一次完整的数据集就需要9881轮迭代,而完成全部训练过程的总迭代数=9881×epochs。
考虑到完整训练集的数据量过于庞大,因此用完整训练集训练时epochs设为50。
模型参数采用高斯分布初始化(Gaussian)方法进行初始化,训练时使用随机梯度下降法,基础学习率设置为base_1r=0.01调整策略使用step策略,stepsize=5000,学习率按照式(4-9)进行更新,其中gamma=0.1,iter是当前的训练迭代次数。
在以上参数条件下,本文所设计的几种网络结构均可以达到收敛。
(4-9) 训练完成后用测试集分别对这五个模型进行测试,得到的结果见表4-1和4-2。
表4-1不同网络结构每种类别的检测率Table 4-1 Detection Rate of Different Network Structures for Each Category表4-2不同网络结构的整体效果Table 4-2 Overall Effect Using Two Training Sets to Train the Structure a从表4-1中可以看出使用网络结构a训练的模型在四种攻击类别上的检测率都比较高。
虽然网络结构c在Normal类别上的检测率高于网络结构a,但是对入侵检测系统来说,检测出攻击流量是最为重要的,并且从表4-2中可以看到网络结构a对整体攻击流量的检测率最高,同时训练和检测时间要少于其他四种结构,这是由于网络结构a的复杂度最低,因此使用它进行训练和测试所需要的时间也就比较少。
综上所述,本章选取网络结构a作为神经网络的一个基础候选网络结构,后续的研究也主要是在网络结构a的基础上进行一系列的改进。
4.2.3 Dropout层的引入训练BP神经网络时经常会遇到的一个问题是容易达到过拟合状态,过拟合是指模型在训练集上损失函数较小,但是在测试集上损失函数较大,预测准确率较低的现象。
而dropout的出现可以很好地解决这些问题。
dropout是指在神经网络的训练过程中,对于网络中的神经元,按照一定的概率暂时将其从网络中丢弃,即在每个batch中,让一部分隐层节点值为0。
由于是随机丢弃,所以每一个batch 都在训练不同的网络,这种方式可以减少神经元之间的相互作用。
Hinton在论文中证实了dropout对于全连接网络有防止过拟合的效果。
图4-5为dropout的可视化表示,其中图a)为应用dropout前的神经网络,图b)是应用dropout后的同一个网络,虚线代表临时删除的神经元。
a)应用out前的神经网络b)应用dropout后的神经网络a)Neural Network Before Applying Dropout b)Neural Network after Applying Dropout图4-5应用dropout前后的神经网络Figure 4-5 Neural Network Before and after Applying Dropout Dropout会以概率p舍弃部分神经元,其他神经元以概率1-p被保留,输入层和输出层神经元不作变动,舍去的神经元的输出都被设置为零。