您的位置:新文秘网>>毕业相关/毕业论文/文教论文/>>正文

毕业论文:入侵检测系统的设计与实现

发表时间:2013/7/10 9:51:21

入侵检测系统的设计与实现
专业:计算机科学与技术 班级:计算机091姓名:江朝林 指导教师:王国豪

摘要 攻击者往往能绕开防火墙和杀毒软件来对目标进行攻击。从其他方面提高计算机安全性越来越设立防火墙和杀毒软件是保护计算机安全的主要手段,但随着操作系统的安全隐患被越来越多的发现,迫切。基于该思想,设计了一个IDS(基于特征的入侵检测系统),目的是通过这个IDS监视并分析网络流量来发现攻击企图或者攻击行为,采取报警、回复假的不可达信息或断开连接等手段,来保护计算机安全。
入侵检测技术是对传统的安全技术(如防火墙)的合理补充。它通过监视主机系统或网络,能够对恶意或危害计算机资源的行为进行识别和响应。通过与其它的安全产品的联动,还可以实现对入侵的有效阻止。入侵检测系统的研究和实现已经成为当前网络a全的重要课题。
本次设计完成了一个IDS的设计和实现,详细论述了该IDS的结构和功能,阐述了相关概念和设计原理,并给出了部分关键代码。最后总结了本次设计入侵检测系统的优点和缺陷,从性能方面对本次设计进行了评价。

关键词 IDS 入侵检测系统 snort 网络a全



The design and implementation of intrusion detection system

