网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc

上传人:laozhun 文档编号:3991474 上传时间:2023-03-30 格式:DOC 页数:32 大小:5.72MB
返回 下载 相关 举报
网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc_第1页
第1页 / 共32页
网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc_第2页
第2页 / 共32页
网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc_第3页
第3页 / 共32页
网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc_第4页
第4页 / 共32页
网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc》由会员分享,可在线阅读,更多相关《网络入侵检测系统中相关技术的分析与研究本科毕业论文.doc(32页珍藏版)》请在三一办公上搜索。

1、网络入侵检测系统中相关技术的分析与研究摘要:当今社会随着信息时代的到来,计算机网络已经逐步成为各行各业的必备性基础设施,丰富的网络信息资源给用户们带来了极大的方便,但同时也给用户带来了极大地安全隐患。网络安全也成为一个了全民关注的热点话题。关于这方面的研究己经成为当今信息技术领域中的一个重要的组成部分。 目前,从传统的网络安全技术可以分为动态安全技术和静态安全技术。静态安全技术通过人工设定各种访问规则,来限定对目标的访问,以此达到保护系统、抵御入侵的目的。路由器访问控制列表(ACL)和防火墙(Firewall)都是这类技术的代表;动态安全技术通过对系统的主动监测、分析和响应手段来保障系统的安全

2、性。主要动态安全技术包括,入侵检测、在线分线分析、安全漏洞扫描和入侵响应等。网络入侵检测技术:从字面意思来看,就是对网络入侵的监控和防范。它通过对计算机系统和计算机网络中的关键点收集采集信息并对其进行分析,从中发现系统或网络中是否有被攻击的迹象和违反安全策略的行为。入侵检测是一种结合硬件和软件的网络入侵检测系统。他和其他安全产品有很大的差异,数据更智能化的入侵检测系统,他能得到分析并得出有效的结果。一个成功的入侵检测系统不但能使系统管理员时刻了解网络系统的任何改变,而且能给网络扩安全策略的制定提供参考。本论文首先总结了近些年来,网络入侵检测技术的在国内外的发展现状,分析概括了各种技术的优点与不

3、足。力图在此基础上,提出综合运用这些己有成果,来取得获取更优秀的网络入侵检测的方案。关键词:网络安全 入侵检测 防火墙 人工智能 SNORT NETWORK INTRUSION DETECTION SYSTEM IN THE ANALYSIS AND RESEARCH OF RELEVANT TECHNOLOGYAbstract:With the advent of the information age of todays society, the computer network has gradually become an essential infrastructure indust

4、ries, a rich network of information resources to the user who has brought great convenience, but also gives users a greatly security risks. Network security has become a hot topic of universal concern. Research in this regard has become todays information technology sector is an important component

5、of.Currently, from the traditional network security technologies can be divided into static and dynamic security technology security technology. Static security technology through artificial setting various access rules to limit access to the target in order to protect the system against invading pu

6、rposes. Router access control list (ACL) and firewall (Firewall) are representative of such technologies; dynamic security technology system through active monitoring, analysis and response means to protect the security of the system. The main dynamic security technologies, including intrusion detec

7、tion, on-line sub-line analysis, vulnerability scanning and intrusion response and so on.Network Intrusion Detection Technology: From the literal meaning, is the network intrusion monitoring and prevention. It is through the computer systems and computer networks to collect the key points and analyz

8、e the information collected, and found a system or network for signs of attack and violation of security policy behavior. Intrusion detection is a combination of hardware and software, network intrusion detection system. He and other security products are very different, the data is more intelligent

9、 intrusion detection system, he can get analyze and draw valid results. A successful intrusion detection system not only enables system administrators to keep abreast of any changes in the network system, and give the development of network security policies expanded to provide a reference.This pape

10、r first summarizes the recent years, network intrusion detection technologies in the development status at home and abroad, analysis summarizes the advantages and disadvantages of various techniques. On this basis, trying to put forward the integrated use of these has been fruitful, to get better ac

11、cess to the network intrusion detection program.Key words:Network Security;Intrusion Detection ;Artificial Intelligence;Firewall;Snort 目录1绪论11.1研究的目的与意义11.2入侵检测技术的发展阶段11.3 国内研究现状21.4 论文结构42 入侵检测52.1入侵和入侵检测52.2入侵检测系统的分类63 网络入侵检测系统(SNORT)研究83.1 SNORT特点83.2 SNORT的体系结构93.3 SNORT流程概要分析93.4 SNORT的规则结构154

