基于Snort的分布式入侵检测系统研究

2012-11-21 11:38
长江大学学报(自科版) 2012年19期
关键词:警报数据包分布式

魏 晋

(长治医学院计算机中心,山西 长治 046000)

基于Snort的分布式入侵检测系统研究

魏 晋

(长治医学院计算机中心,山西 长治 046000)

由于分布式入侵检测系统能够解决传统集中式入侵检测系统存在的问题,因而目前该系统成为计算机网络安全领域的研究热点。设计和实现了基于Snort的分布式入侵检测系统,并对系统进行了模拟攻击试验。测试结果表明,该系统能够提高实时检测的准确率,对加强网络安全性具有重要作用。

网络防护;入侵检测;传感器;规则配置

入侵检测技术是指对计算机网络的恶意攻击行为进行检测、判断、做出结论、发出警报并触发应对策略方案的网络防护技术[1]。入侵检测系统作为防火墙的重要补充,现已成为计算机网络安全体系中一个不可或缺的组成部分。传统的集中式入侵检测系统只安装在网络的出口处,由于网络攻击技术趋向于多样化,如果攻击者对该系统进行攻击并使其瘫痪,那么整个网络环境将失去保护。同时,在实际应用中发现该系统存在数据瓶颈、实时性差、漏报率偏高、单点失效等不足[2]。分布式入侵检测系统可以解决上述问题,该系统采用管理服务器/探测器的架构,将多个小的、独立的入侵检测系统分散在网络的不同地理位置来捕获网络中的数据包并进行分析,一旦发现有恶意行为,就会立即发出警报和启动应对处理策略。由于该系统有多个探测点,因而能够监视整个网络环境的安全状态,这样不仅提高了网络管理员管理网络的能力,同时也加强了网络信息安全基础结构的完整性。下面,笔者以Snort系统为核心,设计并实现了分布式入侵检测系统,并在搭建的网络环境中对该系统进行了模拟攻击试验测试分析。

1 Snort简述

Snort是一个小体积、开源、功能全、性能优秀的入侵检测系统,其不仅能够进行实时流量分析、监视网络数据流、分析数据包、检测安全事件日志等工作,还能进行协议分析、数据内容过滤、规则匹配等[3]。Snort由数据包嗅探器、预处理器、检测引擎、日志与报警4个子系统组成[4],其中数据包嗅探器的功能是依靠Libpcap函数库来捕获网络中的数据包,预处理器的功能是对分析后的数据包按照规则再进行转化和加工,检测引擎是Snort的核心部分,主要负责规则分析与特征检测,而检测引擎会按照启动时加载的规则对每个数据包进行分析和判断,如果发现数据包中的内容与某条规则相匹配,就会发出警报并触发相应的处理策略。Snort的工作流程如下:①从主函数Snort.h开始执行,完成网络接口设备、预处理插件、读入规则等准备工作;②通过Libpcap/Winpcap 库中的pcap_loop( )进程,在数据链路层中对数据包开始进行捕获;③将捕获的数据包送入ProcessPacket( )包解码的进程中,对数据包进行解析并加工和转换格式,以便进行规则匹配运算工作[5];④对来自数据包解码模块和预处理模块的数据,调用检测引擎模块通过遍历规则链表对每个数据包进行匹配项的查找,如发现匹配项则进入警报模块;⑤启动日志事件并对警报信息进行处理。

2 分布式入侵检测系统的设计和实现

基于Snort的分布式入侵检测系统采用3层体系结构,分别为入侵检测层、服务器层和分析控制层(见图1)。由于在传感器中运行了Snort系统,所以每个传感器都具有对数据包进行捕获、分析、查找恶意攻击行为和发出警报的功能,把这些独立的传感器分散到网络中的不同区域,这样就可以对整个网络环境进行监控。

图1 基于Snort的分布式入侵检测系统架构

2.1入侵检测层

入侵检测层的主要任务是传感器对数据包进行捕获、分析与匹配计算,一旦发现有规则匹配,则认为存在入侵行为,并将警报信息传递给服务器进行对应处理。所以,传感器是入侵检测层的主要构成部分。传感器由安装了数据包捕获工具Winpcap和Snort应用程序的计算机组成,在传感器中需要配备2块网络适配器,其中一块用于网络数据包的采集,而另一块用于连接服务器通信接口。传感器的硬件与软件配置分别如表1和表2所示。

表1 传感器硬件配置

表2 传感器的软件配置

2.2服务器层

