一种数字化校园可视化入侵检测系统的实现

龙源期刊网 http://www.qikan.com.cn

一种数字化校园可视化入侵检测系统的实现

作者:谭 宁

来源:《硅谷》2009年第08期

[摘要]介绍数字化校园可视化入侵检测系统实现方案,将可视化入侵检测系统划分为两个子系统:入侵检测数据管理子系统和入侵检测数据分析子系统,并对各个功能模块进行阐述。 [关键词]可视化 入侵检测 系统

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420071-01

可视化入侵检测系统具有实时检测、报警、动态安全响应和数据显示和图像绘制等功能,利用直观的图形来显示入侵分析的结果,并根据结果进行异常检测,给出警报信息,安全管理员根据组织的安全策略决定如何进行安全响应。

一、系统开发及运行环境

该系统是基于WEB页面的入侵检测系统。利用Apache 2.0作为WWW服务器;利用PHP作为脚本语言;后台数据库使用MYSQL。linux2.6.5内核下运行的入侵检测系统。

二、数字化校园可视化入侵检测系统构建

目前许多高校数字化校园的工作系统大多是基于浏览器/服务器、客户端/服务器模式和网络计算模式的分布式应用。在这样一个分布式应用的环境中,学校的数据库服务器、邮件服务器、WWW服务器等,只要有一个“门户”没有完全保护好,入侵者就会通过这道门进入系统,窃取或破坏所有系统资源。如何保证和加强数据库系统的安全性和保密性对于数字化校园的正常、安全运行至关重要。

鉴于上述考虑,在数字化校园已有的防护措施基础上,引入可视化入侵检测系统建立了数字化校园的安全管理体系。并设计了一个由网络管理信息中心负责数字化校园管理,以可视化

龙源期刊网 http://www.qikan.com.cn

入侵检测系统为主,以防病毒软件、防火墙为辅这样一个多方位的安全保障体系,以确保数字化校园的安全。

三、入侵检测数据管理子系统实现

入侵检测数据管理子系统是入侵检测数据分析的基础。以下为该子系统三个部分:数据包捕获模块实现、数据提取模块和事件分析数据库的实现。

(一)数据包捕获模块实现。数据包捕获模块是进行检测和决策的基础,它的准确性、可靠性和效率直接影响到整个系统的性能。如果采集数据的延时太大,系统可能在检测到攻击的时候,入侵者已经长驱直入;如果数据不完整,系统的检测能力就会大打折扣;如果数据本身不正确,系统就无法检测到某种攻击,造成的后果更加不堪设想。数据包捕获模块的任务是利用数据包捕获工具从网卡上捕获网络上的数据包,再将捕获的数据包经过解码引擎填入到链路层协议的包结构体中,以便对高层次的协议进行解码。

1.对网络数据包的捕获机制。网络数据包捕获机制指通过捕获整个网络的所有信息流量,根据信息源主机、目标主机、服务协议端口等信息简单过滤掉不关心的数据,再将系统感兴趣的数据发送给更上层的应用程序进行分析。网络数据捕获可以通过两种方法实现,一种是利用以太网络的广播特性,另一种方式是通过设置路由器的监听端口实现。

(1)利用以太网络的广播特性进行捕获。以太网数据传输通过广播实现。但是在系统正常工作时,应用程序只能接收到以本主机为目标主机的数据包,其它数据包将被丢弃不作处理,其数据包过滤机制分为链路层、网络层和传输层几个层次。

链路层主要指网卡驱动程序判断所收到包的目标MAC地址,如果不是自己网卡的MAC地址,又不是广播地址和组播地址,将直接丢弃,不向上层提交。网络层判断目标IP地址是否为本机所绑定IP地址,否则将不向上层提交。传输层如TCP层或者UDP层判断目标端口是否在本机已经打开,如果没有打开不作处理,并不向应用层提交。

要截获流经网卡的不属于自己主机的数据,必须绕过系统正常工作的处理机制,直接访问网络底层。首先将网卡工作模式置于混杂模式,使之可以采集目标MAC地址不是自己MAC地址的数据包。

(2)在交换环境中的网络数据捕获。在实际应用中,存在很多非以太网接入的情况,如通过光纤接入等。在这些情况下,就不能利用以太网络的广播特性,而必须在路由器中设置监听端口,将流经路由器的所有信息流量通过一个特定的监听端口输出,从而实现数据包的捕

龙源期刊网 http://www.qikan.com.cn

获。此时,网络路由工作将不同于正常情况,所有的网络信息数据包除按照正常情况传递外,将同时转发到监听端口。

2.Libpcap捕包机制。考虑到在Liunx平台上对该系统进行实现,可采用libpcap对网络数据进行收集。其通过直接访问数据链路层,从而为应用层程序提供了捕获底层数据包的API.。

(二)数据提取模块实现。数据提取模块是实现入侵检测系统VIDS的基础,它为检测模块提供分析的数据。根据数据包和系统日志提取出相应的特征数据,并对其进行规范化,以方便后面的数据分析。数据提取的三个过程是:协议解析、规则解析和数据预处理。

1.协议解析。数据包捕获模块把捕获的数据提交给协议解析模块后,协议解析模块必须对这些数据进行分析,根据相应的协议把这些分析后的数据放到指定的数据结构中,供上层模块调用。同时协议解析模块还要对这些数据包进行一些基本的校验,如出现错误的数据包,及时丢弃。

协议解析模块设计了一些对数据报进行表述的数据结构,在这些数据结构中,存放数据的Packet结构是其中最为关键的一个,数据包的数据结构如下在数据包解码时,首先判断以太网封装的协议是否为IP协议,如果不是,则直接返回。否则首先解析出IP头部,再根据所封装的协议,并分别对TCP,UDP,ICMP解析,将各项值写入Packet结构中对应的字段。 2.规则解析。在本系统中,采用了Snort的入侵行为描述方法。这种描述方法简单、易于实现,能够描述绝大多数的入侵行为。

Snort的规则在逻辑上分为两部分:规则头(Rule Header)和规则选项(Rule Option)。规则头部分包括:规则行为(rules action)、协议(protocol)、源/目的IP地址、子网掩码以及源/目的端口。规则选项包含了所要显示给用户查看的警告信息,以及用来判定此报文是否为攻击报文的其他信息。

3.数据预处理。数据预处理模块的作用就是对网络数据进行预先处理,从而方便随后的检测分析。另外,我们可以发现,基于规则的检测引擎并不能检测所有的入侵,尤其是针对有效载荷的检测,而像端口扫描、SYN Flooding等攻击,按照前面所述的方法很难对它们的特征进行提取。因此,需要特殊情况特殊处理,而数据预处理就是一个很好的选择。通过数据预处理可以用一种特殊的方式对数据包进行分析,如果在数据预处理模块中发现了攻击行为,此时就可以不再需要检测分析模块进一步处理了。

参考文献:

[1]薛静锋、宁宇鹏、阎慧编著,入侵检测技术[M].北京:机械工业出版社,2004.

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4