摘要 设立防火墙和杀毒软件是保护计算机安全的主要手段,但随着操作系统的安全隐患被越来越多的发现,攻击者往往能绕开防火墙和杀毒软件来对目标进行攻击。从其他方面提高计算机安全性越来越迫切。基于该思想,设计了一个IDS(基于特征的入侵检测系统),目的是通过这个IDS监视并分析网络流量来发现攻击企图或者攻击行为,采取报警、回复假的不可达信息或断开连接等手段,来保护计算机安全。 本次设计完成了一个IDS的设计和实现,详细论述了该IDS的结构和功能,阐述了相关概念和设计原理,并给出了部分关键代码。最后总结了本次设计的IDS的优点和缺陷,从性能方面对本次设计进行了评价。 关键词:IDS;NIDS;入侵检测系统;snort;网络安全 The Design and Implement of the Intrusion Detection Systems Based on the Characteristic Abstract We can use the firewalls and antivirus to protect the computer’s security. But with the potential security hazards are more and more regard, the attacker can keep away from the firewalls and antivirus to attack the computer. To reinforce the computer’s security become more and more exigent. Base on this idea, I designed an IDS (Intrusion Detection Systems) to guard and analyze the network flux and find the attacking intentions or attacking behaviors. To apply an alarm or retrain the false untouched information or disconnection could keep the security of computer. This design implements an IDS, including its structure, functions, and principles as well. It also showed some important code. At last, it evaluated this IDS. Key words: IDS; NIDS; Intrusion Detection Systems; snort; Network security
IDS分析 下面是从性能方面对本系统的评价: (1)是仿检测规则采用的是snortrules的最新版本故其准确性较高; (2)检测引擎是仿照snort2.0的版本,该版本较低因此性能不太高 。可以采用最新的版本对IDS进行更新升级,从而确保IDS的高性能检测; (3)可视化不强。可以利用snort较强的扩展性对IDS进行扩展。利用一些可视化的软件诸如acid等软件改善本次IDS的可视化; (4)虽然该IDS使用时间不长,但鉴于snort的品质,本次的容错性能应该不错; (5)由于本系统是仿snort而设计的,它的自身抵抗攻击能力和及时性较强。 至此,完成了IDS的设计和实现。
IDS的功能主要是按功能模块来区分的: (1)包捕获模块:用于捕获通过主机的网络数据包,将捕获数据包传送至包解码模块; (2)包解码模块:支持以太网和SLIP及PPP媒体介质,其作用就是为探测引擎搜索数据; (3)包预测模块:用来判断数据包的协议类型,以便根据不同的协议采取不同的检测手段; (4)检测模块:检测数据包(此时的数据包是剥离了协议头的数据包),将检测结果交给输出模块处理; (5)输出模块:根据检测结果采取不同的应对手段,包括记录(Log)、报警(Alert)、忽略(Ignore)等等。 IDS的几个模块功能区分是十分清晰的,各个模块的功能由不同的软件来完成,如包捕获模块(WinPcap)、检测模块中的数据库(MYSQL)等。
本次仿照snort设计了一个轻量级的基于特征的IDS。它能够实现网络入侵检测功能,并且由于是模块化的设计,用户能够根据自己需要添加一些自己所需要的插件,可扩展性较强。由于snort是一个成熟的IDS产品,因而本次设计的IDS的检测引擎采用的是Boyer-Moore算法字符串对比进行比对,其检测效率较高 但由于现今的IDS技术还不成熟,在IDS发展的几年中始终无法解决漏报和错报问题,所以这次设计的IDS也不可避免的会有漏报存在,在可视化方面也有待提高。
目 录 1 引言 1 1.1课题背景 1 1.2国内外研究现状 1 1.3本课题研究的意义 2 1.4本课题的研究方法 3 2 相关开发环境及技术 3 2.1 C++语言 3 2.2 VC++开发环境 3 3 基于特征的IDS的设计与实现 4 3.1 基于特征的IDS的特征 4 3.2包捕获模块 7 3.3包解码模块 8 3.4 预处理模块 10 3.4.1 初始化插件函数 10 3.4.2 预处理模块 12 3.5 检测模块 13 3.5.1 三维链表 13 3.5.2 ParseRule初始化函数 15 4 IDS的测试与评估 18 4.1 IDS的测试 18 4.2 本次IDS分析 22 结 论 22 参考文献 22 致 谢 24 声 明 25
参考文献 [1]IDS.百度百科浏览词条[OL].http://baike.baidu.com/view/34066.Htm,2007-6-10。 [2]曾昭苏,王锋波.基于数据开采技术的入侵检测系统[J].自动化博览,2002,8:29-31。 [3]常琤.基于规则的网络入侵检测系统设计与原型实现[D].北京:中国科学研究院研究生院[硕士论文],2003-5-1。 [4]网络系统层次安全技术.百度百科浏览词条.[OL].http://baike.baidu.com/view/677597.htm,2007-6-10。 [5]唐洪英,付国瑜.入侵检测的原理与方法[J].重庆工学院学报,2002.4:71-73。 [6]张杰,戴英侠.入侵检测系统技术现状及其发展趋势[J].计算机与通行,2002.6:28-32。 [7]刘美兰.走协同之路--IDS发展方向探讨.计算机安全2005年07期[J],2005。
|