优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 正文

基于数据挖掘的计算机网络入侵检测系统的研制-科技论文

作者:成都电子机械高等专科学—易世君、冯瑛来源:原创日期:2012-01-23人气:1277

摘要:本文对对入侵检测系统数的据挖掘的算法进行了改进和优化,实现了对网络数据的智能检测。在设计中使用Winsock2 SPI截取网络中的数据,采用“会话过滤”的方法对网络封包进行过滤。系统分为控管规则和智能检测等模块。通过实际检测,系统能够对网络连接状态进行实时显示,对应用程序等也能进行有效的控管,对网络数据也能进行智能检测。

关键词:数据挖掘  Winsock2 SPI  控管规则  智能检测 

Abstract: In this paper, data mining algorithms have been refined and optimized to achieve the intelligent detection of network data. Winsock2 SPI used in the design of interception of network data, and use "session filtering" approach to network packet filtering. System is divided into control rules and intelligent detection module. Through practical testing, the system can display real-time network connection status on the application procedures can be effective control of network data can also be intelligent detection.
Keywords: data mining Winsock2 SPI control rules of intelligent detection

1.引言
随着科学技术的不断发展,网络已成为一个国家最为关键的政治、经济、军事资源,成为国家实力的象征。另一方面,网络的发展也不断改变人们的工作方式、生活方式,使信息的获取、传递、处理以及利用更加高效、迅速[1]。网络已成为人们生活的一个重要组成部分。然而随着网络的应用的不断扩大,它的反面效应也随之产生。通过网络使得黑客或工业间谍及恶意入侵者侵犯及操纵一些重要信息成为可能,因而引发网络安全性问题。黑客们联手袭击世界的上最大几个热门网站如Yahoo、美国在线,使他们的服务器不能正常提供服务;黑客袭击中国的人权网站,把人权网站的主页改为反政府的言论;同时计算机的病毒发展也很快[2]。当今网络安全维护正面临严峻的挑战,解决网络安全问题已成为信息化建设的核心问题之一。

入侵检测本质上是电子数据处理的过程,按照预先确定方法对收集到的安全的审计数据进行分析处理,根据分析结果得出系统是否被入侵结论。收集的数据一般是系统日志或者网络事件日志,预先确定的方法就是分析引擎采用的分析技术,一般是某种模式的匹配技术或统计学分析技术,或是二者的结合[3]。入侵检测一般是分为3个步骤,依次为信息收集、数据分析、响应(被动响应以及主动响应)。相应地,IDS一般由信息收集、数据分析、响应等功能模块组成,分别承担上面3个步骤的任务。

信息收集以及模块收集的内容包括系统、网络及用户活动的状态和行为。入侵检测采用的数据源一般来自系统日志(包含操作系统的审计记录、操作系统的系统日志、应用日志)、目录及文件的异常改变、程序执行中异常的行为、网络数据包等等几个方面。数据分析模块是IDS的核心,它完成对原始数据的同步、组织、整理、分类,进行各种类型的细致分析,提取其中的隐含系统活动特征或者模式,用来IDS判断是否有入侵的行为发生[4]。IDS在发现入侵银以后应根据预定的策略及时作出响应,包括切断网络连接、记录事件以及报警等等。

2.入侵检测的数据挖掘方法
用于入侵检测的数据挖掘分析方法主要有数据分类分析方法、关联分析方法、聚类分析方法以及序列模式分析方法等。

1)关联分析法

关联规则是数据之间的相互依赖关系,关联分析的任务是从数据库中发现可信度以及支持度都大于给定值的强壮规则。关联分析方法用来找出协同入侵事件之间的相互关系,导出一些未知的协同攻击模式,从而构造出新的协同的入侵规则。常见的关联分析算法有: DHP, Apriori, AISIISETM等。   

关联规则算法的挖掘有两个步骤:

