APP下载

基于人工神经网络的黑客入侵检测系统

2011-01-24林清馨

电子设计工程 2011年24期
关键词:人工神经网络黑客数据包

梁 潇,林清馨

(贵州大学 贵州 贵阳 550025)

资源的共享和分布增加了网络受攻击的可能性。 目前网络安全系统主要采用的是以防火墙为主的被动管理,即根据设定的规则,对流入网络中的流量进行过滤,从而防止非法行为的入侵[1]。当前在网络安全问题的解决上所采取的上述技术手段对防止系统非法入侵具有一定的效果,但它们只是起着防御的功能,不能完全阻止入侵者通过蛮力攻击或利用计算机软硬件系统的缺陷闯入未授权的计算机或滥用计算机及网络资源,这些技术手段已经不能满足日益变化的网络安全需要了。而另一项技术——入侵检测技术,则有效的弥补了这些不足。

因此,一个安全的网络系统应该既要有防火墙等防御手段,也需要有能够对网络安全进行实时控制、攻击与反攻击的网络入侵检测系统,实现网络内外的联合安全防范,为网络系统提供良好的安全保障。如今,黑客入侵检测系统已经成为安全研究界和产业界所共同关注的焦点[2-3]。黑客入侵检测系统的应用,能使在入侵攻击对系统发生危害前,检测到入侵攻击,并利用报警系统和防护系统防止黑客入侵攻击。在黑客入侵攻击过程中,能减少入侵攻击所造成的损失;在被入侵攻击后,收集入侵攻击的相关信息,作为防范系统的知识,添加到知识库内,以增强系统的防范能力。

本文的目的就是对人工神经网络进行适当的改进,将其应用于网络黑客入侵检测系统中,以提高系统的效率,包括检测速度的提高、减少漏报率和误报率。

1 基于人工神经网络的黑客入侵检测系统

1.1 黑客入侵检测系统框架

一个黑客入侵检测系统的通用模型分为4大部分:

1)事件产生器,2)事件分析器,3)响应单元,4)事件数据库。结构如图1所示。

黑客入侵检测系统需要分析的数据统称为事件,它可以是基于网络的黑客入侵检测系统中的数据包,也可以是基于主机的黑客入侵检测系统从系统日志等其他途径得到的信息。事件产生器的目的是从整个计算环境中获得事件,并向系统的其他部分提供此事件。为促进入侵检测系统间的合作,它也对于各部件之间的信息传递格式、通信方法和标准API进行了标准化[4]。事件分析器分析得到的数据,并产生分析结果。响应单元则是对分析结果做出反应的功能单元,它可以做出切断连接、改变文件属性等强烈反应,甚至发动对攻击者的反击,也可以只是简单的报警。事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。

图1 黑客入侵检测系统框架Fig.1 Framework of hacker intrusion detection system

在现有的黑客入侵检测系统中,经常用日志提取、分析引擎和报警机制来分别代替事件产生器、事件分析器和响应单元这些术语,而事件数据库常简单表现为日志文件的形式。

1.2 黑客入侵检测系统体系结构和工作原理

一个完善的人工神经网路的黑客入侵检测系统在结构上应该包括事件产生器、事件分析器、事件数据库和响应单元等4大部分[5]。作为一项主要目的是尝试和验证神经网络技术在网络黑客入侵检测系统中应用的可行性和有效性的研究工作,我们的精力和重点更多的集中在数据的收集(代表事件产生器)和数据分析(代表事件分析器)上,相应的部件在我们的系统里边分别称为数据收集模块和神经网络分类模块。对于事件数据库和响应单元,我们简单的用日志文件和报警机制来实现。图2给出了系统的总体结构。

图2 基于人工神经网络的黑客入侵检测系统体系结构Fig.2 Architecture of hacker intrusion detection system based on artificial neural network