12、SNORT的安装与测试164.1 安装Snort164.2 配置snort规则204.3 利用Snort检测ping攻击214.4 利用Snort检测Superscan扫描214.5 用SQL SEVER 2000存储数据224.6 使用ACID查看数据库的内容235 总结25结束语26参考文献27致谢281绪论1.1研究的目的与意义随着信息时代的到来,网络飞速发展,网络的使用已经深入到了各行各业,我们的生活已经离不开电脑,离不开网络。社会的经济,商业,军事等领域也离不开网络的覆盖。如今信息技术的发展已经越来越受到各国政府的重视。由此而演发出的网络安全问题也越来越受到大家的重视。如今网络黑客横

13、行,更使得网络入技术的开发与发展显得尤为重要。而传统的网络防火墙等技术已经不能够完善的保障网络的安全,新的网络入侵技术研究呼之欲出。图1.1 防火墙部署1.2入侵检测技术的发展阶段第一阶段(20世纪80年代):主要是主机日志分析和模式匹配技术研究,推出的IDES(Intrusion Detection Expert System,入侵检测专家系统)、DIDS(Distributed Intrusion Detection System,分布式入侵检测系统)、NSM(Network Security Monitor,网络安全监控系统)等基本上都是实验室系统 。第二阶段(20世纪90年代):代表性

14、产品有早期的ISS RealSecure(v6.0之前)、Cisco(1998年收购Wheel Group获得)、Snort(2000年开发代码并免费)等。目前Snort是最为受欢迎的一种。第三阶段(20世纪90年代后期)代表性产品有NetworkICE(2001年并入ISS)、安氏LinkTrustNetworkDefender(v6.6)、NFR(第二版)等。出现了二十多年的入侵技术检测,已经从有线IDS发展到无线IDS,并出现了IPS(Intrusion Prevention System,入侵防御系统)。1.3 国内研究现状网络入侵检测的研究在我国发展时间不长,但成果明显。北京启明星辰

15、信息技术有限公司,天阗入侵检测是千兆IDS设备。同样绿盟公司的冰之眼IDS也是国内很有实力的IDS产品1.启明星晨天阗IDS:天阗系列是国内规模最大的IDS产品商启明星辰公司研发的。图1.2天阗网络探测引擎功能架构图图1.3天阗控制中心功能架构图2.中联绿盟IDS:目前有NIDS-100和NIDS-1000两种型号,分别对应百兆网络环境和千兆网络环境。图1.4冰之眼中央控制台图1.5冰之眼结构图如图1.5所示。是冰之眼的结构图,冰之眼的探测器端做了很多工作,新版本中加入了一些国内IDS产品所没有,或者还没有实现的新功能。例如协议识别、协议异常检测。1.4论文结构本论文共设四章,第一章是绪论。第

16、二章介绍了入侵检测。第三章是论文的重点内容,网络入侵检测系统(SNORT)研究。论文的最后一章是SNORT的安装与测试。2 入侵检测2.1入侵和入侵检测2.1.1入侵目前,在网络安全领域对入侵普遍使用的定义是:入侵职位卸货危害网络资源的完整性。机密性和可用性的行为集合。入侵检测技术即使在计算机网络系统中发现并报告包括入侵等各种违反安全策略的技术入侵时只是一个分类问题,也就是针对各种主机日志、网络数据包等审计数据进行分类,以发现那些数据是正常的(代表正常用户行为),那些数据是异常的(代表异常用户行为)。2.1.2入侵检测网络入侵检测技术分为基于异常和基于误用的两种。基于异常的入侵检测系统,它的基

17、本思想是,概括了一般的普通意义上的所有合法行为。通过建造一个拥有所有网络上的的合法行为的模型,从而获得一个具有全部合法行为的特征的模型。在用户自己检测过程中,通过计算对比,凡是不符合这个模型的行为,都将被判定为入侵行为,并及时做出警报。这种类型的入侵检测系统的长处是,能够辨认出网络上新型的攻击行为,从理论上来说他是可以检测出所有攻击行为的。但是实际操作中复杂的网络拓扑,多样的网络协议,对这些正常行为很难做出准确、详尽、全面的叙述,所以理想中完美的模型几乎是不存在的。正是如此,基于异常的入侵检测技术,大多都存在误报率较高的缺陷,很可能将正常行为识别成入侵而做出反应。与基于异常的入侵检测系统基本思

