计算机网络IDS的优化与设计

2015-01-01 03:04张书敏史兴燕
网络安全技术与应用 2015年7期
关键词:数据包预处理规则

张书敏 史兴燕

(河南农业职业学院 河南 451450)

0 引言

作为一种计算机网络安全防护技术,入侵检测可以积极主动地对网络系统进行实时保护。但由于入侵检测技术还不成熟,误报率高,且只能对某些特定的或已知的入侵行为有效,所以对其进行性能优化设计,有利于提高系统的安全性与稳定性。

1 IDS概述

IDS(入侵检测系统。Intrusion Detection System的缩写)作为一种主动的信息安全保障措施,对防火墙起到必要的补充作用。

1.1 IDS概念

IDS是指对于面向计算和网络资源的恶意行为识别和响应的系统。IDS经济成本不能太高,这体现了经济性;自身系统必须安全,这体现了安全性;可以识别入侵者及入侵行为,发现漏洞并及时阻止事态恶化,这体现了可扩展性。IDS在检测到网络入侵后,可以立即阻止攻击行为,并同步调整完善防火墙的防护策略,使防火墙的防护体系动态并智能化。

1.2 IDS分类

根据检测数据来源来划分,IDS可以分为两类:HIDS(基于主机的入侵检测系统)和NIDS(基于网络的入侵检测系统);根据入侵检测使用的方法来划分,IDS可以分为三类:基于异常的入侵检测和基于误用的入侵检测。

1.3 IDS优化及原因

1.3.1 为适应网络通信的要求,提高检测速度

影响网络性能的一个重要因素就是网络安全设备的处理速度。目前IDS的检测速度往往跟不上网络数据的传输速度,检测一个网络数据包就需要大量的时间和系统资源,那么就会有部分系统包漏掉而得不到检测,从而影响系统的准确性与有效性。因此,提高IDS的检测速度是发展方向。

1.3.2 为减少漏报和误报,提高安全性与准确率

IDS基于模式匹配分析方法,将所有入侵行为、手段及变异表示为库存模式或特征,一旦有新的攻击方法出现、新的漏洞发布,攻击特征库得不到及时更新时就会造成IDS漏报。IDS基于异常发现是通过流量统计分析建立系统正常行为的轨迹,运行数值超过正常阀值时就会认为可能受到了攻击,所以技术本身就不够完善。此外,伪装或变形的网络攻击时,由于大多IDS是基于单包检查的,协议分析不够,也会造成漏误报。

2 IDS系统优化

2.1 系统概述

本文提及的IDS系统优化是将基于主机和网络的两种检测形式合二为一的集成性检测系统。单一的检测方法的能力毕竟有限,网络安全技术的需要,提高入侵检测传统的需求,将单一的分布式入侵检测、数据挖掘入侵检测、特征引擎分析入侵检测、核聚类和序列分析入侵检测等集成,构建入侵行为规则知识库,进行数据分析和算法匹配,从而提出一种基于多种检测方法的入侵检测系统,从而达到最佳的检测效果。

2.2 系统构成框架

根据工作阶段不同,工作任务不同,系统框架一般由以下几个模块组成:

2.2.1 控制中心模块

控制中心模块是系统模型的核心,由此产生系统的控制逻辑。总体分配调度系统工作所用到的函数,定义控制界面流程的一般函数:数据捕获类、预处理类、分析及响应类。主要功能是检测单元管理、接收报警信息并显示、日志数据管理、用户管理和定义规则。

2.2.2 数据捕获

数据捕获逻辑上包括网络数据包捕获线程和主机系统调用序列捕获线程。前者以网络数据为数据源,实时捕获流经网卡的网络数据包,进行初始处理操作,完成进制转换,然后引入Libpcap开发包,通过恰当调用就可以将截获的数据包进行分析(它支持针对网络层、协议、主机和网络端口的过滤)。如果数据包内内容使用十六进制形式,可以存入临时文件,交给预处理模块处理;后者以系统调用为数据源,应用strace程序截获系统调用,序列临时存入数据库。

2.2.3 数据存储

数据存储负责把系统检测到的问题记录保留,便于以后分析研究。本着经济性原则,我们不能构造专门的存储系统,还是要运用现有的数据库系统进行数据存储。

2.2.4 规则描述

