入侵检测与防火墙技术相结合的校园网络安全研究
姓名:宋继军申请学位级别:硕士专业:计算机技术指导教师:刘高嵩;尹新怀
20061120
摘要随着信息安全技术的进一步发展,各种安全解决方案不断涌现和发展,如防火墙技术、防黑客技术、加密技术以及对整个系统不安全因素的扫描、检测和警报等。以防火墙为代表的静态安全技术,其缺点是需要人工来实施和维护,不能主动跟踪入侵者;而以入侵检测为代表的动态安全技术,则能够主动检测网络的易受攻击点和安全漏洞,并且通常能够先于人工探测到入侵行为。由于高等院校的校园网具有高宽带、多主机、用户密集的特点,很容易使它成为拒绝服务攻击存在的“土壤”。论文在总结和分析了常见的拒绝服务攻击的特征基础上,结合校园网络的实际,提出了入侵检测与防火墙相结合的校园网安全方案。将入侵检测作为防火墙的一个有益补充,防火墙可通过入侵检测及时发现其策略之外的攻击行为,而IDS也可以通过防火墙对来自外部网络的攻击行为进行阻断。论文讨论了入侵检测与防火墙相结合的校园网安全系统的设计。在该系统中,数据采集是基础,它负责采集指定的网络流量数据供统计分析模块使用。统计分析是核心,它负责分析网络流量的异常行为,计算异常行为的异常度,当异常度大于设定的阈值时就向解析模块发出报警和提供该异常的异常度信息。解析模块分析来自统计分析模块的异常警报信息,根据相应的算法判断该报警是否说明真有网络入侵发生。在实验环境中,对校园网安全系统进行了测试。测试结果表明该系统具有较理想的入侵检测能力,能进一步提高校园网的安全防护和网络管理水平。关键词防火墙,网络安全,入侵检测,校园网AbstractWiththedevelopmentofinformationsecuritytechnology,allkindsofsolutionsincreasinglyappearanddevelop,suchasfirewall,defensehacker,encryptionaswellasscanning,detecting,alarming,preventingaandcuringunsafefactorsinwholesystem.FirewalLonbehalfofstaticcansecurity,needsmanualimplementingandmaintaining,andnotfollowtheintruderdetecttheeasilyactively.However,IDS,onbehalfofdynamicattackedpoimsecurity,canandsecurityoftertiaryleakinitiatively.Furthermore,itcandetectthedangerousactionbeforemanualdetection.CampusnetcoNeges.withthecharactersofbroadtobebandwidth,denialmultiplehostsanddensenserenvironment,ispronethesoiloftheofservices.Then,accordingtothesummaryandanalysisofthecharactersoffamiliarDenialofServices.securityschemecampusnetworkisproposedpaper.IDSwillbeacombiningⅢSfirewallandfirewallofbasedontheactualityofcampustonetworkinthisCallgoodcomplementandfirewallfindcanintrusionbesidesitsstrategybyintrusiondetection.Atthesainttime,IDSalsopreventattacksfromouternetworkthroughfirewall.”111edesignofcampusnetworksecuritysystemcombiningIDSwithfirewallisdiscussedinthepaper.Datacollectionisthebaseofthesystem,specifiednetworkdataflowforstatisticsandanalysismodule.Statisticsandanalysisiskernelofthesystem,responsibleforanalyzinganomaliesofnetworkdataflowandcalculatingresponsibleforcollectinginformationofanomalydegree.Whentheanomalydegreealarminginformationisgiven.Anditsentisgreaterthantheintrusionthreshold,isontoanalyticmoduleandanomalyatrueinformationbasedjudgeswhetherthealarmingdeclaresparticulararithmetic.Intheenvironmentofcampusnetworkthecampusnetworksecuritysysternhasbeentested.Thetestresultsshowthatithasidealfunctionofintrusiondetectionandcangreatlyimprovethecapabilityofinformationsecurityandnetworkmanagement.KEYWORDSfirewall,networksecurity,intrusiondetection,campusnetwork原创性声明本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。作者签名:关于学位论文使用授权说明本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文;学校可根据国家或湖南省有关部门规定送交学位论文。赭躲驰导师签硇煎魄挫年』鲨日硕士学位论文第一章绪论第一章绪论近年来,计算机网络技术的迅猛发展,网络已经走进千家万户,然而由于计算机网络发展的历史原因和技术原因,被普遍采用的TcP/IP协议的开放性给人们带来诸多好处的同时,也导致日益严重的安全问题。特别是计算机犯罪案件急剧上升,如果对网络安全问题掉以轻心,互联网络不但可能让用户形象严重受损,而且还可能带来重大经济损失。湖南铁路科技职业技术学院校园网2002年建成使用,多次受到黑客的攻击,严重影响了学院的正常教学工作,但由于商业化的网络安全产品价格昂贵,学院难以承担,为了用较少的经费投入达到提高校园网络安全水平,2005年2月湖南铁路科技职业技术学院网络中心开始进行入侵检测与防火墙技术相结合的校园网络安全课题开发。1.1计算机安全概述所谓计算机安全,按照国际标准化组织的定义,可以把它描述为:“为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件、数据不因偶然的或恶意的原因而遭破坏、更改、泄露”“1。1.1.1计算机安全从总体上讲,计算机安全包括物理安全和逻辑安全。l物理安全计算机系统物理安全主要是指为保证计算机设备和通信线路及设施的安全。一是预防地震、雷电等自然灾害,满足设备正常运行环境的要求而采用的技术和方法;二是采取必要的措施防止计算机设备被盗,设定安全管理规定;三是为防止电磁辐射泄漏而采取的低辐射产品、屏蔽或反辐射技术和各种设备的备份等。2逻辑安全计算机逻辑安全主要包括以下几个方面的含义:(1)机密性(Confidentiality):信息不泄露给非授权用户、实体或过程,或供其利用的特性。信息经过加密变换后变成密文,只有那些经过授权的合法用户,掌握解密密钥,才能通过解密算法将密文还原成明文。(2)完整性(Integrity):数据未经授权不能进行改变的特性。即信息在存硕士学位论文第一章绪论储或传输过程中保持不被修改、不被破坏和丢失的特性。(3)可用性(Availability).可被授权实体访问并按需求使用的特性。安全系统能够对用户授权提供其某些服务,即经过授权的用户可以得到系统资源,并且能够享受系统提供的服务。例如网络环境下的拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击。1.1.2计算机网络安全网络安全是-f]涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科嘲。网络安全是指网络系统的部件、程序、数据的安全性,它通过网络信息的存储、传输和使用过程体现嘲。网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。确保网络系统的信息安全是网络安全的目标,信息安全包括两个方面:信息的存储安全和信息的传输安全“1。信息的存储安全是指信息在静态存放状态下的安全,如是否会被非授权调用等。信息的传输安全是指信息在动态传输过程中的安全。为了确保网络信息传输安全,应注意以下几个问题嘲:(1)对网络上信息的监听(2)对用户身份的仿冒(3)对网络上信息的篡改(4)对发出的信息予以否认(5)对信息进行重发网络的安全威胁主要有三个来源“】:(1)人为的无意失误(2)人为的恶意攻击(3)网络软件的漏洞和“后门”网络安全的威胁主要包括如下几种类型:(1)物理威胁:偷窃、身份识别错误(2)线缆连接:窃听、拨号进入、冒名顶替(3)身份鉴别:口令圈套、口令破解、算法考虑不周、编辑口令“)病毒程序:病毒:Internet蠕虫代码炸弹:一旦到了设定的时间,它就被触发并产生破坏特洛伊木马:特洛伊木马是指病毒、蠕虫等2硕士学位论文第一章绪论更新或下载:有些网络允许通过MODEN进行操作系统更新,于是非法入侵者通过它对系统进行非法更新系统漏洞:亦称为陷阱,通常由系统开发者有意设置的,能在用户失去了对系统的所有访问权后仍进入系统1.2校园网络安全的主要问题校园网作为开放网络的组成部分,其安全更成为不容忽视的问题,任何成功的入侵都可能给校园网带来不可预测的后果。目前校园网络安全的主要问题是:1计算机病毒目前全球已发现数万种病毒,并且还在快速增长。有资料显示,病毒威胁所造成的损失,占网络经济损失的76%,仅“爱虫”病毒发作在全球所造成的损失,就高达96亿美元”。一般谈到病毒还包括特洛伊木马(TrojanHorse)和蠕虫(Worms)病毒。他们虽然不是严格的病毒,但和病毒的危害性相当,而且一般也会伴随着病毒一起向用户发起攻击。特洛伊程序一般是由编程人员编制,它提供了用户所不希望的功能,这些额外的功能往往把预谋的功能隐藏在公开的功能中,可掩盖其真实的企图。蠕虫则是一个或一组程序,它可以从一台机器向另一台机器传播,与病毒不同的是,它不需要修改宿主程序就能传播。2非法访问和破坏(“黑客”攻击)黑客攻击已有十几年的历史,黑客对于大家来说已经不再是一个高深莫测的人物,黑客技术逐渐被越来越多的人掌握和发展,目前世界上有20多万个黑客网站,这些站点都介绍一些攻击方法和攻击软件的使用以及系统的一些漏洞,因而系统、站点遭受攻击的可能性就变大了。尤其是现在还缺乏针对网络犯罪卓有成效的反击和跟踪手段,使得黑客攻击的隐蔽性好,“杀伤力”强,是网络安全的主要威胁。黑客活动几乎覆盖了所有的操作系统,包括UNIX、Windows、VMS以及MVS等。黑客攻击比病毒更具有破坏性,因而也更具有危害性。Yahoo、Amazon等国际著名网站被黑客攻击早已不是新闻。3管理的缺欠网络系统的严格管理是保证校园网免受攻击的重要措施。事实上很多用户网站或系统都疏于这方面的管理,还可能出现系统内部人员泄露机密或外部人员通过非法手段截获而导致机密信息的泄露,从而为一些不法分子制造了可乘之机.硕士学位论文第一章绪论4网络的缺陷及软件的漏洞或“后门”因特网的共享性和开放性使网络信息安全存在先天不足,因为其赖以生存的TcP/IP协议缺乏相应的安全机制,而且因特网最初的设计考虑是该网不会因局部故障而影响信息的传输,基本没有考虑安全问题,因此它在安全可靠、服务质量、带宽和方便性等方面存在着不适应性嘲。此外,随着软件系统规模的不断增大,系统中的安全漏洞或“后门”也不可避免的存在,无论是Windows还是UNIX几乎都存在或多或少的安全漏洞,众多的各类服务器、浏览器等都被发现过存在安全隐患。可以说任何一个软件系统都可能因为程序员的一个疏忽、设计中的一个缺陷等原因而存在漏洞,这也是网络安全的主要威胁之一。1.3P2DR安全模型传统的信息安全技术都集中在系统自身的加强和防护上。比如,采用B级操作系统和数据库、在网络出口配置防火墙、在信息传输和存储中采用加密技术、使用集中的身份认证产品等。然而,单纯的防护技术存在许多方面的问题:(1)单纯的防护技术容易导致系统的盲目建设,这种盲目包括两方面:一方面是不了解安全威胁的严峻和当前的安全现状;另一方面是安全投入过大而又没有真正抓住安全的关键环节,导致不必要的浪费…。(z)防火墙策略对于防范黑客有其明显的局限性“m。防火墙技术是内部瞬络最重要的安全技术之一,其主要功能就是控制对受保护网络的非法访问,它通过监视、限制、更改通过网络的数据流,一方面是尽可能屏蔽内部网络的拓扑结构,另一方面是对内屏蔽外部危险站点,用以防范外对内、内对外的非法访问。但也有其明显的局限性,诸如:防火墙难于防内:防火墙的安全控制只能作用于外对内或内对外,即:对外可屏蔽内部网络的拓扑结构,封锁外部网络上的用户连接内部网络上的重要站点或某些端口,对内可屏蔽外部危险站点,但它很难解决内部网络控制内部人员的安全问题,即防外不防内。防火墙难于管理和配置,易造成安全漏洞:放火墙的管理及配置相当复杂,要想成功的维护防火墙,要求防火墙管理员对网络安全攻击的手段及其与系统配置的关系有相当深刻的了解。防火墙的安全策略无法进行集中管理。一般来说,由多个系统(路由器、过滤器、代理服务器、网关、堡垒主机)组成的防火墙,管理上有所疏忽是在所难免的。根据美国财经杂志统计资料表明,30%的入侵发生在有防火墙的情况下““。4硕士学位论文第一章绪论防火墙的安全控制主要是基于IP地址的,难于为用户在防火墙内外提供一致的安全策略:许多防火墙对用户的安全控制主要是基于用户所用机器的IP地址而不是用户的身份,这样就很难为同一用户在防火墙内外提供一致的安全控制策略,限制了企业网的物理范围。防火墙只实现了粗粒度的访问控制,且不能与企业内部使用的其他安全机制(如访问控制)集成使用,这样企业就必须为内部的身份验证和访问控制管理维护单独的数据库。(3)保证信息系统安全的经典手段是“存取控制”或“访问控制”,这种手段在经典的以及现代的安全理论中都是实行系统安全策略的最重要的手段.但迄今为止,软件工程技术还没有达到A2级所要求的形式生成或证明一个系统的安全体系的程度,所以不可能百分之百地保证任何一个系统中不存在安全漏洞。而且,无论在理论上还是在实践中,试图彻底填补一个系统的安全漏洞都是不可能的,也还没有一种切实可行的办法解决合法用户在通过“身份鉴别”或“身份认证”后滥用特权的问题。针对日益严重的网络安全问题和越来越突出的安全需求,“可适应网络安全模型”和“动态安全模型”(即P2DR安全模型)应运而生(图1-1所示)“”.P2DR模型包含4个主要部分:P01icy(安全策略)、Protection(防护)、Detection(检测)、Response(响应)图I-IP2DR模型5硕士学位论文第一章绪论P2DR模型是在整体的安全策略(Policy)的控制和指导下,在综合运用防护工具(Protection,如防火墙、操作系统身份认证、加密等手段)的同时,利用检测工具(Detection,如漏洞评估、入侵检测等系统)了解和评估系统的安全状态,通过适当的响应(Response)将系统调整到“更安全”和“风险更低”的状态。防护、检测和响应组成了一个完整的、动态的安全循环。在这个模型中检澳0和防护处于一个同等重要的位置,入侵检测系统也作为一个系统在网络安全中发挥其重要作用n”。1.4课题研究的目的和意义目前校园网普遍采用的防火墙是属于静态安全技术范畴的外围保护,其缺点是需要人工实施和维护,不能主动跟踪入侵者。而入侵检测则属于动态安全技术,它能够主动检测网络的易受攻击点和安全漏洞,对防范网络的恶意攻击提供了主动的实时保护。为了确保校园网络的安全,课题将入侵检测技术与放火墙技术相结合,达到提高校园网络系统的安全防护水平之目的。1.4.1国内外研究现状从20世纪90年代到现在,入侵检测系统的研究呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方面取得了长足的进展。1994年以后,在国外逐渐出现一些入侵检测的产品,其中比较有代表性的产品有ISS(InternetSecuritySystem)公司的RealSecure,RealSecure采用分布式的体系结构,引擎部分负责监测信息包并且产生报警,控制台接收报警并作为配置及产生数据库报告的中心点。Cisco公司的NetRanger,包括控制器、传感器和入侵检测系统模块三大组成部分,Cisco的入侵检测模块的最大特点是与硬件结合,在广域网上运行很成功。KaneSecurityMonitor(KSM)则在TCP/IP监测方面特别强。在国内,主要有中科网威、东软软件、瑞星、金山、联想等安全界知名厂商也有自己的入侵检测产品。但国内的产品多数集中在低端,采用模式匹配的方法,与国外相比还有一段差距。1.4.2课题研究的目的和意义对于职业院校来说,网络的安全非常重要,但是目前的商业化网络安全产品,大都是针对企业级用户,价格昂贵,远远超过了高等院校的承受能力,因此要么基本上对校园网络系统没有采取安全措施,要么仅仅使用免费或自制的防火墙,6硕士学位论文第一章绪论对入侵检测技术基本没有使用。课题通过对国内外入侵检测技术的学习和研究,旨在提出一个提高校园网络安全性的入侵检测系统模型,将入侵检测技术与放火墙互动使用,达到提高校园网络系统的安全防护水平之目的。7硕士学位论文第二章入侵检测技术第二章入侵检测技术随着技术的发展,网络日趋复杂,人们发现只从防御的角度构造安全系统是不够的,因此开始寻求其它途径来补充保护网络的安全。2.1入侵检测的概念传统防火墙所暴霹出来的不足和弱点引起人们对入侵检测系统的技术的研究。首先,传统的防火墙在工作时,就像深宅大院,虽有高大的院墙,却不能挡住小老鼠甚至是家贼的偷袭一样,因为入侵者可以找到防火墙背后可能敞开的后门;其次,防火墙完全不能阻止来自内部的袭击;再者,由于性能的限制,防火墙通常不能提供实时的入侵检测功能,而这一点,对于现在层出不穷的攻击技术来说是至关重要的;第四,网络管理员可能无意识地、错误地配置了防火墙或者有意识的敞开防火墙的大门(很少出现但不无可能),给黑客以可乘之机。因此,以为在Internet入口处部署防火墙系统就足够安全的想法是不切合实际的“∞。入侵检测系统可以弥补防火墙的不足,并为各网段和重要站点的安全提供实时的入侵检测及采取相应的防护措施。入侵检测可被定义为对计算机和网络资源的恶意使用行为进行识别和响应的处理过程,它不仅检测来自外部的入侵行为,同时也检测内部用户的未授权活动“”。入侵检测系统(IDS)从计算机网络系统中的若干关键点收集信息,并分析这些信息,检查网络中是否有违反安全策略的行为和遭到袭击的迹象“”。入侵检测可被看作是防火墙之后的第二道安全闸门。IDS主要执行如下任务:(1)监视、分析用户及系统活动;(2)系统构造和弱点的审计:(3)识别反映已知进攻的活动模式并向相关人士报警;“)异常行为模式的统计分析;(5)评估重要系统和数据文件的完整性;(6)操作系统的审计跟踪管理,并识别用户违反安全策略的行为。入侵指的是破坏目标系统资源的完整性、机密性或可用性的一系列活动。IDS所检测的入侵不包括物理入侵,而仅包括以电子方式从系统内部或者系统外部发起的,尝试或者实施对系统资源的非授权访问、操纵或破坏的行为。IDS自动收集并分析审计数据,一旦发现入侵迹象,则采取适当措施(如报警,断开相应的连接等),保护系统不被攻击n”。8硕士学位论文第二章入侵检测技术入侵检测系统(IDS)主要通过以下几种活动来完成任务:监视、分析用户及系统活动;对系统配置和弱点进行审计;识别与己知的攻击模式匹配的活动;对异常活动模式进行统计分析;评估重要系统和数据文件的完整性;对操作系统进行审计跟踪管理,并识别用户违反安全策略的行为…。可以给入侵检测做一个简单的定义:对网络系统的运行状态进行监视。发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机密性、完整性与可用性n帕。2.2入侵检测技术的分类随着新技术的发展,入侵检测技术也不断发展,入侵检测从最初实验室里的研究课题到目前的商业产品,已经具有20多年的发展历史,入侵检测的方法也越来越多。2.2.1入侵检测技术的分类目前,对入侵检测技术的分类方法很多,表2一l列出了从不同角度分类的各种入侵检测技术嘲。表2-1入侵检测的分类方法分类的角度分类的类型基于主机数据来源基于网络混合型分析方法异常检测模型误用检测模型脱机分析时效性联机分析分布性集中式分布式l按数据来源分类按照数据来源的不同,可以将入侵检测系统分为三类:(I)基于主机:系统获取数据的依据是系统运行所在的主机,保护的目标也9硕士学位论文第二章入侵检测技术是系统运行所在的主机““。(2)基于网络:系统获取的数据来源是网络传输的数据包,保护的目标是网络的运行.(3)混合型:既基于主机又基于网络,因此混合型一般也是分布式的。2按分析方法分类根据数据分析方法(即检测方法)的不同,可以将入侵检测系统分为两类嘲:(1)异常检测模型(AnomalyDetectionModel)这种模型的特点是首先总结正常操作应该具有的特征,例如特定用户的操作习惯与某些操作的频率等;在得出正常操作的模型之后,对后续的操作进行监视,一旦发现偏离正常统计学意义上的操作模式,即进行报警。可以看出,按照这种模型建立的系统需要具有一定的人工智能,由于人工智能领域本身的发展缓慢,基于异常检测模型建立入侵检测系统的工作进展也不很理想。1。(2)误用检测模型(MisuseDetectionModel)这种模型的特点是将收集到的数据与特征库中的特征代码进行比较,得出是否是入侵的结论。可以看出,这种模型与主流的病毒检测方式基本一致,当前流行的系统基本上采用了这种模型。3按时效性分类按照分析发生的时间不同,可以分为脱机分析和联机分析两类㈣:(1)脱机分析就是在行为发生后,对产生的数据进行分析,而不是在行为发生的同时进行分析。如对日志的审核、对系统文件的完整性检查等都属于这种。一般而言,脱机分析也不会间隔很长时间,所谓的脱机只是与联机相对而言。(2)联机分析就是在数据产生或者发生改变的同时对其进行检查,以发现攻击行为。这种方式一般用于对网络数据的实时分析,对系统资源要求比较高。4按分布性分类按照系统各个模块运行的分布方式不同,可以分为集中式和分布式两类嘲1:(1)集中式系统的各个模块包括数据的收集与分析以及响应模块都集中在一台主机上运行,这种方式适用于网络环境比较简单的情况。(2)分布式系统的各个模块分布在网络中不同的设备上,一般来说分布性主要体现在数据收集模块上,例如有些系统引入的传感器(Sensor)。10硕士学位论文第二章入侵检测技术2.2.2异常检测和误用检测入侵检测系统最关键的是入侵检测方法,入侵检测方法非常多,主要分为异常检测和误用检测两大类,通过表2-2可以清晰看到不同入侵检测技术中的多种方法嘲。表2-2异常入侵和误用入侵中各种各样的检测方法统计基于特征选择基于贝叶斯推理基于贝叶斯网络异常入侵检测技术基于贝叶斯聚类基于模式预测基于神经网络入侵检测方法基于机器学习基于数据采掘基于条件概率基于专家系统误用入侵检测技术基于状态迁移分析基于键盘监控基于模型2.3入侵检测原理入侵是指有关破坏资源的完整性、机密性及可用性的活动。入侵检测是检测和识别系统中未授权的或异常的现象。2.3.1异常检测原理异常检测指的是根据非正常行为(系统或用户)和使用计算机资源非正常情况检测出入侵行为,如图2-1所示。异常入侵检测是假定所有入侵行为都是与正常行为不同。如果建立目标系统(受监控系统)及其用户的正常活动轮廓不同的系统状态视为可疑企图,那么理论上可以把所有正常活动轮廓不同的系统状态视为可疑企图。对异常阀值与特征的1l硕士学位论文第二章入侵检测技术选择是异常入侵检测的关键哺1。主要异常行为:命令.J系统调用.J应用类型.J活动度量.JCPU使用.J网络连接一图2-1异常检测模型异常入侵检测的主要前提是入侵活动作为异常活动的子集。考虑这种情况,若外部人闯入计算机系统,尽管没有危及用户资源使用的倾向和企图,可是这存在一种入侵的可能性,还是将他的行为当作异常处理,这样做似乎合情合理,但是入侵活动常常是由单个活动组合起来执行,单个活动却与异常性独立无关。理想的情形是,异常活动集与入侵活动集是一样的。这样,识别所有的异常活动恰恰正是识别了所有的入侵活动,结果就不会造成错误的判断。2.3.2异常情况的判断入侵检测的操作模型是预先定义固定的限制范围,如果考察的值超出了这个范围,那么就怀疑有入侵。如果入侵者的行为能够从某些类型的动作中判断出来,那么这种方法非常有效姗。检测程序知道什么是“正常”行为,然后寻找偏离情况。一般地用于入侵检测的尺度如表2-3所示。表2.3用于入侵检测的尺度尺度模型登录和会话活动可检测的入侵类型某个时间和日期的登录频率平均值和标准偏差在不知情的时候入侵者可能会登录在不同地点的登录频率平均值和标准偏差从某一用户很少或者从不使用的地方的入侵者可能登录硕士学位论文第二章入侵检测技术自上次登录以来的间隔时间操作平均值和标准偏差平均值和标准偏差强行入侵一个“死的”帐户显著偏离说明有冒充者出现向远程主机传送大量数据可能会导致敏感数据的泄露不正常的处理机或i/o水平说明有人正在窃用每次会话所用的时间向主机输出的数据量会话资源入侵者登录时口令错误平均值和标准偏差操作操作企图通过猜口令来强行入侵企图闯入从指定的终端登录失败执行命令或程序的活动可能使用不同命令的入侵者;执行频率平均值和标准偏差或者成功渗透的合法用户,他获得了使用一些特权命令的权力异常值可能说明有病毒或特洛程序资源使用情况平均值和标准偏差伊木马程序进入,它们会增加I/o或处理器的占用率被拒绝的执行请求情况操作访问文件的动作可以检测到单个用户的渗透企图,因为他使用更高的特权读、写、创建、删除的频窒平均值和标准偏差特定用户的读写异常说明有人正在冒充或浏览读写记录无法对读、写、创建、删除进行记录平均值和标准偏差异常说明有人企图通过推理和综合来获取敏感数据可能检测到那些不断试图访问未授权的文件的用户操作2.3.3误用入侵检测原理误用入侵检测是指根据已知的入侵模式来检测入侵伫町。误用检测是指所有入侵方法(及其交种)都能被精确表达为一种模式或特征,那么所有已知的入侵行为都可以通过模式匹配来检测。误用入侵检测的关键是如何表达入侵的模式,把真硕士学位论文第二章入侵检测技术正的入侵与正常行为区分开来。其优点是误报少,但比较局限,只能识别已知的攻击,对未知的攻击无能为力。入侵者常常利用系统和应用软件中的弱点攻击,而这些弱点易编成某种模式并建立模式库,如果入侵者攻击方式恰好与检测系统中的模式库中一模式匹配,则入侵者即被检测到,如图2—2所示。图2-2误用入侵检测模型误用入侵检测能够很好的检测出那些特征已经被存储在信息库中的入侵,误报率很小。但是它无法检测出偏离“标准特征”或者新的入侵方式,因此,一旦发现新的攻击方式或者攻击方式的变异,就必须及时更新特征信息库。2.3.4误用检测与异常检测的比较前面介绍了基于异常和基于误用两种不同的检测方法,横向比较一下这两种方法,其区别是嘲:异常检测系统试图发现一些未知的入侵行为;而误用检测系统则是标识一些己知的入侵行为。异常检测指根据使用者的行为或资源使用状况来判断是否入侵,而不依赖于具体的行为是否出现来检测;而误用检测系统则大多是通过对一些具体的行为的判断和推理,从而检测出入侵。异常检测的主要缺陷在于误检率很高,尤其在用户数目众多或工作行为经常改变的环境中;而误用检测系统由于依据具体特征库进行判断,准确度要高很多。异常检测对具体系统的依赖性相对较小;而误用检测系统对具体的系统依赖性太强,移植性不好。硕士学位论文第二章入侵检测技术2.4入侵检测的系统功能和基本结构入侵检测系统能够捕获并记录网络上的所有数据,对网络数据进行分析,提炼出可疑的、异常的数据,并采取相应的措施。2.4.1入侵检测的系统功能入侵检测的系统功能有㈨:l监视用户和系统的运行状况,查找非法用户和合法用户的越权操作;2检测系统配置的正确性和安全漏洞,并提示管理员修补漏洞;3对用户的非正常活动进行统计分析,发现入侵行为的规律;4检查系统程序和数据的一致性与正确性,如计算和比较文件系统的校验和能够实时对检测到的入侵行为进行反应。2.4.2入侵检测系统的基本结构图2-3给出了一个通用的入侵检测系统结构叭1。l\数l数据.J)I/卜数卜、据提取数据.J)y据分析事似)y结果处理图2-3通用入侵检测系统结构图图2—3中的模块划分是非常粗略的,而且省略了诸如界面处理、配置管理等模块。数据提取模块的作用在于为系统提供数据,数据的来源可以是主机上的日志信息、动态信息,也可以是网络上的数据信息,甚至是流量变化等,这些都可以作为数据源嘲。数据提取模块在获得数据之后,需要对数据进行简单的处理,如简单的过滤、数据格式的标准化等,然后将经过处理的数据提交给数据分析模块。数据分析模块的作用在于对数据进行深入地分析,发现攻击并根据分析的结果产生事件,传递给结果处理模块。结果处理模块的作用在于报警与反应。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计第三章入侵检测与防火墙相结合的校园网安全模型设计校园网络比较开放,很多服务器可以由一般用户访问,安全度很低,黑客很容易隐藏其身份。学生往往出于好奇,在教育网络中进行入侵实验,当然其中也不排除恶意行为。校园网中主机和网络设备通常没有非常可靠的安全系统,很容易受到攻击和入侵。3.1校园网入侵分析针对校园网络用户多,带宽大,拒绝服务攻击比较多的情形,侧重对各种重点网络协议信息的“流量”进行异常检测,发现网络中进行的拒绝服务攻击行为。校园网络的建设和普及,给学校的教学和管理、学生的学习等多方面带来了很大的促进。然而校园网在网络安全方面并非一方“净土”,一直以来,很多的黑客就是在校园网络中成长起来的网。黑客的发展历史很长,比电子计算机的历史还长。随着计算机在学校的使用,20世纪60年代在美国麻省理工学院的人工智能实验室诞生了第一批计算机黑客,他们是褒义上的黑客。20世纪80年代后,随着网络的出现,黑客们不再满足一般的编程和寻找Bug,而是热衷于入侵远程主机上的网上冒险以及编制病毒、特洛伊木马等恶意软件,这样黑客就成为了典型的“入侵者”。从黑客的发展历史看,黑客(入侵者)和校园网络有很深的渊源刚。校园网络入侵的原因是多方面的,主要是基于校园网络自身的特点。其中包括:校园网络的宽带和大量主机资源。其为黑客发动攻击提供了较好的环境条件。从拒绝服务攻击的原理可以看出,不管是拒绝服务攻击阶段还是分布式拒绝服务攻击的攻击阶段,都需要很高的网络带宽。而校园网络的特点正好满足拒绝服务攻击的要求,这也是校园网成为拒绝服务攻击的一方“乐土”的重要原因。在比较严重的网络攻击事件中,以校园网为“基地”发起的拒绝服务攻击事件更令人印象深刻。最著名的是2002年黑客对Yahoo和Ebay等网站发起的拒绝服务攻击,使这些网站的服务一度关闭。而据调查,这些攻击就是从校园网络中发起的。16硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计拒绝服务攻击不仅可以利用校园网络为“基地”发起,攻击校园网以外的目标,更多的是攻击校园网内部的目标,特别是在攻击者“练手”的实验阶段[351。通过调查,我们发现校园网的入侵方式中拒绝服务攻击最多,危害也最大。由于校园网具有开放、高带宽、多主机等特点,校园网内部网络入侵一般具有以下特征:大规模:所谓大规模,一方面是指发动入侵所涉及的网络范围大或者主机数量多,引起的网络流量大,另一方面指入侵形式不是一对一,而是多对一或多对多。分布式:所谓分布式入侵是指从多个地点、多台主机发起甚至是联合发起的。通过上述对校园网络安全特点的分析,我们可以看出校园网具有拒绝服务攻击存在的种种“优势”。同时,从本校校园网络拒绝服务攻击多、网络垃圾数据拥塞的实际情况考虑,有必要针对校园网中的拒绝服务攻击进行入侵检测的研究;从拒绝服务攻击引起网络流量异常增大的特征看,进行这样的分析和研究是可行的[361。目前校园网普遍采用的防火墙是属于静态安全技术范畴的外围保护,其缺点是需要人工实施和维护,不能主动跟踪入侵者。而入侵检测则属于动态安全技术,它能够主动检测网络的易受攻击点和安全漏洞,对防范网络的恶意攻击提供了主动的实时保护,但价格昂贵,远远超过了高等院校的承受能力,因此要么基本上对校园网络系统没有采取安全措施,要么仅仅使用免费或自制的防火墙,对入侵检测技术基本没有使用。3.2入侵检测与防火墙相结合的校园网安全模型设计为了确保校园网络的安全,将入侵检测技术与放火墙技术相结合,进行校园网安全模型设计,达到提高校园网络系统的安全防护水平之目的。3.2.1设计标准JosephBarrus认为一个好的入侵检测系统应该实现以下目标[371:(1)能够识别可疑行为,检测入侵;(2)入侵活动升级的过程中应在尽可能低的层次检测出;(3)配置在不同主机上的组件间能根据检测到的入侵和报警级别相互通信;(4)系统能针对不同的报警级别作出不同的响应;17硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计(5)允许安全管理员对不同的功能和报警级别进行手动控制;(6)对攻击手法的改变具有适应性;(7)能够处理大规模并发攻击;(8)易于配置和扩展;(9)系统本身具有稳健性:∞检测入侵和报警高效准确。基于以上设计标准,构造了入侵检测与防火墙技术相结合的校园网安全模型。该模型兼具误用检测和异常行为检测的特点,并能与防火墙联动实现入侵防范。3.2.2入侵检测与防火墙相结合的校园网安全模型入侵检测与防火墙技术相结合的校园网安全模型如图pl所示。图3-1入侵检测与防火墙技术相结合的校园网安全模型该模型在检测方式上既使用了基于特征的入侵检测,又使用了异常行为检测;而在配置上则综合了网络入侵检测系统(NIDS)和主机入侵检测系统(HIDS)的优点,按照P2DR安全模型来进行设计配置的。模型由四个部分组成(如图3—1所示):用户接口子系统、网络子系统、主机子系统和防火墙子系统。其中用户硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计接口子系统在Windows平台下运行,其余三个子系统在RedHatLinux平台下运行。各子系统之间独立运作,互相通信。其中:(1)用户接口子系统是整个入侵检测子系统与系统管理员之间的人机接口,负责收集报警信息并产生可视化报警,系统管理员通过该子系统对整个入侵检测系统进行操作和控制管理。(2)网络子系统负责对以捕获的网络数据包为数据源进行入侵检测,主要采用特征模式匹配来检测已知的网络入侵。(3)主机子系统是监视系统用户及进程活动,根据检测系统和用户的异常行为来检测入侵。“)防火墙子系统主要是配合其它子系统完成响应功能,执行的是发现真实入侵后的响应措施。防火墙予系统接受其它子系统发来的请求和命令,对Linux防火墙(Iptables)进行动态配置,包括连接的重置与阻断、禁止IP等。3.3用户接口子系统用户接口子系统是整个入侵检测系统与系统管理员之间的人机接口,主要包括通信、报警、系统状态监测和日志管理四个模块。如图3-2所示。(开始)‘l消息接收1.J,上警报处理I系统状态监用户接口通信模块负责与其它子系统的通信,如接收其它子系统传入的报警信息,向其它子系统传出的各种控制命令等嘲。报警模块根据通信模块收到的报警信息产生警报,提示安全管理员。1日志管理上I-‘<龟>上l消童发送l系统状态监测模块监视整个系统的运行状态,包括系统资源的使用情况、网络连接以及用户活动等各项指标。(结索)图3-2用户接口子系统处理流程日志管理模块将整个系统产生的报警信息进行日志记录,以供管理员进一步19硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计的分析查询…。图3-3是用户接口的一个简易界面,主窗口中显示的是收到报文的内容,而面板右侧的警戒状态水平是根据收到报文的权重来设置的,警戒状态水平显示越高,表示系统遭到入侵的可能性也越大㈣。图3-3用户接口界面当一个报警报文到达时,新的警戒水平Anew根据当前的警戒水平Acur和报警报文权重w按下式来计算:Anew=(1.0-Acur)*W+Acur由于报警报文权重是0.O一1.0的一个值,所以当多个报警报文到达时,Anew的值会向1.0接近。如果在一段时间内没有新的报警报文收到(在实验设计中定为5分钟),则警戒水平按一定比例下降。在这里设下降系数为0.9,即新的警戒水平按下式来进行计算:Ancw=Acur*0.93.4网络子系统网络子系统以被动侦听的方式监视网络数据流,从中发现可疑数据包。分析网络数据包时,采用的是当前入侵检测系统所使用的主流技术—基于协议解码和20硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计命令解析的模式匹配Ⅲ1。整个子系统由多个模块组成,每一个模块作为一个单独的进程完成一部分功能,各模块相互协作,独立运行。网络子系统结构框架如图3-4所示。图3-4网络子系统网络子系统主要由通信模块、网络数据包捕获模块和协议解析与异常检测模块组成,其中通信模块负责与其它子系统的通信,数据包捕获模块将网卡设置为混杂模式(PromiscMode)侦听网络数据流:协议解析与异常检测模块是整个系统检测入侵的关键,它是由一系列子模块组成,每一个子模块负责一项协议的分析,各个子模块并发运行从而加快检测速度。当检测到异常时,则向通信模块报告,再由通信模块向用户接口子系统发出报警。3.4.1网络数据网络数据包是网络入侵检测系统的主要数据源,从入侵检测系统产生开始,它一直是入侵分析的一个重要依据旧。因此尽可能实时快速地获得网络数据包是所有网络入侵检测系统都不得不重视的一个问题,特别是当网络流量很大时更是如此。1TcP/口协议TCP/口协议并不完全符合OSI的七层参考模型1431。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、会话层、表示层和应用层。而TCP/口协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求,这4层分别为M:21硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计应用层:应用程序间沟通的层,如简单电子邮件传输、文件传输协议、网络远程访问协议等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议、用户数据报协议等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Etherne=t、SerialLine等)来传送数据。2网络数据包格式在网络上传输的数据包都是原始数据包,它们的格式一般先是以太网数据帧的头部,接着是ARP或者IP数据包的头部。IP数据包后紧跟着TCP或UDP、ICMP的头部,最后才是真正要传输的数据,具体封装过程如图3-5所示㈣。阿1I数据lI..............一TCP首部应用数据r1IP首部.1r1TCP首部m应用数据.r1l以太网I首部m首部TCP首部应用数据以太网尾部卜————————一以太网帧————————一图3-5数据包封装过程以太网硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计于是,在拆分IP数据包时,先提取以太网数据帧的头部,再提取IP数据包的头部,然后分析TCP或UDP、ICMP数据包的头部。最后,从数据包提取出需要的数据。3TCP数据包格式TCP数据包格式如图3-6所示,系统主要使用了源端口(第34-35字节)、目的端口(第36-37字节)、标志位(第47字节)【蛔。0481016243l源端口序列号确认号U^CK目的端口PSHSTHF工H首部长度保留RG窗口校验和选项图3-6TCP数据包格式紧急指针埴充字节4P数据包格式口数据包格式如图3—7所示,对于口数据包,主要使用首部长度字段(第0字节低4位)、协议字段(第23字节)、源球地址字段(第26—29字节)和目的口地址字段(第30_-33字节)。O48lB3I版本首都长度服务类型耶协议溺口地址.J数据包总长一盱碎片偏移.J标识生存时阍首部校验和,目的IP地址.J-选珂p数据.J图3-7IP数据包格式硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计5UPD数据包格式UPD数据包格式如图3—8所示,UPD数据包系统使用了源端口字段(第34—35字节)、目的端口字段(第36—37字节)和包长度字段(第38—39字节)。016314lffD塬端口lbTD目的端口.JlffD数据包校验.JUID数据包长度J图3-8UI)P数据包格式6ICMP回显请求与应答包的格式ICMP数据包格式如图3-9所示,主要使用ICMP回显请求与应答包中的类型字段(第34字节),用于判断包的类型。0818314类型数据代码校验和.J数据一图3-91131P包回显请求与应答包的格式3.4.2网络子系统数据包截获技术网络入侵检测系统通过实时检测网络状态,把捕获的数据包进行重组、分析,成为能被用户识别的信息,判断出是否存在网络入侵行为,对数据的采集是检测系统的基础和核心之一。网络入侵检测系统常用的数据采集方法是利用以太网介质共享的特征,将探针(/'robe)放在局域网中,通过将网络适配器设置为混杂模式,检测系统将能接受到所有在该网段上传输的数据包【4刀。在windows环境下,由于其自身的封装性,很难对网络底层进行直接编程,在网络子系统中,使用Libpeap库来截获网络数据包,而tabpcap采用的是一种高效的数据包截获工具BPF(BerkeleyPacketFilter),即伯克利数据包过滤器。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计1BPF的工作原理BPF主要由两大部分组成:网络分接头(NetworkTap)和数据包过滤器(PacketFilter)。网络分接头从网络设备驱动程序处收集数据包拷贝,并传递给正在监听的应用程序,过滤器决定某一数据包是被接收或者拒绝,以及如果被接收,数据包中的哪些部分被拷贝给应用程序,图3-10给出BPF与操作系统其他部分的接口关系嘲。网络图3-10肝F的结构当一个数据包到达网络接口设备时,链路层设备驱动器通常把它传给系统协议堆栈进行处理。但是,当BPF也在该网络接口上监听时,驱动器将会首先调用BPF。BPF会将数据包传递给每个监控进程的过滤器。这些用户自定义的过滤器将决定一个数据包是否被接收以及数据包中的哪些内容应该被保存下来。对于每一个决定接收数据包的过滤器,BPF将所需的数据拷贝到与之相连的缓存中。然后设备驱动程序重新获得控制权。此时如果该数据包的目标地址不是本机地址,则驱动程序从中断过程返回,否则将进行正常的网络协议处理过程。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计因为一个进程可能想要获取在网络上传输的每一个数据包,而多个数据包之间的时间间隔只有几个毫秒,所以不可能对每一个数据包都进行一次read系统调用。此时BPF必须一次收集多个数据包的数据,并将其在一次系统调用中作为一个数据单元返回。为了保持数据包的边界,BPF对从每一个数据包中获取的数据进行了封装,封装数据头中包括时间戳、长度以及数据对齐的偏移量。由于一个网络监控进程可能只需要网络流量中的一小部分,所以通过在中断过程中将不需要的数据包过滤掉的办法可以大大提高运行性能。同时为了减少数据在内存之间的传输流量(这也是大多数现代工作站的主要性能瓶颈),数据包应该在“现场”(InPlace)进行过滤(所谓现场,比如说就是网络接口的D姒控制器存放数据的内存地址),而不是将其拷贝到内核中的其他缓存后再进行过滤。这样做的一个好处就是如果该数据包被拒绝,本机只引用了过滤进程所需的字节内容,从而节省了拷贝全部数据包的处理时间。与之相对的是SunOS的NIT机制,它在过滤之前先拷贝所有的数据包,从而降低了运行性能。在SunNIT中,数据包过滤器模块位于数据包截获模块之上。每一个接收到的数据包首先拷贝到一个缓存中,然后传递给NIT模块。NIT模块接着申请一个消息缓存区,拷贝数据到消息缓存区,之后送给过滤器模块,而后者可能决定拒绝该数据包。这样的话,对每个数据包都必须执行若干拷贝工作,而大量的CPU周期就浪费在拷贝最后被拒绝的数据包上。2网络数据的捕获在目前的网络入侵检测系统中,基本上都直接或间接地使用了BPF。Snort是当今网络入侵检测系统中很知名的一款,它所使用的Libpcap库同样是用BPF来进行网络数据包的捕获。当网络流量很大时,snort就会出现丢包现象,考查snort的程序源代码,就会发现在snort的检测引擎中,检测规则被组织成一个二维链表,如图3-II所示嗍。Snort每捕获一个数据包,都会先调用预处理程序链表中的函数进行处理,再根据数据包的协议类型定位规则链表,调用递归函数进行规则的逐一匹配,即首先匹配规则头,若匹配则继续递归匹配规则选项,若不匹配,直接匹配下一条规则。Snort在匹配规则选项中的“内容(content)”时使用的是Boyer-Moore算法姗。由分析可以发现,当网络流量很大时,当BPF捕获数据包的速度大于snort检测引擎的处理速度时,丢包现象就会发生。因此在设计网络子系统时,重点考虑了数据包的处理速度可能与数据包捕获速度不匹配的问题,我们的处理策略是将网络数据包的捕获与数据包处理分开,网络数据包捕获模块专门负责数据包的硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计捕获,捕获的数据包进行协议解析后送入共享内存区,异常检测模块从共享内存区取数据包进行分析,而在异常检测模块对数据包进行分析的同时,网络数据包捕获模块又可以将捕获的数据包解析后放入共享内存区。网络数据包的捕获与分析同时并发进行可以减少丢包的可能性。图3—11snort规则逻辑图3.4.3网络子系统数据包检测在网络子系统中,捕获数据包的检测是由多个模块共同完成的,如IP协议模块负责对数据包按照IP协议进行异常分析,TCP协议模块负责对数据包按照TCP协议进行异常分析,而HTrP协议模块负责对数据包按照HTTP协议进行异常分析,每一个模块都有自己的规则链,模块所用的规则是借用的snort规则哪!。每个模块都从数据包捕获模块所建立的共享内存区中读取捕获的数据包。这些模块并发运行,如果发现异常它们就向网络通信模块报告异常,并对该异常给出一定的警报权重,最后由通信模块生成正式警报,发送给用户接口子系统。网络子系统数据包检测流程如图3-12所示。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计图3—12网络子系统数据包检测流程3.4.4网络通信模块网络通信模块与其它三个子系统通信模块的基本功能相似,主要是完成与其它予系统的通信协作。当系统启动后首先建立一个全局链表和两条全局消息队列,其中全局链表中保存整个入侵检测系统中的活动进程信息,两条消息队列一条缓存收到待处理的消息,另一条则是缓存处理后要发送的消息。当通信模块与其它子系统之间进行报警和命令请求消息的传递时,使用的TCP协议;通信模块与本机其它进程通信时使用的是本地套接字,而当其向其它子系统宣告自身处于硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计活动状态时,使用UDP广播自己的主机地址和监听的TCP端口号。在处理接收的消息时,如果是UDP的广播消息,则更新全局活动进程链表,如果某一进程超过一定时间(如120秒)没有更新,则认为该进程已经停止活动,则将其从链表中删除,并向管理员发出报警信息嘲.通信模块的消息处理流程如图3—13所示。围3-13网络通信模堤消息处理流程3.4.5网络子系统数据处理算法网络子系统数据处理包括查找并显示网络接口设备、选择并打开网卡、数据采集和数据统计分析。l查找并显示网络接口设备首先需要把机器中所有的网络适配器都查找出来,并显示在界面上。使用户可以选择侦听设备。Libpcap调用peap_lookupdevOi函数可完成查找,并把查找到的网络适配器存储在一个struetm:ap_if的链表结构中。函数原型如下p3】:intpcaph)h删打(pcap_ift“alldevsp,char*errbuO硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计第一个参数aUdevsp是函数返回适配器列表的参数,是一个指向pcap_if_t类型指针的指针,指向网络接口设备表中第一个元素,该表中的所有元素都是pcap_if_t类型的。第二个参数errbuf是一个char类型的指针,指向出错缓冲区。其中struetlxapjf_t的结构就是sla'uctpcap_if结构:sa'uctpcapjflstructpcap_if+next:,脂向设备列表的下一个元素char*name;/)指向设备的名字,在打开设备的pcap.open._live函数中为第一个参数char+description;肘旨向设备的描述structpcap_addr‘addresses;,/指向该适配器地址列表的第一个元素bpf_u._intflags;臌口的参数I;查找并显示网络接口设备算法的程序流程图如图3.14所示:图3-14查找并显示网络接口设备算法流程图硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计在图3—14中通过调用pcap._IGoⅫcvO函数完成查找,并把查找到的网络适配器存储在一个structpcap_if的链表结构中。如果该链表不为空,则将监测到的网卡名称放入列表框,并判断是否有所需要的网络接口设备,若有则获得指定的网卡名称,否则结束查找并显示网络接口设备的操作。2选择并打开网卡打开选择好的网络适配器,并设置好网络适配器的相应工作模式。使用Libpcap库中的函数pcap_open_lire0来完成该操作,函数原型如下:Pcapt*pcap..openpromisc,int1ive(constchar*device,intsnaplen,intto_ms,char*ebuf)第一个参数为网络适配器名,由上面的pcap_lookupdcv()函数获得的,如果device为NULL或“any”,则对所有接口捕获。第二个参数为一次抓包可以获取的最大字符数值。第三个参数表示是否工作于混杂模式。第四个参数指定是读超时值(readtimeout),第五个参数为错误信息的缓冲区㈨。该函数返回一个pcap_t类型的指针,该指针指向一个已打开的网卡。选择并打开网卡算法的程序流程图如图3—15所示。图3-15选择并打开网卡算法流程图在图3一15中,先判断是否有需要的网卡,若有则调用pcap_open1ive()函数,打开选择好的网络适配器,并设置好网络适配器的相应工作模式。若无需要的网卡,则显示出错信息,并释放网络接口设备表。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计3数据采集数据采集算法的流程图如图3—16所示。图3—16数据采集算法流程图在图3—16中,先找到指定的网卡,打开并设置为混杂模式,然后判断是否启用过滤器;如果启用则编译并设置过滤器,然后开始采集数据,如果不启用过滤器,则直接采集数据;最后将获取的数据按照口地址进行流量统计。4统计分析根据IP地址进行流量统计,如果当前流量比历史平均流量高,就计算出高的比例,如果该比例高出设定的报警阈值,就向解析模块发出异常警报,然后根据以下方法来判断是否真正流量异常:收到同一对象的2个连续警报,且每个警报所报告的流量均超出报警阈值的2倍,认为流量异常。收到同一对象的4个连续警报,认为流量异常。统计分析算法的流程图如图3-17所示。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计l警报消息一C上结舢)图3-17统计分析算法流程图3.5主机子系统主机子系统结构如图3-18所示。图3—18主机子系统结构图硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计主机子系统是监视系统用户及进程活动,根据检测系统和用户的异常行为来检测入侵。异常行为检测基于这样一个假设:入侵者的行为与正常用户的行为在一定程度上有所不同。异常行为检测的关键是识别出正常和异常行为,即识别“自我”和“非我”。在这里,把主机系统从两个层次来考察:一是进程层,二是用户层。先从用户的登录时间和登录地点来考察用户。对于正常用户而言,登录的时间和地点常常很有规律,如某办公室职员常在办公室办公期间登录服务器,如果发现该职员在午夜十二点以一个远程未知的口地址登录,则应该发出报警提醒可能发生了入侵。3.5.1黑客的攻击过程通过分析安全研究者描述的攻击者攻击事件以及攻击者站点上提供的一些攻击入侵指南,黑客的攻击过程通常包括以下步骤【5习:(1)隐藏位置:隐藏黑客的主机位置使得系统管理员无法追踪。(2)网络探测和资料收集:确定攻击目标并收集目标系统的有关信息。(3)弱点挖掘:挖掘目标系统的安全弱点和漏洞。“)掌握控制权:获取目标系统的特权帐户的权限。(5)隐藏行踪:隐藏自己在目标系统中的行踪,防止自己的入侵活动被发现。(6)实施攻击:进行破坏活动或以目标系统为跳板向其它系统发起新的攻击。(”开辟后门:在目标系统中开辟后门以方便以后入侵。黑客攻击过程如图3-19所示。由图3一19可见,一次完整的攻击过程主要包含三个阶段阁:(1)获取系统访问权前的攻击过程;(2)获得系统控制权的攻击过程;(3)获得系统访问权或控制权之后的攻击活动。完成第一阶段的攻击过程,获得了系统的访问权,攻击者就成功了一半。而完成第二阶段的攻击过程,获得系统的管理权限之后,攻击者己近于完全成功。此时。管理员已经很难阻止攻击者的破坏活动,但是可以尽早地采取一些补救措施,如备份系统、关掉系统的网络连接、关机等。备份系统是为了便于事后进行系统重建:关掉系统的网络连接或者关机可以驱赶外部或内部的攻击者。但很多关键的应用系统是不容许断掉网络连接或关机的,所以这两种措施只能做为万不得己情况下的选择,而且采取以上三种措施时,攻击者可能已经完成了他的攻击目标。第二阶段的攻击成功之后,第三阶段中的活动只是有经验攻击者的例行公事。硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计图3-19黑客攻击过程硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计通过以上分析可以看出:攻击者成功的关键在于第一、第二阶段的成功。无论是获取目标的信息,还是获得目标系统的一般访问权或目标系统的管理权,这些目标之所以能够成功,就在于目标系统存在这样或那样的安全漏洞或弱点。攻击者的攻击过程能否成功的关键在于攻击者发现并利用这些漏洞或弱点的能力。显然,攻击者攻击系统能力的强弱在于尽早地发现或者使用安全漏洞或弱点的能力。3.5.2主机子系统检测方法通过对黑客攻击过程的分析可以发现,入侵成功的关键在于是否成功地挖掘出目标系统的安全漏洞或弱点。黑客挖掘系统安全漏洞或弱点的行为与正常用户有很大的不同,并且在挖掘过程中不可避免地要产生一些系统错误,如访问权限错误、访问对象不存在等。跟踪用户使用的系统调用,检查系统调用返回的错误类型并对其进行统计,再将之与历史上正常用户所产生的错误类型统计值进行比较,如果发现该统计值比历史统计值高出一定的范围(以均值和均方差来判断),并且用户登录的时间和地址可疑,这样就可视为该用户的行为异常。而在进程一级,先记录进程的系统调用序列,将系统调用以短序列方式生成一进程行为模式库,系统运行时,比较进程运行所产生的系统调用序列,如果出现模式库所没有的序列模式,就认为有异常发生。这是因为当今黑客常常使用缓冲区溢出来入侵系统,当缓冲溢出发生时,就会出现系统调用短序列失配。3.5.3主机子系统数据源的获取按照上面提出的方式进行异常检测,要使用以下数据:用户D,应用进程名,调用的系统调用,系统调用的返回错误类型。这些数据有一些可以从系统日志中提取,但考虑到实时性的要求以及系统调用返回的错误类型在日志中没有完全反映,因而在这里采用对系统内核系统调用进行拦截的方式来获取所需的数据。IAnux提供的可加载内核模块(Loadable截成为可能。1可加载内核模块LKM是Linux系统用于扩展其功能的。使用L删的优点是他们可以被动态的加载,而且不需要重新编译内核。由于这些优点,他们常常被特殊的设备(或者文件系统),如声卡等使用。在内核编程时常涉及到系统调用,每个操作系统在内核中都有一些最为基本的函数给系统的其他操作调用,在Linux系统中这些函数被称为系统调用(SystemCall)。他们代表了一个从用户级别到内核级别的转换。如在用户级别中打开一个文件在内核级别中是通过sys_open这个系统调用KernelModule-LKM)使得这种拦硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计实现的。在内核级别内编程带给我们很多好处,同时也给我们带来了不少缺点。系统调用必须从用户空间中获得调用的参数,因此运行对内核空间的LKM如何正确存取到用户空间所分配的参数是LKM编程要处理的一个重要问题。同样,如果L酬要向用户空间传出数据也是一个需要重视的问题。在本系统中,LKM需要为用户空间的主机子系统的异常检测提供数据源,因此必须从内核空间传出数据。在这里需要将收集到的数据写入一个命令管道,让用户空间的进程读取,因而要用到open()、write()这些函数。一个简单的方法就是定义两个函数指针,然后从系统调用列表sys_call_table[]中取得sys_open()和sys_write()的函数地址来直接调用.但在处理其传入参数时有一个技巧,因为它们需要这些参数在用户空间而不是在内核空间,除了将准备的参数从内核空间拷贝到用户空间这种方式之外,还可以直接设置寄存器来达到相同的目的。在Linux中是通过段选择器来区别用户空间和系统空间的,而系统调用所使用的参数都是通过数据段(Ds)来寻址的,DS可以通过asm/segment.h中的get_ds()获得。因此如果将段选择器设置为一个合适的值,就可以直接获得系统调用的参数。设置段选择器可以用set—fs()实现,但是要注意的是获得系统调用的参数以后必须恢复fs的值5”。2系统调用的封装为了及时全面地取得所需的数据源,我们对RedHatLinux7.3中Linux2.4.18的206个系统调用进行了拦截封装,以有三个参数的系统调用为例,定义如下宏:#definetypeMYSYSCALL3(type,name,typel,argl,type2,ar92,type3,ar93)\my##name(typel,ar91,type2,ar92,type3,ar93)X{\longret;\intfdnmm_scgment_told_fs..value;\ret=orig..##namc(argl,ar92,ar93);\∥用实际的系统调用名字代替。nalnc。if(strcmp(current->comm,HID)==0)retum戚jl∥判断当前进程的命令值是否等于HID值else{、tsm.errid=-ret;\tsm.uid=ctm姐t->uid;\tsm.syscid=_NR_##name;\tsm.procid=currcnt->pid;\腰传出结构体的出错信息腰传出结构体的用户n)腰传出结构体的系统调用腰传出结构体的进程D硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计mcmset(tsm.procname,0,16);\s廿cpy(tsm.procname,current->comm);\//新的要传出结构体的系统调用的进程名old_fsvaluefgetfsO;\脏读写文件前先得到当前的盘set.fs(get_dsO);\∥获取用户数据段寄存器fd=open(pipename,O_WRONLYlO_NONBLOCK,0);\//设置非阻塞标志write(fd,(void*)&tsm,sizeof(tfidinfo));\II写至i]管道中字节数close(fd);\set_fs(old_fs_value);\//恢复fsreturnret;\)\l其中pipename是由主机子系统在用户空间建立好的命名管道,tsm是要传出的结构体,其定义为:typedefslruct_hidproclintuid0}甩户Dintsyscid;//月]l调用的系统调用号intprocid;//进程Dint蹦id;∥系统调用返回的出错信息charprocname[16];//i周用该系统调用的进程名lhidinfo;这样,先定义一个函数指针,再用宏对该系统调用进行封装,在模块加载时用该指针保存原系统调用地址,用封装系统调用的函数地址替换掉系统调用列表sys_caU_table[]对应的系统调用地址,当用户程序调用该系统调用时进入封装系统调用函数,在该函数内再调用原系统调用,当原系统调用返回后,取得其返回值,系统调用号,用户D和用户进程名将其送入命名管道后再退出,这样就成功地达到了目的,取得了所需要的数据源。当模块退出时,再用原先保存的系统调用地址恢复sys._call_tableNBp可。3.5.4异常行为的检测对于用户层检测用户的登录的时间、地点以及检测权限禁止等错误类型,可以发现用户的一些非法行为【堋。更重要的是在进程层根据系统调用短序列对于检硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计测非法用户的入侵活动非常有效。l系统调用短序列的性质关于系统调用短序列,Forrest等人的研究表明删:(1)系统调用短序列的长度太长和太短都不合适,理想的长度为6。系统调用短序列的长度太长,则短序列变化的可能性就越大,标识程序行为特征的能力越弱;而太短又不能充分表示行为的模式轮廓。(2)在一个程序(如sendmail)执行过程中所产生的系统调用中截取的短序列的个数随系统调用序列的长度的变化规律是:在系统调用序列中3000个调用之前特征短序列的个数增加较多,3000个调用之后,新的短序列增加很少.这表明正常行为模式集合是有限的。(3)不同的程序之间的行为模式具有明显的区别,这表明每一个程序的行为模式可以用于唯一描述程序自身的特征。“)程序的行为模式,对系统攻击具有显著的反应能力,能够准确识别攻击行为。上述研究结果表明,系统调用短序列可以作为描述程序运行的行为模式.基于这些行为模式可以构建程序行为模式库,以此作为入侵检测的一个重要手段。2系统调用短序列的获取系统调用短序列是这样获取的:从所考察的程序执行中产生的系统调用序列的第一个系统调用开始,依次截取固定长度的系统调用短序列,再根据系统调用短序列的起始系统调用名称进行分类,构成利用系统调用短序列表示此程序的行为模式库。下面的例子给出了系统调用短序列的获取方法。假设某程序A在正常情况下执行过程中所产生的系统调用序列如下:open,read,衄ap,open,呦p,read,map。设所考察的短序列长度为3,通过上述描述的截取方法得到系统调用短序列集合如表3-I所示。表3-I系统调用短序列集合CallOPen位置1readmmapopen位置2mmnpOpenreadmmapOPen珈napmapread衄明lpmapread硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计即程序A正常行为模式库(每一行是一个系统调用短序列,即一个行为模式)。可以依据同样的方法获取再次运行程序A的当前行为模式。假设程序A在再次执行过程中产生了如下的系统调用序列:open,read,咖ap,open,map,open,map。其中有一个系统调用(序列中的第六个)从read变为mmap。依据同样方法,得到当前的行为模式如表3—2所示。表3-2当前的行为模式CallOPen位置lreadmmapopen位置2mmapopenreadmmapopenmapopen皿nap砌apopenmap其中,open、mmap、open和map、open、map是新的短序列。当前行为模式与正常行为模式相比,出现的新短序列越多,也就表示程序行为与正常行为的偏差越大。3异常行为识别通过对当前行为模式与正常行为模式库的比较,可以有如下两种方法来判断程序的行为是否异常。第一种方法是:将程序当前运行所表现的行为模式与正常行为模式库中的行为模式进行比较,判断它们是否在正常行为模式库中。正常行为模式库中未出现的短序列将被认为是不匹配的。通过记录不匹配短序列的数量确定一个程序的异常程度。根据系统的正常运行状况,‘设定一个阀值,不匹配短序列数超过阀值的程序视为异常。显然,不匹配短序列的数量与所考察的系统调用序列长度相关,因此,将不匹配短序列的数量相对于行为模式短序列总数的百分比来作为判断的指标较为合理。理论上讲,当程序的运行是正常行为时,这两个数字应该是零;而在异常情况出现时,这两个数字将会出现显著的跃升。第二种方法是:计算程序运行所产生的行为模式与正常行为模式有多大的不同。两个序列的相似性可以通过利用决定两个序列是否可比的海明距离40硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计(Hammingdistance)来计算,即:两个短序列i,j的区别是由它们的两个海明距离d(i,j)一两个短序列中相同位置上不匹配的系统调用的个数来决定的。对每个新的序列i,使用下面的公式定义其相对于一组正常短序列的最小海明距离drain(i):drain(i)=min{d(i,j),J是任一正常短序列l。drain值表示了程序的异常程度。同样,依据系统的正常运行状况,也需要设定一个阀值,当海明距离超过这一阀值时,则视程序的行为异常。在前面所讨论的例子中,有2个系统调用短序列不匹配,占短序列总数的40%(此例中系统调用短序列总数为5)。两个不匹配短序列的海明距离drain值都是1。3.6防火墙子系统防火墙子系统主要是配合其它子系统完成响应功能【删。在本系统中,防火墙子系统接受其它系统发来的请求和命令,对Linux防火墙Iptables进行动态配置来保护服务器的安全。防火墙子系统包括防火墙通信模块和响应模块。通信模块负责与其它子系统的联系;响应模块按策略做出响应并对Iptables进行动态配置,包括连接的重置与阻断、禁止m等【6l】。我们主要对SYNFlooding拒绝服务攻击进行了研究。当系统遭到SYNFlooding攻击时,网络子系统将首先检测出来,发出警报,并将响应请求发往防火墙子系统,防火墙子系统启动SYNFlooding响应模块阻断SYNFlooding对服务器的攻击。3.6.1sYNFIoodjng攻击原理SYNFlooding是一种拒绝服务攻击方法,它是所有网络攻击中使用得最为广泛的一种方式,其原理非常简单,但使用起来非常有效,至今也没有比较好的防范方式。TCP协议规定,一个TCP连接的建立必须经过一个“三次握手”的过程同。如图3-20所示,TCP连接发起方源端先给接收方目的端发送一个SYN同步包,目的端收到SYN同步报文以后返回SYN+ACK包,并等待源端的ACK包(即三次握手的最后一次),如果这个包到来,则TCP连接成功建立,守护进程的accept调用返回连接好的套接字描述符,该连接则从等待队列中移出,让出位置给新的连接。41硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计发起方接收方.J接收方.JⅡSTINO一一.J图3-20TCP连接三次握手图3—21SDIFlooding攻击针对每个连接,连接双方都要为该连接分配内存资源,如socket结构、Internet协议控制块、TCP控制块结构等。SYNFlooding攻击就是不发最后一个ACK包,且它发出的第一个SYN包中的源地址也是伪造的,这样就造成被攻击主机的TCP栈中堆积着大量不可能得到应答的半开连接,它们在等待队列中等待不可能到来的第三次握手,直至超时才抛弃。由于大量这样的包进行骚扰,使得正常的TCP连接请求反因等待队列被占满而被拒绝。SYNFlooding攻击如图3-21所示。FIooding攻击的识别与防范3.6.2SYN识别SYNFlooding攻击比较简单,原则是:最近n秒内,如果发往某主机的SYN包数目超过m,即可认为发生了SYNFlooding攻击。n和m的值根据具体的网络环境和主机提供的服务来定,可以通过实验来测定正常情况和模拟SYNFlooding下的SYN包数量,由此来确定这两个值,一般来说,与SYN攻击相比,正常情况下TCP连接所产生的SYN数量是微不足道的【63】。尽管目前已有多种方法对SYNFlooding进行防范,但效果都不是很理想,在研究了当前已有的SYNFlooding防范方法后,这里提出了一种新的SYNFlooding防范方式一首次SYN请求延迟处理方式。该种方式利用TCP协议本身的重发机制来对抗SYNFlooding攻击。Flooding硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计1首次SYN请求延迟处理机制SYNFlooding攻击时,所有发出的SYN包中的源地址和源端口都是随机伪Flooding造的,服务器在很短的时间内收到大量的SYN请求包。在现有的SYN防范方式中都是主动地去从那些包中去识别出正常用户的请求并为之服务。但由于大量的SYN包都是伪造的,所以系统处理那些伪造S.|『N包的开销远大于处理正常SYN包的开销。并且SYNFlooding攻击的规模越大,系统所花开销也就越大,所以对于大规模的¥YNFlooding攻击,现有的防范方式基本上还是无能为力.发送方延时网关接收方.JⅡSTE矸.JSY眦CVD.JoCOHNECTED●’图3-22SYN请求延迟处理机制SYN请求延迟处理方式与现有的防范方式不同的是,它不再主动地去对到来的SYN包进行验证处理,而是被动的停止等待。当一个S1fN包到达网关时,记录包的地址和端口,然后就将SYN包丢弃等待。如果该SYN包是一个正常的请求,发送端将在3秒后重发该SYN包。网关再次收到SYN包时就会在已收到的slfN包队列中搜索,如果队列中来自于相同地址和相同端口的SYN包已在队列中,说明这是一个正常的请求,这样就允许防火墙通过所有来自该主机的包。也就是说第二次重发的SYN包是对第一次SYN包的确认,收到确认的SYN包通过,没收到确认的则被视为伪造的包被丢弃。其原理如图3-22所示。从协议的原理上来讲,SYN请求延迟处理的原理就是利用现有TCP协议的重发机制,将“三次握手”在遭受SYNFlooding攻击时变为“带确认的三次握手”,前两次SYN包除了向目标端提供本机地址及端口外,还有证实这次请求是一个真硕士学位论文第三章入侵检测与防火墙相结合的校园网安全模型设计实的请求之意。“确认”只是正常用户第一次向目标端发起连接时被要求,后面的连接请求又恢复为“三次握手”。2SYN请求延迟处理的实现一般TCP的SYN包第一次重发是在3秒后,第二次是在6秒后,第三次在12秒后,而第四次重发在24秒后㈨。圃图3-23S1『li请求延迟处理根据上面所述的SYN请求延迟处理机制,在实现SYNFlooding防范模块时,设置两个时间值,一个是3秒,一个是15秒。如果3秒内有来自相同地址和相同端口的SYN包,则认为该包异常,丢弃。如果在收到的SYN包队列中,15秒内均没收到来自相同地址和相同端口的SYN包,则将该包从队列中清除。其程序流程如图3-23所示。用这种方式来对¥YNFlooding攻击进行防范处理,网关可以用相对很少的开销来对付大规模的SYNFlooding攻击。不过其缺陷是降低了服务质量,正常用户第一次请求需多等待一个¥YN超时,但以后的请求均按正常情形进行处理。硕士学位论文第四章入侵检测测试与分析第四章入侵检测测试与分析校园网中包含着若干应用网站的服务器,选择其中网络实训中心的服务器做实验对象。服务器是mMx235(8671_6lc),硬件配置:CPUXeon2.66GI-Iz硬盘36.4G,内存512M。系统是:RedHatLinux7.3。防火墙软件是:操作系统自带的Iptables。IP地址是:192.160.0.1。下面用测试结果说明系统的检测效果。4.1网络流量的测试测试中,对标志位是SYN的TCP包进行检测,SYN包的历史平均流量是23208.5包/秒(如图4-1所示),在程序运行一段时间后,用SYlq常状态,如图4_2所示。Flooding工具进行测试,攻击后发现SYN包的流量迅速增至100000--130000包/秒的异)一■IlIII…………ll一图4-ISDI包的历史平均流量7-.3208.5p/,456534600l102356O.,6n.,a,.4I23203.5p/,2320暑.5p/3■lm:rt!!!!!!!123208.5p/,■lct"t!!!!!!!11123431254暑71284753.864.534.5423208.50/,■Iert!!!!!!!12320暑.5p/,■lCJ't!!!!!!!:2320暑.5p/,IIcrt!!!!!!!12320暑.5p/,■lcrt!!!!!!!1Il暑453108,6836暑,6352403.,43.6,O.j,2320暑.5p/,2320暑。5p,,O.52图4-2对S1『lIFlooding攻击的响应硕士学位论文第四章入侵检测测试与分析图4-3是对攻击后的几组数据图形表示,图中流量的增长异常明显,这样流量异常现象明显表示有SYNFlooding类型的入侵行为发生。0000¨0000¨0000舢.000+∞一圬一∞一卯一1B121824图4-3SYNFlooding攻击的异常流量在程序运行一段时间后,用SYNFlooding工具进行测试,攻击后发现SYN包的流量迅速增至10(0)O--130000包/秒的异常状态,并能够产生有关报警信息,表明该系统在对拒绝服务攻击之类的入侵行为有比较理想的检测能力。4.2异常行为检测测试使用系统调用短序列检测异常行为,必须先建立系统常用进程的正常行为模式库。本次实验对RedHatLinux7.3中Linux2.4.18的206个系统调用进行了拦截封装,同时记录不匹配的序列数和海明距离,设SA为一个进程匹配过程中产生的最小海明距离dmin,而最后判断时以SK为判定依据,SKffiSA/K,K为系统调用短序列的长度。进程welcome是一个有缓冲溢出漏洞的应用程序,它询问连入的客户姓名并发出欢迎信息。实验后得到表4.1。表4-1系统调用短序列异常检测进程名lsls-lls.aps短序列总数(Nffi6)239239239255不匹配短序列数012OO不匹配短序列SK所占比例%0500O0.500硕士学位论文第四章入侵检测测试与分析表4-1(续)psdps-auxfinger25525513313321210lO160130O.3012062OO.17OO.5OO.83Finger-1welcomewelcome(异常)通过分析表4—1的数据,当welcome进程正常运行时,所有产生的系统调用短序列都在正常的模式库中。而对welcome施以缓冲溢出攻击,获得一个shell后,仅进行一次ls操作,不匹配的短序列数一下就增为13个,占正常模式库中的62%,而最小海明距离的最大值SA也达到了5,远远偏离了正常行为,所以根据这些值可以判断出有入侵发生。由于缓冲溢出攻击所得到的shell是以甑ocve执行,它替换了原进程所占有的资源,但进程号不变,在以缓冲溢出攻击得到shell后进行的操作越多,与原进程正常模式库中不匹配的短序列数也就越多,不匹配的程度也就越大。4.3SYNFlooding防范测试在对已知攻击入侵的检测方面,按照P2DR模型对SYNFlooding拒绝服务攻击进行了测试。在防范SYNFlooding时使用的是首次SYN请求延迟处理机制。b-'YNF100din披击时同关流量—-.P∞、、∞∞Jjet∞接收—,・一et址接拽h田鹭锄伽季锄鳓瑚娜∞l35T嗍穆)SYN9Il131517192l图4-4Flooding攻击时网关流量硕士学位论文第四章入侵检测测试与分析局域网中网关操作系统是RedHatLinux7.3,防火墙使用的是操作系统自带的Iptables。攻击时所使用的SYNFlooding攻击程序是网络下载的源码编译后得到。图4—4是网关遭受SYNFlooding攻击时不启动入侵检测系统时网关的流量图,其中:eth0网卡连接外网,ethl网卡连接内网。图4—5则启动了入侵检测系统,对比图4-4和图争5可以发现SYNFlooding攻击被抵御在网关防火墙之外。SYNF100din瞰击时IDs响应6∞—卜et.h0锄接收1伽+ethl宣300|八……一一接收瑚il∞i0一一一一一Z・/\.........t35T9ll1315l丁时间(秒)图4-5SYHFlooding攻击时有IDS响应的网关流量在内网中的服务器主机操作系统使用的是RedHatLinux7.3,Web服务器是Apache。通过tcpdump侦听发现,在局域网中通过网关正常访问服务器的响应时间少于1秒。而当遭受SYNFlooding攻击时,若启动入侵检测系统,第一次访问响应时间为3秒,以后的继续访问响应时间少于1秒。而不启动入侵检测系统访问总是超时。如表4—2所示。表4-2Web服务器响应时间访问次数1234无攻击时<1秒《1秒.c1秒《1秒启动IDS系统3秒<1秒‘1秒.(1秒不启动IDS系统超时超时超时超时通过图4--4和图4—5对比,当有攻击时,若不启动入侵检测系统,网关ethl的流量达到200KBytes/s,启动入侵检测系统后,对于SYNFlooding拒绝服务48硕士学位论文第四章入侵检测测试与分析攻击,所提出的入侵检测系统模型能够检测出来,并进行有效防范。通过测试,入侵检测与防火墙相结合的校园网安全模型既能检测出已知的入侵(如SYNFlooding),也能检测出未知的入侵(如缓冲区溢出攻击),并能对SYNFlooding攻击进行有效防范。2006年7月,该模型已在湖南铁路科技职业技术学院心理咨询网站进行试用。硕士学位论文第五章总结与展望第五章总结与展望5.1总结按照基于特征的入侵检测和基于异常行为的入侵检测机制,针对校园网的安全现状,提出了将入侵检测技术与防火墙结合的校园网安全方案,该解决方案吸收了HIDS和NIDS的优点,并与防火墙结合使用,可以更好地防范、检测和响应入侵。实践证明,该方案对已知的和未知的入侵都有较好的防护能力。主要优点如下:l能够识别可疑行为实验证明,入侵检测与防火墙结合在校园网安全方案,既能检测出已知的入侵(如SYNFlooding),也能检测出未知的入侵(如缓冲区溢出攻击)。对于其它的已知的攻击行为,只需要在网络检测子系统中添加新的检测模块和规则:而对于未知的其它攻击,只要建立一个基于系统调用短序列的完整的正常模式库,设置适当的阀值,检测出未知的入侵是完全可能的。2入侵活动升级的过程中在尽可能低层次检测出对基于特征的检测的网络子系统,只要一检测到有已知入侵的特征出现就会立即报警。而基于异常行为的主机子系统,只要设置了适当的阀值,就可以在入侵活动发生的初期检测出入侵,从而避免更大的损失。3配置在不同主机上的组件之间能根据检测到的入侵和报警级别相互通信入侵检测与防火墙结合在校园网安全系统是由多个不同的组件组成,各组件分担不同的任务,分布在不同的位置,相互协作配合共同组成一个完整的入侵检测系统。组件之间相互通信配合。4能够处理大规模并发攻击各个子系统均由多个不同的进程共同组成,各进程相互配合并发运行,关键的进程间通信使用的是速度最快的内存共享方式,这些都是为大规模并发攻击发生时所准备的。入侵检测与防火墙相结合的校园网安全模型由四个子系统组成,用户接口子系统完成对整个入侵检测系统的控制,主机子系统采用基于异常行为的检测,可以在入侵活动发生的初期监测出来,网络子系统采用基于特征的检测,并对检测结果及时产生报警信号,防火墙予系统则根据真实的入侵进行动态配置。通过测试,入侵检测与防火墙相结合的校园网安全模型对已知的和未知的入侵都有较好的防护能力。硕士学位论文第五章总结与展望5.2下一步的工作设想由于传统的计算机安全理论不能适应动态变化的、多维互联的网络环境,针对日益严重的网络安全问题,以及越来越突出的网络安全需求,“可适应网络安全模型”和“动态安全模型”应运而生。九十年代后期,可适应网络安全从理论上、产品上得到了逐步完善。这其中,IDS与防火墙的互动技术就是其中一例。目前一般认为防火墙是静态防护的安全产品,而入侵检测系统(IDS)提供了动态的安全防护,IDS和防火墙互动可以提供更高的安全性。某些安全思想将防火墙作为网络安全中心,并提出胖防火墙的概念,将IDS、VPN及防病毒等功能都集成到防火墙中,这种方式并不是一种好的解决方法,因为我们都知道,系统越复杂,其自身的安全问题就越难于控制,而且其性能也是一个关键问题,这就大大制约了这种技术的发展和推广,而互动技术的使用,却可以避免这些问题,且分布式的工作方式也更符合网络的体系架构,所以互动技术的发展和使用是比较可行的。当然,互动技术的进一步推广和使用,还需要解决标准统一、互动设备间通讯的安全保障等问题。当然,应当看到IDS与防火墙互动技术的实施只是初步实现了防护、检测与响应三者之间的一种简单的协作和体系防护功能。这并不说明这样一个安全体系就能在现实网络环境中发挥完善的防护效果。正如防火墙不可能百分之百可靠一样,检测系统自身也不能具有较防火墙更高的可靠性。但可以确信的是,在这样一个互助互补的安全体系之下,网络一定会更安全。入侵检测和主动防卫是一种实时交互的监测和主动防卫手段,尽管IDS也采用特征库的方法,但特征库只是报警的方式。即使特征库没有现成的样本,IDS照样给大量的仍可以观察和分析的原始行为写日志和报警。管理者照样可以了解和给出必要的安全判断和措施。IDS能与防火墙进行互动,进行主动的防卫。现仅提出了一个入侵检测与防火墙结合在校园网中的应用模型,一个概念上的系统模型要成为一个实际的应用系统还有许多事情要做,主要是以下几个方面:1安全的信息传输入侵检测与防火墙结合在校园网中的应用模型中并没有考虑各个子系统之间消息传输的安全性,所使用的都是明文传输。在实际应用中,应该考虑传输密文,可以添加一个加密模块对传输的消息进行加密。2网络子系统特征模式库的建立和完善特征模式库需要在实践中不断的添加完善,对于新出现的网络攻击,要对其进行特征提取,并添加处理模块。3主机进程正常行为模式库的完善及阀值的确定51硕士学位论文第五章总结与展望要提高判断异常行为的准确性,降低误报率和漏报率,需要经过一段足够长时间的训练期,以便在这期间对正常行为进行统计记录,建立正常行为系统调用短序列模式库,同时确定一个合理的阀值。硕士学位论文参考文献参考文献[1]JoelScambray,StuartMcClure,GeorgeKurtz著.黑客大暴光,钟向群,杨继张译.北京:清华大学出版社,2002.23~35[2]EricCole著.黑客一攻击透析与防范,苏雷译.北京:电子工业出版社,2002.1~20[3]LarryLpeterson,BruceS,Davie.ComputerNetworks.北京:机械工业出版社,2000.87~95[4]MukherjeeB,HeberleinL,LevittK.NetworkIntrusionDetection.IEEENetwork,1994,8(3):26~41[5]孙海斌,徐良贤,杨怀银.针对网络入侵检测系统的攻击与防御.计算机工程与应用,2002,38(13):180~182[6]姚青,高嗣昌.基于网络入侵检测的网络安全监测系统的设计.计算机应用与软件,2004,21(1):91~93[7]江雨燕.计算机网络黑客及网络攻防技术探析.计算机应用与软件,2003,20(3):56~58[8]唐正军.网络入侵检测系统的设计与实现.北京:电子工业出版社,2002.100~108[9]S.M.Bellovin.SecurityProblemsintheTcP/IPprotocolsuite.ComputerCommunicationReview,1989,19(2):32~48[10]凌捷,肖鹏,何东风.防火墙本身的安全问题浅析.计算机应用与软件,2004,21(2):94~96[11]李国友.对硬件防火墙的改进方案.计算机安全,2004,(2):23~25[12]DorothyE.Denning.AnIntrusion—DetectionModel.IEEETransactionsonSoftwareEngineering,1987,13(2):222~232【13]VernPaxsonBro.Asystemfordetectingnetworkintrudersinreal—time,ComputerNetworks,1999,31(8):23~24[14]DanielBriere,ClaudiaBacco.IntrusionPreventionSystemscompletesecurity.NetworkWorld,2002,15(10):120~122[15]Sang—Junttan,Sung-BaeCho.Detectingintrusionwithrule-basedintegrationofmultiplemodels.Computers&Security,2003,22(7):613~614[16]唐正军.入侵检测技术导论.北京:机械工业出版社,2004.71~84[17]陈瑾.入侵检测技术概述.计算机工程与应用,2004,40(2):133~136[18]盛思源,战守义,陈谊.入侵检测系统AIDS的研究与设计.计算机工程与应用,2002,38(1):55~57[19]张丽红.计算机网络入侵检测技术研究进展.微计算机应用,2004,25(2):硕士学位论文参考文献135~140[20]徐晖.入侵检测系统的发展研究.微机发展,2003,13(1):67~69[21]吴新民.基于网络的入侵检测系统和基于主机的入侵检测系统的比较分析.微型电脑应用,2002,18(6):45~48[22]欧阳毅,周立峰,史以兵.网络入侵检测系统结构模型的探讨.计算机工程与应用,2002,38(11):17l~173[23]于越.网络入侵检测系统整体设计分析.微机发展,2004,14(3):113~115[24]贾春福.系统级入侵检测技术研究.计算机工程与应用,2002,38(13):24~25[25]张然.入侵检测技术研究综述.小型微型计算机系统,2003,24(7):1113~1118[26]吴新民.两种典型的入侵检测方法的研究.计算机工程与应用,2002,38(10):18l~184[27]王文奇.高速网络下入侵检测系统设计.计算机工程与应用,2004,40(19):9~10[28]王灏.一个分布式入侵检测系统模型设计.微机发展,2003,13(1):76~78[29]张然,钱德沛,张文杰,等.入侵检测技术研究综述.小型微型计算机系统,2003,(7):1113~1118[30]郭学礼,王九菊,张凌海.反拒绝服务攻击的入侵检测系统模型.计算机工程,2002,28(1):148~149[31]梁健,林中.入侵检测关键技术研究与实现.计算机工程与应用,2004,40(26):129~132[32]张铭来,金成飚,赵文耘.分布式入侵检测系统的数据采集技术.计算机工程,2002,28(2):165~167[33]E.Biermann,E.Cloete,L.M.Venter.Acomparisonofintrusiomdetectionsystem.Computers&Security,2001,20(2):676~683[34]张双,卿斯汉.拒绝服务攻击的分析和防范.计算机工程与应用,2002,38(12):183~186[35]薛静锋,宁宇鹏,阎慧.入侵检测技术.北京:机械工业出版社,2004.3~9[36]张兴东,胡华平,况晓辉,等.防火墙与入侵检测系统联动的研究与实现.计算机工程与科学,2004,26(4):23~24[37]侯小梅,毛宗源,张波.基于P2DR模型的Internet安全技术.计算机工程与应用,2000,36(12):1~5[38]CohenFred.IntrusionDetectionandResponse.Computer&Security,1997,16(6):516~517[39]王伟,彭勤科.主机日志分析及其在入侵检测中的应用.计算机工程与应用,2002,38(13):35~37硕士学位论文参考文献[403DebarH.TowardsTaxonomyofIntrusionDetectionSystemComputerNetworks,1999,31(8):806~810[41]T.Lunt.Asurveyofintrusiondetectiontechniques.Computer&Security,1993,12(4):405~418[42]LiepinsGE,YaccaroHS.IntrusionDetection:ItsroleandValidation.Computers&Security,1992,(11):347~355[43]初阔林.分布式网络入侵检测系统中的通信设计.微机发展,2003,13(8):14~16[44]EugeneHS,DiegoZ.IntrusionDetectionUsingAutonomousAgent.ComputerNewYork’S,2000,34(4):547~570E[45]DouglasComer著.ComputerNetworksandInternets.北京:清华大学出版社,2003.37~45[46]ChriaHare,KaranjitSiyan.InternetFirewallsandNetworkSecurity.北京:机械工业出版社,1998.55~68[47]YiHu,BrajendraPanda.ADataMiningApproachforDatabaseIntrusionDetection.ACMSymposiumAppliedComputing,2004,11(2):71l~716[48]YangM,SunJournal[49]JofZH,SongYQ.Fastupdatingofgloballyfrequentitemsets.Software,2004,15(8):1189~1197Luo,SBridegs.Miningfuzzyassociationrulesandfuzzyfrequencyepisodesforintrusiondetection.InternationalJournalofIntelligentSystem,2000,15(8):678~703【50]李晓秋.入侵检测系统中的快速多模式匹配算法.计算机应用与软件,2004,21(2):84~86[51]任晓峰,董占球.提高Snort规则匹配速度方法的研究与实现.计算机应用,2003,23(4):59~61[52]CHBNShuo,ANChang-qing,LIXue—nong.ADistributedIntrusionDetectorwithApperception.ComputerEngineeringandApplication,2000,47:128~131[53]SUPu-Rui,LIDe-Quan,FENGDeng-Guo.AHost—BasedAnomalyIntrusiononDetectionModelBasedGeneticProgramming,Journalofsoftware,2004,14(6):1120~1126[54]席厚金,王林.Linux下串行通讯的实现.计算机应用与软件,2003,20(2):55~57[55]HocbbergJ,JacksonDetectingNetworkK,StallingsC,eta1.AnAutomatedSystemforIntrusionandMisuse.Computers&Security。1993,12(3):235~248[56]张晓芬,牛少彰.入侵检测系统的标准化.网络与应用,2003,7(7):硕士学位论文参考文献18~2l[57]BobToxen.Linux安全入侵防范检测和恢复,前导工作室译.北京:机械工业出版社,2002.105~118[58]StefanAxelsson.Thebase-rateonfallacyandthedifficultyofintrusiondetection.ACMTransactionInformationandSystemSecurity,2000,3(3):186~205[59]RichardFerertag,SueRho,LeeBenzinger,eta1.InstrusionDetectionadaptivenegotiation.ComputerIntercomponentNetworks,2000,34(1):605~621[60]吴继峰,孙波,卫东华。Linux环境下基于防火墙的VPN技术研究与实现.计算机应用与软件,2003,20(10):74~76[61]陈科,李之棠.网络入侵检测系统和防火墙集成的框架模型.计算机工程与科学,2001,23(2):26~28[62]W.RichardStevens著.TCP/IP详解,范建华,胥光辉,张涛,等译.北京:机械工业出版社,2000.53~81[63]范海绍.入侵检测与预警控制的捷径一设置陷阱.计算机应用与软件,2003,20(12):84~86[64]李小勇,刘东喜,白英彩.多种针对TCP攻击的原理与检测.计算机应用与软件,2004,21(1):94~96硕士学位论文致谢致谢本论文从选题、方案的论证,到撰写、实验及其测试都是在导师刘高嵩副教授和尹新怀高级工程师的悉心关怀和指导下完成的。他们渊博的知识、严谨的治学态度、平易近人的作风、敏锐的洞察力,无可置疑地将影响我今后的岁月。他们不仅提供给了我良好的学习和实验环境,开拓了我的思维和眼界,更重要的是使我学到了许多做人的道理和为人处事的方法。在此,谨对导师多年的关心爱护、悉心培养致以最真挚的谢意。同时,还要感谢所有指导和帮助过我的老师、同学和朋友,并对为我提供实验条件的湖南铁路科技职业技术学院网络中心、湖南怡恒电子有限公司产品开发部的领导和同行表示衷心的感谢。硕士学位论文攻读硕士学位期间主要的研究成果攻读硕士学位期间主要的研究成果1、发表的论文[1]宋继军,刘高嵩.校园网中入侵检测与防火墙的结合应用.企业技术开发,2006,25(4):18~21[2]宋继军.校园网中分布式入侵检测系统模型的设计.铁路计算机应用,2006,15(3):40~431、参编的教材[1]李智伟.计算机组装与维护.北京:北京大学出版社,2006.245~278[2]杨圣洪.计算机应用.湖南:湖南科学技术出版社,2004.157~1843、参加的研究项目湖南省中等职业学校重点建设专业一计算机网络技术专业教学指导方案课题组副组长,主笔制定该方案,经省教育厅组织专家论证,2004年9月,湖南科学技术出版社出版发行,并已在全省使用。58入侵检测与防火墙技术相结合的校园网络安全研究
作者:
学位授予单位:
宋继军中南大学
本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1116225.aspx
因篇幅问题不能全部显示,请点此查看更多更全内容