18、路相反。Snort是基于误用的入侵检测系统的代表。这类系统含有已知的攻击签名数据库中的所有数据,使用模式识别方法来进行检测。为了获得所需要的模式,在检测到第一对数据时进行分析,以便进行预处理,然后将该模式与数据库中的签名进行对比来识别攻击,一旦发现相同则判断为入侵并发出相应的警报。能够识别所有己知的攻击是这种类型的入侵检测系统的优势所在。在用户使用过程中,检测了一段时间后,基于误用的入侵检测系统中的误报率可以到达非常低的水平。但是有些黑客会展开威胁性极高的攻击,比如利用零日漏洞的方式。对于一些数据库中不存在的,新颖的签名,基于无用的入侵检测系统便无法处理,这就是此种系统的缺陷所在。此外随着数据

19、库中攻击种类的不断累加,也会对检测速度产生影响。除了上述的两类基本的入侵检测技术外,混合入侵检测技术也是网络入侵检测技术中的一种方法。此方法将基于异常的与基于误用两种入侵检测技术结合起来,力求能够获得更好的检测效果。看起来这是一种完美可行的思路,但将两种完全不同的入侵技术集合起来,特别是将它们的优点完美的结合,并不是一件简单可行的事情。由于网络环境的复杂性,在实际操作中,混合方法得到的效果大多不如使用一种技术的检测效果来得好。虽然这其中存在各种难题,但是这类方法的思路还是比较明确的,值得我们深入研究下去的。所以目前在研究领域,虽然该方法成果不多,但是相较其他传统的入侵检测方法来说,也有获得了不

20、少值得关注的进展。2.2入侵检测系统的分类目前,市场上的入侵检测从系统多种多样。根据不同的分类方式,可将其分为不同的类型。2.2.1根据系统模块分布方式分类(一)、分布式入侵检测系统。(二)、集中式入侵检测系统。2.2.2根据响应方式分类 (一)、被动入侵检测系统。 (二)、主动入侵检测系统。2.2.3根据数据分析手段分类(一)、异常入侵检测系统。 (二)、误用入侵检测系统。图2.1为典型的误用入侵检测模型。规则匹配? 修正规则攻击状态误用入侵检测系 Yes审计数字 添加规则 No 正常数据 图2.1误用入侵检测系统模型2.2.4根据数据源分类 (一)、基于网络的入侵检测系统(Network一

21、BasedIDS)。结构 如图2.2数据分析 引擎管理协议分析安全通信捕获数据 网络接口图2.2基于网络入侵检测系统模型(二)基于主机的入侵检测系统(Host一BasedIDS)。(三)混合型的入侵检测系统。3 网络入侵检测系统(Snort)研究3.1 SNORT特点入侵检测系统是网络安全监控的一个重要应用。而Snort正是一个基于Libpcap的数据包嗅探器并可以作为一个轻量级的网络入侵检测系统(NIDS),其网络传输数据的采集利用了工具包Libpcacp。Snort对Libpcap采集来的数据进行分析,哦你个人判断是否存在乐意的网络活动。轻量级是指在检测时尽可能地的影响网络的正常操作,一个

22、优秀的轻量级的NIDS应该具备跨系统品太操作,对系统影响最小等特征,管理员能够在短时间内通过修改被指进行实时的安全响应,更为重要的是能够从成为整体安全结构的重要成员。Snort作为一个轻量级的入侵检测系统,它的功能却非常强大,相较于其他系统特点如下:1)Snort移植性非常好,而且它的代码简短。目前支持Linux系列,Solaris,BSD系列,IRIX,HP-UNIX,Windows系列等。2)Snort能够提供多种多样的警报方式,Unixsocket,Syslog,WinPopup等,他对于网络攻击的检测非常灵敏,速度非常快,从而及时地发出警报。另外他的实时流量分析的能力,和对日志IP网络

23、数据包的分析能力都很强。3)Snort可以协议分析入侵问题,对内容进行很好地匹配和搜索。目前它的水平能够分析的协议有TCP、UDP、和ICMP。不久的将来他还可以支持更多的系统,如IPX、RIP、OSPF等。4)Snort的日志方式非常的灵活。他支持XML格式,使用数据库输出插件,支持Tcpdump的二进制格式,同时也支持ASCll字符形式,数据库日志格式也可以运行。当前支持的数据库有Postagresql、Mysql,任何UnixODBC、Microsoft SQL Server、Oracle等。5)使用TCP流插件,TCP包通过Snorth进行重组。这是Snort可以对抗“无状态”攻击的基

