论文摘要
随着经济与技术的发展,计算机网络在人们的生活中占据了越来越重要的地位;与此同时,由于网络安全问题而导致的经济损失等也在逐年增加。这就对网络安全技术提出了新的挑战,也对网络安全系统提出了新的要求。传统的以身份验证、加密、防火墙为主的静态安全防护体系已经越来越难以适应日益变化的网络环境。开源网络入侵检测系统Snort诞生以来,发展至今已经成为一个具备多平台支持、实时流量分析、网络数据包记录、入侵检测等特性于一体的强大的入侵检测/防御系统(Network Intrusion/Prevention System, NIDS/NIPS)。作为轻量级NIDS的优秀典范,Snort在支持多种操作系统的同时集成了包括syslog、SMB、UNIXSocket、WinPopup信息在内的多种实时报警机制;Snort使用基于模式匹配的检测算法,提供了简单实用的规则语言和插件机制的功能支持,用户可以添加自己的检测规则和处理函数,根据用户的需要在短时间内及时更新规则库和调整检测策略;Snort作为开源软件,可以满足校园局域网安全需求,适宜部署与研究,可以帮助校园规模网络的系统管理员有效地监视网络流量和检测入侵行为。论文侧重于入侵检测系统体系结构分析,在对最新Snort2.8.5及之前版本源代码进行详细分析的基础上构建出整个Snort网络入侵检测系统的体系结构模型。尽管本文包含了大量的源代码,却不仅仅是对源代码的简单罗列;事实上Snort的源码布局遵循POSIX.1标准,分析其源代码不仅可以让我们建立对入侵检测系统的深刻理解、体会数据包分析与处理的实质,也有利于网络入侵检测系统的开发者构建出新的入侵检测系统框架和方便后续高级检测算法的添加,对于下一代分布式入侵检测系统和高性能入侵检测的研究和实现均具有较为重要的现实意义!
论文目录
摘要英文摘要1 绪论1.1 校园网络安全现状1.2 入侵检测研究现状1.3 课题主要工作1.4 论文的组织结构2 Snort概述和主函数、关键全局变量2.1 Snort概述2.2 Snort体系结构概述2.3 源代码结构概述2.4 主函数与关键全局变量2.4.1 主函数main()和SnortMain()2.4.2 Snort的关键结构体3 系统初始化3.1 初始化子网掩码3.2 初始化协议3.3 初始化检测引擎3.4 命令行解析4 Libpcap包捕获机制4.1 Libpcap函数剖析4.2 OpenPcap()函数5 插件机制5.1 日志及输出插件5.1.1 重要的数据结构5.1.2 注册5.1.3 初始化5.1.4 调用5.2 预处理插件5.2.1 重要的数据结构5.2.2 注册5.2.3 初始化5.2.4 调用5.3 规则选项关键字插件6 规则引擎和规则快速匹配引擎6.1 Snort Rules6.1.1 规则概述6.1.2 规则头(Rule Header)6.1.3 规则体6.2 三维链表6.2.1 使用三维链表的原因和优点6.2.2 三维链表的实现6.3 创建规则树CreateDefaultRules()6.4 解析规则文件ParseRuleFile()6.5 解析规则ParseRule()6.6 构建RTN和OTN6.7. 规则快速匹配引擎6.7.1 重要的数据结构6.7.2 fpC.reateFastPacketDetection()6.7.3 prmAddRuleXX()6.7.4 prmxAddPortRuleXX()6.7.5 prmCompileGroups()和BuildMultiPatternGroups()7 数据包处理7.1 InterfaceThread()7.2 PcapProcessPacket()7.3 数据包解码7.3.1 Packet结构体7.3.2 数据包解码7.4 Preprocess()8 工作总结与展望8.1 提高Snort检测效率8.1.1 多线程化8.1.2 零拷贝8.2 入侵检测的前途和未来参考文献致谢个人简历发表的学术论文
相关论文文献
标签:入侵检测论文; 源代码论文; 体系结构论文;