基于极限学习机的网络入侵检测算法研究
2019-04-15王婷婷陶婧
王婷婷 陶婧
基于极限学习机的网络入侵检测算法研究
王婷婷 陶婧
(芜湖职业技术学院信息工程学院,安徽芜湖,241003)
随着云计算的快速发展和广泛应用,云计算环境下的网络安全问题备受关注。根据云计算的特点,在分析、研究网络入侵检测算法的基础上,一种基于极限学习机的分布式网络入侵检测算法应运而生。该算法具有学习时间短、算法简单、易于实现和良好的泛化性能等优点,能有效解决云环境中所存在的安全问题,大幅度提高安全事件的采集和实时处理的能力。
网络安全;入侵检测算法;极限学习机。
0. 引言
随着近年网络规模的不断扩大以及云计算的出现,网络入侵检测系统采集到的数据量非常庞大,数据的结构也十分复杂,同时数据还拥有较高的维数,应对此类数据会遇到以下两方面的问题:一方面,由于数据存在着过高的维数,在一定程度上会增加入侵检测过程的训练时间和检测时间,另一方面,大量的冗余及噪音对检测效果也有很大的影响,使得入侵检测算法出现过学习、过拟合等问题。为解决上述问题,设计一个在云环境下基于非监督学习的分布式入侵检测系统,可以对海量的入侵检测数据进行自主学习和实时检测,可以自动分析与识别未知的攻击,同时具有较高的检测率与较低的误检率以及高性能并发查询引擎和良好的可扩展性。
1. 云环境下的入侵检测技术
传统的入侵检测技术是建立在传统的网络结构及应用之上的,从本质上来讲,属于传统的网络安全防御技术,但在云环境下的应用面临着海量检测数据的处理问题,此时,传统的入侵检测技术已经不能适应虚拟化、分布式和超大规模网络环境,无法满足云计算的实时性和有效性的需求。传统的入侵检测算法在云环境中面临着数据量大、高并发访问、软件兼容性差以及检测能力和响应速度不足等问题,因此,在云计算环境下建立入侵检测系统,可以大幅提高安全事件采集和实时处理能力,云计算能够为入侵检测系统提供大规模的计算能力和海量的存储能力,同时在数据采集、关联分析等领域也有独特的优势,对于大数据环境下的入侵检测面临的瓶颈问题也能迎刃而解。
2. 极限学习机
极限学习机(Extreme Learning Machine,ELM)算法用于求解单隐层神经网络,其核心是通过求解最小二乘问题来完成单隐含层神经网络的训练,过程中用Moore-Penrose广义逆来计算输出权值矩阵,避免了传统前馈网络反复迭代带来的巨大时间消耗,也保证了所求输出权值的数值解具有唯一性。ELM比传统的学习算法有更快的学习速度,精度也不受影响。除了运算速度的优势之外,极限学习机同时具有网络结构与训练样本相互独立的特性,即网络结构与数据不相关,整个ELM算法归结如下:
极限学习机(ELM)作为新型的快速学习算法,非常适用于单隐层神经网络(见图1),可以随机初始化输入权重和偏置,然后得到相应的输出权重。
图1 单隐层神经网络
ELM使用python实现:
# 随机初始化
a = np.random.normal(0, 1, (n, L))
b = np.random.normal(0, 1)
# 使用特征映射求解输出矩阵
H = sigmoid(a, b, X)
# 计算输出权重和输出函数
HH = H.T.dot(H); HT = H.T.dot(T)
beta = np.linalg.pinv(HH+np.identity(L)/C).dot(HT)
Fl = H.dot(beta)
# 返回计算结果
return beta, Fl
# 测试:构造输入值和训练目标(输入变量n=2; 输出变量m=1)
x1 = np.linspace(1, 20, 150)
x2 = np.linspace(-5, 5, 150)
X = np.vstack([x1, x2]).T
T = np.sin(x1*x2/(2*np.pi))+np.random.normal(0, 0.2, 150)
# 使用ELM算法进行学习(隐含层节点数L=100; 正则化参数C=1e5)
beta, Fl = ELM_prototype(X, T, C=1e5, n=2, L=100)
# 绘制学习结果
plt.plot(x1, T, lw=1.5, label='Training goal')
plt.plot(x1, Fl, lw=3, label='ELM output')
plt.legend()
结果如图2:
图2 ELM使用python实现
3. KDD CUP 99 数据集
KDD是数据挖掘与知识发现(Data Mining and Knowledge Discovery)的简称,KDD CUP是由ACM (Association for Computing Machiner)的 SIGKDD(Special Interest Group on Knowledge Discovery and Data Mining)组织的年度竞赛,KDD99数据集总共由500万条记录构成,它还提供一个10%的训练子集和测试子集,训练集所出现攻击类型总共有22种,而只在测试集中所出现的攻击类型则是剩下的17种,这样可以对分类器模型的泛化能力进行检验,在对入侵检测系统进行检验的过程中,其核心指标即为检测未知攻击类型的能力。
从本质上讲,入侵检测的方法就是设计一个分类器,将数据流中将正常数据与异常数据区分开,在出现了攻击行为时,给出相应的报警。KDD99数据集的建立为入侵检测系统提供了一个统一的性能评价标准,可以实现检验入侵检测算法好坏。在对分类器进行训练的过程中,主要用了数据集中的10%训练集,而在对分类器性能进行测试的过程中,主要用了corrected测试集,这个分类器可以是基于贝叶斯的,也可以基于决策树的,也可以基于神经网络,还可以是支持向量机的。KDD99数据集的另外一个主要应用是特征选择,在KDD99数据集中,每个连接有41个特征,而对于分类器来说,要从这些特征中提取规则不但耗时长而且精确度也无法保证,主要是因为存在一些无关或冗余的特征,降低了分类器模型的检测精度和检测速度,而且,从原始的tcpdump数据中提取特征的过程也会非常的困难,还非常耗时,因此,将冗余特征或不重要特征有效去除,对提高分类器的训练速度和检测精度都是极为重要的。
4. 总结
目前围绕云计算的入侵检测的研究还不多,商业应用领域还未出现非常有效的基于云计算的网络入侵检测系统。因此,通过对极限学习机(ELM)算法的研究,将其作为网络入侵检测算法进行分布式设计并部署在云环境下,可实现对入侵行为的自动分析和识别,提高检测的效率和快速响应的能力,同时,该算法还拥有良好的扩展性,使入侵检测算法上升到前所未有的新高度,实现安全、可靠的云环境,为促进云计算的推广和应用提供技术支持。
[1]高鹏. 云计算环境下的入侵检测算法研究[D]. 保定:河北大学, 2016.
[2]翁星. 轮式智能小车的全局路径规划算法与实验研究[D]. 天津:河北工业大学, 2016.
[3]蒋丽丽,陈国彬. 基于MFO-ELM的荷电状态软测量模型[J]. 重庆理工大学学报(自然科学版), 2019(8):185-189,212.
[4]李明军,王均星,王亚洲. 基于改进粒子群优化算法和极限学习机的混凝土坝变形预测[J]. 天津大学学报(自然科学与工程技术版), 2019(11):1136-1144.
[5]王月康. 基于SVM的入侵检测算法研究及其在农产品电商中的应用[D]. 合肥:安徽农业大学, 2017.
[6]沈矗. 基于生成模型的非平衡数据分类方法及其应用研究[D]. 保定:河北大学, 2019.
[7]李加伟,刘晓卫,王崴,等. 基于极限学习机的铁谱磨粒模式识别[J]. 润滑与密封, 2019(6):72-77.
[8]李雪. 大型风力发电机主轴承振动信号故障分析研究[D]. 沈阳:沈阳工业大学, 2019.
On Network Intrusion Detection Algorithm Based on Extreme Learning Machines
WANG Ting-ting & TAO Jing
With the rapid development and wide application of cloud computing,network security issues in cloud computing environments have attracted more and more attention. According to the characteristics of cloud computing, on the basis of analysis and research of network intrusion detection algorithm, a distributed network intrusion detection algorithm based on extreme learning machine has been designed. It has some advantages such as short learning time, simple algorithm, easy implementation, good generalization performance and so on. It can effectively solve the security problems in the cloud environment and significantly improve the ability to collect security incidents and real-time processing.
network security; intrusion detection algorithm; extreme learning machine.
TP393.08
A
1009-1114(2019)04-0048-03
2019-11-11
1. 王婷婷( 1982—),女,江苏赣榆人,硕士,芜湖职业技术学院讲师,主要从事计算机软件教学与研究。
安徽省质量工程项目(2018jyxm0184,2017mooc368);芜湖职业技术学院自然科学重点研究项( Wzyzrzd201803)。
文稿责编 钱峰