论文部分内容阅读
作为一种积极主动的网络安全防护技术,入侵检测提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到攻击威胁时响应入侵。入侵检测技术是防火墙技术的有利补充,受到了业内人士的广泛关注。Snort是目前世界上使用最广泛的、开源的入侵检测系统,它是基于规则的误用检测系统的代表。在基于规则的误用检测系统中,如何在庞大的规则库中快速完成规则匹配,及时发现入侵行为已经成为了目前研究的热点。本文以减少入侵检测时规则匹配的计算量,提高入侵检测效率为目的,在对Snort研究的基础上,结合现有的协议分析技术设计了一个入侵检测系统。论文首先对Snort规则库的组织结构进行分析,针对Snort规则库以端口号划分规则的不足之处,结合协议分析的特点,引入了本地端口权限管理策略。其目的是为本地应用层服务端口设置允许访问的源IP地址和端口号信息。在进行规则匹配前,对端口的访问权限进行判定,及时发现非法访问。该策略不仅能有效管理本地端口的非法访问行为,并且将非法访问策略从规则库中分离出来而加快匹配速度。在设计的入侵检测系统中,各应用层协议按照自身特性维护各自的规则库并拥有各自的规则描述、组织方式和规则处理方式。然后针对应用层协议自身特点,对Snort规则选项按照关键字分类来进一步划分规则。本文在对FTP协议的研究分析中,以命令为关键字对规则选项进一步划分,这样大大减少了与命令无关的规则匹配。在规则匹配成功的同时,我们采用给规则和命令类型加权的方式,对规则进行实时排序,进一步提高了匹配速率。基于以上的设计思想,本文将系统分为数据协议分析模块、本地端口权限管理模块、规则库模块、日志模块。采用XML对规则进行了描述和组织。考虑到对全部协议研究的工作量庞大,系统的规则库仅以Snort中FTP规则为实例进行研究,根据FTP协议的特点,将规则按命令类型分为34类,实现了系统功能,实验结果证明了系统的可行性与高效性。