结合上图,其工作原理是:数据收集模块读取主机日志文件,并捕获所有流经系统监测网段的网络数据流,预处理模块对所有收集到的数据流进行分析处理,提取出可以完备而准确代表该数据流的特征向量并转化为神经网络可识别的输入,将该特征向量提交给神经网络分类模块,神经网络分类模块对这一特征向量进行分析和处理,从而判别出是否是一种入侵行为,如果神经网络分类引擎经过分析处理以后认为是一种攻击行为,则向用户发出警告信息,并将攻击事件相关信息记录在日志文件里,以备事后计算机取证;如果发现是一种未知类型的攻击行为,则将该次攻击事件加入到攻击样本库里,以备神经网络分类模块的再学习。这体现了神经网络所具备的不断学习以识别更多类型攻击行为的能力,也是神经网络入侵检测系统相比于一般的基于规则入侵检测系统的突出优势和亮点,对入侵检测系统的实际应用具有很大的价值[6]。

1.3 系统功能介绍

1)数据收集功能分析

本系统采用分布式入侵检测系统,因此其数据源来自于两部分,该模块主要实现捕获网络数据包和读取主机日志文件的功能。其结构如图3所示。

2)数据预处理功能分析

图3 数据收集模块示意图Fig.3 Schematic diagram of the data collection module

该模块对数据收集模块送来的原始数据包做进一步的加工处理,包括对数据包进行解码,过滤掉其中的错误数据和重复数据,将原始的数据源转化为事件分析器可以识别的数据流,即标准化数据源,并产生相应的特征值作为神经网络分类模块的输入值。

3)神经网络分类功能分析

根据标准的数据源提供的数据进行分析分类,做出是否有入侵行为的判断,并将判断结果发送给其自身的事件报告模块,同时发送给报警机制,根据事态的严重程度不同,采取相应行动,若发现了未知类型攻击行为,可以在用户参与下将该次攻击事件加入到攻击样本库里,以备神经网络分类引擎的再学习,其结构如图4所示。

图4 神经网络分类引擎模块示意图Fig.4 Schematic diagram of neural network classification engine module

4)报警机制

如果神经网络分类引擎经过分析处理以后认为是一种攻击行为,则向用户发出警告信息,并按结果的轻重缓急采取相应的安全措施,同时将攻击事件相关信息记录在日志文件里,以备事后计算机取证。

5)攻击样本库

将发现的未知类型攻击行为,在用户参与下将该次攻击事件加入到攻击样本库里,以备人工神经网络分类引擎的再学习。

1.4 关键技术—人工神经网络检测功能

使用人工神经网络作为独立的分析模块时,不需要像某些实时系统那样维持一个专门知识库,而且时时更新。训练良好的人工神经网络有很好的推广性,可以成功地检测具有相同或相似特征的不同攻击[7]。但是,由于入侵方式的多样性和多变性,训练完成的人工神经网络不可能对往后遇到的所有新型入侵行为都有效,因此重新训练是很有必要的;再者,为了满足事后求证的需要,要求备份某些有用信息,所以不能在提取到特征信息后就将原始数据包彻底丢弃。人工神经网络检测模块接收来自数据预处理模块生成的多个检测特征矢量,并启动检测功能,以判断是否有入侵发生。

1.5 实验结果及性能分析

本实验以1 000个样本数据输入神经网络,其中Code Red攻击1 000次,DoS攻击1 000次,木马攻击1 000次,CodeRed变种1 000次。

本实验的实验环境:Core(TM)2,1.66 GHz,内存 1 G,网卡D-Link 100 M。

下面是神经网络底检测结果:

漏报率=[实际黑客入侵次数-正确报警数]/实际黑客入侵次数

误报率=错误报警率 /正常数据包总数(6 000)

检测Times为检测1 000个样本数据包的时间

表1 使用未改进的神经网络后的实验结果Tab.1 The results of using non-im proved neural network

表2 使用改进的神经网络后的实验结果Tab.2 The results of using imp roved neural network

表3 未使用神经网络的实验结果Tab.3 The resu lts of w ithout neural network

通过上面的实验结果,得出以下几点结论:

1)将人工神经网络应用在网络黑客入侵检测系统中提高了系统的性能及自学习能。由于在上面的样本数据包中,我们的规则库中事先并没有与CodeRed变种相对应的规则,在对神经网络进行训练的时候也并不包含CodeRed变种的学习样本,所以CodeRed变种对于入侵检测系统来说是一个全新的攻击类型,那么通过上面的实验结果,我们发现,在使用神经网络的系统中,我们能够鉴别出这种攻击,检测成功率低是因为我们的数据包数量较小,不能够让神经网络得到充分的学习,如果有足够的数据样本,检测率将很快上升。

