随着现代化网络应用的普及,传统的网络安全技术已经很难对付这些日益严重的安全威胁,而入侵检测技术便可以作为一种很重要的技术为我们所用。入侵检测是网络安全领域中一个较新的课题,检测引擎作为入侵检测系统的核心模块,其检测速度快慢直接影响网络入侵检测系统的效率,模式匹配是入侵检测系统的重要检测方法,其性能对入侵检测系统至关重要。入侵检测系统按照数据分析模式来分,可以分为异常检测和误用检测.本论文首先介绍研究了网络入侵检测的概况,然后深入的研究了Snort的详细信息,包括其特点,结构和其检测流程等,论文重点是配置了Snort在Windows下的工作环境,做了简单的实验,来展现Snort的DOS下的工作过程。
[关键词] 网络安全;Snort;入侵检测;规则库
5.1 实验软件
(1) 平台是在一台装有Windows7系统的物理机上进行。
(2) Snort 规则包: snortrules-snapshot-2.7.tar.gz
(3) 网络数据包截取驱动程序: WinPcap_4_1_2.exe
(4) 基于Windows的Snort安装包: Snort_2_9_1_2_Installer.exe
(5) 基于Windows的Apache Web服务器: httpd-2.2.21-win32-x86-0.9.8r.msi
(6) 基于Windows的PHP脚本环境支持: php-5.2.17-Win32-VC6-x86.zip
(7) 基于Windows 的MySQL 数据库服务器: mysql-5.0.22-win32.zip
(8) 基于Windows 的phpMyAdmin: phpMyAdmin-3.3.10-english.zip
4.3.2 规则匹配流程
Snort对从网络上捕获的每一条报文和规则语法树进行扫描匹配,首先按照默认的顺序遍历activation、dynamic、alert、pass、log的规则子树。然后根据报文的IP地址和端口号,在规则头链表中找到相对应的规则头。最后,将这条数据报文匹配规则头附带的规则选项组织为链表。首先匹配第一个规则选项,如果匹配,则按照这条规则所定义的规则行为做出相应的处理结果。如果不匹配,接着匹配下一个规则选项。若数据报文与规则选项列表中所有的规则都不匹配,则说明此条数据报文不包含入侵行为的特征。Snort规则匹配总体流程如图所示[18]。
目 录
1 绪论 1
1.1 研究的目的与意义 1
1.2 入侵检测系统存在于发展的必然性. 1
1.3 入侵检测的发展历史 2
1.4 现今入侵检测技术的不足与发展趋势 3
1.5 入侵检测系统主流产品 4
2 入侵检测系统概述 4
2.1 入侵检测的概念 4
2.2 入侵者进入系统的方式 5
2.3 入侵检测的内容 5
2.4 安全防御技术 5
3 入侵检测系统分析 5
3.1 入侵检测系统的实现过程 5
3.2 入侵检测系统的模型 7
3.2.1 入侵检测系统的一般模型 7
3.2.2 基于系统行为分类的检测模型 8
3.2.3 向数据处理的检测模型 9
3.3 入侵检测系统的分类 9
3.3.1 基于保护目标的分类 10
3.3.2 基于检测机制的分类 12
4 Snort研究 14
4.1 Snort简介与特点 14
4.2 Snort的体系结构 15
4.3 Snort入侵检测流程 16
4.3.1 规则解析流程 16
4.3.2 规则匹配流程 17
4.4 Snort的规则结构 18
4.4.1 规则头 18
4.4.2 规则选项 19
5 网络入侵检测系统(Snort)实验 20
5.1 实验软件 20
5.2 安装Apache和WinPcap 20
5.3 安装MySQL 21
5.4 安装PHP和phpMyAdmin 26
5.5 安装Snort和规则库 29
6 实验测试 30
6.1 快速嗅探的实例 30
6.2 记录与读取封包的实现 31
6.3 网络入侵检测 33
6.4 网络入侵建模式下的输出选项 33
6.5 其他信息 34
6.6 Snort新规则的应用 34
结束语 36
参考文献 37
致谢 38