优化系统借鉴改进 Snort语言的规则语法,提出了一种更灵活实用,简单高效的规则存储方式,可以极大提高IDS的整体工作效率。

规则在内存中存储的主要数据结构就是几个描述规则库的链表。Ru1eListNode(主规则链表)是由Ru1eHeadNode和Ru1eOptNode组成。其中Ru1eHeadNode描述规则头部分,Ru1eOptNode描述规则选项部分。规则链表及数据结构如下(部分):

//NIDS主规则链表

typedef struct-Ru1eListNode

Ru1eHeadNode*rhn}tr;/*规则头*/

Ru1eO1:1tNode*ron}tr;/*规则选项*/

int active-f1ag;/*规则激活标志/

int ru1e-num;/*规则序号*/

int ron num;/*规则选项的数目*/

char *ron_name;/*规则选项名字*/

Struct-u1eListNode *next:

1Ru1eListNode:

........

由此得出,系统设计的规则解析处理的算法流程为:开始—打开规则文件,进行解析处理—逐条处理规则—解析规则头—解析规则选项—向规则链表添加元素—结束。

3 IDS优化系统设计

3.1 系统分析模块

该模块内容包括协议解码、分析模块和数据预处理模块三部分。

协议解码的目的是为了让IDS正确检测入侵攻击行为。正确而准确地对TCP/P协议进行解码,转变为另外一种便利进行入侵检测的编码形式或者数据结构。

协议分析模块主要是针对特定的攻击行为所表现出来的网络特征进行分的。采用协议分析技术的IDS能够理解不同协议的原理,由此分析这些协议的流量,来寻找可疑的或不正常行为。协议分析技术观察并验证所有的流量,当流量不是期望值时,IDS就发出告警,因此能够检测到己知和未知攻击方法。状态协议分析不仅仅检测单一的连接请求或响应,而是将一个会话的所有流量作为一个整体来考虑。攻击行为包含在多个请求中时,状态协议分析技术就显得十分必要。

数据预处理模块主要完成对未作标记的网络训练数据进行预处理操作,将训练数据数值化、去除冗余属性以及数据的存储等,以及对主机训练数据的预处理操作,如数据的转换、过滤等。

3.2 系统响应模块

优化后的IDS系统设计结合主动响应与被动响应的优点,对于那些模式库中己经存在的较常见的攻击类型,系统根据预先设计的动作,进行主动响应处理,对于通过异常算法检测到的那些模式库中没有存在的攻击,系统将该连接数据保存起来,做进一步处理。在主动响应里,IDS应能够自动地(或在用户的控制下)阻塞或影响攻击,进而改变攻击的过程。在被动攻击里,IDS统仅仅简单地报告和记录所检测出的问题。

3.3 模块间的通信

在这个模块中,主要采用多线程技术和进程间的套接字通信机制。日志服务程序与入侵检测模块都设计在sensor上,它们之间采用域套接字进行本地通信。服务程序既要接收入侵检测模块发出的报警信息,还要将报警信息转送到远程的数据中心,这里将涉及到通信同步的问题采用“报警队列”可解决。由于这个“报警队列”是个临界资源,接收报警信息和发送报警信息都要访问并操作队列,所以在设计时采用线程互斥锁(pthread mutex)解决这个问题。

3.4 系统的工作流程

系统可在 WindowsXP平台下运行。具体工作流程图如下(图1):

图1 系统工作流程示意图

4 结束语

本文依靠入侵检测系统知识和计算机学科相关理论,建立了一个粗略抽象的入侵检测体系结果模型和理论框架。为研制新的入侵检测技术产品提供了一定的理论和思想方面的帮助。

[1]高凯.入侵检测系统的分类研究[J].黑龙江科技信息.2011.

[2]王娜敏,高艺博.基于数据挖掘技术的入侵检测系统[J].电脑知识与技术.2011.

猜你喜欢
数据包预处理规则
求解奇异线性系统的右预处理MINRES 方法
二维隐蔽时间信道构建的研究*
撑竿跳规则的制定
数独的规则和演变
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
SmartSniff
让规则不规则
基于预处理MUSIC算法的分布式阵列DOA估计
TPP反腐败规则对我国的启示
浅谈PLC在预处理生产线自动化改造中的应用