• 213.50 KB
  • 2022-04-22 13:51:05 发布

网络异常监测的方案设计毕业论文.doc

  • 27页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网络异常监测的方案设计毕业论文目录摘要1ABSTRACT21.绪论31.1研究背景31.2网络异常的定义31.3网络异常检测的研究现状31.4本课题的研究内容42.网络流量异常检测技术52.1网络流量异常检测的意义52.2网络流量监测方法52.2.1主动方法52.2.2被动方法62.3网络性能参数的采集方法63.网络入侵异常检测技术73.1研究入侵检测的意义73.2网络信息安全和入侵检测83.2.1网络信息安全概述83.2.2主要的网络安全威胁93.2.3网络信息安全模型与技术103.2.4Linux系统安全性113.3网络入侵异常检测113.3.1入侵检测基础113.3.2入侵检测系统124典型的入侵检测工具Snort144.1Snort的相关特性144.2Snort的功能架构144.3Snort规则154.3.1规则的组成164.3.2规则头1625 4.3.3规则选项174.3.4一个简单的规则范例185Linux系统下搭建入侵检测系统及分析195.1配置Snort选项195.2测试Snort205.3攻击与检测过程205.3.1攻击过程205.3.2Snort运行过程215.4检测结果分析216总结23参考文献24致谢2525 摘要随着信息数字时代的到来,互联网飞速发展,各种新业务不断涌现。随着而来的是各种网络问题也相继出现,给网络检测带来更大的挑战。网络检测的过程是:采集相关网络数据,通过对数据的统计分析,发现网络中存在的异常情况,然后做相应操作,比如向网络管理员发出告警信息。其中网络异常检测是网络检测的核心部分,对保证网络的正常运行具有重要的意义。论文分析了当前的网络异常检测方法,根据它们的特点分为网络流量异常检测方法和网络入侵异常检测方法。然后通过对这些方法的实现原理,计算复杂度,实现复杂度等的研究,总结它们的适合环境及优缺点。在深入研究入侵检测方法的基础上,对网络入侵检测系统Snort的特性、功能及规则进行了全面详细的研究,并在Linux系统环境下借助Snort搭建了一个典型的入侵检测系统作为具体实例。关键词:异常检测;网络流量异常;网络入侵异常;Snort25 ABSTRACTAlongwiththecomingoftheinformationages.thenetworkbegantodeveloprapidly.Variousnewserviceshavebeenincreasingsocontinuouslythatthenetworkdetectionisfacingseriouschallenges.Theprocessofnetworkdetectionistocollectthedatawhichindicatetherunningstatusofthenetworkanddevices,tofindouttheanomalyphenomenaofthenetworkviathestatisticandanalysisofthedata,andtogiverelevantalarmstonetworkmanagers.Networkanomalydetection,oneofthemostimportantsegmentsofthenetworkdetection,isofgreatimportanttoguaranteethenaturalrunningofthenetwork。Thisthesisanalysesthecurrenttechniquesofnetworkanomalydetection,dividesthemintonetworktrafficanomaliesandabnormalnetworkintrusionaccordingtotheircharacteristics.Aftertheinvestigationofthetheoryandthecomplexityofcalculationandrealization,thethesissumsupthesuitablecircumstances,themeritsandtheflawsofthetechnique.In-depthstudyofintrusiondetectionmethodbasedontheNetworkIntrusionDetectionSystemSnortfeatures,functionsandrulesofadetailedstudyofacomprehensiveandLinuxsystemenvironmentwithatypicalsetupSnortintrusiondetectionsystemasaconcreteexample.Keywords:anomalydetection;networktrafficanomalies;abnormalnetworkintrusion;Snort25 1.绪论1.1研究背景随着数字信息时代的到来,利用互联网对外沟通已成为我们生活中不可缺少的一部分。互联网与生俱有的开放性、交互性和分散性特征,满足了人们对信息共享、开放、灵活和快速等的需求。随之而来的是,网络技术的迅速发展和广泛应用,网络规模不断扩大,新的网络协议和网络业务出现。根据中国互联网信息中心(CNNIC)于2009年1月发布的《第23次中国互联网络发展状况统计报告》[1]显示:截止到2008年底,我国上网用户总人数为2。98亿人,较2007年增长41。9%。报告中的数据说明,网络正渗透到人们生活、工作和学习的各个方面,起着越来越重要的作用。然而在互联网飞速发展的同时,各种网络安全问题也不断涌现。随着网络技术的不断更新,各种网络攻击技术也越来越隐蔽,危害性也越来越大。而且由于网络上承载的业务种类越来越多,网络出现各种故障和性能问题的可能性大大增加,而用户又要求更高更好的服务质量。因此对于网络管理者来说,如何保护网络不受攻击,如何及时发现各种网络故障,保证网络能够提供正常的服务,成为当务之急。小区网作为一种大型局域网,拥有大量的居民用户,担负着为他们提供各种服务的责任和义务。因此,做好校园网络的管理工作具有非常重要的意义。小区网管理工作的一个主要内容就是网络异常监测。网络异常监测的目的是通过对网络设备和网络运行状况的连续监测,及时地发现网络中的异常情况,并发出报警通知,以提醒网管人员采取必要的措施。1.2网络异常的定义1990年,R。A。Maxion(CarnegieMellonUniversity)对网络的“正常”和“异常”给出如下描述:“正常”意味着符合某种常规或典型的模式,以一种自然的方式——常规的或所预料的状态、形势、数量或成都发生,“正常”强调某种已经建立的水准或模式,并保持良好状态,是建立在一定趋势基础上的;“异常”则意味着违反了这种期望,与期望的情形有一定程度的偏差[2,3]。但是,由于网络是不断变化的,而且网络中存在一些噪音和不稳定性,所以“正常”行为的概念不应该保持不变,必须随着网络环境的改变而改变。网络异常通常意味着网络的性能或流量等出现异常。1.3网络异常检测的研究现状目前,在网络管理和网络异常监测方面,主要有两种途径:25 1)网络流量异常检测技术,通过对网络流量的规律进行研究实现异常检测。主要步骤是:首先,采集出各种流量信息,通过对各种流量信息的分析,提取出有用的信息;其次,建立正常行为的流量模型;通过这些流量模型,对下一步网络流量进行预测,进而发现网络异常。2)网络入侵检测技术,通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种安全技术,违反安全策略的行为有入侵和滥用。比较以上两种方法,发现:第一种方法是对流量信息做研究,而取得流量信息的途径有很多;流量模型的建立,根据具体网络环境的不同而不同,因此目前还没有一致的看法。第二种方法是对计算机和网络资源上的恶意使用行为进行识别和相应处理的过程,具有智能监控、实时探测、动态响应、易于配置等特点。传统安全机制大多针对的是外部入侵者,而入侵检测不仅可以检测来自外部的攻击,同时也可以监控内部用户的非授权行为。由于本论文是在小区网这个特定的局域网环境中进行的,作为整个小区网的管理者和维护者,除了要防范外部的入侵者,还需要监控内部用户的非授权行为。通过上述分析,本文将研究重点放在了第二种方法上。1.4本课题的研究内容本文主要讨论了对网络流量异常和网络入侵异常的检测方法,着重于网络入侵异常的检测方法,最后利用Snort软件在Linux系统中搭建了一个入侵检测系统并分析其结果。本论文内容安排如下:第一章:讨论了网络异常检测的相关知识,然后介绍了本论文的内容安排和所做的主要工作。第二章:对网络异常检测的一个方面——网络流量异常检测做了详细的探究,讨论了现在网络流量异常检测方法的主要方向,并分析了各方法所用的部分软件。第三章:这是本文研究的一个重点,对网络入侵异常检测与网络信息安全做了充分的讨论,分析了当今主要的网络安全威胁,最后简要介绍Linux系统的相关知识。第四章:简要分析了一个典型的入侵检测系统Snort软件,讨论了Snort软件的相关特性、功能架构以及规则。第五章:在Linux环境中以Snort软件搭建了一个入侵检测系统,并分析了实验结果。25 2.网络流量异常检测技术2.1网络流量异常检测的意义伴随着Internet技术的逐渐成熟和网络应用业务的飞速发展,网络结构的复杂化和用户的增多给网络管理、维护和检测技术带来很大的难度。尽管相关的组网与管理技术在不断地完善,但是互联网络体系结构的不断复杂化,也使得人们对它在局部和整体范围内所体现出的行为特征依然没有一个正确和完整的认识,并使得人们对网络的运行控制、管理维护、分析设计日趋困难,因此网络行为研究应运而生。网络流量检测是一个从网络设备上采集数据、解码数据、分析数据的过程。它从网络中采集一些具体的指标性数据,并反馈给监测者。这些数据对网络的资源分布、容量规划、服务质量分析、错误监测与隔离、安全管理都十分重要。这些数据可以用来作为分析网络性能、了解网络运行动态、诊断可能存在的问题,甚至预测可能出现的问题。网络流量检测是网络管理和系统管理的一个重要组成部分,为网络的运行和维护提供了重要信息,在网络性能分析、异常检测、链路状态监测、容量规划等方面发挥着重要作用,同时也是网络流量具体建模、分析的必要前提和手段。2.2网络流量监测方法网络性能监测按采集流量数据的方法可以分为两种方式[4]:1)主动(Active)方式。它是指监测者主动发包去探测网络设备的运行情况,从网络的反馈中分析发出包的具体性能来得到需要的信息。2)被动(Passive)方式。它是指监测者被动地采集网络中现有的标志性数据以了解网络设备的运行情况。主动方式具备实时性,不受管理权限、范围的限制,但会对网络性能造成影响,且不准确。被动方式实时性差,但测量准确,且不会对网络性能造成影响。下面从主动方式和被动方式两个方面来说明性能监测的方法,并列举一些流行的监测软件。2.2.1主动方法主动测量的方法是指主动发送数据包去探测被测量的对象,以被测对象的响应作为性能评价的结果来分析。测量者一般采用模拟现实的流量(如Web25 Server的请求、FTP下载、DNS反应时间等)来测量一个应用的性能或者网络的性能。由于测量点一般都靠近终端,所以这种方法能够代表从监测者的角度反映的性能。然而由于性能实际上受多种因素的影响(如流量模式,包长分布、服务类型等),所以这种测量并不准确,不一定能反映实际网络数据的性能,而且会对网络的实时性能造成影响。采用主动方法监测时可以从传输层和网络层进行。传输层的协议一般是TCP或UDP。因为TCP是面向连接的,所以测试TCP的性能能够反映发送端与接收端的端与端之间的性能参数,如重传个数、建立和关闭TCP连接的时间、平均段大小、吞吐率等。采用这种方式的工具有Treno,Netperf,Iperf,Ttcp等。而网络层测量的对象一般是节点、链路或经过这个传输设备的包。监测的属性一般是:Delay,Throughput,Loss,Connectivity,ResourceUtilization等。另外,路由对性能的影响,也是网络层要监测的关键对象。网络层性能测量,是通过发送探测包来探测发送端与接收端之间路径上的性能参数。采用这种方式的工具有Ping,Traceroute,Pathchar,Nettimer等。2.2.2被动方法被动方法的监测是在监测点采集真实的网络数据包并统计的。这种方法的监测不会对网络运行造成影响。一种方法是采集和分析由应用程序自身产生的数据。如web,FTP,Dns都维护一个行为的日志用来分析该应用的性能。一个标准的API是ApplicationResponseMeasurements。利用ARM的信息,很多工具都可以用来监测应用程序的性能。但是,很多应用程序并没有采用ARMAPI来编码。另外,还有以下方法[5]:(1)Sniffer,Sniffer是局域网上的抓包技术。在共享式的网络中,信息包会广播到网络中所有主机的网络接口。Sniffer通过把网卡设成混杂模式,使主机接收所有到达的信息包。Sniffer技术既适合于黑客的使用,也适合于满足网络管理员分析网络性能的需要。Tcpdump是一个强大的Sniffer工具。Tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。(2)SNMPMIB,它定义了一系列对象组。一些对象是网络设备必须提供的,作为强制型对象组,另一些对象只在某些设备才用到。对象本身是按层次结构定义的,因此很容易扩充。采集SNMPMIB中的数据,可以得到网络设备的各种统计信息。采用这种方法的工具有MRTG等。(3)NetFlow,它是Cisco的专用协议,据路由器中IP层的信息,了解该路由器所传输的包表头内容。CFlowd是一个流分析工具,用来分析Cisco的NetFlow数据。分析的数据可以用来作容量规划、趋势分析、载荷分类等。2.3网络性能参数的采集方法25 网络流量监测技术主要涉及网络性能的测量参数的选取、测量指标的确定、具体参数的测量方法(包括测量点的布置,测量结果的采样方法等)、网络性能的评测方法、网络性能的控制与调整策略等内容。网络流量测量有5个要素:测量时间、测量对象、测量目的、测量位置和测量方法。下面着重对流量监测系统模型所涉及的几个关键技术进行介绍。流量数据的采集是整个系统的基础,目前流量数据的获取一般有三种方式:基于路由器的方式、基于代理机制方式和基于监听方式。基于路由器的方式指直接利用路由器上的MIB库中的网络流量信息。其优点是网络结构简单,不必增加另外的硬件设备,能充分利用路由器和交换机的资源。其缺点是会定时或不定时地占用一些网络资源,增加了路由器和交换机的负载。基于代理机制的方式是指用一台工作站跨接在网络入口处,从物理上把内部网络和外部网络隔离开。无论外界访问内部网络还是内部网络访问外界,都必须在工作站上有相应的代理进程代理其活动。其优点是:可以进行用户认证,方便地确认用户的访问权限,安全可靠。缺点是:它在物理上隔断了物理电路,必须经过软件过滤,这样会带来较大的时延,尤其对于高速网络的时延更为明显和难以接受,可降低网络的性能。基于监听的方式指在共享介质网络中,流经这网络的任何数据包均可以由这一网段监听并接收下来,服务器的硬件配置要求应高一些,以避免不能及时处理监听到的数据包。其优点是:不改变原来网络结构,不增加网络负载,不占用网络资源,不涉及网络的时延,不影响用户对网络的使用。3.网络入侵异常检测技术3.1研究入侵检测的意义近年来计算机技术水平飞速发展,网络信息安全越来越受到重视。网络技术飞速发展的同时,各种网络技术漏洞和各种意图的网络攻击者也越来越多,网络入侵和攻击的现象仍然是屡见不鲜,而网络攻击者的技术和知识也日趋专业成熟,攻击工具与手法日趋复杂多样。计算机网络安全、信息安全已经成为一个国际性的问题,每年全球因计算机网络的安全问题而造成的经济损失高达数百亿美元,且这个数字正在不断增加。传统的加密和防火墙技术等被动防范技术已经不能完全满足现今的安全需要,想要保证网络信息和网络秩序的安全,就必须要更强有力和更完善的安全保护技术。近年来,入侵检测技术以其强有力的安全保护功能进入了人们的视野,也在研究领域形成了热点。网络安全是一个系统的概念,制定有效的安全策略或方案是网络信息安全的首要任务。现有的网络安全策略主要有物理隔离、数据加密、信息隐藏、防火墙、身份识别和认证、入侵检测等。入侵检测技术是为保证计算机系统的安全而设计并配置的一种能够及时发现并报告系统中未授权现象或异常现象的技术,是一种用于检测计算机网络和系统中违反安全策略行为的技术。入侵检测系统的应用,可以在系统发生危害前检测到入侵攻击,并利用报警与防护系统响应入侵攻击,从而减少它所造成的损失。入侵检测技术是近年来飞速发展起来的一种动态的集监控、预防和抵御系统入侵行为为一体的新型安全机制。作为传统安全机制的补充,入侵检测技术不再是被动的对入侵行为进行识别和防护,而是能够提出预警并实行相应反应动作。入侵检测系统(IDS,IntrusionDetection25 System)可以识别针对计算机系统和网络系统,或更广泛意义上的信息系统的非法攻击,包括检测外界非法入侵者的恶意攻击或试探,以及内部合法用户的超越使用权限的非法行动。通常来说入侵检测是对计算机和网络资源上的恶意使用行为进行识别和相应处理的过程,具有智能监控、实时探测、动态响应、易于配置等特点[6]。与防火墙不同的是,入侵检测不仅能检测外部非法入侵者的攻击和试探,同时还能发现内部合法用户的超越权限的非法行为。作为一种积极主动的安全防护方式,入侵检测系统不仅是防火墙有效的补充,还可以使系统管理员实时的了解网络系统中的各种变化,并根据记录的各种监控数据(如日志文件等)做出分析,为网络安全策略的制定提供指南。计算机网络安全是一项系统工程,应该在整体的安全策略的控制和指导下,综合运用各种防护工具的同时,利用检测工具了解和评估系统状态,通过适当的反应将系统调整到相对最安全和风险最低的状态。入侵检测方法是所有入侵检测领域中起到承前启后作用的关键环节,是实现系统安全策略保证网络安全的关键,也是当前网络安全研究的热点。当前的入侵检测方法中,有的是检测操作系统漏洞,有的是检测应用程序的实现上的漏洞,有的是检测针对网络协议漏洞而进行的攻击,有的是检测加密算法的弱点或针对其的密码破解,有的是检测目前常见的拒绝服务攻击和分布式拒绝服务攻击。本研究重点分析了基于模式匹配和协议分析的入侵检测方法,Snort作为目前应用较广的开源网络入侵检测系统,提供对网络实时流量的分析和数据包记录。Snort可以提供协议分析、内容查找和匹配,可以用它来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别常识等[7]。在一个实用的入侵检测系统中,最重要的部分是检测方法,也就是采用什么技术进行入侵行为检测。检测技术主要分为误用检测和异常检测两大类,模式匹配技术属于误用检测,也是最常用、最实用的一种数据检测技术。只有加深对入侵检测方法的研究才能使入侵检测技术及相关领域有更快更好的发展,研究核心的入侵检测方法将是十分有意义和效果的。研究已有的检测方法所具有的特点,包括优点和缺点才能更好的了解现有入侵检测方法的优势和劣势,以便提出更好的检测方法,更加灵活和有效的融入入侵检测技术,提高检测效率。3.2网络信息安全和入侵检测3.2.1网络信息安全概述随着社会经济及现代科技水平的不断发展,信息已经成为国家的主要财富和重要战略资源。国家综合实力的竞争越来越集中在信息优势的争夺上,而要占据信息优势的高地,最直接的表现在信息安全与对抗方面。信息安全问题的迅速增加,使各国的计算机系统特别是网络系统面临着很大的威胁,受到越来越多的关注。信息安全所导致的损失不仅是指信息自身价值所遭受的损失,更多的是其可能造成的其它方面的更大损失。为保证信息的安全可靠,除了运用法律和管理等手段,更需要依靠技术方法实现,先进的技术是实现信息安全的有力保障。25 而近年来计算机技术水平飞速发展,网络信息安全越来越受到重视。网络信息安全主要是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。计算机网络安全多是利用网络管理和控制技术,保证网络系统环境中信息数据的机密性、完整性和可用性,保护其不被偷看、窃取和修改。3.2.2主要的网络安全威胁在目前的计算机网络技术飞速发展和应用的前提下,网络安全相关技术已经得到了应有的重视和深入研究、应用。但网络入侵和攻击的现象仍然是屡见不鲜,攻击者数目增多,知识日趋专业成熟,攻击工具与手法日趋复杂多样,这些都对网络信息安全提出了全新的考验。网络安全问题既包括网络系统的安全,又包括网络信息的安全和机密性。目前网络和计算机所面临的主要安全威胁有:1)病毒:可引起计算机或网络故障,破坏计算机数据或影响网络正常服务,如蠕虫病毒、邮件病毒、QQ病毒、手机病毒等。2)特洛伊木马:该黑客软件能把程序的服务器端植入目标主机中,通过目标主机上的客户端程序彻底控制目标主机。3)缓冲区溢出攻击:利用设计漏洞进行的攻击,据统计现在网络中的攻击行为80%与缓冲区溢出漏洞有关。4)拒绝服务攻击:恶意造成拒绝服务,造成目标系统无法正常工作或瘫痪,或造成网络阻塞。5)扫描:若被恶意使用和隐蔽使用于探测他人主机的有用信息作为实施下一步攻击的前奏,此类扫描也构成了对网络安全的威胁。6)嗅探:可捕获主机所在网络的所有数据包,一旦被恶意利用,获取了目标主机的关键信息则可对目标主机实施进一步攻击。7)Web欺骗:通过URL重写技术和信息掩盖技术讲URL重定向到攻击者的主机,从而监视、记录访问者的信息,同时尽量掩盖这种欺骗行为。8)IP欺骗:攻击者可通过技术手段利用TCP/IP协议的缺陷,伪装成被信任主机,试用被信任主机的源地址与目标主机进行会话,在目标主机不知的情况下实施欺骗行为。9)口令破解:攻击者若通过一定手段取得用户口令,提升权限进入目标系统,对目标主机进行完全控制。常用的口令破解手段有暴力破解、利用协议或命令的漏洞、植入木马等。目前的主要网络安全威胁根据互联网的层次大致可分为三个层次:主干网络的威胁、TCO/IP协议安全问题、Web应用程序安全。而我们常见的多是针对于电子商务、网上银行、企业协作、交易管理等网站的黑客攻击,但目前绝大多数企业并没有为自己的应用程序、网站和服务器采取更加深入且有效的安全措施,如防火墙、入侵检测等功能。25 3.2.3网络信息安全模型与技术传统的计算机安全模型主要作用于单机系统,由于网络的普遍应用和技术发展,传统的模型已不足以应对外界攻击。而随着网络黑客恶意攻击技术的不断提高和更新,安全模型和技术也向更高层次发展。P2DR模型就是能适应不断变化的网络环境、发现网络服务器和设备中的新漏洞、不断查明网络中存在的安全隐患等问题而提出的新的网络安全模型,如图3.1所示,该模型以安全策略为核心,通过一致的检查,流量统计,异常分析,模式匹配以及应用、目标、主机、网络入侵检查等方法进行安全漏洞检测,使系统从静态防护转化为动态防护[8]。防护响应检测策略图3.1P2DR模型传统的安全技术大致可分为静态安全技术和动态安全技术这两类,我们熟知的防火墙就是静态安全技术的代表产品,主要用于保护系统抵御外部的攻击。而动态的安全技术应该是增强了主动的检测能力,在于其主动性,目前采用的一些传统的安全机制主要有:1)数据加密技术2)访问控制技术4)认证技术5)数据完整性控制技术6)安全漏洞扫描技术7)防火墙技术其中的防火墙技术是防范网络攻击最常用的方法,即在用户网络和因特网之间插入了一个中间系统,形成了一个安全屏障,将用户网络和因特网分割开。虽然防火墙提供了较强的防护能力,但它仍有着局限性。25 首先,防火墙不能阻止用户网络内部对用户网络的攻击,它只提供了网络边缘的防护;其次,防火墙不能阻止未知的恶意代码的攻击,如病毒、特洛依木马等。由此可看出,作为对防火墙技术的补充,入侵检测的动态防护特点足以成为实现网络安全的新的解决策略。引入入侵检测技术,相当于在计算机系统中引入了一个闭环的安全策略。计算机的多种安全策略,如:防火墙、身份认证、访问控制、数据加密等,通过入侵检测系统进行安全策略的反馈,从而进行及时的修正,大大提高了系统的安全性。3.2.4Linux系统安全性Linux操作系统是一套开放的由Unix发展起来的多用户、多任务的网络操作系统。它具有稳定性强、高可靠性等系统性能,容易建构网络sever,又由于Linux有免费、开放源代码的特性,目前越来越多的Internet应用服务器和主机采用了Linux系统。由此,Linux系统的安全问题也日益成为人们关注的焦点。开放的源代码为实现Linux主机安全系统提供了极大的方便———能够获得系统调用的充分信息。可以通过修改主机系统函数库中的相关系统调用,引入安全控制机制,从而将防火墙对于网络信息的处理和操作系统中用户使用资源的访问控制紧密结合起来,让防火墙模块和操作系统配合起来协同工作。但开放的源代码也为黑客攻击提供了方便,攻击者可以利用Linux系统的安全漏洞而获得超级用户权限,从而达到控制root系统的目的,这些攻击者利用系统的漏洞侵入以后,通常都是通过非法执行一些敏感的系统调用来完成攻击[9]。3.3网络入侵异常检测3.3.1入侵检测基础目前通常说的入侵就是指对系统资源的非授权操作,可造成系统数据的丢失和破话、甚至会造成系统拒绝对合法用户服务等问题。从分类的角度可以将入侵描述成尝试性闯入、伪装攻击、安全控制系统渗透、泄露、拒绝服务、恶意使用等六类。入侵者通常可分为外部入侵者,例如黑客等系统的非法用户,和内部入侵者,即越权使用系统资源的用户。入侵检测技术是近年来飞速发展起来的一种动态的集监控、预防和抵御系统入侵行为为一体的新型安全机制。作为传统安全机制的补充,入侵检测技术不再是被动的对入侵行为进行识别和防护,而是能够提出预警并实行相应反应动作。美国国际计算机安全协会(ICSA)将入侵检测定义为:通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种安全技术。违反安全策略的行为有入侵和滥用。通常来说入侵检测是对计算机和网络资源上的恶意使用行为进行识别和相应处理的过程,具有智能监控、实时探测、动态响应、易于配置等特点。25 入侵检测的目标就是通过检查操作系统的安全日志或网络数据包信息来检测系统中违背安全策略或危及系统安全的行为或活动,从而保护信息系统的资源免受拒绝服务攻击、防止系统数据的泄漏、篡改和破坏。传统安全机制大多针对的是外部入侵者,而入侵检测不仅可以检测来自外部的攻击,同时也可以监控内部用户的非授权行为。作为新型的安全机制,入侵检测技术的研究、发展和应用加强了网络与系统安全的保护纵深,使得网络、系统安全性得到进一步的提高。目前在入侵检测系统中常用的检测方法有:1)模式匹配PatternMatching2)统计分析StatisticalAnalysis3)专家系统ExpertSystem4)神经网络ANN5)模糊系统FuzzySystems6)遗传算法GA7)免疫系统ImmuneSystem8)数据挖掘DataMining9)数据融合Fusion10)协议分析protocolAnalysis3.3.2入侵检测系统入侵检测系统(IDS,IntrusionDetectionSystem)可以识别针对计算机系统和网络系统,或更广泛意义上的信息系统的非法攻击,包括检测外界非法入侵者的恶意攻击或试探,以及内部合法用户的超越使用权限的非法行动。一般来讲就是通过分析系统安全相关数据来检测入侵活动的系统。入侵检测系统在功能结构上基本一致,由数据采集、数据分析及用户界面等组成,不同的入侵检测系统只是在分析采集数据方法及数据类型等方面有所不同。入侵检测系统的研究最早可追溯到1980年,JamesAderson首先提出了入侵检测的概念,1987年D。E。Denning首次给出了入侵检测的抽象模型,并将入侵检测作为一种新的安全防御措施提出[10]。早期的入侵检测系统都是基于主机的系统,主要检测用户对数据库的异常访问等。后期随着网络的普及和发展,入侵检测系统也开始向网络方面发展。作为一种主动防护技术,入侵检测系统可以在攻击发生时记录攻击者的行为、发出报警,必要时还可以追踪攻击者,可以独立运行,也可以与防火墙等安全技术协同工作,更好地保护网络安全。一个入侵检测系统能够完成监控分析用户和系统活动,发现入侵企图或异常现象,记录、报警和响应等。具体来说入侵检测系统的主要功能可分为:1)检测并分析用户和系统活动。2)核查系统配置和漏洞。3)评估系统关键资源和数据文件的完整性。4)识别已知的攻击行为。5)统计分析异常行为。6)对操作系统日志进行管理,并识别违反安全策略的用户活动。25 入侵检测系统的应用,能使在入侵攻击对系统发生危害前,检测到入侵攻击,并利用报警与防护系统驱逐入侵攻击。减少入侵攻击过程带来损失,在入侵后收集入侵攻击的相关信息,作为防范系统的知识加入知识库,增强系统防范能力。从功能逻辑上讲,入侵检测系统由探测器(Sensor)、分析器(Analyzer)、用户接口(UserInterface)组成。目前的入侵检测系统主要分为两类:⑴基于主机的入侵检测系统:主要用于保护某一台主机的资源不被破坏。⑵基于网络的入侵检测系统:主要用户保护整个网络不被破坏。美国国防部高级研究计划署(DARPA)提出了CIDF(公共入侵检测框架),阐述了一个入侵检测系统的通用模型,可将入侵检测系统分为四个组件:事件产生器、事件分析器、响应单元、事件数据库。他们在入侵检测系统中的位置和相互关系如图3.2所示。现在的入侵检测系统多采用分布式体系结构,使用代理和移动代理技术[10]。响应单元事件分析器事件数据库事件产生器来自Network上的数据ju据据包图3.2入侵检测系统通用模型事件产生器负责原始数据采集,对数据流和日志文件进行追踪,将搜集到的原始数据转换为事件,提供给系统其他部分。事件分析器接收事件并进行分析,判断为入侵行为或异常现象后转换为警告信息。事件数据库存放各种中间和最终数据,响应单元根据警告信息做出反应,是入侵检测系统中的主动武器。4典型的入侵检测工具SnortSnort25 是一个免费的、开放源代码的基于网络的轻量级网络入侵检测系统,具有很好的配置型和可移植性。另外,它也可以用来截获网络中的数据包并记录数据包日志。Snort多适用于小网络段使用,最初设计用于Linux/Unix操作系统,且其设计得易于插入和扩充进新的规则以对付各种新出现的威胁。4.1Snort的相关特性⑴Snort具有实时数据流量分析和检测IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。⑵Snort的报警机制很丰富,如syslog、用户指定的文件、一个Unix套接字,以及使用SAMBA协议向客户程序发出警告消息。⑶Snort能够进行协议分析,内容的搜索和匹配,目前Snort可以对多种协议进行解析能检测多种方式的攻击和探测,如缓冲区溢出、端口扫描CGI攻击、SMB探测、探测操作系统指纹特征的企图等。⑷Snort的日志格式可以是tcpdump式的二进制格式,也可以解码成ASCⅡ字符形式,便于用户尤其是新手检查。⑸Snort有很好的扩展性,由于其规则描述语言简单,能够快速对新的网络攻击作出反应。⑹Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。⑺Snort的可移植性好,它有极佳的跨平台性,支持Linux,Solaris,BSD,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware等[9]。⑻Snort遵循公共通用许可证GPL。Snort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的NIDS。4.2Snort的功能架构Snort可提供协议分析、内容查找和匹配,可以用来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别尝试等。其中的包嗅探、数据包记录和入侵检测是其重要功能。Snort的架构决定了它的各种功能,构架图见图4-1所示。而Snort架构由以下4个基本模块构成:⑴嗅探器⑵预处理器⑶检测引擎⑷输出模块Snort的最简单形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则[9]。25 嗅探器预处理器检测引擎报警/日志主干网图4.1Snort架构Snort的预处理器、检测引擎和报警模块都以插件形式存在。插件就是符合Snort接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内核部分的修改变得简单可靠。包嗅探器用来监听数据网络,可以是硬件也可以是软件。一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流。互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流。具体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监听明文密码及其他感兴趣的数据。预处理器得到原始数据包,使用不同的插件检测数据包,这些插件检测数据包的某些特定行为。一旦数据包被确认具有某些特定行为,就会被送到检测模块。插件可以根据需要在与处理层被启用或停用,从而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常有用的功能。检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测。如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器。当数据通过检测引擎后,Snort会对其数据进行不同的处理。如果数据和检测引擎的规则相匹配,Snort就会触发报警。报警可以通过网络连接、UNIX的套接字或WindowsPopup(SMB),甚至SNMP陷阱机制发送到日志文件。也可以使用Snort的一些附加工具来通过Web接口显示日志内容,包括一些perl、PHP和Web服务器的插件等。日志可以存储在文本文件中。报警和日志都可以记录到数据库中,如MySQL或Postgree等。另外,Snort报警可以通过系统日志工具如SWATCH发送电子邮件及时通知系统管理员,是系统不需要由专人24小时监控[11]。4.3Snort规则Snort是一个基于特征的入侵检测系统,而Snort正是通过大量的规则集实现基于特征的入侵检测系统的功能。这些规则集按照不同的类别进行分类,如木马、缓冲区溢出、访问不同的应用程序等,并进行定期的更新。4.3.1规则的组成规则本身由两部分组成:25 ⑴规则头:规则头包含了规则的基本动作(记录日志或是报警)、网络数据包的类型(TCP、UDP、ICMP等)、源和目的IP地址。源和目的端口。⑵规则可选项:可选项中指定了数据包中规则匹配的具体内容。Snort使用特定的语法来定义这些规则。规则的语法涵盖了协议的类型、内容、长度、协议头及很多其他元素,类如定义缓冲区溢出规则的填充字节等。4.3.2规则头规则头定义了规则的行为(Action)、所匹配网络包的协议、源地址、目标地址、源端口和目标端口等信息,其作用主要是定义网络数据包分组中的报头路由特征。规则头格式为:规则行为协议源地址源端口方向操作符目的地址目的端口⑴规则行为(RuleAction)规则行为指示了数据包与规则匹配时该做什么,此字段有五个选项:alert、log、pass、activate、dynamic。其语义如下:①alert:使用设定的警告方法生成警告信息,并记录这个报文。②log:使用设定的记录方法记录这个报文。③pass:忽略该报文。④activate:进行alert,然后激活对应的一个dynamic规则。⑤dynamic:等待被一个对应的activate规则激活,然后进行log。其中activate和dynamic规则必须成对出现,已完成特定任务。当某种攻击发生后需要记录两个或多个包时,activate规则激活对应的dynamic规则记录后继的若干个包。⑵协议字段(协议):目前Snort主要支持TCP、UDP、ICMP三种协议,对应的值为tcp、udp和icmp。⑶方向操作符(Direction):指示规则所适用的流量方向。“->”表示从左端到右端的数据包,“<-”反之,“<>”表示匹配双向流量。⑷地址和端口信息地址可以是一个主机地址或者网络地址。可以用关键字any来指定所有的地址。目的地址必须用CIDR表示法表示。CIDR表示法如下:IP地址后面用斜线来附加一个数字,表示掩码的位数。比如192。168。2。0/24代表一个C类网络192。168。2。0,其子网掩码是255。255。255。0。一些子网掩码:①如果子网掩码是24位,它是一个C类网络。②如果子网掩码是16位,它是一个B类网络。③如果子网掩码是24位,它是一个A类网络。④表示一个主机用32位掩码。根据CIDR的支持,可以用任何位数的掩码。25 4.3.3规则选项规则选项则包含了所要显示给用户查看的警告信息以及用来判断此数据包是否为攻击数据包的其他信息。虽然规则选项对于Snort规则定义而言不是必需的,但实际上规则选项是Snort检测规则的核心部分,其设计将易用性和检测性能以及灵活性结合了起来。规则选项格式如下:(选项关键字1:选项参数;选项关键字2:选项参数;……)选项之间以“;”分隔,选项中的关键字与选项参数之间用“:”隔离。一些基本的选项类型如下:msg-在报警和包日志中打印一个消息。logto-把包记录到用户指定的文件中而不是记录到标准输出。ttl-检查ip头的ttl的值。tos-检查ip头的tos域的值。id-检查ip头的分片id值。ipoption-检查ip头的option域。fragbits-检查ip头的分片标志位。dsize-检查包的数据部分大小。content-在包的数据部分中搜索指定的样式;Snort的一个重要特征就是它可以在包的里面发现数据特征,这些特征可能以ASCII字符的形式出现,也可能是16进制字符所表示的二进制数据。如同病毒,入侵者的行为也通常会在数据包中表现某种特征,关键字content就使用来发现这些特征的。offset-content选项的修饰符,设定开始搜索的位置;调整content选项,设置模式匹配开始的偏移量,与content关键字联合使用,可以找到应用层的数据。depth-content选项的修饰符,设定搜索的最大深度。nocase-指定对content字符串大小写不敏感。content-list–在数据包中搜索多种可能匹配。flags-检查tcpflags的值。seq-检查tcp顺序号的值。ack-检查tcp应答(acknowledgement)的值。itype-检查icmptype的值。icode-检查icmpcode的值。session-记录指定会话的应用层信息的内容。icmp_id-检查ICMPECHOID的值。icmp_seq-检查ICMPECHO顺序号的值。ipoption-监视IPoption的特定代码。25 rpc-监视特定应用/进程调用的RPC服务。resp-主动反应(切断连接等)。reference-外部参考id。sid-snort的规则id。rev-规则的修正号。classtype-规则的分类号。priority-规则的优先级。uricontent-在数据包的URI部分搜索指定的匹配。ip_proto-ip头的协议值。sameip-源地址和目标地址相同。stateless-无状态连接。regex-通配符模式匹配。4.3.4一个简单的规则范例alerttcpanyany->192。168。1。0/24111(content:“|000186a5”|;msg:“mountdaccess”;)上例中,括号左边部分为规则头,括号里面部分为规则选项,规则选项中冒号前的部分称为选项关键字(OptionKeyword),规则选项并不是任何规则都必需的,它只是用来明确地定义表示的是某种攻击、需要采取某种行为(如警告等)。只有组成规则的各个元素都为真时才能触发相应的操作,规则内部限制数据包的各元素的关系是逻辑与;同时规则库中的各条规则之间的关系可以被认为一个大的逻辑或,只要有一条规则被匹配,即认为发生了入侵。规则一般被分类存放于Snort源代码所在目录*/rules/*。rules文件中。当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。同时,snort规则库文件中的不同规则可以认为组成了一个大的逻辑或(OR)语句。25 5Linux系统下搭建入侵检测系统及分析研究中,在Linux系统环境下搭建了一个入侵检测系统——Snort,实现了基本的入侵检测功能。在实验室环境下,在局域网中利用两台以上的计算机,使用其中一台主机作为被攻击方,即检测方,另外的主机可对其进行攻击。被攻击方可看出攻击方的IP地址及数据包相关内容,并可根据检测结果进行分析。由于Ubuntu是Debian系的Linux,安装软件非常简单。这里使用Ubuntu默认命令行软件包管理器apt来进行安装。要安装的不仅有Snort,还有Snort规则集。5.1配置Snort选项接下来利用Snort的配置文件来设置各种选项,以确定它的运行方式。这个过程相对复杂,尤其要注意的是命令的输入,有时因为一个空格的缺失就要反复进行配置。⑴首先打开Snort的主配置文件:/etc/snort/snort。conf⑵#HOME_NET和#EXTERNAL_NET是嗅探器最主要的两个配置变量和选项。在配置文件中将HOME_NET有关项注释掉,然后将HOME_NET设置为本机IP所在网络,将EXTERNAL_NET相关项注释掉,设置其为非本机网络。删除HOME_NET行前的“#”,设置HOME_NET变量。“#”在Snort配置文件中作命令指示器。HOME_NET变量定义了哪些网络是受信的内部网络。它与签名共同判断内部网络是否受到攻击。Snort。conf默认把HOME_NET设为“varHOME_NETany”对任意地址信任。把它精确设为实际的内网地址空间将减少错误告警的次数。设置代码如下:#varHOME_NETanyvarHOME_NET172。18。148。152/16⑶设置EXTERNAL_NET变量。它指定可能发起攻击的网络,一般把它设为除HOME_NET地址以外的所有地址。设置代码如下:#varEXTERNAL_NETanyvarEXTERNAL_NET!$HOME_NET⑷定义哪些服务器上运行了哪些服务程序。如果把HTTP_SERVERS设为某些服务器,则Snort只关注对那些服务器进行的HTTP攻击。如果想了解到对某个服务器上并没有运行着的服务程序进行的攻击,就保留默认设置,这样可以观察到任何对内网的攻击。也可以命令Snort只关注对某一台或某几台服务器的HTTP攻击。设置代码如下:varDNS_SERVERS$HOME_NETvarHTTP_SERVERS172。18。148。152/32⑸配置服务使用的端口。同前面定义服务类似,命令将使Snort只关注对这个端口的攻击。按照默认配置,Snort将忽略对端口8080的HTTP攻击。25 这样的配置能够使Snort专注于不同类型攻击类型的发生地点。但在最终对被攻击方做全面保护时不开启这个配置,这样可以检测出局域网内对该机器进行攻击的主机和攻击类型。⑹在本地打开Snort规则:snort–c/etc/snort/rules⑺配置RULE_PATH变量,指示规则的存储位置,规则用于触发事件。配置代码如下:varRULE_PATH。。/rules⑻接下来一段内容被注释掉了,是对一些不常见的通信的监测。除非系统中出现了其中的问题或者入侵检测系统耗费资源很小,否则最好不要启用。下面一段是允许为资源有限的系统配置侦测引擎,在本实验中无需改动。配置文件之后的几段用于配置一些功能和设置对某些类型的攻击的侦测,包括碎片攻击(fragmentationattacks)、状态检测(statefulinspection)和流重组(streamreassembly)选项。⑼标注有Step#4的段落包含Snort的输出选项,取消“outputalert_syslog:LOG_AUTHLOG_ALERT”前的注释。此处无论如何配置都会生成auth。info警告。⑽编辑#2部分动态加载库的路径,这些路径有些需要修改默认项。比如在本实验中,运行Snort时遇到错误,提示了“Unknownruletype:dynamicpreprocessordirectory”,经查发现是是由于Snort未配置使用动态加载处理机,只需用“#”注释掉加载处理机相关两行就可以了。⑾最后一段Step#6是规则集。这里有些规则默认为不起作用,如chat。rules是由各种即时消息客户端出发生效的。在行首加入或删除注释符号“#”就可以指定该行的规则集是否生效。在本实验中一般均默认为生效。5.2测试Snort前面对Snort的配置做的修改,有些配置的修改可能会影响到Snort的正常启动,在将Snort作为入侵检测工具正式启用前,首先要测试Snort工作是否正常。测试代码为:$sudosnort-c/etc/snort/snort。conf如果出现一个用ASCII字符画出的小猪,那么Snort工作就正常了,可以使用Ctrl+C退出;如果Snort异常退出,就需要查明安装软件和修改配置的正确性了。5.3攻击与检测过程5.3.1攻击过程在攻击库面板中选择一种攻击,在此选择BackdoorBackdoor2。0。3。dll为例,选择该类型攻击作为实验用。点击右侧“Runattack”开始攻击过程。在下面的界面中可以看到发出攻击的大概情况。25 当攻击结束后左侧的窗口会显示本次攻击的信息,包括攻击类型,其中发出攻击包所属协议种类,及本次发出攻击包的总数。5.3.2Snort运行过程在启动Snort后,入侵检测的过程就开始了。启动操作输入:snort–vd截获的数据包中,首先显示一些基本的数据包信息,包括时间、攻击方IP地址及端口号、被攻击方IP地址及端口号、数据包类型、报文中转次数、ID号、IP数据包长度、响应号和发送窗口大小等信息。数据包内部信息用ASCII显示出,对于数据包内容的分析可用专门的分析软件进行,在本实例中使用了wireshark对已知数据包进行分析。退出Snort会显示出本次检测的数据包相关数据,包括本次检测总时间,及分析的数据包个数、分析失败个数、突出数据及其相应的百分比。接下来显示的是分析的数据包中,每种数据类型所占的个数和百分比。5.4检测结果分析Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。本实验中以此软件来对已经记录的数据包进行分析。首先将数据包文件导入,如图5.1。25 图5.1用Wireshark分析数据包内容Wireshark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用Wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址信息(EthernetII)、IP信息(Internet协议)、TCP信息(TransmissionControl协议),以及该协议的具体内容(HypertextTrnasfer协议)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。25 6总结虽然网络异常检测系统能够监视网络中的数据包进行分析,并在匹配到可疑的特征时进行报警。但所有的异常检测系统都不能完全取代人来进行安全处理,仍然需要有经验的分析人员来分析异常检测系统产生的报警,判断哪些是真正的攻击,哪些是误报。尽管异常检测系统可以从一个网段内的多台设备上收集数据,但它并不知道攻击是如何在各个机器之间扩散的或网络上各台服务器的重要性。可见网络异常检测技术还需在智能分析方面进行深入研究和技术改进,用更加智能化的方式来分辨报警,查出误报。所有的异常检测方法应用于实际都不可能捕获到所发生的每次异常,也不可能完全阻止异常的发生,任何一种异常检测系统都有局限性。对于基于特征的检测系统而言,系统需要时间加入新的攻击特征来检测新的攻击类型。对于基于异常的检测系统而言,新的攻击本身对于系统定义的正常模式常具有一定的隐蔽性。因此,任何一种网络异常检测系统都不可能提供零时差的异常检测。大多数情况下,异常检测系统并不能阻止持续的异常发生,其功能主要是检测和预警.而大多数情况下异常检测系统也不会自动解决网络异常情况,这也是之前提到的,网络异常检测系统只能是网络防御系统,如防火墙、反病毒软件等产品的一个补充,而不能完全取代他们的重要原因。在实际应用中,Snort不仅用来保障计算机系统的安全,同时也要保证Snort自身系统的安全,这样才能保证数据的可靠性.如果Snort系统本身受到了攻击,那么所发送的报警也就不在可靠了,除非清除磁盘数据并重装系统,否则Snort将没有用处。一个典型的Snort安装非常容易受到攻击,攻击对象包括Snort本身或其所在的操作系统。Snort一般需要将报警存储到数据库MySQL中,还需要通过专门的接口查看报警,这需要使用到Web服务器Apache。任何一种侦听服务都可能成为被攻击的对象,一些驱动攻击甚至可以针对某个并没有开启相应服务的端口发起攻击。因此,Snort系统若不能随时关注最新的安全漏洞通告及所使用的操作系统安全通告,就很容易被攻击。在整个毕业设计的过程中,我对网络异常检测的方法有了更深层的认识,熟悉了协议分析和模式匹配等检测方法以及当前广泛使用的入侵检测方法Snort的实际使用,加深了对Snort的检测方法和规则组织的认识。总之,可以说完成的过程也是学习的过程,更是收获的过程,总结的过程,毕业设计让我接触了许多新的领域,并用大学中学到的学习能力和本领来进行研究,受益匪浅。25 参考文献[1]中国互联网信息中心编.中国互联网发展报告.北京:电子工业出版社,2009.[2]RoyAMaxion.FrankEFeatherACaseStudyofEthernetAnomaliesinDistributedComputingEnvironment1990(04).[3]邹柏贤.网络流量异常检测与预测方法研究.北京.中国科学院.2003.[4]卢泉.IP网络性能的测量与分析.广东通信技术.2002,22(6):21-25.[5]蔡伟祥,张凌,宁国宁.流量采集在网络性能监测与分析系统中的改进和实现.计算机工程.2003,29(15):58—59.[6]罗守山.入侵检测.北京:北京邮电大学出版社,2003.[7]胡昌振.网络入侵检测原理与技术.北京:北京理工大学出版社,2006.[8]斯托林斯(Stallings.w).密码编码学与网络安全.北京:电子工业出版社,2006.[9]孙建华.Linux网络技术基础.北京:机械工业出版社,2008.[10]阮耀平,易江波,赵战生.计算机入侵检测系统模型与方法.计算机工程,1999(9):63-65.[11]Miller.M著.曾国平等译.Linux教程:Windows用户转向Linux的12个步骤.北京:机械工业出版社,2002.[12]张国权.基于模式匹配和协议分析的NIDS研究和设计.大连:大连理工大学,2006.12.[13]杨策,张永智,庞正社.网络流量监测技术及性能分析.空军工程大学学报.2003.[14]DebarH,CurryD,FeinsteinB.Theintrusiondetectionmessageexchangeformat[OL].January2005,expiresJuly31,2005.[15]LeeW,SalStolfo,KuiMok.Adataminingframeworkforbuildingintrusiondetectionmodels:proceedingsofthe1999IEEESymposiumonSecurityandPrivacy[C],Oakland,CA,1999.[16]王超.计算机网络安全中入侵检测系统的研究与设计.成都:电子科技大学,2007.4.[17]胡华平,陈海涛,黄辰林等.入侵检测系统研究现状及发展趋势.计算机工程与科学,2001.25 致谢在本文即将完稿之时,我要感谢很多直接或者间接帮助过我的人。在我求学期间教育、帮助过我的所有老师,是您们使我养成了正确的人生观、价值观,成为一个对人民有用、有益的人。首先,我要特别感谢我的毕设导师杜老师,正是有了他的悉心指导本文最终得以圆满完成。杜老师每周都抽出宝贵的时间对我进行指导,并询问我的研究进展情况,为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。杜老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时数月,却给以终生受益无穷之道。在此,谨向杜老师表示崇高的敬意和衷心的感谢!还有,在四年的学习期间,曾无数次得到同学的关心和帮助,在此表示深深的感谢。没有他们的帮助和支持是没有办法完成我的毕业论文的,同窗之间的友谊永远长存!25'