2)将人工神经网络应用在入侵检测系统中对于降低系统的漏报率和误报率起到了较大的作用。而改进后的PB算法使其进一步降低。

3)改进后的BP算法提高了神经网络的收敛速度,反应在检测时间上,我们可以看到从12 000 ms提高到9 500 ms(这样的检测速度相对于商用检测系统来说依然是较慢的,但是文中实现的只是一个简单的系统,系统结构较为简单,代码也并未进行优化),而神经网络也的确可以提高检测效率(不使用神经网络时耗时15 000 ms)。

2 结 论

黑客入侵检测技术己经发展了十多年,但是由于黑客入侵手段的复杂性和多变性,想要确定黑客入侵行为与网络数据特征之间的函数关系是不可能的,因此只能对其进行估计和逼近。人工智能技术在黑客入侵检测中的应用就是为了实现该关系函数的逼近,应对多变的网络安全现状。人工神经网络是人工智能的一个研究领域,多年来已经发展得比较成熟。人工神经网络具有良好的自适应能力和泛化能力,人工神经网络的非线性处理能力和概括抽象能力非常适应处理入侵检测这类问题。

本文主要研究人工神经网络在入侵检测中的应用。研究如何将神经网络成功应用于入侵检测,并给出了一个基于神经网络的网络入侵检测系统的模型,该模型由数据收集模块、预处理模块、神经网络分类模块、攻击样本库、报警机制5部分组成,其中详细介绍了本文的研究重点—神经网络分类模块。

[1]薛俊,陈行,陶军.一种基于神经网络的入侵检测技术[J].计算机技术与发展,2009,19(8):148-154.XUE Jun,CHEN Xing,TAO Jun.The intrusion detection technology based on neural network[J].Computer Technology and Development,2009,19(8):148-154.

[2]朱守业.基于BP神经网络和Bagging算法的入侵检测[J].计算机工程与应用,2009,45(18):123-125.ZHU Shou-ye.The intrusion detection based on BP neural network and Bagging arithmetic[J].Computer Engineering and Applications,2009,45(18):123-125.

[3]林果园,曹天杰.入侵检测系统研究综述[J].计算机应用与软件,2009,26(3):14-17.LINGuo-yuan,CAOTian-jie.Intrusion detection system review[J].Computer Applications and Software,2009,26(3):14-17.

[4]徐晖,张卫平.入侵检测系统的发展与研究[J].微机发展,2003,13(1):67-69.XU Hui,ZHANG Wei-ping.Intrusion detection system developmentand research[J].Computer Developoment,2003,13(1):67-69.

[5]薛英花,吕述望.入侵检测系统研究[J].计算机工程与应用,2003,39(1):150-152.XUE Ying-hua,LV Shu-wang.Intrusion detection system research[J].Computer Engineering and Applications,2003,39(1):150-152.

[6]张瑞霞,王勇.入侵检测系统综述[J].计算机工程与科学,2002,24(6):27-31.ZHANG Rui-xia,WANG Yong.Intrusion detection system review[J].Computer Engineering and Science,2002,24(6):27-31.

[7]李家春,李之棠.神经模糊入侵检测系统的研究[J].计算机工程与应用,2001,37(17):37-38.LI Jia-chun,LI Zhi-tang.Research of Neuro-Fuzzy intrusion detection system[J].Computer Engineering and Applications,2001,37(17):37-38.

猜你喜欢

人工神经网络黑客数据包
欢乐英雄
多少个屁能把布克崩起来?
二维隐蔽时间信道构建的研究*
基于Jpcap的网络数据包的监听与分析
利用人工神经网络快速计算木星系磁坐标
网络黑客比核武器更可怕
人工神经网络实现简单字母的识别
滑动电接触摩擦力的BP与RBF人工神经网络建模
SmartSniff
波信号的解调和人工神经网络的损伤识别算法