基于Linux网络入侵检测系统关键模块设计.docVIP

基于Linux网络入侵检测系统关键模块设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Linux网络入侵检测系统关键模块设计

基于Linux网络入侵检测系统关键模块设计   摘要:网络入侵检测系统是属于主动的网络安全防御体系,本文介绍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; itotal_length; i++) /*把符号先解析出来*/    {    if(*(event+i)==‘’) /*判断关系符号是否是*/    {    relation[relation_number]=‘’; /*把关系符号存入relation中*/    relation_number++;    }    if(*(event+i)==‘l’)/*判断关系符号是否是l*/    {    relation[relation_number]=‘l’;    relation_number++;    }    }    state_number=0;    state_number=relation_number+1;    for(i

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档