Profession: Computer Science and Technology Class: J091 Name : Chaolin Jiang Instructor :GuohaoWang

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 e*igent. Base on this idea, I designed an IDS (Intrusion Detection Systems) to guard a
……(新文秘网https://www.wm114.cn省略1646字,正式会员可完整阅读)…… 
也可以定义为:检测企图破坏计算机资源的完整性,真实性和可用性的行为的软件。
入侵检测系统与传统防火墙的优势在于IDS不是被动保护而是主动检测,入侵检测系统是对防火墙的必要补充。在国内,随着关键部门、关键业务越来越多,迫切需要具有自主版权的入侵检测产品,但现状是入侵检测技术还不成熟,处于发展阶段,需要进一步研究。
















第一章 概述
1.1国内外研究现状
从国内外IDS的技术发展来看,IDS可以分2种技术:基于特征的和非正常的入侵检测系统。
基于特征的是指IDS以计算机正常运行时的各种参数为依据,对搜集来的信息加以对比,不匹配的就进行相关的操作,如报警、记录、忽略等,该技术的优点是能发现未知的攻击,但是误报率高;基于非正常的则相对应以受到各种网络攻击时的数据为依据,对搜集来的信息加以比较,匹配则采取相关操作。这种技术的优点是误报率低,但是却不能发现未知攻击。
无论从规模与方法上入侵技术近年来都发生了变化。入侵的手段与技术也有了进步与发展。入侵技术的发展与演化主要反映在下列几个方面:
入侵或攻击的综合化与复杂化。入侵的手段有多种,入侵者往往采取多种攻击手段。由于网络防范技术的多重化,攻击的难度增加,使得入侵者在实施入侵或攻击时往往同时采取多种入侵的手段,以保证入侵的成功几率,并可在攻击实施的初期掩盖攻击或入侵的真实目的。
入侵主体对象的间接化,即实施入侵与攻击的主体的隐蔽化。通过一定的技术,可隐藏攻击主体的源地址及主机位置。即使用了隐蔽技术后,对于被攻击对象攻击的主体是较难直接确定的。
入侵或攻击的规模扩大。对于网络的入侵与攻击,在其初期往往是针对于某公司或一个网站,其攻击的目的可能为某些网络技术爱好者的猎奇行为,也不排除商业的盗窃与破坏行为。由于战争对电子技术与网络技术的依赖性越来越大,随之产生、发展、逐步升级到电子战与信息战。对于信息战,无论其规模与技术都与一般意义上的计算机网络的入侵与攻击都不可相提并论。信息战的成败与国家主干通信网络的安全是与任何主权国家领土安全一样的国j-a全。
入侵或攻击技术的分布化。以往常用的入侵与攻击行为往往由单机执行。由于防范技术的发展使得此类行为不能奏效。所谓的分布式拒绝服务(DDoS)在很短时间内可造成被攻击主机的瘫痪。且此类分布式攻击的单机信息模式与正常通信无差异,所以往往在攻击发动的初期不易被确认。分布式攻击是近期最常用的攻击手段。
攻击对象的转移。入侵与攻击常以网络为侵犯的主体,但近期来的攻击行为却发生了策略性的改变,由攻击网络改为攻击网络的防护系统,且有愈演愈烈的趋势。现已有专门针对IDS作攻击的报道。攻击者详细地分析了IDS的审计方式、特征描述、通信模式找出IDS的弱点,然后加以攻击。
目前IDS技术尚处于发展阶段,相关技术还没有防火墙技术成熟。所以缺点还是比较明显,不同类型的IDS会存在不同程度的误报或者漏抱。所以现在对于IDS的争论还是比较多, “Gartner公司副总裁Richard Stiennon发布的那篇研究报告《入侵检测寿终正寝、入侵防御万古长青》来批驳入侵检测系统(IDS)”。
1.2本课题研究的意义
本课题是基于防火墙有自身的缺陷,不能为处于网络上的主机撑起完整的安全保护伞为出发点来研究的。发展IDS技术是安全形式所趋,发展有自主知识产权的、安全、可靠的IDS对全球的网络a全有着重大的意义。“评价一个IDS有这样几个方面:(1)准确性;(2)性能;(3)完整性;(4)故障容错(fault tolerance);(5)自身抵抗攻击能力;(6)及时性(Timeliness)”。[6]由于设计参考的是snort,因此这次设计的IDS的各项性能和snort相仿,属于轻量级的IDS(轻量级是指适合小网段使用)。基于IDS技术的不成熟以及Snort在相关IDS的产品中是比较成熟的一种,所以这次设计的IDS的在现今阶段来说性能指标处于中上水平。
1.3本课题的研究方法
本课题设计一个在windows系统下运行的基于特征的入侵检测系统,设计与架构参考了较有名的snort入侵检测系统。借助相关的环境辅助软件安装了IDS。通过IDS在网络上抓获的数据包(IP、TCP、UDP)并与数据库里的特征数据进行对比。根据对比出的结果来进行相关的操作。













第二章 相关开发环境及技术
2.1 C++语言
C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
贝尔实验室的本贾尼•斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(e*ception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准(这么说也是不完全正确的,事实上,至今为止没有任何一款编译器完全支持ISO C++)。
Forrester最新的调查显示,C++、微软VisualBasic和Java是众多公司产品体系的首选语言。对100家公司的调查显示,C/C++、VisualBasic和Java在产品体系中的使用比例分别是59%、61%和66%。
2.2 VC++开发环境
VC++基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 最大缺点是开发效率不高。
VC++适用范围
(1) VC++主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层 的调用。在VC里边嵌入汇编语言很简单。
(2) VC++主要用在驱动程序开发
(3) VC++执行效率高,当对系统性能要求很高的时候,可用VC开发。
(4) VC++主要适用于游戏开发
(5) VC++多用于单片机,工业控制等软件开发,如直接对I/O地址操作,就要用C++。
(6) VC++适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。
(7) VC++可以开发优秀的基于通信的程序。
(8) VC++可以开发高效灵活的文件操作程序。
(9) VC++可以开发灵活高效的数据库操作程序。
(10)VC++是编CAD软件的唯一选择!!!包括AUTOCAD,UG的二次开发。
(11)VC++在多线程、网络通信、分布应用方面,VC++有不可比拟的优势。


第三章 基于特征的IDS的设计与实现

3.1 基于特征的IDS的特征

这次设计的IDS最大特点是模块化。其原理就是将功能分为几个模块,各个模块实现不同的功能。系统的处理流程如图3-1所示:



















图3-1 snort的流程图
“入侵检测一般分为3个步骤:信息收集、数据分析、响应”对应于以上3个步骤,snort由以下几个模块来实现上述功能:数据包嗅探器,预处理器,检测引擎和报警输出模块。构成如图3-2所示:













图3-2 snort的模块工作原理
如图3-2所示,从网络(Network)上获得了数据包以后通过sniffer嗅探器之后再通过预处理器(Preprocessor)处理,处理后的数据由搜索引擎(Detection)根据制定好的规则(Rulesets)来进行检测,不同的检测结果采用不同的行动:如忽略(Ignore)、报警(Alert)或记录(Log)等等。
由于本次IDS的最大特点是模块化 ……(未完,全文共25707字,当前仅显示4624字,请阅读下面提示信息。收藏《毕业论文:入侵检测系统的设计与实现》