欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 网络安全论文

一种基于Snort的三层入侵检测系统的设计和应用

时间:2011-05-27  作者:秩名

论文导读::还是从事入侵检测产品开发的企业。提出了一种基于Snort的三层入侵检测系统。自主开发设计了三层结构的入侵检测系统。本文在校园网的环境下。通过关联规则挖掘。
关键词:入侵检测,Snort,三层结构,校园网,关联规则

 

0 前言

随着互联网的飞速发展,信息网络已经进入千家万户,各国都在加速信息化建设的进程,越来越多的电子业务正在网络上开展,这加速了全球信息化的进程,促进了社会各个领域的发展,与此同时计算机网络也受到越来越多的恶意攻击[1],例如网页内容被篡改、消费者网上购物信用卡帐号和密码被盗、大型网站被黑客攻击无法提供正常服务等等。

入侵检测作为传统计算机安全机制的补充[2],它的开发与应用扩大了网络与系统安全的保护纵深,成为目前动态安全工具的主要研究和开发的方向。随着系统漏洞不断被发现,攻击不断发生,入侵检测系统在整个安全系统中的地位不断提高,所发挥的作用也越来越大。无论是从事网络安全研究的学者,还是从事入侵检测产品开发的企业,都越来越重视入侵检测技术。

本文在校园网的环境下,提出了一种基于Snort的三层入侵检测系统,详细介绍了该系统的体系结构,各个模块的具体功能以及如何实现,并最终将该系统应用于校园网络中进行检测网络安全论文,确保校园网络的安全。

1 Snort入侵检测系统介绍

Snort[3]是一种基于网络的轻量级入侵检测系统,建立在数据包嗅探器上。它能实时分析网络上的数据包,检测来自网络的攻击。它能方便地安装和配置在网络的任何一节点上,而且不会对网络运行产生太大的影响,同时它还具有跨系统平台操作、最小的系统要求以及易于部署和配置等特征,并且管理员能够利用它在短时间内通过修改配置进行实时的安全响应。它能够实时分析数据流量和日志IP网络数据包,能够进行协议分析,对内容进行搜索/匹配。其次它还可以检测各种不同的攻击方式,对攻击进行实时警报。总的来说,Snort具有如下的优点:

(1)高效的检测和模式匹配算法,使性能大大提升。

(2)良好的扩展性,它采用了插入式检测引擎,可以作为标准的网络入侵检测系统、主机入侵检测系统使用;与Netfilter结合使用,可以作为网关IDS(Gateway IDS,GIDS);与NMAP等系统指纹识别工具结合使用,可以作为基于目标的TIDS(Target-basedIDS)。

(3)出色的协议分析能力,Snort能够分析的协议有TCP,UDP和ICMP。将来的版本,将提供对ARP.ICRP,GRE,OSPF,RIP,ERIP,IPX,APPLEX等协议的支持。它能够检测多种方式的攻击和探测,例如:缓冲区溢出,CGI攻击,SMB检测,端口扫描等等中国期刊全文数据库。

(4)支持多种格式的特征码规则输入方式,如数据库、XML等。

Snort同时遵循GPL(公用许可License),任何组织或者个人都可以自由使用,这是商业入侵检测软件所不具备的优点。基于以上的特点,本文采用了Snort作为系统设计的基础,自主开发设计了三层结构的入侵检测系统。

2 入侵检测三层体系结构

Snort入侵检测系统可采用单层或多层的体系结构,对于单层[4]的结构来说,它将入侵检测的核心功能和日志信息混合放在同一层面上,这样的系统设计与实现均比较简单,但它的缺点是交互性比较差,扩展性不好,操作管理比较繁琐,系统的升级维护比较复杂。为了设计一个具有灵活性、安全性和可扩展性的网络入侵检测系统,本文的系统采用了三层体系结构,主要包括网络入侵检测层、数据库服务器层和日志分析控制台层。系统的三层体系结构如图4.1所示。

图4.1 三层体系结构图

(1)网络入侵检测层主要实现对网络数据包的实时捕获,监控和对数据进行分析以找出可能存在的入侵。

(2)数据库服务器层主要是从入侵检测系统中收集报警数据,并将它存入到关系数据库中网络安全论文,以便用户进行复杂的查询,和更好地管理报警信息。

(3)日志分析控制台层是数据显示层,网络管理员可通过浏览器本地的Web服务器,访问关系数据库中的数据,对报警日志信息进行查询与管理,提供了很好的人机交互界面。

2.1 网络入侵检测层

网络入侵检测层是整个系统的核心所在,主要负责数据的采集、分析、判断是否存在入侵行为,并通过Snort的输出插件将数据送入数据库服务器中。Snort没有自己的数据采集工具,它需要外部的数据包捕获程序库winpcap[4],因此本部分主要包括两个组件:winpcap和Snort。winpcap是由伯克利分组捕获库派生而来的分组捕获库,它在Windows操作平台上实现底层包的截取过滤,它提供了Win32应用程序提供访问网络底层的能力。通过安装winpcap和Snort两个开源软件,搭建了一个基本的入侵检测层,基本上完成了一个简单的单层入侵检测系统。

2.2 数据库服务器模块

数据库服务器层主要是从入侵检测系统中收集报警数据,并将它存入到关系数据库中。除了将报警数据写入关系数据库,Snort还可以用其他方式记录警报,如系统日志syslog[5],统一格式输出unified等。利用关系数据库对数据量相当大的报警数据进行组织管理是最实用的方法。报警存入关系数据库后能对其进行分类,查询和按优先级组织排序等。在本系统中我们采用MySQL数据库。MySQL是一个快速的客户机/服务器结构的SQL数据库管理系统,功能强大、灵活性好、应用编程接口丰富并且系统结构精巧。MySQL数据库采用默认方式安装后,设置MySQL为服务方式运行。然后启动MySQL服务,进入命令行状态,创建Snort运行必需的存放系统日志的Snort库和Snort_archive库。同时使用Snort目录下的create_mysql脚本建立Snort运行所需的数据表,用来存放系统日志和报警信息,数据库服务器模块就可以使用了。