(1)找出所有的频繁项集。通过用户给定的最小支持度,寻找所有的频繁项目集,即满足支持度不小于min_sup的项目集,当频繁的项目集可能具有包含关系时,也就是找出不被其它频繁项目集所包含的项集称作频繁大项目集。

(2)由频繁项集生成关联规则。通过用户给定最小置信度(min_con) ,在每个最大频繁项目集里,寻找置信度不小于min_con的关联规则。

2)数据分类分析法

分类分析法是数据挖掘中应用最多的方法。分类是找出一个类别的概念来描述,它代表了这类数据的整体信息,也就是该类的内涵描述,一般用规则或者决策树模式表示。一个类的内涵描述分为特征性描述及区别性描述[5]。特征性描述就是对类中对象的共同特征描述,区别性描述是对类间区别的描述。分类分析在系统中的任务是分析系统安全事件库中的安全事件,为每个事件的类别做出准确描述,导出事件的分类规则。常见的分类算法有: CART, ID3 , C45等。

数据分类步骤为:

(1)获得训练数据集,数据集中的数据记录具有和目标数据库中的数据记录相同数据项;

(2)训练数据集中,每一条数据记录有已知的类型标识与之相关联;

(3)分析训练数据集,提取其数据记录的特征属性,为每一种类型生成精确描述模型;

(4)使用得到的类型描述模型对目标数据库里的数据记录进行分类或者生成优化的分类模型(分类规则)。

3)聚类分析法

数据聚类是将物理的或抽象的对象分成几个群体,在群体内部,对象间具有较高的相似性,在不同群体之间,相似性比较低[6]。聚类分析的输入集是一组未标定的记录,记录没有任何分类。聚类根据一定规则,合理划分记录集合,用显式或隐式的方法来描述不同的级别。聚类分析能对一组未分类的安全事件进行分析,根据分类分析预先给出分类规则,将大量零碎安全的事件划分为描述入侵行为的安全事件集。常见的聚类算法有: CLARA, PAM,BIRCH等[7]。

4)序列模式分析方法

序列模式分析与关联规则分析相似,目的也是为挖掘数据间的联系,不同的是关联分析用来挖掘数据记录中的不同数据项间的关联性,序列分析则是发现不同的数据记录间的相关性[8]。序列分析目标是在事务数据库中挖掘序列模式,满足用户指定最小支持度要求的最大序列,该序列模式须是最高序列。

挖掘序列模式通常按5个步骤来进行:

(1)排序阶段(sort phase):以事务主体为主键,事务时间为次主键,对原始的数据库进行排序,把它转换为主体序列(customer sequences)的数据库;

(2)大数据项阶段(litemset phase):找出所有大数据项集L,把大数据项集映射为一组相邻整数,每个大数据项对应一个整数;

