当前位置:首页 > 教学设计 > 基于Linux的网络入侵检测系统关键模块的设计 入侵检测系统可以附加的模块
 

基于Linux的网络入侵检测系统关键模块的设计 入侵检测系统可以附加的模块

发布时间:2019-02-21 04:04:45 影响了:

  摘要:网络入侵检测系统是属于主动的网络安全防御体系,本文介绍Linux下基于网络的入侵检测系统的设计原理和整体框架,介绍了网络数据包捕获模块、网络协议分析模块、规则解析模块三个关键模块的设计。
  关键词:网络入侵系统 Linux 数据包 协议
  
  1 引言
   入侵检测作为一种主动式的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。从网络安全立体纵深、多层次防御的角度出发,入侵检测系统逐步受到人们的高度重视,在网络安全体系中充当不可替代的角色。
  
  2 Linux网络入侵检测系统设计
   通常,一个完善的网络入侵检测系统需要满足以下几个主要功能要求。
   (1)实时性要求:尽量缩短发生攻击行为和被检测出来之间的时间,及时作出反应。
   (2)可扩展性要求:由于攻击方式多种多样,因此必须建立一套能描述入侵特征的入侵事件描述语言,使用此语言可以动态建立入侵规则库。当有新的入侵事件时,可以使用入侵描述语言动态加载入侵特征到规则库中。
   (3)适应性要求:由于网络环境的复杂性,所以要求入侵检测系统必须能够适应不同的环境。
   根据以上主要功能要求设计出基于计算机网络的入侵检测系统模型如下:
  3 网络数据包捕获模块设计
   网络数据包捕获模块将网络接口设置为混杂模式,将网络上传输的数据包截取下来,供协议解析模块使用,数据包的捕获流程如下图所示:
   本系统采用BPF过滤机制,它使用的过滤规则描述方式是可控制流图CFG。BPF过滤器的过滤功能是通过虚拟机执行过滤程序来实现的,过滤机主要由累加器、索引寄存器、数据存储器和隐含的程序计数器几部分组成。过滤程序实际上是一组过滤规则。过滤规则则由用户定义,以决定是否接受数据包和需要接收多少数据。过滤过程是:当一个数据包到达网络接口时,链路层驱动程序将其提交到系统协议栈。如果BPF正在接口监听,驱动程序将首先调用BPF。BPF将数据包发送给过滤器filter,过滤器对数据包过滤,并将数据提交给过滤器关联的上层应用程序,最后链路层驱动程序重新取得控制权,将数据包提交给上层的系统协议栈处理。
  
  4 网络协议分析模块设计
   从几个大型有名的入侵检测系统可以看出,如Snort入侵检测系统,还有Symantec ManHunt、Dragon等商业入侵检测系统,一个优良的入侵检测系统,它的协议分析模块必须是优良的。网络协议分析模块是整个系统最重要的一部分,只有很好地对网络协议进行了正确详细的分析,才能有效的检测出入侵行为。整个协议分析的基本过程如下:
  5 规则解析模块设计
   规则解析模块的主要功能就是对规则进行解析。规则解析就是把规则库中的规则解析成入侵检测模块能够识别的形式。规则库中存放很多条规则,这些规则是用事件描述语言写的。使用入侵事件描述语言的好处是显而易见的,由于黑客技术在不断提高,他们攻击的方式也在不断变化,当新的攻击方式出现的时候,可以通过入侵事件描述语言来定义新的规则,把此规则添加到现有的规则库中,以更新规则库。这样,新的攻击方式也可以检测出来了,这样防火墙系统不需要重新更改,就可以检测到新的攻击方式了。因此本系统设计一个入侵事情描述语言,然后用此语言来定义入侵规则。下面的是把事件定义解析的核心代码,把事件定义中的事件定义运算式和关系符号都解析出来。
   void read_event_defination(char*event)/*解析事件定义*/
   {
   int total_length;
   int length;
   int i;
   int j;
   int relation_number=0;
   total_length=strlen(event);
   for(i=0; i 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3