2.3 日志分析控制台

日志分析控制台用来分析和处理Snort收集的入侵数据,以友好、便于查询的方式显示日志数据库发送过来的报警信息,并可按照不同的方式对信息进行分类统计,将结果显示给用户。本文所设计的警报日志分析系统采用上面所述的中心管理控制平台模式,在保护目标网络中构建一个中心管理控制平台,并与网络中架设的Snort入侵检测系统及MySQL数据库通信,达到以下一些目的:

(1)能够适应较大规模的网络环境;

(2)简化规则配置模式,便于用户远程修改Snort入侵检测系统的检测规则;

(3)降低警报数据量,通过多次数据分类分析,找出危害重大的攻击行为;

(4)减少Snort的警报数据在MySQL数据库中的存储量,降低运行系统的负担;

(5)将分析后的警报数据制成报表形式输出,降低对于管理员的要求。

为了完成以上所述的目的,提高Snort入侵检测系统的使用效率,本子系统主要分为以下三个模块:规则配置模块网络安全论文,数据分析模块,报表模块。本子系统框架如图4.4所示:

图4.4 Snort警报日志系统框架

三层结构

(1)规则配置模块:起到简化用户配置Snort检测规则的作用。此模块主要与Snort运行主机系统上的一个守护程序通信,修改Snort的配置文件――Snort.conf,从而完成改变检测规则的目。中心控制管理平台在本地系统上备份snort.conf文件以及所有规则文件,当需要修改某个Snort入侵检测系统的规则配置时,就可以通过平台接口首先修改本地对应的snort.conf文件以及所有规则文件,然后通过与Snort运行系统中守护程序通信,将本地系统上修改后的snort.conf文件以及所有规则文件传输到Snort运行系统中并且覆盖掉运行系统中的原配置文件和原规则文件集,然后重新启动Snort,达到重新配置Snort检测规则的目的。

(2)数据分析模块:主要利用改进的Apriori算法对数据库的日志进行分析,通过关联规则挖掘,生成一些新的检测规则用来改进snort本身的检测规则,分析警报数据,降低输出的警报数据量,集中显示危害较为严重的入侵行为。数据分析模块是整个中心管理控制中心的核心模块。本模块通过挖掘保存在Mysql数据库中Snort异常日志数据来发现这些入侵数据之间的关联关系,通过发现入侵数据的强关联规则来发现新的未知入侵行为,建立新的Snort检测规则,进一步优化Snort系统的规则链表中国期刊全文数据库。具体的步骤如下:

先对Snort异常日志进行数据预处理。数据预处理中先计算出每个网络特征属性的信息增益值,然后取出前面11个重要的网络特征,把原来要分析的多个网络特征减少到11个重要的网络特征,这样就大大减小了整个算法的复杂度,也有利提高检测速度。历史日志经过预处理之后,我们就可以采用改进的Apriori算法求出所有频繁项集。在产生频繁项集之前,我们需要设定最小支持度,最小支持度设置得越低,产生的频繁项集就会越多,反之就会越少。通常,最小支持度的设定有赖于领域专家的分析和实验数据分析两种手段。经过反复实验,最终采用模拟仿真的攻击数据进行规则推导,设定最小支持度10%、可信度80%。训练结束时头100条质量最好的规则作为最终的检测规则。把关联规则中与Snort规则头相关的项放在一起充当规则头,与Snort规则选项相关的项放在一起充当规则选项,然后把规则头与规则选项合并在一起形成Snort入侵检测规则。

(3)报表模块:将分析后的数据库中的警报数据制成报表输出,降低对于管理员的要求。报表模块是为了简化管理员观察数据,美观输出而创建,通过.net的报表编写完成。报表是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库网络安全论文,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。

该系统采用Microsoft Visual Studio 2008进行开发,语言采用C#。具体如下图:

图4.5 日志分析控制台


 

3 系统实际运行效果

集美大学诚毅学院作为一个独立学院,为了更好的满足学院师生对信息资源的需求,部署了自己的web服务器,ftp服务器,英语网络自主学习等教学平台,有了丰富的网络信息资源。学院随着网络应用的不断展开,使用者越来越多,网络安全状况也出现很多问题,比如学院的web服务器曾经出现挂马事件,ftp服务器被入侵等事件也相继出现。为了解决该问题,部署属于自己的网络入侵检测系统,用来检测入侵事件,提高校园网络的安全情况就成为必须要解决的问题。该系统目前已经在集美大学诚毅学院使用,检测效果很好,有效的防范了网络安全事件的发生,能够及时对攻击事件进行检测,从而采取相对应的防范措施。


[参考文献]
[1]RobFliCkenger.LinnxServerHaeks.北京:清华大学出版社,2004.5, 132-135
[2]蒋建春,冯登国.网络入侵监测原理与技术.北京:国防工业出版社,2001.
[3]ForrestS,HofmeyrS,SomayajiA.Computerimmunology.Communicationsof the ACM,1997.40(10).88-96.
[4]Jack Koziol著.吴溥峰,孙默,许诚等译.Snort入侵检测实用解决方案.北京:机械工业出版社.2005.
[5]韩东海,王超,李群.入侵检测系统实例剖析.清华大学出版社,2002
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:数字矿山的建设
下一篇论文:一种安全审计系统中获取内外网地址映射关系的方法
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关网络安全论文
最新网络安全论文
读者推荐的网络安全论文