(3)转换阶段((transformation phase):将数据库中主体序列每一次事务用事务包含的大数据项集litems ets(映射的整数)代替;

(4)序列阶段(sequence phase):利用大数据项集来挖掘序列模式;

(5)序列最高化阶段(maximalp hase):找出所有序列模式的最高序列集。

在入侵检测领域中,由于攻击者的许多入侵行为是有先后关系,具有一定时序性,如黑客在实施攻击时,一般要对系统的端口先进行扫描,找出具体漏洞后再实施进一步入侵。因此,利用序列模式分析可挖掘入侵行为之间的联系。

3.系统模块功能设计
系统使用Winsock2 SPI技术来截取网络数据并将过滤后的数据实时进行显示;控管规则可对存在威胁的网络行为进行过滤;数据挖掘的算法从数据库中提取数据,然后进行挖掘,将挖掘出的结果进行检测;统计分析的模块可以对数据库中的信息进行统计,将各种统计结果反馈给用户;日志查询模块可以供用户查询历史记录,并对感兴趣的记录进行另外保存。该系统的总体结构如图1所示。

该系统模块功能设计如下:

1、数据截取模块:通过Winsock2 SPI中的函数来截取网络封包。

2、封包过滤模块:对截取的数据包进行过滤,此模块是本设计核心的部分之一,SPI给出了设置工作模式及设置控管规则的接口函数。根据工作模式及控管规则,还有过滤规则对过往封包进行过滤。

3、连接显示模块:提供网络会话的监视界面,(会话内容包括:会话的建立时间、结束时间,会话源、目的地址,会话进、出的流量、方向及会话进程等等)。碰到被拦阻的封包,根据参数的配置进行提示,用户可以自行设置工作模式(放行、拒绝与询问)。

4、历史记录查询模块:把网络会话/封包记录到日志文件里,可按时间段对封包信息进行查询,并提供另外保存的功能。

5、规则库:手动添加控管规则,如手动添加以及删除IP地址段和监听端口段;手动添加、修改以及删除控管规则。

6、数据库:存储样本数据、实时网络数据的属性及信息。将这些信息提供给统计分析模块及智能挖掘模块使用。

7、统计分析模块:对数据库中某段特定时间数据进行统计分析,可将信息以柱状图、饼状图形式直观的反馈给用户,比如某段时间访问量的前十名IP等信息。

8、智能挖掘模块:从数据库中提取样本数据,应用改进算法对数据进行挖掘处理,提取出用户行为特征及规则等,再对所得到的规则归并更新,建立规则。将此规则和数据挖掘模块对实时数据挖掘,得出的规则进行匹配来检测是否异常。

4.系统实现
4.1.  数据截取及封包过滤模块的设计
数据截取及封包过滤模块是本设计的基础,它对数据截取的准确性、可靠性以及效率将直接影响到系统的性能。Winsock2 SPI是Winsock系统组件中提供的面向系统底层的编程接口,上层应用程序不必关心Winsock实现细节,为上层的应用程序提供透明的服务。用户在进行数据封包截获的时候,将编写的SPI程序安装到系统上,这时,所有Winsock请求都首先发送到用户程序中,在不影响网络系统的正常工作前提下对网络通信实行监测并根据各种各样的过滤规则进行安全设置。

Winsock2 SPI的工作流程如下:

(1)在应用程序启动后,先加载当前目录下分层服务的提供者,初始化用户界面与DLL间的通信管道。

(2)在(1)成功进行后,打开当前目录下控管规则设置文件527safe. cfg,并读入工作模式、控管规则及过滤条件至内存。

(3)用户界面通过管道函数,向DLL发送界面的窗口句柄、控管规则以及过滤条件等等元素触发服务提供者正常工作。

(4)服务提供者记录过往封包,通过管道函数来向用户界面发送消息,然后通知用户界面从服务提供者处取走封包,最终显示在用户界面网络会话列表中,更新历史记录。

(5)用户更新控管规则以及过滤条件,用户界面通知服务提供者的规则变更,根据规则重新工作,同时完成对控管规则文件的更新。

(6)在退出应用程序前,完成记录当前工作模式,日志更新等工作。

4.2.  规则库模块的设计
规则库模块是用来进行对过滤规则的配置。Winsock2 SPI是一个DLL程序,它工作在API和DRIVER间,为上层的应用程序提供服务。根据其特性,制订出规则库全局工作流程。可通过此部分对IP地址、端口、应用程序及固定的规则进行设置。控管规则的设计流程如图2所示。而本设计的控管规则匹配优先级是:先对IP地址进行匹配,然后是对端口进行匹配,最后是应用程序进行匹配。

4.3. 智能挖掘模块的设计
智能挖掘模块实现的是离线检测功能,智能挖掘模块流程如图3所示。功能主要分为:数据预处理、数据挖掘以及智能检测。

1)数据预处理

存储在数据库中的数据为特定数据格式,该数据不能被数据挖掘的算法直接处理,故须对其进行转化及处理。数据库中存储的数据包含网络数据的重要属性,如连接起止时间、服务类型、协议类型、源端至目的端的字节数及目的端至源端的字节数等。