24、本前提。无状态攻击是网络黑客在进行攻击时,每次只发送一个字节的数据包,从而避开监视,然后被攻击的电脑的主机的TCP栈会重新组合这些数据包,从而将攻击数据会被发送给目标端口上的监听的进程,来摆脱IDS的检测。6)使用Spade (Statistical Packet Anomaly Detection Engine)插件,Snort能够报告异常的数据包,从而对端口进行有效的检测。7)Snort还具有很强的系统防护能力。能够实现入侵检测主机和防火墙的联动,这一功能是通过使用IPTables,IPFilter插件实现的,还可以通过FlexResp功能,Snort能够命令防火墙断开恶意连接。8)能够快

25、速的应对新的攻击,且扩展性好。Snort中最基本的规则知识包含四个域:处理动作、协议、方向、端口。他采用了规则描述语言,且简单易懂,一旦遇到新的攻击他会迅速建立规则表。9)Snort支持插件,他使用的报告具有特定的能,检测子系统插件对其进行功能扩展。当前支持的插件有:数据库日志输出插件、破碎包检测插件、端口扫描检测插件、HttpURL插件、XML网页生成插件等。3.2 SNORT的体系结构报警、日志检测引擎预处理器Sniffer 数据包规则设置图3.1 Snort的体系结构1)Sniffer(数据包嗅探器)2)预处理器3)检测引擎4)报警日志3.3 SNORT流程概要分析3.3.1 流程概要现

26、在看看Snort是如何实现对数据包的分析和检测入侵的。在main函数的最后部分有如下比较重要的语句:/*Read all packets on the device.Continue until cnt pakets read*/If(pacap_loop(pd,pv.pkt_cnt,(pcap_handler)ProcessPacker,NULL)sf.rfile != NULL) n = pcap_offline_read(p, cnt, callback, user); else /* * XXX keep reading until we get something * (or an

27、error occurs) */ do /do循环 n = pcap_read(p, cnt, callback, user); while (n = 0); if (n 0) cnt -= n; if (cnt func(p); idx = idx-next; if(!p-frag_flag & do_detect) if(Detect(p) /调用检测函数 CallOutputPlugins(p); /如果匹配,根据规则输出 3.3.2 规则解析流程parseRule()的流程如图3.2所示。获取规则类型属于检测规则类型 是调用对应的解析模块ParsePreProcessor()Parse

28、OutputPlugins()ParseConfing()ParseRuleTyDeclaration()VarDefine()处理规则头ProcessHeadNode处理规选项ProcessRuleOption()返回图3.2规则解析流程3.3.3 规则匹配流程Snort规则匹配总体流程如图3.3所示。Detece开始获取RuleLists链表头链表中还有记录? 否 是调用EvalPacket()判断是否入侵 是 否如果必要则根据tag信息进行记录遍历到链表中下一节点结束图3.3 Snort规则匹配总体流程3.4 SNORT的规则结构Snort规则可以划分为两个逻辑部分。如图3.4所示: 规

29、则头部规则选项图3.4Snort规则的基本结构3.4.1 规则头规则头包含报文关键的地址信息、协议信息以及当报文符合此规则时各元素应该采取的行为。Snort规则头部的主要结构如图3.5所示:源端口源地址方向目标端口目标地址协议类型操作图3.5 Snort规则头部结构1)规则动作2)协议字段3)地址字段4)端口信息5)方向操作符3.4.2 规则选项Snort目前有四十几个选项关键字,按其功能可分为八类:1)关于报警信息的选项关键字:msg、referenee、sid、rev、classtype、priority。2)关于内容检测的选项关键字:content、nocase、rawbytes、dep

30、th、offset、distance、within、urieontent、isdataat、pcre、byte-test、byte_jump、ftpbounce、regex、content-list。3)关于正协议的选项关键字:fragoffset、ttl、tos、id、ipopts、fragbits、dsize、sameip、ip_proto。4)关于TCP协议的选项关键字:flags、flow、flowbits、seq、ack、window。5)关于ICMP协议的选项关键字:itype、icode、icmp_id、icmp_seq。6)关于规则响应后的选项关键字:logto、session

