基于Windows入侵检测系统的研究与设计——检测模块设计时间:2010-10-20 12:35来源:未知 作者:admin 摘 要当今是信息时代,互联网正在给全球带来翻天覆地的变化。随着Internet在全球的飞速发展,网络技术的日益普及,网络安全问题也显得越来越突出。计算机网络安全是一个国际化的问题,每年全球因计算机网络的安全系统被破坏而造成的经济损失高达数百亿美.引 言课题背景及意义当今网络技术的迅速发展,网络成为人们生活的重要组成部分,与此同时,黑客频频入侵网络,网络安全问题成为人们关注的焦点。传统安全方法是采用尽可能多地禁止策略进行防御,例如各种杀毒软件、防火墙、身份认证、访问控制等,这些对防止非法入侵都起到了一定的作用,从系统安全管理的角度来说,仅有防御是不够好的,还应采取主动策略。入侵检测技术是动态安全技术的最核心技术之一。传统的操作系统加固技术和防火墙隔离技术等都是静态安全防御技术,对网络环境下日新月异的攻击手段缺乏主动的反应。 入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息、分析信息,查看是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第二道安全防线,提供对内部攻击、外部攻击和误操作的实时保护。 本文首先介绍了网络入侵检测的基本原理和实现入侵检测的技术。随后重点介绍了基于Windows入侵检测系统中检测模块的设计与实现。即网络数据包的捕获与分析过程的设计与实现。 网络安全面临的威胁入侵的来源可能是多种多样的,比如说,它可能是企业心怀不满的员工、网络黑客、甚至是竞争对手。攻击者可能窃听网络上的信息,窃取用户口令、数据库信息,还可以篡改数据库内容,伪造用户身份,否认自己的签名。更为严重的是攻击者可以删除数据库内容,摧毁网络节点,释放计算机病毒,直到整个网络陷入瘫痪。用密码编码学和网络安全的观点,我们把计算机网络面临的威胁归纳为以下四种:截获(interception):攻击者从网络上窃听他人的通信内容。中断(interruption):攻击者有意中断他人在网络上的通信。篡改(modification):攻击者故意篡改网络上传播的报文。伪造(fabrication):攻击者伪造信息在网络上传送。这四种威胁可以划分为两大类,即被动攻击和主动攻击。在上述情况中,截获信息的攻击称为被动攻击,而更改信息和拒绝客户使用资源的攻击称为主动攻击。在被动攻击中攻击者只是观察和窃取数据而不干扰信息流,攻击不会导致对系统中所含信息的任何改动,而且系统的操作和状态也不会被改变,因此被动攻击主要威胁信息的保密性。主动攻击则意在篡改系统中所含信息或者改变系统的状态及操作。因此主动攻击主要威胁信息的完整性、可用性和真实性。 网络安全隐患的来源网络安全隐患主要来自于四个方面:(1)网络的复杂性。网络是一个有众多环节构成的复杂系统。由于市场利润、技术投入、产品成本、技术规范等等问题,不同供应商提供的环节在安全性上不尽相同,使得整个网络系统的安全成度被限制在安全等级最低的那个环节上。(2)网络的飞速发展。由于网络的发展,提供新的网络服务,增加网络的开放性和互联性,必然将更多环节纳入系统中,新加入的环节又增加了系统的复杂性,引发了网络的不安定性。(3)软件质量问题。软件质量难以评估是软件的一个特性。现实中,即使是正常运行了很长时间的软件,也会在特定的情况下出现漏洞。现代网络已经是软件驱动的发展模式,对软件的更多依赖性加大了软件质量对网络安全的负面影响。同时,市场的激烈竞争,促使商家需要更快地推出产品,软件的快速开发也增大了遗留更多隐患的可能性。(4)其他非技术因素。包括技术人员在网络配置管理上的疏忽或错误,网络实际运行效益和安全投入成本间的平衡抉择,网络用户的安全管理缺陷等等。由于存在更多的安全威胁和安全隐患,能否成功的阻止网络黑客的入侵、保证计算机和网络系统的安全和正常的运行便成为网络管理员所面临的一个重要问题。 网络安全技术如今已有大量的研究机构、社会团体、商业公司和政府部门投入到网络安全的研究中,并将此纳入到一个被称为信息安全的研究领域。网络安全技术主要包括基于密码学的安全措施和非密码体制的安全措施,前者包括:数据加密技术、身份鉴别技术等。后者则有:防火墙、路由选择、反病毒技术等。(1)数据加密技术数据加密是网络安全中采用的最基本的安全技术,目的是保护数据、文件、口令以及其他信息在网络上的安全传输,防止窃听。网络中的数据加密,除了选择加密算法和密钥外,主要问题是加密的方式以及实现加密的网络协议层次和密钥的分配管理。按照收发双方密钥是否相同,可分为对称密码算法和非对称密码算法即公钥密码算法两种。对称密码算法有保密度高,加密速度快的优点,但其密钥的分发则是一个比较复杂的问题。比较著名的对称密码算法有:美国的DES和欧洲的IDEA等。在公钥密码中,收发双方使用的密钥各不相同,密钥的管理比较方便。比较著名的公钥密码算法有:ECC、RSA等,其中RSA算法应用最为广泛。(2)鉴别技术鉴别技术可以验证消息的完整性,有效的对抗冒充、非法访问、重演等威胁。按照鉴别对象的不同,鉴别技术可分为消息源鉴别和通信双方互相鉴别,按照鉴别内容的不同,鉴别技术可分为用户身份鉴别和消息内容鉴别,鉴别的方法有很多种,主要有通过用户标识和口令、报文鉴别、数字签名等方式。(3)访问控制技术访问控制是从计算机系统的处理能力方面对信息提供保护机制,它按照事先确定的规则决定主体对客体的访问是否合法。当一个主体试图非法使用一个未经授权的资源时,访问机制将拒绝这一企图,并将这一时间记录到系统日志中。访问控制技术的主要任务是保证网络资源不被非法使用和访问,它是保证网络安全的重要策略之一。(4)防火墙技术防火墙是一个或一组网络设备,其工作方式是将内联网络与因特网之间或者与其他外联网络间互相隔离,通过加强访问控制,阻止区域外的用户对区域内的资源的非法访问,使用防火墙可以进行安全检查、记录网上安全事件等,在维护网络安全作用中起着重要的作用。(5)反病毒技术计算机病毒是一段具有极强破坏性的恶意代码,它可以将自身纳入其他程序中,以此来进行隐藏,复制和传播,从而破坏用户文件,数据甚至硬件。从广义上讲,它还包括逻辑炸弹、特洛伊木马和系统陷阱等。计算机病毒的主要传播途径有:文件传输、软盘拷贝、电子邮件等。网络反病毒技术主要包括检查病毒和杀出病毒。虽然网络安全已经超越了纯技术领域,但网络安全技术仍然是解决网络安全最重要的基础和研究方向。 本文研究内容本文共分为五个部分,各部分内容如下:第一部分,主要介绍了课题提出的背景、意义、安全隐患、现有的安全技术等,强调了入侵检测的重要性。第二部分,主要介绍了入侵检测相关的基础知识、发展趋势等与本文相关的理论。第三部分,对整个系统的设计做了概述,介绍了系统的整体框架、开发及运行环境等。第四部分,详细介绍了检测模块的设计与实现以及系统集成后的运行结果。其中包括检测模块的设计思想、工作原理以及核心代码的分析等。第五部分,是对整个系统的测试与分析的总结。主要测试了检测模块实现的各种功能。2. 入侵检测基础当我们无法完全防止入侵时,那么只能希望系统在受到攻击时,能尽快检测出入侵,而且最好是实时的,以便可以采取相应的措施来对付入侵,这就是入侵检测系统要做的,它从计算机网络中的若干关键点收集信息,并分析这些信息,检查网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测系统(IDS,Intrusion Detection System)正是一种采取主动策略的网络安全防护措施,它从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击,同时还对入侵行为做出紧急响应。入侵检测被认为是防火墙之后的第二道安全闸门。 入侵检测的定义可以看到入侵检测的作用就在于及时地发现各种攻击以及攻击企图并作出反应。我们可以给入侵检测做一个简单的定义,入侵检测就是对(网络)系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机密性、完整性与可用性。即入侵检测(Intrusion Detection)是检测和识别系统中未授权或异常现象,利用审计记录,入侵检测系统应能识别出任何不希望有的活动,这就要求对不希望的活动加以限定,一旦当它们出现就能自动地检测。一个完整的入侵检测系统必须具备下列特点:经济性:为了保证系统安全策略的实施而引入的入侵检测系统必须不能妨碍系统的正常运行(如系统性能)。时效性:必须及时的发现各种入侵行为,理想情况是在事前发现攻击企图,比较现实的情况则是在攻击行为发生的过程中检测到。安全性:入侵检测系统自身必须安全,如果入侵检测系统自身的安全性得不到保障,首先意味着信息的无效,而更严重的是入侵者控制了入侵检测系统即获得了对系统的控制权。可扩展性:可扩展性有两方面的意义。第一是机制与数据的分离,在现有机制不变的前提下能够对新的攻击进行检测。第二是体系结构的可扩展性,在必要的时候可以在不对系统的整体结构进行修改的前提下对检测手段进行加强,以保证能检测到新的攻击。 入侵检测与P2DR模型P2DR模型是一个动态的计算机系统安全理论模型。它的指导实现比传统静态安全方案有突破性提高。PDR是Policy(策略)、Protection(防护)、Detection(检测)和Response(响应)的缩写,特点是动态性和基于时间的特性。P2DR模型阐述了这样一个结论:安全的目标实际上就是尽可能地增大保护时间,尽量减少检测时间和响应时间。入侵检测技术就是实现P2DR模型中”Detection”部分的主要技术手段。在P2DR模型中,安全策略处于中心地位,但是从另一个角度来看,安全策略也是制定入侵检测中检测策略的一个重要信息来源,入侵检测系统需要根据现有的安全策略信息来更好地配置系统模块参数信息。当发现入侵行为后,入侵检测系统会通过响应模块改变系统的防护措施,改善系统的防护能力,从而实现动态的系统安全模型。