2)数据挖掘

由预处理得到数据挖掘的算法所能处理的数据格式以后,对数据挖掘,挖掘后的结果为整数表示的规则。这时,得到如下形式的规则:(service=http, flag=syn), (service =http, flag=syn)→(service =http, flag=syn)[0.86,0.02,2]。此规则表示:在flag为syn时,两个http连接后,在2s之内,有86%的可能性出现第二个一样的连接,该模式发生的概率为2%。以上挖掘出序列模式即为syn flood的频繁的片断模式。向数据库中存入样本数据,对样本数据进行挖掘,将挖掘出的规则存储。

3)智能检测

智能检测的功能是规则的匹配,即将数据挖掘的模块产生的输出结果及现有规则进行匹配,若匹配成功,认为某种异常发生,若都不成功,认为网络情况正常。

(1)规则的形式

在数据挖掘的模块中,对数据库中提取出非样本数据,预处理后变成整数格式,挖掘后的整数格式规则不再变成字符格式,是直接与整数格式标准规则匹配,这样可减少规则的长度,减少需要匹配字符数,从而在一定的程度上提高效率。

(2)匹配算法

本系统规则匹配与一般意义的规则匹配不同。一般意义的规则匹配,是从网络封包的全部数据里匹配某些特征,运算量较大。本系统中的模式与常规模式不同,提取的信息经整理和预处理后,规则已经大为精简,故模式匹配的部分在系统运算量所占比例较一般基于模式匹配入侵检测系统要小。系统中数据挖掘得出的规则在一定的程度上有类似性,即很多规则字串是相同的。根据以上分析,选用多模式匹配AC-BM算法。BM算法是单一的模式匹配,而AC算法没利用启发式策略进行跳跃,运行效率不佳,结合BM算法和AC算法的AC-BM算法则可利用二者优点,效率同时也优于BM算法和AC算法。

5.系统运行结果
智能检测主要完成功能是可对记录下来的数据进行智能挖掘,来发现是否存在异常信息。实际测试中,输入想要的挖掘的起止时间,若输入时间不合理,系统会提醒你重新输入;系统根据时间区间查询数据库,对每一组值进行解析,进行挖掘;最后用挖掘出规则与原有规则进行匹配,判断是否匹配。根据匹配的结果,判断系统是否存在异常。运行结果如图4所示。

计算机网络安全的实时监控系统作为一种安全的防护技术,提供对系统的实时监控,对记录的信息能利用数据挖掘算法进行智能检测,及时发现异常的网络行为。随着网络通信技术安全性的要求越来越高,入侵检测系统能从网络安全的立体纵深、多层次防御角度出发提供安全服务,必将进一步受到人们的高度重视。

参考文献
[1] 聂小逢、郑东、顾健.认证机构以的安全体系设计[J].计算机工程. 2007, 30(10).

[2] 徐晖,张卫平,吴志伟,入侵检测系统的发展与研究,微机发展,第13卷第1期,2008年1月

[3] 朱雁辉,Windows防火墙与网络封包截获技术,北京:电子工业出版社,2006年

[4] 马俊、王铁存.网络数据传输安全对策[[J].航空计算技术.2006, 25 (4) .

[5] 耿海霞,陈启军.基于Web的移动机器人控制系统研究及Java实现.同济大学学      报,2007,第8期

[6] Mani.Subramanian Net<vork Management Principles and Practices Addison Wesley.2008.11

[7] M.Rose. K.McCloghrie.Strncture and Identification of Management Informationfor TCP/IP-based Internets(SMI) RFC 1155. May.2008

[8] B.Wijnen. R.Presuhn. K. McCloghrie. View-based Access Control Model(VACM) for the   Simple Net<uork Management Protocol (SNMP),RFC 2575. Apri1,2007

 

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言