31、、resp、react、tag。4 snort的安装与测试4.1 安装Snort自动安装包是一个利用WINRAR制作的自解压程序。将手动安装的文件直接解压到相应位置,这种方法快捷高效,但是要求路径的一致。安装过程如下:执行snort.exe,弹出自解压界面,必须使用默认安装路径。图 4.1 snort解压安装提示安装MYSQL,选取默认路径c:mysql。如图4.2所示:图4.2安装MYSQL提示安装Winpcap3.0,如果已经安装了新版本winpcap,安装过程中会提示有新版本文件,是否要覆盖。这里要用3.0版的覆盖新版文件,否则会出现问题。提示安装Apache。首先填写服务器信息,选择“

32、for all Users”的推荐设置。 图 4.3 安装Apache 选择“Custom”安装方式,不采用默认安装路径,设置Apache安装路径为c:apache。图4.4 选择安装方式图4.5 设置Apache安装路径之后程序会自动解压文件,并最后开启apache和mysql服务。测试过程同手动安装测试步骤。完善配置文件1)打开c:/snort/etc/snort.conf文件,查看现有配置。2)设置snort的内、外网检测范围。将snort.conf文件中var HOME_NET any语句中的any改为自己所在的子网地址,即将snort监测的内网设置为本机所在局域网。如本地IP为192

33、.168.1.10,则将any改为192.168.1.0/24。并将var EXTERNAL_NET any语句中的any改为!192.168.1.0/24,即将snort监测的外网改为本机所在局域网以外的网络。3)设置监测包含的规则。找到snort.conf文件中描述规则的部分,如图4.6所示:图4.6 snort中的规则前面加表示该规则没有启用,将local.rules之前的号去掉,其余规则保持不变。启动Apache和mysql服务。net start apache2; net start mysql运行ACID:打开浏览器,地址为http:/127.0.0.1/acid。如果有图4.7所

34、示,则表示ACID安装成功。图4.7 ACID安装成功提示界面运行Snort:在运行中输入命令c:snortbinsnort -c c:snortetcsnort.conf -l c:snortlog-de ,如果有图4.8所示,说明Snort可以正常运行。图4.8 snort正常工作的入侵检测模式4.2 配置snort规则下面我们练习添加一条规则,以对符合此规则的数据包进行检测。1) 打开c:snortruleslocal.rules文件,如图4.9 所示:图4.9 文件中snort规则2)在规则中添加一条语句,实现对内网的UDP协议相关流量进行检测,并报警:udp ids/dns-vers

35、ion-query。语句如下:alert udp any any $HOME_NET any (msg:udp ids/dns-version-query;content:version;)保存文件后,退出。3)重启Snort和acid检测控制台,使规则生效。4.3 利用Snort检测ping攻击Snort主要是利用模式匹配的方法检测攻击。其特征值保存在Rules文件夹中。其中icmp-info.rules文件中的规则alert icmp $EXTERNAL_NET any - $HOME_NET any (msg:ICMP Large ICMP Packet; dsize:800; refe

36、rence:arachnids,246; classtype:bad-unknown; sid:499; rev:4;)用于检测大的ping包,长度超过800的包即被认为是大包。运行Snort,并且用长度超过800的大包去ping靶机。Ping 192.168.1.10 -l 801 -t (IP地址为靶机地址)同时打开ACID,看是否有ICMP类报警产生。如图4.10所示:图4.10查看ICMP类报警是否产4.4 利用Snort检测Superscan扫描Superscan是一款功能强大的扫描器,可以对搜集各网段主机信息。Snort对Superscan设计了专门的规则,可以实现对Supersc

37、an的过滤。运行Snort,打开Superscan对目标网段进行扫描。如图4.11所示:图 4.11 superscan的扫描打开ACID,看是否有Superscan报警产生。如图4.12所示:图 4.12查看superscan是否产生报警4.5 用SQL SEVER 2000存储数据SQL Server为Snort的网络入侵检测模式提供数据库支持,安装后,还要保证Snort能够访问到该数据库。默认安装SQL Server 2000数据库,配置SQL Server随机启动。为Snort建立存储数据的数据库“db_snort”,添加Snort访问db_snort的用户acid,密码设为“123456”。指定acid在数据库db_snort中权限为db_owner。以上为Snort访问数据库做了准备,还要为db_snort添加Snort需要用到的表。在官方网站上查看Snort需要的表信息,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号