表3 Snort服务器硬件配置

构成服务器层的主要部分是Snort服务器,其任务是与入侵检测层进行通信,把从各个传感器中获取的警报信息进行分析并做出相应的处理策略。Snort服务器的硬件与软件配置分别如表3和表4所示。

2.3分析控制层

分析控制层是面向管理员的控制管理层,安装有ACID图形界面的计算机是分析控制层的主要部分。通过安装有ACID图形界面的计算机对传感器的规则进行配置,对控制消息进行编码和发送,还可以查看警报信息和生成详细的结论报告视图。安装有ACID图形界面计算机的软件配置如表5所示。

表4 Snort服务器软件配置

表5 安装有ACID图形界面计算机的软件配置

3 Snort的规则配置

3.1Snort规则数据库的配置

配置Snort规则数据库的方法如下[6]:①从Snort官方网站上升级Snort规则数据库;②根据自身条件定制和修改Snort规则数据库[6]。

3.2Snort预处理插件的配置

在Snort中有一些预处理插件在默认情况下是不启动的,比如用于检测ARP报文异常的arpspoof插件,管理员可以根据实际需求来配置相关预处理插件。

3.3配置行为警报的优先级

在同一时刻检测到多个具有不同攻击方式的攻击源时,系统应根据Snort攻击方式优先级别的设定,对不同顺序的攻击源发出警报。设置DDOS攻击方式具有较高优先级,缓冲区溢出攻击方式相对具有较低优先级的配置如下:

Config classification:successful-dos,denial of service,1;

//将DDOS攻击的优先级设置为1;

Config classification:shellcode-detect,executable code was detected,2;

//将缓冲区溢出攻击优先级设置为2;

和资源消耗。

4 系统测试分析

在搭建的网络环境中,对基于Snort的分布式入侵检测系统进行了模拟攻击测试,攻击方式如下。

1)Ping 攻击测试:

Ping-l 65500-t IP

//循环发送大小为65500byt的数据包。

2)DDOS攻击测试:

Xdos IP-t 5-s *

//对80和139端口进行攻击,使用线程为5,随即生成源地址。

3)Arp欺骗测试:

Arpcheat IP

//Arp欺骗攻击

4)Nmap端口扫描测试:

表6 模拟攻击测试结果统计表

Nmap-ps-pu-p IP

//使用TCP和UDP协议对端口扫描

模拟攻击测试如表6所示。从表6可以看出,该系统不仅能对采用TCP、UDP、ICMP、Arp协议的攻击方式进行准确检测,还能够对端口扫描的行为进行准确检测,因而对加强网络安全性具有重要作用。

5 结 语

基于Snort的分布式入侵检测系统突破了传统的入侵检测系统的局限性,其中各个传感器能独立完成相关任务,这样可以充分利用各个Snort传感器的资源,从而节省了网络带宽的消耗。在安全性方面,由于各个Snort传感器各自独立进行工作,所以当任何一台Snort传感器遭到攻击或出现故障的时候,不会对整个网络造成严重影响。测试结果表明,该系统能够提高实时检测的准确率,对加强网络安全性具有重要意义。

[1]李涛.网络安全概论[M].北京:电子工业出版社,2004.

[2]柴平渲,龚向阳,程时瑞.分布式入侵检测技术的研究[J].北京邮电大学学报,2002,25(2):72-74.

[3]薛静锋,祝烈煌,阎慧.入侵检测技术[M].北京:人民邮电出版社,2007.

[4]陈伟,周继军,许德武.Snort轻量级入侵检测系统全攻略[M].北京:北京邮电大学出版社,2009.

[5]岳成刚.基于Snort平台的网络入侵检测系统研究[D]. 合肥:合肥工业大学,2009.

[6]王建忠.分布式入侵检测系统的研究与设计[D]. 兰州:兰州理工大学,2007.

10.3969/j.issn.1673-1409(N).2012.07.042

TP393.1

A

1673-1409(2012)07-N124-03

2012-04-25

魏晋 (1975-),男,2003年大学毕业,助教,现主要从事计算机网络与软件工程等方面的教学与研究工作。

[编辑] 李启栋

猜你喜欢
警报数据包分布式
基于北斗三号的人防警报控制系统及应用
二维隐蔽时间信道构建的研究*
基于Jpcap的网络数据包的监听与分析
假期终结者
SmartSniff
是谁的责任?
分布式光伏热钱汹涌
拉响夏日警报定格无痕迹美肌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究