• 7.11 MB
  • 2022-06-16 12:40:43 发布

基于蜜网技术联动性的研究与设计

  • 76页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
西南交通大学硕士学位论文基于蜜网技术联动性的研究与设计姓名:张青军申请学位级别:硕士专业:计算机应用技术指导教师:马永强20080701 西南交通大学硕士研究生学位论文第lI页AbstractHoneypottechnologyisanewmergingtechnologyinrecentyears,itisonekindofsecurityresources,whosevalueliesinbeingscanned,attackedandcompromised.Hone)netiSasortofthefraudulentnetworkwhichdevelopedonthebasisoftheHoneypottechnology.Asanetworksystem,hone)netgenerallyconsistsoffirewall,intrusiondetectionsystem(IDS),oneormorehoneypotmachines,butitcanalsobeconstructedonaphysicalhostbyvirtualmachinesoRwares.Sofarithadalreadyexperiencedfromthefirstgenerationofhone)nettechnology,secondgenerationofhone)nettechnologytothethirdgenerationhone)net’Sdevelopmentprocessonthehoneypottechnology,evenpresentedthelarge—scaleHoneyFarmtechnology.ButtheHone)netisonekindofnewtechnology,alsohasthelimitationsasothernewtechnologies.TheHone)netsystemhasthedisadvantageofinfirmnesslinkagebetweenhoneypot,firewallandIDS,whichdoesnothaveself-learningcapabilitytotheintrusionrules.Thisthesishasdesignedasortofnewhone)netsystemarchitectureinviewoftheproblem,thisarchitectureaddedthedataanalysismodule,anditalsoenablesthedeploymenthone)net’Sfunctiontoobtainthefulldisplay.Thisthesishassuccessfullydeployedahone)netsystem,whichmeetsapartfromthedatacontrol,thedatacapture,thedataanalysisdemand.Andalsothedataanalysismoduleisrealizedwiththedataminingtechnology,Specificallyusingtheclassicalnon-surveillanceclusteralgorithmofK·MEANStocarryonthemarkclassificationspecificallytothedata,alsousingthesortingalgorithmofC4.5topickupintrusionruleofthedatawhichisalreadymarked.AnditwillkeeptheintrusionruleintoIDSrulesets,thusrealizesthehone)net’Slinkageandthetrainingabilityinthetruesense.Atthesametime,whenrealizingthehoneynetsystemspecifically,Thesystemhasdesignedthedifferentstoragepatternonthebasefullyconsideringtheloginformation"ssecurityandreliability,andusingbridge’Sthoughttostrengthensecurityofthenetworkmanagementmodule.Keywords:Honeynet;Firewall;IDS;Datamining 西南交通大学四南父逋大罕学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。本学位论文属于1.保密口,在一年解密后适用本授权书;2.不保密酣使用本授权书。(请在以上方框内打“4")学位论文作者签名:冰音荤日期:删缉7月l歹日指导老师签名:易彳(’匆·El期:础9多年7月/6El 西南交通大学学位论文创新性声明本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。本学位论文的主要创新点如下:把数据挖掘算法成功运用到蜜网系统中,分析得到的入侵特征被防火墙及入侵检测学习、吸收,运用到新的阻断,从而实现真正的联动。 西南交通大学硕士研究生学位论文第1页第1章绪论1.1课题的提出及其意义随着计算机网络的发展和普及,政府机关、军事机构、企事业单位已经越来越多地利用计算机网络开展日常工作和业务,以充分共享和利用网络带来的信息资源。计算机网络已经像人类生命的一部分一样不可或缺,整个社会对计算机网络的依赖程度已经越来越高。但是与之俱来的网络安全问题也随着计算机网络规模的不断壮大也不断的凸现出来,越来越多的困绕着每个与网络相关的人们。而防火墙技术和入侵检测技术,都属于传统的安全模型,存在很多的缺陷和不足【I.3】。如防火墙不能防止绕过它的、人为因素的攻击。另外防火墙只能对网络安全进行单点控制,不能保证数据的秘密性,不能对数据进行鉴别,也不能保证网络不受病毒的攻击。当然入侵检测技术也存在着很多的问题,如会产生大量警报,而这些警报中大部分都是误警,这使得发现问题的真正所在非常困难。另外入侵检测还缺乏与其他安全工具足够的集成能力;不能协调、适应多样性的网络环境中的不同安全策略;通常无法检测新的攻击方式和已有攻击方式的新变种,因而需要不断升级、不断增大的网络流量对入侵检测技术的数据提取能力和实时报警也是个严峻的考验。从防火墙技术、入侵检测技术出现上述问题而言,说明它们不是万能的。而且它们的问题还在于所采取的安全策略是先考虑系统可能出现哪些问题,然后对问题进行分析解决。而采取这样的安全策略的主要原因又在于它们所遵循的理论体系:主体对客体的访问符合预定的控制规则,便允许其进入或认为其合法。从控制论角度来看,这是一个开环控制系统,没有反馈,是一种静态的、被动的安全策略,不能对出现的远程攻击和威胁做出必要的快速反应。就防火墙和入侵检测目前的技术水平而言,上面这些问题大多很难在现有的理论体系框架下解决,于是必须引入一种新的、不同于现有的理论的技术以弥补他们的不足,进而解决他们的问题,这就是蜜网技术【4J。 西南交通大学硕士研究生学位论文第2页1.2蜜网技术的国内外现状1.2.1国外研究状况从1988年开始,蜜罐技术逐渐引起了一些安全研究人员的注意,并且一些专门用于欺骗黑客的蜜罐工具也陆续被开发出来,最为有名的由著名的计算机安全专家FredCohen(1983年给出计算机病毒定义并且证明了计算机病毒的存在)所开发的DTK(欺骗工具包)。同时一些公司也开始对蜜罐技术进行实际应用,出现了KFSensor,Specter,ManTrap等一些商业蜜罐产品。蜜罐技术是一种欺骗入侵者以达到采集黑客攻击方法和保护真实主机目标的诱骗技术,但是对于蜜罐的权威定义是由“蜜网项目组刀的创始人LanceSpitzer给出的:蜜罐是一种安全资源,其价值在于被扫描、攻击和功科卯。蜜网技术则是在蜜罐技术基础上逐步发展过来的。在蜜网体系架构中,可以部署一个或多个蜜罐,同时保证网络的高度可控性,以及提供多种工具以方便对攻击信息的采集和分析。研究蜜网技术的组织机构主要有:蜜网项目组(HoneynetProject)、蜜网研究联盟(HoneynetResearchAlliance)。其中蜜网项目组是一个由众多志愿者组成的致力于研究网络安全的非盈利性组织,该组织成立的宗旨是:通过提供必要的网络安全知识、提供该组织开发的开源的工具软件的方法来提高人们的网络安全意识【6】。蜜网研究联盟是由各个研究蜜网的组织组成的,独立于蜜网项目组,拥有自己的组织结构,它的主要目的是:最大程度的共享各个成员组织的研究、开发、部署蜜网的相关技术及研究成果,并且完全免费向外界公布这些成果。截止到2007年1月初,已经有23个来自不同国家和地区的组织加入到该联盟【7】。蜜网项目组初期(1999年至2001年)就提出了第一代蜜网的结构模型,主要研究蜜罐系统模型的试验和蜜罐理论的验证,并且验证了蜜网的可行性和有效性。蜜网中期(2002年至2004年)的研究提出了第二代蜜网结构模型,研究的核心放在简化蜜网的应用上,着重考虑了数据控制、数据捕获、数据分析。初期的蜜网功能虽然强大,但是实用性较差,有很多版本都是基于命令行的安装,有些功能具体到用户来说不实用或者是根本就不需要的。所以经过中期的研究,在延续了蜜网初期的强大功能基础上,将蜜网所需要的工具软件都集中在一张自启动盘上,使得蜜网的应用扩展到教育、商业、军事等领域。从2005年至今,蜜网项目组研究的重点转移到数据捕获和数据分析上,并且一直致力于提高蜜网的易用性,同时随着研究的深入提出了第三代蜜网 西南交通大学硕士研究生学位论文第3页结构模型。1.2.2国内研究状况尽管蜜网技术在国外起步较早,但是在我国对该领域的研究起步则比较晚,直到2001年国家自然科学基金信息安全项目才正式对蜜罐技术进行立项研究。然而从2002年起,蜜网技术在我国已经得到了学者的广泛研究,也出现了很多针对蜜网技术的研究组织。其中最具代表性的是北京大学的“狩猎女神"项目,该项目组在蜜网技术领域的研究取得了较为突出的成就,并于2005年2月正式发展成为蜜网研究联盟中的第一支中国研究团队,2005年9月发布了网络环境感知工具N-Eyev0.1、2006年12月发布了HoneyBOW恶意代码捕获工具。狩猎女神项目组目前的实践和研究方向包括如下三个方面【8】:(1)跟进最新的蜜罐与蜜网技术发展,实际部署和维护蜜网,并对蜜网捕获的黑客攻击及恶意软件进行深入分析,增进对蜜罐与蜜网技术的理解,了解互联网最新的安全威胁。、(2)通过物理蜜罐和自动恶意软件收集软件两种途径对互联网上传播的恶意软件进行捕获,并对其进行深入分析,研究恶意软件捕获和分析的规范化及自动化流程。特别针对僵尸网络进行发现、追踪及反制的研究。(3)针对蜜网的核心功能——数据分析,研究蜜网攻击数据统计分析及关联分析技术,并进行实用化工具研发。目前狩猎女神项目部署的蜜网融合了“蜜网项目组"最新提出的第三代蜜网框架、honeyd虚拟蜜罐系统、以及mwcollect和nepenthes恶意软件自动捕获软件。1.3主要完成的工作本论文所做的主要工作如下:(1)详细分析蜜罐及蜜网技术、联动技术、防火墙技术,入侵检测技术以及实现蜜网中实现数据分析模块相关的技术——数据挖掘技术。(2)针对蜜网系统不具有入侵知识的自动学习能力,利用数据挖掘技术实现数据分析模块,并结合防火墙与入侵检测技术,实现蜜罐与传统安全技术的联动,同时达到知识吸收的目的。 西南交通大学硕士研究生学位论文第4页II(3)针对联动系统的系统架构,设计并实现蜜网系统的网关模块、honeyd远程日志模块;增加数据挖掘数据分析模块:结合现有软件技术实现数据控制、数据捕获、数据分析。(4)对部署的网络系统进行测试,对部署的网络系统进行评估。1.4各章节内容安排论文共分五章,可以概括如下:第一章:绪论部分,介绍了本课题的背景、研究意义以及现状,并说明了作者的研究内容和论文结构。第二章:蜜网及相关技术研究,分析研究蜜网技术、联动技术及其相关技术,比如入侵检测技术、防火墙技术以及数据挖掘技术。介绍蜜罐及蜜网的的相关概念,重点分析蜜罐的优缺点;还着重分析蜜网的关键技术。引入联动技术,并对涉及到的相关技术进行详细分析。第三章:蜜网系统的联动性体系结构设计,将联动思想引入到蜜网体系结构中来,详细介绍部署蜜网的设计思想;采用分块的思想对各个模块进行分析。在数据分析模块采取数据挖掘的方法。第四章:蜜网系统的设计与实现,对第三章提出的联动式蜜网体系结构进行详细实现。第五章:蜜网系统的测试,对整个蜜网系统进行功能测试。最后是结论,对本文进行总结,概述系统特色,并提出对系统进一步研究和完善的建议。 西南交通大学硕士研究生学位论文第5页第2章蜜网及联动相关技术研究本章首先介绍了蜜罐及蜜网技术,并且对其优缺点进行深入分析研究;在此基础上,引入了联动技术,并且对相关的技术如入侵检测、防火墙、数据挖掘等技术进行理论分析。2.1蜜罐及蜜网技术2.1.1蜜罐技术●2.1.1.1蜜罐的基本概念从九十年代初蜜罐概念的提出到1998年左右,蜜罐还仅仅是一种思想,通常由网络管理员所应用,通过欺骗黑客达到追踪的目的。而蜜罐的权威定义则由HoneynetProject组织的创始人LanceSpinner在“HoneypotsDefinitionsandValueofHoneypots"中给出:蜜罐是一种安全的信息资源,其价值在于被扫描、攻击和攻吲51。这个定义表明,蜜罐并不提供具备信息价值的服务,所有出入蜜罐的网络流量都预示了扫描、攻击和攻陷。而蜜罐的核心价值就在于对那些攻击活动进行监视、监测和分析。蜜罐与大部分的安全工具不同之处在于:它是一种通过伪装成真实的目标系统来诱骗攻击者攻击或损害的网络安全工具。已经使用的大部分安全技术都是针对特定问题的解决而设计的,是一种被动的防御。与防火墙和入侵检测系统相比,蜜罐并不局限于解决某个具体的问题,它是一个可以应用于不同场合的高度灵活的工具。比如蜜罐可以用于阻止攻击(类似于防火墙)、检测攻击(类似于入侵检测系统)、捕获和分析自动化的攻击(Lt如蠕虫);另外蜜罐还可以充当先期的安全预警,还具有研究黑客的活动、捕获入侵者的击键信息或者对话的能力。因此,可以说蜜罐就是一种主动的防御,它容忍攻击者入侵,甚至是诱惑攻击者入侵,从而记录攻击者的攻击工具、手段、动机、目的等行为信息,尤其是未知行为信息,进而调整网络安全策略,提高系统的安全性能。同时蜜罐还可以转移攻击者的注意力,使攻击者尽可能长时间地被绑定在蜜罐系统中,从而达到间接保护真实目标系统的作用。使用蜜罐的具体方式完全取 西南交通大学硕士研究生学位论文第6页决于部署蜜罐的本人和所要蜜罐完成的目标。不过,不管蜜罐的表现形式有哪些,它们都有一个共同的特点:它们的价值在于被探测、攻击或者攻陷时体现【91。2.1.1.2蜜罐的优缺点分析任何事情都有两面性,蜜罐也有优点和缺点这两方面。(1)蜜罐的优势‘蜜罐具有以下几个方面的优势【9】:1)数据价值由于防火墙、入侵检测系统自身的技术特点,每天都会产生大量的日志信息,从这些数量巨大的信息里提取有价值的信息是十分困难的。而蜜罐是一种没有任何预期产品活动的系统,所有对它的访问都是可疑的、非法的,从而降低了噪声级别。大部分蜜罐每天只收集到几兆字节的数据,但是由于蜜罐自身不提供产品服务的特点使得收集到的这几兆字节的数据都可能是一次扫描、探测或者攻击。所以这些少量的数据,有可能涵盖了主要的恶意性活动,而对这些数据的研究极有可能发现新的攻击方法、攻击工具。2)资源、大多数安全机制所面临的另一个难题是资源限制,甚至是资源枯竭。资源枯竭,指的是由于安全资源的过度使用导致其无法继续起作用的情况。由于蜜罐只会对少量活动进行监视和捕获,所以蜜罐通常不会出现资源枯竭的问题。3)简便性简便性是蜜罐最大的一个优点。相比其他技术来说,蜜罐的部署并不是通过开发复杂的精密算法,而是只需要配置好蜜罐,把它放在网络上,然后静观其运行状态。如果有连接连入蜜罐,就把这些连接检测出来。(2)蜜罐的劣势蜜罐与其他技术一样,蜜罐技术在具备了上述的优点的同时,其缺点也不可避免。所以说蜜罐的出现并没有淘汰其它的安全技术,而是与其它安全技术协同工作。蜜罐的劣势主要表现在以下几个方面【9】:1)视野有限蜜罐最大的缺陷就是视野的有限性。它的视野就像一台显微镜一样,只能观察到它镜头下的一小部分。具体表现为:只是对针对它自身的活动起到响应、记录信息的作用,而不能对同一个网络中其它系统的攻击起到任何的作用。另外如果黑客发现蜜罐的存在,就会绕开蜜罐,对其他主机进行攻击, 西南交通大学硕士研究生学位论文第7页这同样使得蜜罐失去了部署的初衷。2)指纹识别“指纹识别”是指蜜罐具有一些特定的预期特征或者行为,一旦入侵者根据蜜罐的预期特征或者行为识别出了蜜罐的存在,就会避开该蜜罐系统,去入侵其它的非蜜罐系统,从而使蜜罐失去了原有的部署目的。由此蜜罐系统的反识别技术也随之而出现。3)风险使用蜜罐同样具有一定的风险,因为蜜罐主机具有与其他业务主机同等甚至更多的被攻击的机会,一旦一个蜜罐遭受到了攻击并被成功攻破,入侵者就可以选用它去攻击、危害系统内其他主机或其它网络。而且这种风险随着蜜罐交互程度的提高而提高。2.1.2蜜网技术2.1.2.1蜜网概念蜜网技术实质上仍是一种蜜罐技术,是一种对攻击者进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务以及信息诱使攻击者对他们进行攻击,减少对实际系统所造成的安全威胁【lo】。当然,蜜网也有其自身特点:首先,蜜网是由多个蜜罐以及防火墙、入侵防御系统、系统行为记录、自动报警、辅助分析等一系列系统和工具所组成的一整套体系结构,这种体系结构创建了一个高度可控的网络,使得安全研究人员可以控制和监视其中的所有攻击活动,从而去了解攻击者的攻击工具、方法和动机;其次,蜜网是一种高交互型的用来获取广泛的安全信息的蜜罐,高交互意味着蜜网是用真实的系统,应用程序以及服务来与攻击者进行交互。2.1.2.2蜜网的核心需求蜜网有三大核心需求:即数据控制、数据捕获和数据采集【lo】。(1)数据控制数据控制目的是确保蜜网中被攻陷的蜜罐主机不会被用来攻击蜜网之外的业务主机。这一点要求必须是在不被入侵者察觉的情况下,对出入蜜网的数据进行控制。(2)数据捕获数据捕获目的是秘密捕捉与入侵者相关的所有流量,包括击键序列及其发送的数据包,以便分析他们使用的技术、工具及策略。蜜网区别于单机蜜 西南交通大学硕士研究生学位论文第8页罐系统,它采用基于网络的信息收集方式。这一点同样要求是在入侵者毫无察觉的情况下进行。(3)数据采集如果公司、组织有多个逻辑的或物理的蜜网分布于广域网之中,比如蜜网研究联盟就是这种情况,那么每个蜜网还要实现第三个核心需求一一数据采集。这要求各个蜜网捕获的数据能够安全地汇集到某中央数据收集点,供以后分析和存档。2.1.2.3蜜网的发展历程蜜网技术的发展,可以说都是围绕着蜜网的三大需求机制的不断进步而发展的,以下是详细介绍及分析。(1)第一代蜜网技术第一代蜜网只是简单的实现了数据控制和数据捕获两种基本功能,图2.1所示给出了第一代蜜网拓扑结构【ll】:Gel"1IHoneynet(@)图2—1第一代蜜网拓扑结构在该体系结构中,防火墙的作用显得尤其重要。它把网络陷阱分割成三个部分:一是陷阱部分,二是互联网,三是管理控制平台。所有进出蜜网的数据包都必须经由防火墙过滤,路由器进行补充过滤。防火墙实行“宽进严出”策略:对来自外来的连接不做任何限制,但对源自蜜罐主机向外的链接的数量做了限制。一般连接数是5到10个。1)数据控制在数据控制方面,防火墙是由控制输入和输出连接的主要工具。防火墙允许任何输入连接,但控制输出连接,记录有多少连接是从蜜罐发起连到外部因特网的,一旦对外的连接达到了一定数量,网关就阻塞任何多余的请求。这在一定程度上给了入侵者执行所需行动的自由,但是却是有限的连接。这 西南交通大学硕士研究生学位论文第9页也是出于网络欺骗的真实性和网络安全的折中策略。而路由器放置在防火墙和蜜网之间则可以起到隐藏防火墙和访问控制的作用。蜜网中的路由器仅允许源地址是蜜网内部的口的机器向外部发送数据包,使得一旦一个蜜罐被攻破,攻击者会发现在网络外有一个产品路由器,这就更加像一个真实的网络环境,同时又能保证不被用来攻击其他业务主机;作为第二层访问控制工具,路由器可以用来防止ICMP攻击、DeadPing、SYN、flooding、SMURF攻击等一些利用伪造m欺骗的攻击。2)数据捕获数据捕获是在不被入侵者发现的情况下捕获尽可能多的数据信息。否则被入侵者发现的话就会导致入侵者毁掉证据然后偷偷溜掉。为了实现这个目的,需要对系统进行修改,但要求系统改变尽可能少。而且捕获到的数据出于安全的考虑不能保留在蜜罐主机上,应该实现异地存储。在数据捕获方面采取了三层的捕获机制:第一层是防火墙,记录所有出入到蜜网的连接;入侵检测系统作为第二层,捕获和记录每个分组和有效载荷;蜜网本身作为第三层,将捕获到的击键和显屏操作远程传输到其他系统。(2)第二代蜜网技术【12】第二代蜜网(GeniiHoneynet,2002.2003)[12,13】不同于第一代蜜网,第二代蜜网最大的改进就是可以在一台电脑上实现了蜜网所有的关键功能,即数据控制、数据捕获和数据采集。这个宿主机被称为Honeywall的二层网关或者称作网桥,方便了蜜网的配置管理,大大增加了蜜网的灵活性、可管理性和系统安全性。使用网桥有几个优点:首先由于网桥没有口协议栈也就没有口地址、路由通信量以及TTL缩减等特征,入侵者难以发现网桥的存在,也就很难意识到自己正处于被控制之中;二是所有出入蜜网的通信量必须通过网关,这意味着在单一的网关设备上就可以实现对全部出入通信量的控制和捕获。图2.2给出了第二代蜜网的一般网络拓朴结构,其中网络接口eth0和ethl组成网桥,用虚线表示。 西南交通大学硕士研究生学位论文第10页I篡1lIr------iII[二]I‘-—■—曩—啼‘‘■■■舅奠舅婚’lI.畦氢“出图2—2GeniiHoneynet拓扑结构1)数据控制GeniiHoneynet在数据控制方面更加智能化,改进了第一代蜜网仅仅通过计算外出连接数目来限制入侵者的外连行为,采用了连接数限制和攻击包抑制相结合的机制来对入侵者行为进行控制。连接数限制防止入侵者对外界进行大规模的扫描或发起拒绝服务攻击,但与GenIHoneynet相比,GeniiHoneynet的外出连接数的阈值要大得多,如50个出境连接,这样有助于减少蜜网的指纹。而攻击包抑制主要是防止入侵者发起一些少量数据包即可奏效的攻击,是通过在二层网关上安装一个网络入侵防护系统(NIPS)来实现的。由于该网络入侵防护系统只能根据已知的签名数据库检测攻击行为,不能检测未知攻击,因此,我们采取了与出境连接数限制相结合的方法。攻击包抑制主要体现在通过对二层网关的含有恶意代码的数据包进行修改或丢弃,使得入侵者攻击无效化。在入侵者看来,他向外发起的攻击是成功的,但实际上不会真正生效。通过这种响应措施,可以更好地控制入侵者的行为。2)数据捕获Genii蜜网在数据捕获方面使用的技术相对于GenI蜜网没有太大改变,捕获到的信息大部分来自于防火墙日志和嗅探器捕获的网络数据。在大多情况下,网络数据捕获被认为是检查分析攻击的最关键的部分。然而伴随着网络安全技术的进步,黑客们也开始越来越多地使用加密工具保护和隐藏他们的通信。对于加密的数据通信,通过嗅探器捕获的数据将变得毫无价值。为了观察入侵者经过加密的会话,就必须从蜜罐系统本身捕获他们的相关活动信息,因为任何加密的通信在终端都是以明文形式存在的。而击键记录最能体现入侵者在蜜罐中的活动,因此Genii蜜网通常使用击键记录从蜜罐系统捕获黑客入侵活动信息。实现击键记录,需要对系统进行修改,但要求对系I占I节,/。\!.~嚣 西南交通大学硕士研究生学位论文第”页统改变尽可能的少,因为对系统的任何修改都像指纹一样可能会被黑客发觉。同时捕获到的击键记录不能存储于蜜罐主机,这很可能会被入侵者发现,使他意识到该系统是一个蜜罐;另一方面,黑客入侵成功后可能会篡改这些数据,因此必须把捕获的击键记录进行远程存储。3)数据采集与GenIHoneynet相比,GeniiHoneynet在设计时是面向分布式环境设计开发的,对于分布式设计环境,多个蜜网由一个管理平台控制,必须有对系统进行远程管理和采集所捕获数据的方法。因此必须考虑到数据采集的问题。而对于单个蜜网部署,数据采集发生在蜜网本身或管理网络中。数据采集最关键是要保证信息以一种安全的方式采集,必须保证信息的完整性、真实性和保密性。因此我们可以采取某些加密措施,保证传送的数据不会被篡改。每个蜜网都要向中央服务器验证身份,并且要保证没有第三方能够看到这些数据。如可以利用IPsec隧道连接每个分布式Honeynet到中央位置点。在图2.2中,在蜜网的Honeywall上有第三个网络接口eth2,该接口专用于数据采集和远程管理。通过该接口,所有的数据都可以远程发送给中央采集点,并实现对所有分布式蜜网的管理。针对各个数据采集点对数据发送格式的不统一问题,数据采集的另一个关键是对发送数据的格式标准化。这也为从不同组织的蜜网采集到的数据能够简单地实现共享和聚合提供便利条件。HoneynetProject制定的“Honeynet定义、需求和标准flo】一文档规定了采集数据的格式,这保证了各个数据采集点发送数据的统一格式,从而保证了蜜网能方便地共享所捕获的信息。(3)第三代蜜网技术第三代蜜网(GenIIIHoneynet,2004.2005)的体系结构[13,14】与第二代蜜网相同,不同之处在于核心操作系统改为开源的FedoraCore3Linux,并且实现了自动化的更新功能和基于浏览器的数据分析工具(Walleys),而且支持最新的内核级捕获工具(Sebek3.x)。这些改进都增强了蜜网的易用性,使蜜网更容易安装和维护。第二代蜜网的数据控制包含两个方面,一是防火墙Iptables对出境连接数的控制,二是Snort_inline对出境异常数据的限制。第三代蜜网对数据控制也是只有这两个方面,但在防火墙规则内容上做了改进,主要是增加了黑名单、白名单、防护名单功能。在数据捕获方面,第三代蜜网仍是通过三个层次实现数据捕获的,一是防火墙日志记录:二是嗅探器记录的网络流;三是Sebek捕获的系统活动。 西南交通大学硕士研究生学位论文第12页2.2联动技术‘Z.2.2.1联动的概念及现状现在复杂的网络应用环境和多样的攻击与入侵手段使信息系统的安全威胁越来越大,安全问题日益突出使得孤立的安全设备难以有效应付。要消除日益复杂的网络安全威胁,就需要从系统全局出发,从整体和设备联动的角度去解决网络安全问题,依据统一的安全策略,以安全管理为核心,形成完整的系统安全防护体系。联动技术【l5】也正是基于这种整体的安全防护体系思想和需求出现的。联动技术的提出体现了智能化网络安全管理的潮流,能够有机整合各种网络安全技术,全面部署网络安全防御体系,有效提升网络性能。通过联动使各安全设备做到资源整合,协同工作,产生“1+1)2"的合力效果,避免了木桶效应的产生。联动从本质上来说,是安全产品之间一种信息互通的机制,其理论基础是:安全事件的意义不是局部的,将安全事件及时通告给相关的安全系统【15】,有助于从全局范围评估安全事件的危险,并在适当的位置采取动作。它不仅仅局限于防火墙与入侵检测之间,还涉及很多其他的安全部件,如报警与审计系统、需要安全保护的主机系统、业务系统、甚至网络设备等,只要在某个节点发生了安全事件,无论是一个简单系统捕捉到的原始事件,还是一些具有分析能力的系统判断出来的,都可能需要将这个事件通过某种机制传递给相关的系统。这里的机制即为能被众多安全设备所支持的某种开放协议等虚盘守。目前,国内外的一些厂家实现了开放网络安全联动协议集,如天融信公司的TOPSEC、CheckPoint公司的OPSEC;同时也出现了某些安全联动产品,如Symantec公司的IntruderAlert系统、ISS公司的RealSecure系统、北京安软科技有限公司的分布式防火墙EverLink、TrustedInformationSystem公司的Stalkers系统等产品都集成了防火墙与入侵检测系统的功能。联动技术现已成为网络安全研究的热点,重点考虑如何有效地整合各种网络安全产品,实施全面的网络安全防御。 西南交通大学硕士研究生学位论文第13页2.2.2常见的联动体系结构防火墙和IDS之间互动的实现有两种模式:(1)通过开放接口实现互动防火墙或者IDS开放一个接口供对方调用,按照一定的协议进行通信、传输警报。这种方式比较灵活,防火墙可以使用它的访问控制功能;IDS可以行使它的检测入侵功能,丢弃恶意通信,确保这个通信不能达到目的地,并通知防火墙进行阻断。(2)紧密集成实现互动‘这种方法是把IDS技术与防火墙技术集成到统一硬件平台上,在统一的操作系统管理下有序的运行。这种方式把两种产品集中到一起,所有通过这个硬件平台的数据不仅要接收防火墙规则的验证,还要被检测是否有攻击性,以达到实时的阻断。对于这种紧密集成的安全平台,由于IDS产品和防火墙本身都是很庞大的系统,所以实施难度很大,集成后的性能也会受很大的影响。而目前关于联动的内容主要集中在以防火墙为中心,联合其他安全设备或产品形成安全平台的研究上。文献[16]讨论了IDS和防火墙的联动,如图2-3所示。当IDS检测到需要阻断的入侵行为时,迅速启动联动机制,并且自动通知防火墙立刻做出相关策略的动态修改,对攻击源进行阻断。动态产生的规则具有动态性,攻击阻断或者消失后,规则自动超时退出。FIREWALL梭瓣入经■瓶晦l一t/’舔抽烂嘲.阻新j、停I发现^俊jIjRI卺冀/a难晰入侵者图2-3IDS与防火墙联动系统架构文献[17]提出了一种基于策略的智能联动模型,如图2-4所示。底层的安全部件形成网络事件,经过智能代理进行融合,再经过关联之后传送给联动策略引擎,然后依据设定好的策略进行联动,策略最终应用到各安全部件上。 西南交通大学硕士研究生学位论文第14页图2-4基于策略的智能联动模型蜜罐和入侵检测系统以及防火墙的安全联动框架如图2-5所示。蜜罐和和入侵检测系统以及防火墙的安全联动的过程为蜜罐系统对其捕获的入侵者的信息进行分析以后,如果发现了未知的入侵行为,则提取入侵特征,通过联动控制中心调用入侵检测可视化工具,生成新的规则。之后通过联动控制中心使入侵检测系统加载新规则,并在该规则的策略中将该攻击事件设为防火墙阻断,由IDS给防火墙发出一个动态的阻断策略,动态策略可以设置相应阻断、阻断时间、时间间隔、源端口、目的端口、源IP以及目的IP等信息,随后防火墙根据策略设置进行相应的阻断。图2-5蜜罐与入侵检测及防火墙的联动系统架构 西南交通大学硕士研究生学位论文第15页●IIIllN本文主要是参照如图2.5所示的联动体系框架,蜜罐捕捉数据后,利用数据挖掘技术分析入侵数据,如果发现了未知的攻击行为,则提取出入侵规则,并且添加到入侵检测和防火墙规则库中,然后防火墙再执行新的安全策略进行对连接阻断,从而实现真正的联动。2.3防火墙技术2.3.1防火墙概念及分类防火墙(firewall)是指设置在不同网络或网络安全域之间的一系列部件或组合,它是不同网络或者网络安全域之间信息的唯一出口,能根据预先定义好的安全策略控制(允许、拒绝、检测)出入网络的信息流。并且防火墙本身要具有较强的抗攻击能力,是提供信息安全服务、实现网络和信息安全的基础设施。防火墙可以根据防范的方式和侧重点的不同而分为很多种类型,但通常可分为包过滤、应用层网关和代理服务器等几大类型【l】。(1)包过滤型防火墙包过滤又称“报文过滤",是一种简单有效的方法,通过拦截数据包,读取包头信息,然后根据系统内设置的过滤逻辑,即访问控制表(AccessControlTable)来对数据包进行选择。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、协议状态等因素,或它们的组合来确定是否允许该数据通过。包过滤作为第一代防火墙技术,其优点是不用改动客户端和服务器端的应用程序,因为它们工作在网络层和传输层,与应用层无关,但其弱点也显而易见,比如过滤判别的依据只是网络层和传输层的有限信息、过滤规则的数目是有限制的、缺少上下文关联信息、不能有效过滤(如UDP和RPC一类的协议)、缺少审计和报警机制等。所以在实际应用中通常把包过滤与应用网关配合使用或与其它防火墙技术揉合在一起使用。(2)应用层网关型防火墙应用层网关是在网络应用层上建立协议过滤和转发功能,针对特定的网络应用服务协议使用指定的数据过滤逻辑,同时对数据包进行必要的分析、登记和统计,形成报告。数据包过滤和应用网关防火墙的一个共同特点,就是它们仅仅依靠特定的逻辑判定是否允许数据包通过。只要满足逻辑,防火墙内外的计算机系统 西南交通大学硕士研究生学位论文第16页就建立直接联系,而防火墙外部的用户完全可以直接了解防火墙内部的网络结构和运行状态,这也可能导致外部用户的非法访问和攻击。(3)代理服务型防火墙代理型防火墙工作于应用层,利用代理服务器主机将外部网络和内部网络隔离,掌握着应用系统中可用作安全决策的全部信息。从内部发出的数据包经过防火墙处理后,如同源于外部的网卡一样,可以达到隐藏内部网络结构的作用。它通过编程来弄清用户应用层的流量,并能在用户层和应用协议层间提供访问控制,而且还可以用来保持一个所有应用程序使用的记录。记录和控制所有进出流量的能力是应用层网关的主要优点之一。(4)复合型防火墙复合型防火墙是将几种防火墙技术结合起来,经常用来在现有的防火墙上快速添加新的服务。通常是在代理型防火墙上增加包过滤过功能,构成复合型防火墙系统,所用主机成为堡垒主机,提供代理服务。也可以通过增加服务代理,使网关型防火墙具有强大的用户认证功能。2.3.2防火墙缺点分析防火墙产品主要是“身份验证’’级的安全产品,只是实现了粗粒度的访问控制,无法成为安全解决方案的全部,仍有诸多方面需要改进和完善,比如:网络上有些攻击可以绕过防火墙,而防火墙不能对绕过它的攻击提供阻断;防火墙管理控制的是内部与外部网络之间的数据流,不能防范来自内部的攻击:当使用端到端的加密时,防火墙的作用受到很大限制:防火墙规则都是事先设置好的,缺乏实时性,对变化的安全形势缺乏应变的能力;防火墙不能对病毒感染的程序或文件的传输提供保护;防火墙不能防止利用标准网络协议中的缺陷进行的攻击。安全需求的发展要求新的防火墙能够综合使用包过滤、代理等技术,加强综合安全能力;也需要防火墙向网络协议的上层发展,能从数据链路层一直到应用层施加全方位的控制。而且网络安全单靠防火墙是不够的,需要和其他形式的安全防护结合起来,在提高防火墙自身功能和性能的同时,由其他技术完成防火墙所缺乏的功能,协同配合,共同建立一个有效的安全方法系统。 西南交通大学硕士研究生学位论文第17页2.4入侵检测技术2.4.1入侵检测技术概念及分类入侵检测技术(intrusiondetectionsystem即IDS)是通过对(网络)系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机密性、完整性与可用性。入侵检测是防火墙的有效补充。帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(比如安全审计、监视、入侵识别和响应)。从检测的数据目标角度,我们可以把入侵检测系统分为基于主机、基于网络、基于内核和基于应用等多种类型。根据采用的技术和原理,入侵检测系统可分为异常检测、误用检测【2】。(1)误用检测又称为基于特征的检测,如图2-6所示,它是根据已知的攻击行为构建一个特征库,然后去匹配已发生的动作。当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。如果入侵特征与正常的用户行为相匹配,就会发生错报,如果没有特征能与某种新的攻击行为匹配,则系统会发生漏报。由于是依据具体特征库进行判断,所以这种检测技术的准确度比较高,是目前主要使用的入侵检测技术。/一——————————、、征匹酬事件特征)、、、、.............................一/添加新规则.图2-6误用检测数据处理流程(2)异常检测又称为基于行为的检测,如图2.7所示,它是通过建立一个正常的特征库,根据使用者的行为或资源使用状况来判断是否入侵。检测的时候就把当前行为和正常模型比较,然后计算当前行为与正常模型的偏离值,如果该偏离值超过一定的阈值,当前行为就会被认为是入侵行为,就报警异常。但也存在着错报和漏报,所以错报和漏报是衡量入侵检测系统的两个重要指标。 西南交通大学硕士研究生学位论文第18页异常检测的优点就是不仅可以检测出未知行为的攻击,还可以检测出属于权限滥用类型的攻击。异常检测方法的检测率很高的同时误报率也很高,误报率高也是是该方法的主要缺陷,这是因为入侵行为不可能用一些有限的训练数据来描述。更新活动记录计算偏离值◆(二三圃动态产生新活动记录图2.7基于异常检测的数据处理流程2.4.2入侵检测技术缺点分析入侵检测技术主要有三大问题需要解决:(1)入侵检测系统的检测速度很难适应网络通信的需要网络安全设备的处理速度一直是制约网络性能的一大瓶颈。在IDS中,截获网络的每一个数据包,并分析、匹配其中是否有某种攻击的特征需要花费系统大量的时间和资源。如果检测速度跟不上网络数据的速度,检测系统就会漏掉其中的部分数据包,导致漏报信息而影响系统的准确性和有效性。(2)入侵检测系统的漏报和误报现象严重基于模式匹配分析的IDS将所有已知的入侵行为表达为一种模式或特征,然后判断搜集到的数据特征是否在模式特征库中出现,当有新的攻击方法和有新的漏洞发布时,特征库不能及时更新便会造成IDS的漏报。今后将使用更加智能化的方法与手段来进行入侵检测,现阶段常用的有神经网络、遗传算法、模糊技术、免疫原理等方法主要用于入侵特征的辨识和泛化。具有自学习能力的专家系统,实现知识库的不断更新与扩展,可使的设计的入侵检测系统的防范能力不断增强。(3)入侵检测系统的互动性需要提高网络的不同部分可能会使用不同的入侵检测系统,同时还有防火墙、防病毒等其他类别的安全设备,这些安全组件之间如何交换信息,共同协作来发现攻击、做出响应并阻止攻击时保障系统安全的重要因素。因此需将网络安全作为一个整体工程来处理。从管理、网络结构、加密信道、防火墙、病 西南交通大学硕士研究生学位论文第19页毒防护、入侵检测多方位对所关注的网络做全面的评估,然后提出可行的全面解决方案。2.5数据挖掘技术,2.5.1数据挖掘概念数据挖掘是一种新兴的、并且在很短时间内得到了广泛应用的先进的智能化数据分析方法。根据Grossmen在文献[18]中的定义,数据挖掘就是从数据中发现肉眼难以发现的固定模式或异常现象。它遵循基本的归纳过程将数据进行整理分析,旨在从大量的数据中提取隐藏的预测性信息,挖掘数据问潜在的模式,找出某些常常被忽略的信息,用便于理解和观察的方式反映给用户,作为决策的依据。2.5.2数据挖掘任务分类数据挖掘任务一般可以分为两类:描述和预测【l91。描述性挖掘任务主要用于刻画数据的一般特性;预测性挖掘任务在当前数据上进行推断,以进行预测。在某些情况下,用户不知道他们的数据中什么类型的模式是有用的,因此可能并行地搜索多种不同的模式。这样,数据挖掘系统能挖掘多种类型的模式,以适应不同的用户需求或不同的应用。由于有些模式并非对数据中的所有数据都独立,通常每个被发现的模式都带有一个可信度度量。在数据挖掘过程中,如何选择输入数据和对应的挖掘算法,取决于数据挖掘目标,即期望从数据中挖掘出何种类型的“知识"。通过预测未来趋势及行为,做出预测性的、基于“知识一的决策。(1)描述型描述型方法通常包含以下几种:1)关联分析,即利用关联规则进行数据挖掘、寻找数据库中值的相关性,能够发现同一事件中不同项目之间的关联规则。在数据挖掘研究领域,对于关联分析的研究开展得比较深入,人们提出了多种关联规则的挖掘算法,如APRIORI、STEM、AIS、DHP等算法。关联分析的目的是挖掘隐藏在数据间的相互关系,寻找在同一个事件中出现的不同项的相关性。数据挖掘得到的关联规则或序列模式并不是真正的规则。它只是对数据库中数据之间相关性的一种描述,还没有其他数据来验证得到的规则是否正确,也不能保证利用 西南交通大学硕士研究生学位论文第20页过去的数据得到的规律在未来新的情况下依然有效。有时甚至很难决定能利用发现的关联规则做些什么。因此,在采取任何行动之前,一定要经过分析和实验,即使它是利用数据挖掘得到的知识。关联分析在移动通信领域中主要应用于客户的呼叫模式分析、话费欺诈的早期识别等方面。2)序列关联分析序列关联分析和关联分析相似,其目的也是为了挖掘数据之间的联系,它们之间的差别是序列关联分析把数据之间的关联性与时间联系起来。序列关联分析描述的问题是:在给定交易序列数据库中,每个序列是按照交易时间排列的一组交易集,挖掘序列函数作用在这个交易序列数据库上,返回该数据库中出现的高频序列。在进行序列关联分析时,同样也需要由用户输入最小置信度C和最小支持度S。序列关联分析在移动通信领域中主要应用于话费欺诈的早期识别等方面。3)聚类分析聚类分析就是通过分析数据库中的记录数据,根据一定的分类规则,合理地划分记录集合,确定每个记录所在类别。通过聚类分析,能够有效地把数据划分到不同的组中,组之间的差别尽可能大,组内的差别尽可能小。与分类模式不同,聚类分析输入的是一组未分类记录,进行聚类前并不知道将要划分成几个组和什么样的组,也不知道根据哪几个数据项来定义组。聚类分析和分类分析是一个互逆的过程。在最初的分析中,分析人员根据以往的经验将要分析的数据进行标定,划分类别,然后用分类分析方法分析该数据集合,挖掘出每个类别的分类规则;接着用这些分类规则重新对这个集合进行划分,以获得更好的分类结果。这样,分析人员可以循环使用这两种分析方法,直至得到满意的结果。聚类分析所采用的分类规则是由聚类分析工具决定的。聚类分析的方法很多,其中包括系统聚类法、分解法、加入法、动态聚类法、模糊聚类法、运筹方法等。采用不同的聚类方法,对于相同的记录集合可能由不同的划分结果。聚类分析在移动通信领域中主要应用于大客户特征的识别、客户群体的细分、话费欺诈的早期识别等方面。(2)预测型方法通常包含以下几种:1.)分类分析设有一个数据库和一组具有不同特征的类别,该数据库中的每一个记录都被赋予一个类别的标记,这样的数据库称为示例数据库或训练集。分类分析就是通过分析示例数据库中的数据,为每个类别做出准确的描述或建立分 西南交通大学硕士研究生学位论文第21页析模型或挖掘出分类规则,然后用这个分类规则对其他数据库中的记录进行分类。目前已有多种分类分析模型得到应用,其中几种典型模型是决策树模型、基本规则模型和神经网络模型,而应用最多的一般是决策树模型。分类要解决的问题是为一个事件或对象归类。在使用上,既可以用此模型分析已有的数据,也可以用它来预测未来的数据。分类以及决策树算法在移动通信领域中主要应用于大客户特征的识别、客户群体的细分、客户流失的预测与控制等方面。2)回归分析回归模式的函数定义与分类模式相似,它们的差别在于分类模式的预测’值是离散的,回归模式的预测值是连续的。回归是通过具有已知值的变量来预测其他变量的值。在最简单的情况下,回归采用的是像线性回归这样的标准统计技术。但大多数现实世界中的问题是不能用简单的线性回归预测的。如商品的销售量、股票价格、产品合格率等,这些事件很难找到简单有效的方法来预测,因为要描述这些事件的变化所需要的变量数以百计,且这些变量本身往往都是非线性的。为此,人们又发明了许多新的手段来试图解决这个问题,如逻辑回归、决策树、神经网络等。一般来说,同一个模型既能用于回归,也能用于分类。如CART决策树算法既可以用于建立分类树,也可建立回归树。回归分析在移动通信领域中主要应用于业务量预测、用户数预测等方面。3)时间序列分析时间序列是用变量过去的值来预测未来的值。与回归一样,它也是用已知的值来预测未来的值,只不过这些值的区别是变量所处时间的不同。时间序列采用的方法一般是在连续的时间流中截取一个时间窗口,窗口内的数据作为一个数据单元,然后让这个时间窗口在时间流上滑动,以获得建立模型所需要的训练量。它支持时间序列模式,能够根据数据随时间变化的趋势预测将来的值,也能够处理时间的特殊性质。时间序列分析在移动通信领域中主要应用于业务量预测、客户的呼叫模式分析以及网络管理与优化等方面。2.6本章小结本章着重介绍了蜜网技术,并且介绍了联动技术以及涉及到的入侵检测技术、防火墙技术以及数据挖掘技术。 西南交通大学硕士研究生学位论文第22页第3章蜜网系统的联动式体系结构设计根据以上对蜜网相关思想的介绍,说明蜜网是一个体系结构,不可能简单的通过在某台机器上安装一个软件的方式构建一个蜜网。在部署蜜网时,必须有针对性,因此需要先确定部署蜜网系统的设计目标、设计思想及实现方法。以下将对部署蜜网的过程详细介绍。3.1问题的引出成功实现蜜网系统的第一步是确定要用它来做什么、我们希望怎么来实现。具体涉及到如何实现数据捕获、数据控制和数据分析。在传统的蜜网系统中,入侵检测系统作为异常数据的捕获工具,蜜罐作为对于未知攻击的数据捕获工具,用来研究攻击者的工具、战术和动机,防火墙作为数据控制技术主要实现工具。当入侵检测系统捕获到异常可疑连接时,通知路由重定向组件将攻击连接平滑转移到蜜罐系统中来,为了防止蜜罐被攻破后被入侵者利用来攻击其他业务网络,采用防火墙对外出的连接进行严格控制。本文通过对传统的蜜网技术研究分析中发现,传统的蜜网技术中蜜罐与入侵检测及防火墙的整合过程中,入侵检测系统、蜜罐系统、防火墙对于入侵行为不具有不具有自我“知识"学习的能力。因此在部署蜜网时,如何解决蜜罐与入侵检测系统和防火墙的之间的相互协作、联动将会是保证蜜网安全的重大问题。.针对本蜜网系统,作者将侧重点放在数据的分析以及入侵检测系统与防火墙的联动(即入侵检测系统和防火墙的“知识一吸收)上。3.2设计目标(1)能够在现有的实验室硬件条件下,设计并实现一个研究型的蜜网系统,满足蜜网的基本需求(数据控制、数据捕获、数据采集)。(2)保证蜜罐系统的日志记录是有效的,即要用一种方法实现蜜罐所捕获的入侵者信息是完整、有效的。(3)在满足基本需求的基础上,蜜网系统应该具有他自我学习的能力, 西南交通大学硕士研究生学位论文第23页能对捕获到的攻击行为具有分析、“知识”吸收的能力。(4)出于部署蜜网目的的考虑,蜜网应该是一个丌放的环境,因此要求对蜜罐的安全性有一个全面考虑。蜜网系统被攻破时,要保证该蜜网系统不被用来攻击局域网内部其他业务网络。(5)能够满足蜜网系统的扩展需要,可以随着部署蜜网系统需求的不断提高,在规模和用途上可以适应其发展。3.3实验网络拓扑结构简介在实验室现有实验条件下,由于硬件所限,作者实现了一个混合型的蜜网:由蜜罐宿主机充当蜜罐,网关主机作为二层网关实现数据控制和数据捕获,如图3.1所示,网关主机配有两个网络接口,网络接口eth0和ethl组成一个网桥,工作在数据链路层,都不具有IP地址,因此作为蜜网核心的二层网关非常安全。我们可以在网关主机上面部署基于数据控制的Iptables防火墙,入侵检测系统Snort,以及日志存储数据库Mysql,日志分析管理平台ACID。在另外一台主机上安装LogServer软件kiwilogDamon用于接收来自蜜罐的syslog发送的日志信息。另外,本文利用Iptables的端口重定向技术解决了实验室仅有一个外网的IP地址、外网无法直接访问到蜜网中的蜜罐的问题。具体实现是通过把目的地址为202.115.64.×的某些端口的数据包重定向到蜜罐主机,从而使外部用户访问蜜罐主机的一些网络服务,如Telnet、HTTP、SMTP、POP3等。口0D口D口图3.1蜜网系统的网络拓扑结构 西南交通大学硕士研究生学位论文第24页蜜网系统联动系统框架如图3.2所示:确定防火墙和入侵检测规则库(Hoeyd)/E佥钡口数数据分析是否入侵\./N应用新规则对攻击进行阻断防火墙规则更新形成日志。提醒防火墙动态防御图3.2蜜罐与防火墙及入侵检测联动系统框架在这个联动系统中,蜜罐主机的前端放置入侵检测系统IDS,黑客进入蜜罐前必须经过IDS,如果IDS可检测到此种入侵行为,则与防火墙联动阻断黑客的链接。这样保证蜜罐记录的入侵行为都是未知的入侵行为,减少了数据分析的复杂性。蜜罐负责记录入侵信息,并将捕获到的数据传送到远程日志服务器上。为了避免黑客伪装成蜜罐主机向远程日志服务器存放数据,在请求存放数据时,蜜罐需进行身份来验证。对日志服务器的数据进行分析,提取入侵规则后,应将新入侵规则分别添加的IDS和防火墙的规则中,以实现真正的联动。通过以上分析描述,可以采取分块的思想实现这个联动框架,联动系统主要包括数据控制模块、数据捕获模块、日志存储模块、数据分析模块以及规则学习模块。3.4开发环境介绍使用实验室现有的设备搭建蜜网的开发环境,如表3—1所示。 西南交通大学硕士研究生学位论文第25页表3.1蜜网开发环境\Ⅶ境\主祝\.硬件环境软件环境网络环境处理器赛扬1.7G,内操作系统FedoraCore6,内核版本蜜罐宿主存256MB,硬盘40GB2.6.18,蜜罐软件是honeydl.5b,机一块IOM/IOOM自适开放FTP、嗍等网络服务,Arpd。应网卡。处理器奔腾1.7G,内kiwilogDamon100M10M日志服务存256MB。一块以太网教育器IOM/IOOM白适应网网卡。处理器奔腾1.7G,内网桥配置工具bridge-utils,防火管理平台存512MB,三块墙管理工具IPTables,入侵检测系(蜜网网IOM/IOOM自适应网统Snort2.2,数据分析管理工具关)卡。ACID,日志存储数据库。3.5相关模块分析及软件支持3.5.1相关模块分析(1)数据控制模块数据控制的目的是为了减少因蜜罐主机被攻破对蜜网中其他业务主机带来的威胁,一旦蜜罐主机被攻破,必须保证该系统不被用来破坏其他非蜜网系统,数据控制的方法包括攻击包抑制和对外连接数限制两种手段,网关主机作为蜜网的二层网关通过防火墙实现了该功能。防火墙对流入的数据包不进行任何限制,使得黑客能攻入蜜网,但对流出的数据包严格控制,以防黑客使用蜜网作为跳板向其它正常主机发起攻击,而对外连接数限制是用来控制黑客对外界网络发起的连接数量。一旦网络入侵防御系统(NIPS)Snort检测到含有恶意代码的数据包即对其加以抛弃或修改,使其不能对第三方网络构成危害。基于异常的入侵检测系统(IDS)Snort,经由libipq接收来自Iptables的数据包,并根据Snort的规则集对数据包进行检查,一旦发现恶意代码就对该数据包采取预先定义的策略,然后再将数据包传回给IPTables产生阻断。 西南交通大学硕士研究生学位论文第26页(2)数据捕获模块部署蜜网系统的第二个需求是数据捕获,实现的难点是在不被黑客发现的情况下捕获尽可能多的数据。这就要求我们在部署蜜网时尽可能的不要对蜜罐作修改,因为任何修改都有可能被黑客发现,这样他们就会篡改已收集的数据。这也要求我们不能把已捕获的数据存放在本地蜜罐主机上,因为存储在本地的信息极有可能会被黑客发现处于蜜网系统中而导致实验失败。本文设计的蜜网实现了三层数据捕获,即防火墙日志、嗅探器捕获的网络数据包、蜜罐本身日志。网关是蜜网所有数据包的必经之路,嗅探器可以完整地记录所有经过网关的数据包,这些数据包可以作为安全人员分析入侵者活动的重要依据。(3)数据分析模块如果捕获得到的数据不进行分析,那么捕捉的数据的毫无意义的,甚至部署蜜网也是没有意义的。因此本文对数据分析采取两种方法:一个是以ACID为基础的日志分析模块;另一个是基于数据挖掘的日志分析模块,采用数据挖掘技术中的聚类(无监督聚类k.means算法)和分类的经典算法(C4.5算法)实现。(4)规则学习模块蜜罐系统将通过分析得到的新的入侵行为特征,通过人为或者自动的方式添加到防火墙和入侵检测规则库。但是出于安全的考虑本文不会采取自动的方式,因为一旦一个无效的或者错误的规则就有可能导致整个规则库的混乱甚至崩溃,而且蜜罐是对未知攻击行为的捕捉,不会有太大数据量,所以完全可以用手动的方式。3.5.2相关模块软件支持3.5.2.1Linux网桥式防火墙对于Linux系统来说,防火墙是必不可少的防御机制,它只允许合法的网络流量进出系统,而禁止其他任何网络流量【20’211。为了判断网络流量是否合法,防火墙依靠它所包含的由网络或者系统管理员预定义的一组规则。这些规则告诉防火墙某个流量是否合法以及对于来自某个源、到某个目的地或具有某种协议类型的网络流量要做些什么,以确定接受哪个信息包以及拒绝哪个信息包。我们将该过程成为信息包过滤。这些网络流量由m信息包组成。这些信息包有包头,即在每个包前面所附带的一些数据位,它们包含有关信息包的源、目的地和协议类型的信息。 西南交通大学硕士研究生学位论文第27页在如ipfwadm和ipchain这样的linux信息包过滤解决方案中,netfilter/iptablesIP信息包过滤系统是最新的解决方案,而且是第一个集成到linux的内核的解决方案,可用于添加、编辑和删除规则。这些规则是在信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。虽然netfilter/iptablesIP信息包被称为单个实体,但它实际上由两个组件nctfiltcr和iptables组成。netfilter组件也成为内核空间(keralspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤的规则集。iptables组件也是一种工具,也称为用户控件(usrspace),它使插入、删除和修改信息包过滤表更加容易。要使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤表中。这些规则具有目标,它们告诉内核对来自某些源、前往某些目的地活具有某些协议类型的信息包做些什么。如果某个信息包与规则匹配,那么使用目标ACCEPT允许该信息包通过。还可以使用目标DROP或REJECT来阻塞信息包。对于可对信息包执行的其他操作,也有许多其他目标与之匹配。根据规则所处理的信息包类型,可以将规则分组在链中:处理入站信息包规则被添加到INPUT链中;处理出站信息包的规则被添加到OUTPUT链中;处理正在转发的信息包规则被添加到FORWARD链中。这三个链式基本信息包过滤表中内置的缺省主链。另外还有其他许多可用的链的类型(如PREROUTING和POSTROUTING),以及提供用户定义的链。每个链都可以有一个策略,它定义一个“缺省目标",也就是要执行的缺省操作,当信息包与链中任何规则都不匹配的时候,执行此操作。建立规则并将链放在适当的位置之后,就可以开始进行真正的信息包过滤工作了。这时内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的包头信息,尤其是信息包的目的地。我们称此过程为路由。如果信息包源自外向内前往系统,而且防火墙是打开的,那么内核将它转发到内核空间信息包过滤表的INPUT链。如果信息包源自系统内部或系统所连接的内部网上的其他源,并且此信息包要前往另外一个外部系统,那么信息包被转发到OUTPUT链。类似的,源自外部系统并前往外部系统的信息包被传递到FORWARD链。接下来,将信息包信息与它所转发到的链中的每条规则进行比较,看它 西南交通大学硕士研究生学位论文第28页是否与某条规则完全匹配。如果信息包与某条规则匹配,那么内核就对信息包执行由该规则的目标指定的操作。但是,如果信息包与这条规则不匹配,那么它将与链中的下一条规则进行比较。最后,如果信息包与链中的任何规则都不匹配,那么内核将参考该链的策略来决定如何处理该信息包,理想的策略应该告诉内核DROP该信息包。Linux中有一个项目专门实现iptables的网桥,任何通过网桥的数据包都被递交给iptables规则进行过滤处理。结果是防火墙可以完全透明与网络,并不需要特殊的路由功能。对互联网来说,防火墙并不存在,除了特定的链接被阻塞。网桥软件是一个内核补丁来支持已有的网桥代码可以同iptables一起工作。linux网桥一般是在一个具有一个或多个网络端口的设备上实现,通过检测多个网段的活动性,桥接代码学习到哪个MAC地址从哪个接口可以到达,并且使用该信息来判断是否要中继一个数据包到另外一个网段。网桥接口本身是没有分配口地址的,但是可以为逻辑接口配置地址以便管理。3.5.2.2Linux下的入侵检测模块Snort也是一款开源的基于Libpcap的轻量级入侵检测系统,所谓的轻量级有两层含义:首先它能够方便地安装和配置在网络的任何一个节点上,而且不会对网络运行产生太大的影响;其次是它应该具有快平台操作的能力,并且管理员能通过修改配置进行实时的安全响应【2孙。Snort采用GUN授权许可证,具有很多优点:基于简单的入侵模式字符串匹配技术来检测入侵,运行效率高;自身通过portsean预处理器具备端口扫描攻击的异常检测的能力,方法是对端口扫描攻击进行检测,判断一个时间段内的探测包的数量。探测包可能发往单一主机也可能针对一个网络中的所有主机,它们的共同特征是在一段时间内的包数量超过了某个阈值,一旦这种情况发生,portscan预处理就会报警。Snort可以运行多种操作平台,如UNIX系列和Win9X、Win2000。Snort有三个工作模式:嗅探器(sniffer)模式、日志记录(109)模式、入侵检测模式。嗅探器(sniffer)模式抓包后直接显示在屏幕上:日志记录(109)模式是将捕获到的数据包存储在文件中;入侵检测模式是snort的主要工作模式,也是最复杂的。它将捕获到的数据包通过匹配特征库来决定进一步的动作(如报警,记录),Snort结构如图3.3所示。 西南交通大学硕士研究生学位论文第29页图3-3Snort结构图Snort系统由四个基本模块组成:数据包嗅探器、预处理器、检测引擎和报警输出模块。所有这些子模块都建立在数据包截获库函数接口Libpcap基础上,Libpcap为它们提供了移植的数据包截获和过滤机制。3.5.2.3蜜罐模块Honoyd蜜罐软件Honeyd[23-261是目前使用最多的一种蜜罐系统,也是本系统要采用的蜜罐系统。Honeyd是GNUGeneralPublicLicense下发布的开源软件。目前有一些商业公司在使用这个软件,其最初是面向类linux系统,可以运行在*BSD系统,Solaris,Linux等系统上,由Nielsproves开发和维护。以下是对Honeyd系统结构及工作方式的相关介绍:(1)Honeyd的结构honeyd主要由以下几个部件组成:配置数据库、中心数据包分发器、协议处理器、服务处理单元、特征引擎、路由组件(可选)部件组成,如图3-4所示:图3—4honeyd结构图 西南交通大学硕士研究生学位论文第30页各部件介绍如下:1)配置数据库,即honeyd配置文件,含有honeyd所要虚拟的系统、提供的服务以及网络拓扑结构等。在启动时,通过读取该配置文件来运行honeyd。2)路由组件,是一个可选的部件。Honeyd通过路由部件实现了虚拟网络的拓扑结构。当前honeyd仅支持树状的网络拓扑结构,每个节点代表了一个虚拟的路由器,连通每个接点的边则表示两个路由之间的路径选择。当数据包经过这样的虚拟路由器时,就像数据包经过真实的路由器一样,会依据路由列表去转发到数据包P的目的地址。而且当路由器对数据包转发时,数据包的TTL值会减l,当TTL值为0时,路由部件会发送一个ICMP超时数据包,表明目的地址不可达。3)数据包分配器,对读取到的数据包进行分析。查找配置数据库中地址与接受到数据包地址相匹配的虚拟系统。如果配置不存在,就使用honeyd默认配置。4)协议处理器,包含了honeyd缺省的所要模仿的服务,即ICMP、TCP和UDP协议。对于连接的ICMP请求,默认情况下所有的蜜罐配置都响应echo(回射)请求,并处理目标计算机无法到达的信息;对于TCP和UDP服务处理单元能够与外部的连接请求建立相应的服务连接。比如,协议处理器可以通过TCP三次握手来建立和响应外部的TCP会话,对于到达的UDP数据包协议处理器只是把接收的数据包传递到相应的honeyd所模拟的服务。5)特征引擎,不同的操作系统有不同的网络协议栈行为。每个由Honeyd产生的包都通过个性化引擎引入操作系统特定的指纹,honeyd使用Nmap指纹库作为TCP/UDP连接的参考,使用Xprobe指纹库作为ICMP包的参考。特征引擎的引入,使得honeyd能够模拟现实中的不同的操作系统,而又不会被入侵者所察觉。(2)Honeyd的工作方式在一个部署了honeyd蜜罐的网络中,如果一个连接请求的地址并不存在于这个网络中(暂且称它为空连接)的任何系统,honeyd将会作为这个不存在的系统与入侵者进行交互。当honeyd检测到有这样的可疑连接时,会伪装成空连接的硬地址,试着对空连接的端口启动模拟的服务。honeyd有三种方式接收空连接:路由定向(blackholing)、ARP欺骗、ARP代理。1)路由定向如果所部署的网络内没有任何其它的系统在运行,仅有honeyd蜜罐,那 西南交通大学硕士研究生学位论文第31页么仅需要向路由器中加入类似如下一条语句就能把所有的网络数据包定向到honeyd所在的计算机:iproute192.168.0.1255.255.255.0192.168.1.12)舢妞欺骗相比于路由定向,ARP欺骗更为复杂,由于honeyd蜜罐部署在有其它计算机存在的网络中,所以就无法像路由定向一样,把所有经过路由的数据包都转发到honeyd所在的计算机。在这个工作模式下,Honeyd软件是通过软件.-wpd实现识别空连接的功能。鲫d是由DugSong开发的用于识别空连接的软件,它会把所有的空连接转发到honeyd所在的计算机。在Internet上,数据包是依靠网络层的口地址进行传输的。而在局域网中,就要靠底层的链路层协议来进行识别数据包所要传递的目的计算机。链路层协议依靠MAC(MediaAccessControl,介质访问控制)标识符来识别每一台计算机。这个MAC标识符与网卡绑定,由48位字节来标识,并且每个号码都是唯一的,由网卡制造商在制造网卡时创建并分配。当数据包在局域网中进行传输时,就要检查ARP表来查找系统的MAC标识。如果ARP表中没有与其目的IP相应的MAC地址,那么ARP就会发出询问请求,当网络中有与ARP发出的询问请求相符合的口地址,就会告之ARP它的MAC地址。hard正是利用了ARP的这一特性,它监视局域网内的全部ARP流量,当空连接到来时,arpd进行ARP欺骗,让这个空连接与honeyd蜜罐主机建立连接,从而honeyd提供相应的模拟服务。这样就完成了一次ARP欺骗。3)√6岫代理ARP代理与ARP欺骗类似,把一个局域网内不存在的系统口地址与honeyd蜜罐所在计算机的MAC地址相关联,它的目标也是把空连接请求定向到honeyd蜜罐所在的计算机。假如在一个局域网中,D地址192.168.1.130没有被分配,如果没有使用arpd,可以使用arp命令来完成数据包的定向。如下所示:arp--8192.168.1.13000:0D:67:6E:8D:54permanentpub其中.S参数是静态地将MAC地址分配给一个D地址,permanent参数是要永久绑定,而不需要每次都执行一次上面的命令,pub是要告之所局域网内所有的计算机m地址192.168.1.130与MAC地址00:0D:67:6E:8D:54绑定。从这里也可以看出ARP代理是静态的去绑定,如果honeyd与多个狃地址绑定,那么手动执行命令很是麻烦,同时不能适应动态的honeyd配置。所以只能作为ARP欺骗的一个替代选择。 西南交通大学硕士研究生学位论文第32页3.6设计目标在体系结构中的体现针对设计目标1,设计了三层的数据捕获,按数据进入系统所经过的步骤依次为:防火墙、IDS(异常数据检测模式)、蜜罐,只要流入到网络中的信息都可以捕获。针对设计目标2,对日志信息进行异地存储,并且在数据分析平台实行身份验证以及路径验证。针对设计目标3,在数据分析上,采用数据挖掘的数据处理方法对于日志信息以及报警信息进行处理,从而发现未知的攻击行为,形成规则后将进行测试后调整防火墙及入侵检测策略。针对设计目标4,使用防火墙,对外出连接进行控制。达到减少蜜罐潜在风险的目的。针对设计目标5,根据蜜网系统的网络拓扑,如果要增加新的蜜罐,是非常容易的,把蜜罐接入集线器即可。 西南交通大学硕士研究生学位论文第33页第4章蜜网系统的设计与实现本章依据第3章对蜜网系统相关模块的描述,介绍了主要模块的设计与实现。4.1系统实现环境本系统模块的实现环境选择在比较流行的Linux版本FedoraCore6上来实现的。4.2主要功能模块的设计与实现J4.2.1蜜网网关的设计与实现在整个蜜网系统中,起关键作用的是linux网桥(1inux操作系统可以将两个以上的网络接口配置成一个网桥),出入系统所有的连接都通过该网桥,因此是限制蜜网系统对第三方造成危害的关键设计点。由于网桥没有ip地址,所以作为网桥的这台主机就没有攻击点,也就不可能对其进行攻击。并且由于网桥是两层设备,因此通过网桥的网络包不会有象路由跳数地址以及TTL的衰减,使得网桥对于攻击者来说更加隐蔽,这在一定程度上为在网桥上安装管理平台提供了安全保证。内核版本为2.4.X的Linux操作系统默认情况下不支持网桥,要在这个系列的操作系统上配置网桥,需要给内核打一个bridge—nf补丁并重新编译内核。宿主机安装的操作系统为FedoraCore6.0,其内核版本为2.6.18,而2.6.X系列的内核默认情况下就支持网桥功能,因此不需要对内核进行重新编译就能支持网桥功能。配置网桥需要安装网桥的配置工具bridge.utils。bridge-utils的源代码可以在http://bridge.sourceforge.net/bridge-mils/下载,编译成功后,生成网桥配置的主要工具brctl。网桥的每个端口运行于混杂模式,工作在数据链路层,在同一个逻辑网段转发数据包,使linux能够对数据包进行交换,因此不需要P。首先创建一个网桥brO,然后将网络接口ethO和ethl添加到brO,使它们成为网桥brO 西南交通大学硕士研究生学位论文第34页的端口。针对本设计,将网络拓扑图中的网关主机的网络接口eth0和ethl配置成一个网桥,起名为br0。这个网桥网段应该设成192.168.0.0/24,而网桥就是这个逻辑网段的别名。如下所示,本文成功配置了一个网桥。【root@serverma~】}}brctladdbrbr0【root@serverma~】撑brctladdbraddifeth0【root@serverma~】撑brctladdbraddifeth1【root@serverma~】捍ifconfigeth00.0.0.0up【root@serverma一】群ifconfigethl0.0.0.0up【root@serverma一】群brctlshowbridgenamebridgeidSTPenabledinterfacesbr0。8000.000000000000noeth0ethl由于网桥没有IP地址,因此使得网桥主机很安全,可以在网桥上部署基于异常的入侵检测系统,利用Iptables的强大的NAT功能,一旦检测得到异常的连接就可以把网络连接透明重定向到蜜罐主机上,使得入侵者在毫无察觉的情况下被研究其行为。4.2.2入侵检测系统Snort(1)设计思想其主要方式是首先构建系统正常的行为模式,通过对系统异常行为的检测,来发现未知的攻击模式。它的关键之处在于如何建立正常的行为模式和选择一个区分正常和异常事件的“阈值’’,并且如何利用该模式和当前系统行为模式进行比较,计算出当前模式的偏离程度,通过与“阈值"比较来判定是否有入侵行为的发生。异常检测最大的好处在于可以检测到一些未知的攻击方法,因为它检测入侵的时候并不需要知道各种具体攻击方式的特点。但它也存在着“漏报"和“误报"高的问题。(2)具体实现入侵检测模块被用来进行数据包嗅探、数据包记录和网络入侵检测CNrDS),并能够实时预警。本系统采用的Snort是一个可以运行在多种操作系统和多种硬件平台上的开源的软件,可以根据自己的需求来定义其配置文件,从而实现部署目的。下面是本文配置的Snort配置文件: 西南交通大学硕士研究生学位论文第35页撑撑撑稃{fI}撑jfl}撑撑撑撑≠≠撑群jfl}拌群jfj}≠≠撑撑jfj}撑jfj}捍if≠≠≠jfI}{fj}群jf≠≠≠≠≠1|≠≠≠≠≠撑≠≠≠≠群##群群#jf≠jf≠j[≠≠≠拌≠≠varHOMENET192.168.0.0/24varDNSSERVERS$HOMENETvatSMTPSERVERS$HOMENETvatHTTPSERVERS$HOMENETvatSQLSERVERS$HOMENETvatTELNETSEIWERS$HOMENETvatSNMPSERVERS$HOMENET撑撑撑撑拌挣撑撑撑撑撑撑撑撑撑黼撑撑群群群撑}j}撑撑撑撑撑撑}}撑撑撑蝴撑}}}}撑撑撑槲群撑撑}}稃撑撑Step捍3:Configurepreprocessorspreprocessorfra92preprocessorstream4reassemblepreprocessorrpc_decode:111preprocessortelnetdecode’样撑撑样}}}}撑撑j|j}撑j|j}j|}j|j}撑j|}撑}}撑撑{|}撑撑撑样{毕撑撑撑撑撑撑撑}}撑槲撑撑黼样}}撑黼群}}}}撑撑样捍撑黼样撑撑稃撑捍Step}}4:Configureoutputpluginsoutputalert_syslog:LOG——AUTHLOG—.ALERT。outputdatabase:log,mysql,user=snortpassword=131415dbnamefsnorthost=localhostoutput109-tcpdump:tcpdump.109撑错撑槲群撑样撑撑样撑样撑槲撑}}撑黼捍槲群撑群群}}}≠撑撑撑槲挣样撑撑槲黼撑群群撑群撑撑挣撑槲撑捍蝴撑Step群5:Customizeyourrulesetinclude$RULEPATH/local.rulesinclude$RULEPATH/bad.tra伍C.rulesinclude$RULEPATH/exploit.rulesinclude$RULEPATH/scan.rulesinclude$RULEPATH/finger.rulesmclude$RULEPATH/ftp.roles一、一include$RULEPATH/telnet.rulesinclude$RULEPATH/rpc.rulesinclude$RULEPATH/rservices.rolesinclude$RULEPATH/dos.rulesinclude$IWLEPATH/ddos.rules 西南交通大学硕士研究生学位论文第36页include$RULE_PATH/dns.rulesinclude$RULE_PATH/t邱.rules群}}}}撑槲}}桴}j}撑}j}j|}j|}样}}撑样{f}撑群}}}}}}}}}}撑撑撑撑}i}撑撑撑挣样}}}j}撑撑撑撑}}黼}}撑群}}{毕样撑群捍槲j||}}}}}撑}}撑i|}群这个配置文件比较灵活高效,可以根据自己的需要自由组合各个组件。另外对于Snort的启动来说,由于是基于命令行的,所以每次都启动时将各个命令都输入一遍进去麻烦而且是不可取的,因此本文实现了启动脚本snort.sh,如附表1所示。4.2.3蜜罐honeyd的实现(1)Honeyd的安装在本文所设计的蜜罐系统中,采用了目前最新的honeydl.5b版本,安装它必须要有以下五个库的支持:1)libcvent:异步事件库,libeventAPI提供了一种机制:当一个特殊事件在一个文件描述符上发生或者一个事先设定的时间到达的时候执行一个callback函数,另外,callback也支持由信号或者规则的timeout引发的callback。2)libdnet:数据包构造和发送开发库,为若干个低层的网络例程提供了一个简单的可移植的接口,包括网络地址处理,内核arp缓冲和路由表查找和管理,网络防火墙(口filter,ipfw,ipchains,pf,PktFilter,⋯),网络接121查找和管理,D隧道(BSD/Linuxtun,UniversalTUN/TAPdevice),未加工的D包和以太网帧的传输。3)libpcap:数据包捕获开发库,libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap可以在绝大多数类unix平台下工作。4)libdnsres:无阻塞的域名解决开发库。5)libpere.Perl的正规表达库安装了上面五个库后,才能对honeyd实现编译,然后的安装过程与其它Linux下的安装过程一样,不再赘述。(2)Honeyd的配置文件在Honeyd框架中,通过配置模板(Template)来配置蜜罐。配置语言是一种上下文无关文法,可以设置虚拟网络,操作系统和服务。新模板应用create命令来产生。Bind命令把一个模板分配给IP地址,如果没有模板被指定IP,我们采用缺省模板。一个简单的配置如下所示: 西南交通大学硕士研究生学位论文第37页createdefaultsetdefaultpersonality‘‘MicrosoftWindowsXPHomeEdition’’setwindowsdefaulttcpactionresetsetwindowsdefaultuOpactionresetaddwindowstcpportl10openaddwindowstopport80openaddwindowstopport25openaddwindowstcpport22open‘addwindowstcpport21openbind192.168.0.122windowsbind192.168.0.123windowsbind192.168.0.124windowsbind192.168.0.125windowsbind192.168.0.126windows上面的配置,创建了一个叫做default的模板,它的个性特征为:MicrosoftWindowsXPHomeEdition,它的UDP服务默认是关闭的,TCP和ICMP服务默认打开,在蜜罐上有5个端口被打开:21/tcp,22/tcp,25/tcp,80/udp和110/udp。对于关闭的端I=l,honeyd将发出一个RST(对于TCP协议),或者一个ICMP端口不可到达的消息(对于UDP协议)。同时利用bind命令绑定了192.168.0.122.192.168.0.126五个系统。4.3蜜网技术的三个核心机制设计与实现4.3.1数据控制模块(IptabIes)设计与实现Iptables[27]是FedoraCore6.0自带的一个功能强大的开放源代码的防火墙,通过它可以实现对蜜网系统的外出连接的限制和第一层的数据捕获,从而降低了蜜网系统存在的风险。Iptables的各种操作是利用不同的规则表(RuleTables)来定义的,Iptables内置有3个不同的规则表,即过滤表(FilterTable)、转换表(NATTable)、改写表(MangleTable),分别代表了对经过防火墙的数据包进行过滤、转换以及改写的操作。其中的每一个规则表又由数个规则链组成,但是真正执行这些过滤规则的是FilterTable。如图4.1所示。 西南交通大学硕士研究生学位论文第38页从网络接收的数据包峻:警UFORWARDI由选择r叫NGPOSTROUTl.I同网络发INGr.’1送数据包输出包选择上次协议lIOUTPUT本地进程II1西菇蒜图4.1Netfilter框架示意图Netfilter截获所有流经它的数据包,从数据包的头部获取过滤所需的相关信息,依据预先定义的规则过滤数据包,根据规则所处理数据包的类型可以将规则分组在链中。信息包过滤表中内置有三条缺省主链:INPUT、OUTPUT、FORWARD。处理入站数据包的规则被添加到INPUT链中;处理出站数据包的规则被添加到OUTPUT链中;处理正在转发的数据包的规则被添加到FORWARD链中。另外,还有其它许多可用的链的类型(如PREROUTING和POSTROUTING),以及用户自定义的链。由于宿主机作为一个二层网关主要工作是进行数据包的转发,因此重点是对FORWARD链的规则进行定义。、通过IPTables扩展选项limit可实现蜜网外出连接数限制。利用limit,在FOR、㈣链配置规则,限制蜜罐向Intemet发起的连接数上限,这个限制可以是每秒(或者分、小时、天)多少个连接。在一个记数周期内,如果向外发出的数据包达到上限,则记录下相关信息,并发出警告让蜜网部署者知道这个情况。控制的数据包包括各种类型,不仅限于TCP,UCP,ICMP包,还包括其他未知协议的各种数据包,如非口协议的其他协议,具体规则可以通过re.firewall脚本设置对可疑数据包采取的措施,要么删除,要么禁止或者丢弃。如在rc.firewaU设置规则:爿孵捍Settheconnectionoutboundlimitsfordifferentprotocols.SCALE=”day¨撑记时单位,也可以是秒,分,小时,等等。TCPRATE=”25”捍每记时单位中允许的TCP连接数。UDPRATE=”30¨群每记时单位中允许的UDP连接数。ICMPRATE="40¨捍每记时单位中允许的ICMP连接数。OTHERRATE=¨15”捍每记时单位中允许的其他口协议连接数。 西南交通大学硕士研究生学位论文第39页STOPOUT=”no”群如果不想允许任何向外连接,可以将这个参数设为“YES",这条规则将覆盖以上所有规则,防火墙将阻塞任何向外的连接企图,通过此规则设置,就可以较好地限制对外连接数量。4.3.2数据捕获模块设计与实现数据捕获模块主要包括三层数据捕获:防火墙Iptables,入侵检测Snort,以及蜜罐主机Honeyd。4.3.2.1防火墙lptabIes通过IPTables扩展选项log将所有经过防火墙的连接记录到日志中,实现数据捕捉功能。4.3.2.2入侵检测Snort对本文来说需要SnoIrt能够把产生的日志信息输入到数据库中,主要是在编译Snort时加上—.with.mysql选项,使得Snort支持数据库,即把日志和预警信息发送到MySQLqb,然后再在Snort的配置文件中加入:Output:log,mysql,user=usemamepassword=mypassworddbname=snorthost=192.168.0.2Output:alert,mysql,user=usernamepassword=mypassworddbname=snorthost=192.168.O.2其中log是Snort所记录的日志信息,alert表示Snort的预警信息,user和password为Snort建立数据库时所用到的用户名和密码。最后,运行Snort自身所带的脚本createmysql来创建所有必要的表,来保证Snort能够和数据库建立连接并写入正确的日志信息。4.3.2.3Honeyd蜜罐主机的数据捕获蜜罐Honeyd本身只能把日志记录在本地机上,不能进行异地的转储,因此需要对其进行改进,以适应蜜罐系统设计目标中的远程日志的功能。(1)设计思想Honeyd的本地日志存储目录是由honeyd启动时.1选项来指定的。对于honeyd的远程日志,考虑到Linux下的syslog功能强大,可以考虑通过改写honeyd的源程序来完成日志远程存储的过程。该方案的优点是实时传送,但其得到的信息可能不太“干净"(因为honeyd宿主机上的其它服务还要利用syslog来进行日志记录)。可以在日志分析时,采取一定的条件过滤,把其它的不是honeyd所产生的日志信息进行过滤。研究发现honeyd产生的日志格式与syslog产生的日志格式基本一样,所以经过认真分析,决定采取此方案。 西南交通大学硕士研究生学位论文第40页(2)具体实现syslog工具由一个守护进程组成,它能接受访问系统的日志信息并且根据/ete/syslog.conf配置文件中的指令处理这些信息。程序、守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向syslog接口呼叫生成该信息。通常,syslog接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf文件通知syslogd如何根据设备和信息重要级别来报告信息。所以本文利用了syslog这个特性,通过改写honeyd源程序来达到日志远程转储的目的,具体实现是通过修改honeyd的源代码来实现的。本文通过修改honeyd.c里面的日志存储函数setlogmask(LOGUPTO(LOQINFO),修改成setlogrnask(LOG_UPTO(LOQDEBUG)。同时修改/ete/syslog.eonf文件,在其中加入如下的语句:daemon·@192.168.0.2(日志服务器IP)通过对syslog.eonf的修改,实现了本地的日志信息转储到日志服务器的功能。上面语句中设置的P是与honeyd主机所在同一个局域网的计算机口地址,如果想要进行异地备份,可以设置成外网的IP地址。如果日志服务器有域名的话,可以用DNS替换D地址,可达到同样效果。需要注意的是修改过后需要对honeyd软件需要重新编译安装才能生效。对于服务器端可以安装在Windows系统的主机上,要想从蜜罐主机收到数据,需要创建基于Honeyd的规则。具体规则如表4.1所示:表4—1Honeyd规则设置RuleTypeNameField—TypeConditionsMessagesIPaddress.IPStart192.168.0.22HoneydFilterfromMessagesrangeEnd192.168.0.22HoneypotHoneydFilterConnectionMessagesInclude“honeyd’’AND‘‘connectionMessagesestablishedtext·RegExpestablishedHoneydFilterXtimesinYFlages/Connters-T】meifeventoccurs5MessagessecondsThresholdrimsin60secondsHoneydActionHoneydEmailMessagesalertE·mailmessages 西南交通大学硕士研究生学位论文第41页43.3数据分析模块的设计与实现在本文中,数据分析主要包括两部分,一部分是以ACID为基础的数据分析部分,另一部分是基于数据挖掘的数据分析。以下进行对其实现过程进行详细介绍:431AcID日志分析模块ACID日志分析模块的实现主要是基于数据库提供的访问接口,利用ACID软件实现提供对日志信息的统计、查询和管理,并可以以图形化的方式显示统计和查询的结果。本模块利用数据库接口对存入MySQL中的数据进行操作,ACID可以提供日志分析的功能。日志分析模块安装在网桥上,因为ACID是基于Web的服务,所以还需要Web服务器的支持(本系统采用Apache),这样只要拥有网络使得远程管理成为可能。对于ACID的安装,已经有很多相关的参考资料,在此不做赘述。需要注意的是安装ACID需要安装Apache服务器,以及PHP语言的支持。另外还应该注意相关的版本对应关系。安装成功后运行效果如图4-2所示。誊点巍朔篆燃慧恻==一⋯⋯。,巍;;j惫≈⋯.。j嘶=?⋯⋯一。.s⋯,F-Ⅲr⋯n一⋯l:盅矗=;:篱=⋯⋯⋯·:兰‘:ji孙一⋯⋯⋯一⋯n-:二=爿j⋯~⋯。.⋯⋯㈨,j铤墨竺二:::=::=:=::=:二:::⋯⋯一一:j一:,~⋯⋯⋯·n⋯一-一:::::==三=:=::::!_==:=;邕Z=:=::‘::.:⋯”^^‘‘4q‘MⅢ!⋯~一~.一=2图4-2ACID控制平台考虑到是对日志的操作,所以安全性就比正常数据要求要高,因此本文在传统的基于ACID平台的解决方案的基础上又增加了身份认证的模块。使得管理平台更加安全。具体实现如下:(I)增加目录验证的功能通过在httpdconf尾部加;:0武ionslndexesFollowSymLinksallowoverrideauthconfig 西南交通大学硕士研究生学位论文第42页orderallow,denyallowfromall(/Directory>:在acid目录里vi.htaccess里面添加huthName”pleaseinputyourusernameandpassword:”AuthTypebasichuthUserFile/usr/local/apache/users—passwd.txtrequirevalid—user实现效果如图4-3所示:图4-3管理平台身份验证界面(2)增加snort页面启动管理功能SnortCenter是一个基于Web的snort探针和规则管理系统,用于远程修改snort探针的配置,启动、停止探针,编辑、分发snort特征码规则。具体效果如图4—4:图4—4Snort页面管理功能效果图 西南交通大学硕士研究生学位论文第43页(3)使用Stunnel增加MYSQL隧道加密明文会话SSL协议(安全套接字协议)是为了弥补一些已被广泛应用的明文协议的安全缺陷而设计的加密通讯协议,它可以用服务器的安全证书对通讯内容进行加密,以防止黑客中途截听通讯内容。4.3.3.2基于数据挖掘的日志分析模块数据挖掘的相关理论知识,本文在2.5节已经有所介绍,在此不再做详细介绍。数据挖掘从原始数据提取我们需要的信息进行知识学习的过程如图4-5所示:原目始采集。源数据.标数据模解释知数式识据选择据侦处理据挖掘评价图4.5数据挖掘流程图(1)数据源的选择和数据采集本文所选取的数据源主要是蜜罐主机数据的日志信息,以及入侵检测记录信息。其中蜜罐主机的日志信息包括两部分,一部分是通过Syslog模块通过UDP方式发送到日志服务器的数据,另一部分是由sebek基于内核级的对于入侵者行为的记录信息,这些记录信息包括蜜罐日志记录信息以及入侵者的击键序列。所有的数据都被存储在远程日志服务器上一个叫snort的数据库中。据CERT的调查表明,95%以上的网络攻击分析只需要协议头部信息和数据包实际内容的一部分,因此不记录数据包的全部,而是记录协议的头部信息以及实际内容的开头的前部分字节,作为详细的原始日志数据,记录的数据包括网段内部主机之间,以及网段内部主机与外部主机之间通信的数据包头及数据内容。主要提取以下几个方面的特征值:1)网络连接特征:如一个TCP连接建立的时间,连接持续的时间,建立连接双方的主机的IP地址及端口,两个方向的字节传输量,连接的结束状态,如表4-2所示。表4-2网络连接的基本特征duration连接持续时间protocoLtype协议类型(包括tcp、udp、icmp等) 西南交通大学硕士研究生学位论文第44页目标主机网络服务类型(如HTTP、TELNET等)src_bytes源端到目的端的数据字节数dst-bytes目的端到源端的数据字节数flag正常/错误状态标志位land判断是否受到land攻击(源和目的地址相同)wrong_fragment“错误"的IP报文数urgentTCP包头URG被置位的报文数2)连接的内容特征:如登录失败的次数,登录成功的次数,是否获取根用户权限,对重要文件的访问状态,以重要身份,如root、adm等登录的次数,以匿名方式登录的次数,如guest、anonymous等,如表4-3所示。表4-3网络连接的内容特征logged..in登录成功标志num_failed..109ins登录失败计数num_comprised有安全威胁的计数一rootshell获得超级用户权限的标志位SU..attempted试图获得超级用户权限的标志位numfilecreations创建文件的操作计数numshell打开shell的计数nuIn_root以root身份登录的次数numaccessfile存取控制文件的计数numoutboundcmdsftp会话命令数be—.hot..1ogin登录名在"hot"列表中be——guest..109in以“guest"身份登录标志 西南交通大学硕士研究生学位论文第45页3)连接的统计特征:此统计特性又分基于目的主机和基于服务的特征统计。基于目的主机的统计有:在某一时间段如2s内,与本连接目的主机相同的连接个数,其中有SYN错误的连接个数,有REJ错误的连接个数,使用相同服务和不同服务的连接个数等;基于服务的统计有:在某一时间段如2s内,与本连接服务相同的连接个数,其中有SYN错误和REJ错误的连接个数,、不同连接主机的连接个数等,如表4-4所示。表4-4网络连接的统计特征count两秒内对同一台主机的连接数serror..rate对某台主机发起连接的“SYN“错误率rerror..rate对某台主机发起连接的“REJ“错误率same—swjate对某台主机的同一服务连接数率differsrvrate对某台主机的不同服务连接数率’srv.—count两秒内对同一台主机同一服务连接数$rv—.serror—.rate对某一服务连接的“SYN“错误率srv..rerror—.rate对某一服务连接的“REJ“错误率stydifferhostrate对不同主机相同服务连接的概率(2)数据预处理对于蜜网系统来说,由于捕捉到的数据具有数据量小,高保真的特点,所以我们相对单纯的入侵检测系统来捕捉的的数据量一般非常大,而且是动态更新的特点,处理起来相对容易得多。但是这些数据由于同样存在这样那样的问题,比如有些“脏"数据或者信息不完整的数据,另外数据存储的格式不一定适合我们的数据挖掘算法,所以我们同样需要数据预处理的过程。对于有些“脏"数据或者信息不完整的数据对本系统来说是没用的,在处理前就去掉,这样既可以减少存储空间又可以缩短处理的时间,降低后面子系统的负荷。但数据过滤必须谨慎进行,以免删掉有用的数据。从数据库记录数据中消除噪声数据和无关数据,将用户的历史行为数据和当前操作数据进行集成。数据的预处理在数据挖掘中训练数据的好坏直接影响到提取的用户特征和推导出的规则的准确性。数据预处理具体包括:数据清理,数据 西南交通大学硕士研究生学位论文第46页集成,数据变换和数据归约。1)数据清理存在不完整的、含噪声的和不一致的数据是大型的、现实数据库或数据仓库的共同特点。数据清理过程通过填写空缺的值,平滑噪声数据,识别、删除孤立点,并纠正数据中存在的不一致来清理数据。通过数据清理对日志信息进行精简,可以实现对系统安全数据和网络安全数据进行过滤,去除其中的冗余或无关信息。这样,展现在我们面前的数据已经是初步“干净"的数据。但是,我们还有必要进一步精简、提取我们有兴趣的安全数据。2)数据集成数据集成是将采集到的多个数据源中的数据结合起来存放在一个一致的数据存储数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。本系统中,我们将经过数据清理后得到的基于主机的数据源和基于网络的数据源进行集成。但是,代表同一概念的属性在这两种不同的数据源中可能具有不同的名字,这将导致不一致性和冗余。同时命名的不一致还可能出现在属性值中,而且有些属性可能是其它属性导出的。所以,我们在进行了数据集成之后,还要再次进行数据清理,检测和删除可能由集成导致的冗余和不一致以及冲突数据值,并使数据的各种属性和各个值易于识别。3)数据变换数据变换是一种将数据规范化的过程,其目的是将数据转换成适合于挖掘的形式。数据变换过程可能涉及到数据平滑、聚集(对数据进行汇总和聚集)、数据概化(使用概念分层,用高层次概念替换低层次“原始’’数据)、规范化(将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.O)和属性构造(构造新的属性并添加到属性集中,以帮助挖掘过程)。4)数据归约数据归约旨在得到数据集的归约表示。由于经过数据归约之后的数据集小得多,但仍接近于保持原数据的完整性。这样,在归约后的数据集上挖掘将更加有效,并产生相同(或几乎相同)的分析结果。通过以上数据预处理过程,可以方便系统从大量数据中得到有效的信息和规则,提高挖掘出的结果的质量。(3)数据间的相异度测量相异度测量是两个数据之间的一种度量,对于本文来说特指距离。描述不同数据间的亲密程度最常用的也就是距离,有些时候通常以相异矩阵的方式出现。 西南交通大学硕士研究生学位论文第47页设采集样品数据xij(i=l,2,⋯,11;J=l,2,...,m),n个采集样品数据看成m维空间的n个点。dist(xi,xj)表示采集样品数据点xi和采集样品数据点xj之间的距离。则距离度量满足对距离函数的一些数学要求:(1)dist(xi,xi)≥0:距离值非负;(2)dist(xi,Xi)-O:一个对象与自身的距离为O;(3)dist(xi,xj)=d(xj,xj):距离函数具有对称性;(4)dist(x。,xj)≤d(xi,h)+d(h,xj):从某一对象xj到对象Xi的直接距离不会大于途经任何其他对象h总距离(三角不等式).常用的距离有欧几里德距离、曼哈顿距离和明氏距离。对于本文来说采用的是加权的欧几里德公式来对数据进行相异度测量。公式如下所示:dist(Oj,xi)=√wlh—q.12+w2Jx,:一q:12+⋯+MIx扯一%12其中Oi是聚类的中心点,Xi是我们选取的样本中的任一条数据项。为了给数据属性合理的分配权值,本文采用的方法是根据专家的经验先就两条数据的各个属性给出相异性评判,再进行这两个数据相异性的综合评判,根据综合决策模型,列出模糊关系方程【28】,可得到每个属性在相异计算中所占的权值。这样得到的权值比我们指定的更合适,更准确的反应各个属性在相异计算中所占的比重。权值计算公式【28】如下所示:.々。,.一∑I‰一盂II‘一弓I‘_l其中,Xi_二∑Xik,Xj=二∑xjk。m百(4)用无监督聚类算法对数据进行处理聚类分析的方法是指将物理的或者抽象的对象分成几个群体,每个群体内部,对象之间具有较高的相似性,而在不同在群体之间相似性则比较小。一般一个群体也就是一个类,但与数据分类不同的是聚类结果主要是基于当前所处理的数据,我们实现并不知道类的结构及每个对象所属的类别。蜜罐中记录的数据并不知道哪些是入侵数据,哪些是正常数据,因此需要用无监督聚类算法对数据进行分类,再把各类标记出来。 西南交通大学硕士研究生学位论文第48页用无监督聚类对蜜罐记录的数据进行分类建立在两个假设基础之上【29】:第一个假设是蜜罐记录的入侵行为与正常行为有较明显的差异,可以通过属性将它们区分开;第二个假设是正常行为的数目远大于入侵行为的数目。本文针对蜜网系统使用了一种无监督聚类算法,该算法的聚类数目不需要事先指定而是动态生成的。其聚类个数主要是由算法中定义的阈值半径决定。基本思想是拟一个值(类均值)代表一个聚类,通过不断比较剩余数据与一直聚类的代表点的距离,根据算法中设定的阈值半径或其划入某个类中,或生成新类,在聚类过程中,类心(类均值)是动态的,不断变化的。给定聚类半径L,L是根据经验而定。聚类算法【19】如下:要分类的数据假定为S={Xi,xi,xi....,Xn}。Stepl任意选择k个对象作为初始的簇中心,并且任意两个簇中心满足dist(yi,Xj)>L;。Step2Ot—y1,02一y2,⋯,Ok—yk;cluster_number=k;Step3repeat:Step4从S中依次选Xi,i=l,⋯,n,然后逐个计算dist(Oj,xi),j=1,⋯,k;找离Xi的中心0m,即dist(Om,Xi)弋192.168.1.0/2480这条规则表示:让snort记录从外部网络到C类网址192.168.1.O的80端口所有数据包。snort规则中还可以有规则选项(ruleoption),使用规则选项可以定义更为复杂的行为,实现更加强大的功能。下面是一条含有规则选项的规则:alerttcpanyany一>192.168.1.0/2480(content:’/cgi—bin/php’;msg’PHFprobe!’)这条规则用来检测对本地网络web服务器的PHP服务的探测,一旦检测到这种探测数据包,snort就发出报警消息,并把整个探测包记录到日志。在规则中,IP地址的定义也有很大的灵活性。使用any关键词表示任何IP地址或者端口。一般地,IP地址可以使用XX.XX.xx.xx/子网掩码的形式定义,其中XX.xx.XX.xx是由“.一分割的四个字节的数字。注意不能使用域名方式,snort不对域名进行解析,当然是出于效率的考虑。还可以使用非操作符“!一对IP地址和端口进行操作,这个操作符就是逻辑非的意思。对于端口,还可以使用操作符“:一限制端口的范围。例如:alerttcp1192.168.1.0/24any一>192.168.1.0/246000:6010(msg:’Xtraffic’:). 西南交通大学硕士研究生学位论文第51页这条规则使snort对于从外部网络到内部网络X-window服务端口的数据包发出报警。在snort当前版本中有23个规则选项关键词,随着snort不断地加入对更多协议的支持以及功能的扩展,会有更多的功能选项加入其中。这些功能选项可以以任意的方式进行组合,对数据包进行分类和检测。现在,snort支持的选项包括:msg、logto、ttl、tos、id、ipoption、fragbits、dsize、flags,seq,ack,itype,icode,icmp_id,content,content—Jist,offset,depth、nocase、session、rpc、resp、react。每条规则中,各规则选项之间是逻辑与的关系。只有规则中的所有测试选项(例如:ttl、tos、id、ipoption等)都为真,snort才会采取规则动作。(2)snort规则编写本系统的snort规则更新除了使用snort官方网站提供的新规则进行更新外,还包括本系统形成规则的的更新。由于部署的蜜网系统捕获的数据具有高保真、数据量少的特点,因此分析形成的规则相对较少,同时由于snort的规则语言非常简单,所以Snort规则库的编写主要是采取手动改变配置文件的方式来实现的。在编写新的规则时,最重要的是知道新攻击的特征码。而特征码得到方法主要是通过4.3.3.2节通过数据分析得到,然后把得到的特征码加入带规则中。以IMAP缓冲区溢出攻击为例,经过数据挖掘分析得到唯一的特征码是“/bin/sh"字符串及前面的机器码,这实际上是一个shellcode。因此我们可以利用特征码很快开发出一条新的规则:alerttcpanyany->192.168.1.0/24143(content:”IE8C0FFFFFI/bin/sh’:msg:’NewIMAPBuffer0verflowdetected!’:)其中的特征码含有文本和16进制两种形式,它们以“I一分割,snort运行时都被转换为二进制形式。具体实现过程如参考文献[22]描述。4.4.2防火墙IptabIes规则学习防火墙规则的更新主要是采取编写脚本、运行脚本来实现的,具体脚本见附表2。而规则库的具体执行主要是使用libiptc库处理防火墙的规则,规则是隶属于表(table)和链(chain)的。规则可以划分为基本部分、匹配部分以及目标部分。如下:例iptables—AFORWARD-S192.168.0.2一Ptep-dpoH80-jACCEPT上例中,表是filter(默认),链是FORWARD,.dpoa80是规则的匹配 西南交通大学硕士研究生学位论文第52页部分,而-jACCEPT是规则的目标部分。在libiptc库中,表和链都是以字符串形式表示的:规则是用多个数据结构来描述。规则的三个主要部分(基本部分、匹配部分以及目标部分)分别对应着相应的数据结构:structiptstructipt_entry_match、structipt_entry_target。将上述规则转换为对应的libiptc库的程序,步骤如下:l、使用ipte_init函数对表filter进行初始化,获取该表的句柄h=iptc“’);//针对表获取表句柄2.、.in构it(造fi规lte则r"(包括匹fi配lte和r目标部分)h//定义ipt_entry_target描述-jACCEPT//定义iptentry描述.dport80//定义-S192.168.0.2-Ptcp并且把上述的匹配和目标都组合进来3、调用iptc_append_entry或iptc_insert_entry函数,在filter表FORWARD链中添加该规则iptc_append_entry("FORWARD”,&e,&h);由于netfilter防火墙是可扩展的,描述其规则的数据结构也因此是可扩展的。使用libiptc库的主要技巧就是掌握动态构造这些数据结构的方法。下面我们介绍规则的基本描述方法:(1)主要数据结构libiptc库的主要数据结构就是描述规则的结构。具体而言是iptiptentry_target、ipt_entry_match三个主体结构以及它们引用的一些描述细节信息结构。这些结构的定义主要在iptables.h文件中。结构ipt是防火墙规则的载体,除了记录规则的基本信息以外还集.entry成封装了规则的匹配部分以及目标部分。其定义如下:structipt_entry{structipt_ipip;//记录本规则的源、目的ip、接口等unsignedintnfeache;u_.intl6_ttarget_offset;//target的起始位置(偏移量)Uintl6tnextoffset;//target的结束位置(偏移量)unsignedintcomefrom;structipt本规则作用过的包数和流量字节数.counterscount变er长s;/部/unsignedcharelems[0];分,依次为match和target’; 西南交通大学硕士研究生学位论文第53页对于上述例子,该规则的基本信息“一s192.168.0.2-Ptcp”在属性ip中描述;匹配信息“-ptcp·dport80”以及目标信息“-jACCEPT”需要动态构造然后依次附加到elems位置;属性target_offset和next—offset用来将目标部分的位置明确标识出来。属性ip是一个ipt_ip类型的结构,用来记录源ip地址、源接口、目的ip地址、目的接口等基本信息。填写本结构时有特殊的要求:1)填写源ip信息ip.sre时,需要填写ip.smsk属性(否则系统不理会ip.src的信息)。正常情况下,ip.smsk填写子网掩码信息,如果没有子网掩码信息时,可取值.1;2)填写接口信息ip.iniface时,需要填写ip.iniface_mask属性。对应iniface名字字符(包括null结尾)的位置都设置为Oxffo3)协议proto属性,取值可参见/etc/protocols文件里各协议的编号值。需要设置相应的标志,比如下:structipt_ip{structin—addrsrc,dst;//源ip地址、目的ip地址stmctin—addrsmsk,dmsk;//源ip地址及目的ip地址的标记值,必须设置chariniface[IFNAMASIZ],outiface[IFNAMASIZ];/LK接口、出接口unsignedchariniface_mask[IFNAMASIZ],utiface_mask[IFNAMASIZ];//接口的标记值,必须设置Uintl6tproto//协议,取0表示任意协议u..int8—.tflags;u—int8一tinflagsH取反标志位);结构ipt_ent巧_target描述防火墙规则的目标部分,其简化定义如下:Streetipt_entry_target{union{struct{u—intl6_ttarget_size;/·整个目标的长度,包括data部分·,charname[IPTFUNCTION_MAXNAMELEN];严目标名·/}user;)u;unsignedchardata[0];/*变长部分,模块具体的目标信息·/ 西南交通大学硕士研究生学位论文第54页,;上述结构中变长Data部分的内容是与防火墙模块相关的。对于filter表,内置目标(ACCEPT、DROP等)或者自定义链目标的data部分长度为IPT_-ALIGN(sizeof(int)),内容为0。但是对于nat表等,data部分也是变长的结构,需要根据实际规则构造。结构ipt_ent疆_match描述防火墙规则的匹配部分,其逻辑定义如下:structipt_entry_match{union{struct{u—intl6一tmatch_size;/*整个匹配的长度,包括data部分·/charname[IPT_-FUNCTION_MAXNAMELEN];/*匹配名·/}user;}u;unsignedchardata[0];/*可扩展部分·/);与ipt_entry结构一样,ipt_entry_match结构本身也需要额外的扩展来进一步描述match的细节信息(在data部分)。对于上述例子一dport80而言,需要结构ipt_tcp来描述tcp协议端口范围信息。结构ipt_tcp的定义如下:streetipt_tcp{u—i‘ntl6_tspts[2]:严源端口范围引u—i‘ntl6_tdpts[2]:严目的端口范围·/u—int8一toption:卜TCPOptioniffnon—zero’lu—int8一tflag_mask:/*TCPflagesmaskbyte·/u—int8一tflag_cmp:/*TCPflagescomparebyte引.u—int8一tinvflag:/.取反标志位·/);可以看出,不同的match内容对应不同的结构。在使用libiptc库时需要根据规则的种类来找出相应的匹配结构。(2)添加规则libiptc库提供了iptc_insert_entry、iptc_append_entry两个函数。可以在指定位置上增加一个规则,也可以在链尾附加一个规则。如前所述,使用这些函数的关键问题就是描述规则。以下介绍常见规则的描述方法。规则:iptables—AINPUT-ieth0-Picmp-jDROP 西南交通大学硕士研究生学位论文第55页本规则中没有匹配部分,只有目标。以下为上例中规则部分的描述代码。structipt_entry·e=NULL;structiptentry_target·pt;size—ttarget_size,size;target_size=IP£4LIGN(sizeof(structipt_intry_target))+IPz■LIGN(sizeof(int));size=sizeof(·e)+target_size;e=cmalloc(1,size);strcpy(e·>ip.iniface,"ethO”);//源接口以及源接口标志位for(inti=O;iip.iniface_mask[i]=Oxff;e->ip.proto=1:e一>target_offsetfsize;pt=(structipt_entry_target*)e一>elems;//目标部分pt->u.user.targert_size--target_size;strcpy(pt->u.user.name,"DROP”);iret=iptc_append_entry(“INPUT",e,&h);需要说明的是:上述的目标描述方法适合filter表的标准内置目标(ACCEPT、DROP)也适合目标为用户自定义链名的情况。 西南交通大学硕士研究生学位论文第56页第5章蜜网系统的测试本章主要是对本文设计的蜜网系统测试进行介绍,并对测试结果进行了分析。测试过程是首先启动蜜网系统(包括启动arpd,启动honeyd),然后针对对蜜网系统的初步设计目标进行测试,这些测试包括防火墙外出连接测试、开放端口以及模拟服务测试、入侵检测管理工具测试、远程日志测试、数据处理实验等。5.1蜜网系统的启动(1)启动arpd出于测试的简单性考虑,本文只选取了实验室里的五个未使用的IP地址让arpd进行监听。执行命令如下:arpd192.168.0.122—192.168.0.126每当有对这五个不存在的地址进行连接请求时,honeyd就会进行响应。(2)启动honeyd为了每次启动honeyd方便,把honeyd的启动命令写成了一个脚本start.,这样就避免了每次启动都输入冗长的命令,只要在终端中执_honeydsh行:图5—1honeyd的启动脚本其中的参数选项内容如下:一f指定honeyd的配置文件一P指定Nmap指纹识别库文件 西南交通大学硕士研究生学位论文第57页一x指定xprobe指纹识别库文件,honeyd根据xprobe对icmp的指纹识别工具进行响应.a指定Nmap指纹识别库的关联文件最后的192.168.0.122.192.168.0.126是honeyd所监测的IP地址段,也就是honeyd对其进行响应的P地址段。5.2蜜网系统测试本测试的目的主要是测试数据控制的功能、honeyd端口开放与模拟服务、honeyd远程日志、ACID的功能,使用的honeyd的配置文件情况如下:配置了两种不同的系统:一个WindowsXP,一个默认的default,在配置文件中所有的未分配的IP都有这个default来响应。在WindowsXP上测试开放的端口、telnet服务。5.2.1数据控制测试本文的数据控制主要是通过对防火墙的外出连接次数进行限制,从而减少蜜网系统潜在的风险。在对防火墙的测试中,可以对对其外出连接的次数做如下限制:ICMP每小时最多10次、TCP每小时最多4次、UDP最多每小时3次。以ICMP为例,通过蜜罐主机上ping其它主机(192.168.0.2),来测试ICMP的外出连接控制,得到如图5.2所示的结果:【rootgLocalhost】簟plng192.168.e.2PING192.168.0.2‘192.168.e.2"56(84)bytesofdata.64bytesfrom192.168.8.2:lcmpseqsltti--128tlme一8.257ms64bytesfrom192.168.8.2:工c胍p—Seq一2ttt=128tlme--3.36ms64bytesfrom192.168.8.2:lcmp_seq--3ttI--128tlme--2.92m564bytesfrom192.168.8。.2}tcmpseq。4ttl--128tlw酗3.28Ills64bytesfrom192.158.8.2:tcmpseq--5tti=128tlme--e.824ms64bytesfrom192.168—8、·2:lcmpseq--6ttt--128tlme--1·99ms64bytesftom192.168.0.2:lcmp_seq--7ttl=128tijme--1.81Is64bytesfrom192.168.O.2:lcmp_seq--8ttt--128tlme--1.81ms64bytesfrom192.168.8.2:lcmpseq--gttl--128tlme--O.854ms64bytesfrom192.168.8.2:tcmp_seq--18ttt=128time--1.56田splng:sendmsg:Operationnotpemlttedping:sendmsg:Operationnotpermittedplng:sendmsg:Operationnotpemlttedplng:sendmsg:Operationnotpermltted图5.2ICMP外出连接测试从图5.2的测试结果中,可以看出ICMP的前10个包都能顺利的通过,后面的ICMP都被丢弃,说明蜜网系统对外出的连接控制是成功的。 西南交通大学硕士研究生学位论文第58页52.2端口开放测试X—Scan是国内最著名的并且完全免费的综合扫描器之一,它是一种不需要安装的绿色软件,界面支持中文和英文两种语言,包括图形界面和命令行方式。可以用来进行端口存在、漏洞等扫描,利用它来对本蜜网系统进行测试可得到如图5-3所示的结果。可以看到扫描出了存活的主机数为5,漏洞数量以及警告提示数量均有显示,存活主机列表如图5-4所示。壹煎三篓巨漏洞数量1085提示教量图5-3X-Scan扫描结果发观安全警告发现安全提示接巩安全提示发现安全提示1921680125发现安全提示图5-4存活主机列表以1921680126这个IP地址所绑定的系统为例.丌放的端口如图5-5所示。⋯Ⅲ⋯●⋯∽⋯q·⋯,o■¨·口·*1*mo⋯23⋯¨‘+蕾‘"I¨0122+越‘∞l∞o’2_一謦鬈磷昌卤占5+口⋯o+o⋯tc’●⋯te,+oi‘3,t。■一⋯e●+⋯tt,+⋯~+o⋯e,+o⋯c,+01Io,te,+⋯⋯。’~⋯l8口~⋯f,+⋯1,te,一‘●3~+o—tt■+⋯,tf,~、■-々一毒JrTrj}口々·日‘192⋯18图5-5X.Scan所扫描的端门对于主机192.168.0.126的系统分析如图5-6所示,由此可以看出honeyd一生壬t歪ll;础盎等≮口鲫哩嚣嚣∞粤;,墨日丁_I西嚣凳‘lfooooo【J器¨∞¨墨型~ 西南交通大学硕士研究生学位论文第59页成功实现了端口模拟的服务主机地址靖I=l/厩务POP3-sd(99SltCp)刺TP—sd(4egtop)NNTP一5sl(56纠top)Ima](1431top)HTTPproxy⋯日(8∞01tCpf币(21/tcp)un帅wnf8000/top)IPIAP—sd(993北cp)52.3模拟服务测试.主机分析:192.168.0.126膈务漏澍发现安全提示控观安全提示发现安全提示按现安全提示垃现安全提示筮现安全提示蛀现安全提示挂观安全提示图5-5主机开放端口分析模拟服务主要是根据不同的操作系统而模拟其系统下常用的服务,例如telnet、IIS、ICMP等。在此以telnet服务测试为例,对IP为192.168.0.126所绑定的wJndows进行telnet测试,得到如图5—7所示的结果。可见,honeyd通过服务脚本成功的对telnet服务进行了模拟。其它的服务(如IIS服务、SMTP服务等)honeyd也能够成功的进行模拟。图5—7对telnet服务进行测试5.2.4AcID功能测试对入侵检测管理工具ACID进行测试,启动后的界面如图5-8所示。可以看到TCP、UDP、ICMP等分类的统计信息,并且在左面可以看到已知攻击的报警信息的统计情况。 西南交通大学硕士研究生学位论文第60页^c⋯⋯【oE1f⋯o⋯hI⋯№rl÷口⋯QrJQdFnAp¨I18.2008075451Da㈨basnort@iocalhost3306(⋯h⋯⋯●on:o)Timowlndow:noa|ens廿et咖d⋯⋯:4T⋯c⋯●⋯~o,Un●⋯AIOrtS:7BTCPf⋯)⋯⋯⋯⋯“⋯⋯制■■■■—■■■■—■■■●●■■■■■—一●~J⋯IP⋯⋯5⋯uOp(]1‘一)⋯⋯⋯⋯⋯z■■■■■■■■■■●●●■一⋯1iqueIPlinkB∞,Ic⋯P2·。、⋯⋯~。一。_____●●。一(⋯Ⅲm⋯⋯⋯TrDftI⋯~,●o●st~04一罔5-8入侵检测的管理平台界面通过条件发置界而可以设胃查询条件如图5-9所示:1819n☆m;ⅡIt-一t⋯l=l|==J|阿磊;_『二—了T百:==Fj]==雨!r广—丌葛万jr●_厂—厂]二Ⅱ阿面二_『二■玎;=::::■—jF●j耳嚣i磊———T二—耵二—j互同二—一『二—玎百磊F了F■珂——-『二j【二__=r互亘亘亘互厂一一Io·咿H:l—二旦!j—竺旦旦j—呈竺旦_J图5-9进行查询的条件设胃查询的结果如图5.10所示,从图中可以看出入侵检测管理平台ACID正常工作。图5.10查询结果图 西南交通大学硕士研究生学位论文第61页525Honeyd远程El志测试lo●?7⋯10≈⋯··⋯一11⋯⋯⋯7731:cd⋯⋯¨_·‘⋯op】一1⋯21⋯"⋯190122⋯1JI『⋯7⋯7.03:20⋯⋯1置瑚D"2e⋯T731:⋯⋯o∞“h·⋯Icol⋯Ⅷo⋯一1%1∞O—bIJlD●27⋯7⋯oo·-⋯一1瑚0l⋯⋯7731:⋯⋯^t⋯1216002⋯141%瑚0~*l‘,~r⋯_⋯d¨一·’咖·hlⅢ1口02:1⋯~159口l一。。104玎⋯1:⋯⋯⋯‘⋯~o⋯忡7731:“⋯⋯⋯~1192佃D⋯1⋯1⋯1o⋯。⋯l《"●h一^⋯一‘h1%御0—21921∞D12日1"010427⋯⋯⋯⋯·192瑚0⋯28q删3】.E11%1埘o2⋯1n·一一口128#J=I黜=一“一⋯一。=“⋯⋯“【⋯7⋯1⋯7⋯D⋯一口1⋯删73l二c口⋯_⋯⋯_“⋯l⋯一日z—Dz~1⋯12G:21lIo●27⋯7一⋯一D“⋯1一D—hm‘删⋯,‘“m一一⋯‘砷11驼1锄o212492I:嚣;器:;毪嚣}%才盖器;:管7⋯一“l0427⋯1一~dnD⋯1一012Bh⋯⋯3IK·∞⋯●一do⋯nI‘pI【1⋯⋯2一~1B⋯1oo一。445Il0427⋯"7.∞⋯~⋯1⋯seD—h⋯⋯3I=KiWi“g⋯⋯n⋯‘pI1192~o0一⋯⋯⋯12"⋯II口·2,⋯7⋯D一⋯%"呻01⋯6⋯一l=⋯“忡·⋯⋯⋯192懈o2—2一·53数据处理实验过程(1)样本数据采集在这里我们用到的实验数据是KDDCUPl999[031”⋯,,来源于1998DARPA入侵检测评估程序,也是目前入侵检测领域比较权威的测试数据。这些入侵数据有4大类,24小类。四大类是:DOS(DenialofService)攻击,例如pingofdeath;U2R(UsertoRoot)攻击.例如e2ject;R2U(RemotetoUser)攻击,例如guest:PROBING攻击,例如portscanning。各种实验数据的选取如表5-1所示。该数据对于所提供的每一个TCP/IP连接,除了一些基本属性(例如协议类型、传送的字节数等)之外,还利用领域知识扩展了一些属性(例如错误登录次数、文件生成操作的数目等),其中某些属性是在计算过去两秒内信息的基础上得到的,例如在过去两秒内连接到同一个主机的连接数目。每个连接共有41个定性属性和定量的属性,其中7个属性是离散型变量,34个是 西南交通大学硕士研究生学位论文第62页连续性变量。(2)数据预处理针对KDDCUPl999数据同时包含离散型和连续型数据的问题,需要先对离散型数据进行连续化处理,以适应聚类算法。所以在聚类之前,先对每个属性进行处理。对于离散型属性的处理方法,我们采取分割办法,拿protoeoLtype属性为例进行说明:由于在实验数据中protocol_type只有三个值:tcp,udp,iemp,是字符型,不利于进一步的处理,所以将tcp,udp,iemp就可以分别编号为oo,01,10,再将protocol_type拆分成两项protocoltypel和protocol_type2。因此当protoeol_type--tcp时,对应的protoeol_typel=O,protocol_type=O,依此类推可将离散型的protocol_type属性变量转换为连续性属性变量。具体数字型属性列处理如表5.2所示。表5.1无监督聚类算法的实验数据中包括的类型及其数量第一组DOSneptune(1836),smurf(2671),normal(145)(共4652条)第二组probingipsweep(1357),nmap(276),portsweep(1190),satan(1679),(共4652条)normal(150)第三组U2Rftpwrit(10),guess_passwd(2736),imap(4),multihop(20),(共4652条)sendmail(20),phf(8),xsnoop(14),warezmaster(1652),named(19),xloek(11),normal(150)第四组R2Uftpwrit(5),guess__passwd(2796),imap(3),multihop(23),(共4652条)sendmail(19),phf(4),xsnoop(6),warezmaster(1602),named(17),xlock(11),normal(157)表5.2连接记录特征属性映射值属性名称映射值protocoLtype将其映射到整数1-4:l(iemp);2(tcp);3(udp);4(others)将其映射到整数5-22:5(domain—u);6(ecri);7(eco_i);8(finger);9(ftp_data);1O(np);ll(http);12(hostnames);13(iservicemap4);14(109in);15(private);16(systat);17(telnet);18(time);19(uuep);20(smtp);21(netstat);22(others);将统计数值映射到整数23.29:23(0);24(1-50);25(51-200)sre_.bytes26(201.500);27(501.1000);28(1001—3000);29(>3000),括号内数值单位bytes 西南交通大学硕士研究生学位论文第63页dst_bytes将统计值映射到整数29-35,方法同src-b”es为挖掘的方便我们只取了2个变量:”SFf.和”REJ’’。将其flag映射到整数36—38:36(SF);37(REJ);38(others)Land将其映射到整数39—40:39(1);40(0)对于连续型变量来说,不同的属性各自不同的度量方式,取值偏差很大,如果不进行处理,就会导致有些属性在聚类过程中被吞掉,例如给定两个特征向量m1=(110,1,O),m2=(40,9,1),则欧几里德距离为:Dist(xl,x2)=瓜i习万瓦j了瓦而---4(110—40)2+(1—9)2+(o一1)2由此可见,这两个特征向量的特征完全被第一个属性特征所覆盖。为了解决这个问题,必须将数据的各属性值标准化,可以用如下方法进行变换【9】①计算平均的绝对偏差(meanabsolutedeviation)sf;sI=土n∑1=1(西-mr)其中xlf,⋯,Xif是f的n个特征属性值,mf是f的平均值,耳Pmf=1n窆扣。而园计算标准化的特征属性值:z_ifffi—X矿_--一mf诗f利用以上三个公式对每条数据进行处理,就形成了具有标准属性的数据集。(3)对数据分类用无监督积累算法将所有的数据分为三类,输出的结果是入侵行为集合,正常行为的集合和不确定行为集合。在使用该算法时,其中入侵行为集合是已知的,对于未知的两个集合,把数据多的集合标记为正常类,把含数据少的集合标记为入侵类。再对未知行为集合重复使用聚类算法,直到未知行为集合。(4)提取并测试规则用C4.5算法对已分类的数据进行规则提取,用提取的入侵规则对测试数据进行检测,其实验结果如下: 西南交通大学硕士研究生学位论文第64页表5-3各组用于测试新入侵规则的数据总数据组别正常数据入侵数据量第一组DOS30000257274263第二组probing30000257274263第三组U2R24002360140第四组R2U30000257274263图5.12新入侵规则对各组数据的检测结果其中,误报率=正常数据被错误分为入侵类型的记录数/数据集中的正常记录总数。漏报率=入侵数据判为正常类型的记录数/入侵数据总量,错误率=(正常数据判为入侵类型的记录数+入侵数据判为正常类型的记录数)/i鳓J试数据总量。从表格5-3和图5.12可以看出,对U2R类入侵的检测效果比前两组要差一些,可能是因为U2R类数据过少:而对第四组R2U类入侵的检测效果不理想,误报率、漏报率均偏高,这是因为有许多R2U时有许多伪装合法用户身份进行攻击,就使得其特征与正常数据比较类似,致使算法将很难将它们区分开来。但是用提取出的DOS和probing规则对包含这两条入侵数据的测试集进行检测时,取得了较好的效果,表明聚类算法能较好的把DOS和probing类入侵从正常的数据中区分开来。 西南交通大学硕士研究生学位论文第65页结论在传统安全技术出现无法解决的问题的时候,蜜网技术作为一种新型的网络技术,打破了传统安全领域里的被动防御模式,它既可以作为独立的安全工具,也可以与其它安全工具进行协作,构造一个完善的诱骗环境,达到研究学习入侵者的行为、技术以及攻击的目的。混合型蜜网系统具有比较灵活的特点,可以根据自己所要达到的目的进行灵活部署,研究蜜网技术将会给自己的学习和研究带来很大价值。本文在分析传统的安全技术的缺点之后,引出了蜜网技术,并且详细介绍了蜜网技术的发展历程以及相关的关键技术及其优缺点。但是经研究发现传统的蜜网技术不具有自我学习的能力,因此本文在研究如何让蜜网系统既具有研究价值,又具有实际的安全应用价值的目的,确定了一种蜜网系统的体系架构,并且设计实现了数据控制、数据分析、远程日志等模块,最终实现了蜜网系统的开发。本文的蜜网系统具有以下的特点:1)具有实际的安全价值,本文在确定蜜网系统的结构时,着重分析了蜜网不具有自我学习的能力,因此引入了数据挖掘技术,所以不仅让蜜网系统具有研究入侵者的行为、方式等研究价值,还具有了数据的自我分析、自我学习能力,使得在蜜网遇到下次同样的攻击时,不再像傻瓜一样周而复始的分析,·而是直接采取阻断策略。2)可扩展性好,本文所设计的蜜网系统由于所有的网络拓扑结构都是围绕着两层交换机实施,因此可以很方便的在交换机处加入更多的蜜罐,从而更好的拓展网络;只不过所有的日志信息都要存储到同一位置(即日至服务器上),不过相应的管理要变得复杂起来。3)安全性高,本文在数据控制方面,采用防火墙与入侵检测相结合的结构,同时最重要的一点是采用了两层的透明网桥技术,使得管理平台对外不可见。并且对日志服务器进行隔离保护,所以蜜网系统的安全性高和风险相对变小。本文基本上完成了蜜网系统的部署和联动性开发,但是在还存在着对日志信息不能实时分析的缺点,不能完成日志的海量分析,而且对于防火墙及入侵检测的联动策略也是多半采取手动的方式,所以下一步,需要对日志分析以及各模块的联动上进一步进行改进。 西南交通大学硕士研究生学位论文第66页最后,作者认为随着越来越多的学者对蜜网技术的进一步研究,目前存在的问题都将得到完善,蜜网技术必将会飞速发展,有一天必会在信息安全方面起到更大的作用。 西南交通大学硕士研究生学位论文第67页致谢在我的研究生生活结束之际,首先将我最诚挚的感谢献给我的导师——马永强教授,马老师严谨求实的治学态度、谦逊朴实的处事之道深深的影响了我,并将使我受益终生。在此向马教师致以最崇高的敬意和最衷心的感谢。感谢在学习、工作、生活中给予我帮助的教研室的所有同学,在与他们讨论问题和共同学习的过程中,使我在各方面得以不断提高。特别需要指出的是要感谢梁建明师兄,也正是他在蜜网方面的前期工作,才使得我的论文研究能够顺利进行,测试方案也是和他共同完成的。同时,也感谢我的女友张莉,正是她关键时候的精神支持,才使得我能顺利完成论文。感谢我的家人,谢谢你们在物质和精神上对我的支持。我一直感恩于我可以拥有一个温馨的家庭,让我可以在你们这里得到理解、支持、分担。没有你们,就没有今天的我;没有你们的支持,我也不可能走到今天。 西南交通大学硕士研究生学位论文第68页附录1Snort启动脚本附录撑!厂bi彬sh撑#purpose#UsedtolaunchsnortfordailyautomatedSnort撑SetvariablesPATH=/bin:/usr/tmp/binPID=/var/run/snort_ethl.pidDIR=/var/log/snortDATE=’date+%Y%m%d’SNORT=/usr/tmp/birdsnortUSR=snort###KillsnortIf[·s$PID];thenPRO=’cat$PID’echo’’’’echo’’PreviousversionofSnortrunning"’echo’"KillingSnort,PD$PRO”echo’’’kill.9$PROfi#Makedirectorybasedondata,ifalreadyexitsdonothingIf[-d$DIR/$DATE];then..elsemakedirSDⅡVSDpⅡAchown$USER$DⅡV$D√钮’Afi#snortoptionsexplantion 西南交通大学硕士研究生学位论文第69页#-blogpachetsintcpdumpfromat#-cconfigurefile桴.iinterfaceinourcaseethl⋯槲蝌StartsnortfortheHoneynet$SNORT·D—c/tmp/snort/etc/snort.conf-iethl-lSDIR/$DATA--U$user-t$DⅡi堋DATEExit 西南交通大学硕士研究生学位论文第70页附录2Iptabl6S启动脚本#I/bin/bash—case’$l’instart)echo—n’StaringtowriteyourIptbales:⋯’/sbin/iptables—PINPUTDROP/sbin/iptables—POUTPUTACCEPT/sbin/iptables—AINPUT—ilo—JACCEPT/sbin/iptables—AINPUT—Picmp—micmp⋯icmptype8一jDROP/sbin/iptables—AINPUT—Ptcp—mtcp一一dport21一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport22一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport80一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport3306一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport139一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport631一jACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport25一JACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport445一JACCEPT/sbin/iptables—AINPUT—Pall—mstate一一stateESTABLISHED,RELATED—JACCEPT/sbin/iptables—AINPUT—Pall—mstate一一stateINVALID,NEW—jDROPecho’Ok’stop)echo-n’CleaningyourIptables:⋯。/sbin/iptables—F/sbin/iptables—X/sbin/iptables—Zecho。Ok’木)—-—l●_-—-—-———I——-—--_—_——-__—__--_--______—__—-—-_●————_●—————_—●____-_——_●_I-———I__——●———-●————●一ml● 西南交通大学硕士研究生学位论文第71页restart)echo—n’CleaningyourIptables:⋯’/sbin/iptables—F/sbin/iptables—X/sbin/iptables—Zecho“Ok6echo—n’StaringtowriteyourIptbales:⋯’/sbin/iptables—PINPUTDROP/sbin/iptables—POUTPUTACCEPT/sbin/iptables—AINPUT—iIo—JACCEPT/sbin/iptables—AINPUT—Picmp—micmp⋯icmptype8一JDROP/sbin/iptables—AINPUT—Ptcp—mtcp--dport20-jACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp--dport22-jACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport80-jACCEPT/sb"n/iptables—AINPUT—Ptcp—mtcp——dport3306-jACCEPT/sbin/iptables-AINPUT—Ptcp—mtcp一一dport21-jACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport25一jACCEPT/sbin/iptables—AINPUT—Ptcp—mtcp一一dport445一jACCEPT/sbin/iptables-AINPUT—Ptcp—mtcp一一dport139一JACCEPT/sbin/iptables—AINPUT—Pall—mstate一一stateESTABLISHED,RELATED—jACCEPT/sbin/iptables—AINPUT—Pall—mstate一一stateINVALID,NEW-jDROPecho’Ok’木)echo’Usage:$O{startIstoprestart)’eSaC 西南交通大学硕士研究生学位论文第72页参考文献【1】张世永.网络安全原理与应用[M】.科学出版社.2003.5[2】蔡立军.网络安全技术[M】.清华大学出版社.2006.9【3】刘东华等.网络与通信安全技术【M】.人民邮电出版社.2002.11【4】王铁方等.蜜网与防火墙及入侵检测的无缝结合的研究与实现[J1.四川师范大学学报.2005.28(1):119.122【5】LanceSpitzner.Honeypots-DefinitionandValueofHonepots[J/OL].http://www.enteract.com/lspitz/honeypot.html.Oct.2001【6】曲向丽,潘莉译.黑客大解密【M】.北京:中国电力出版社.2003【7】诸葛建伟.蜜罐与蜜网技术简介[J/OL].http://www.icst.pku.edu.cn/honeynetweb/honeynetcn/.2004.9【8】狩猎女神项目组研究发展与实践[R】.http://www.honeynet.org.cn[9】LanceSpitzaner.TrackingHackers[J/OL].PearsonEducation.2003【10】TheHoneynetproject.HoneynetDefinitions,Requirements,andStandards【R】.http://project.honeynet.org/alliance/requirements.html.2004【11】Thehoneynetproject.Knowyourenmy:thehoneynet[J/OL].http://www.honeyd.org/papers/kownyourenmy.htm.2003[12】贺庆涛.蜜罐技术研究及蜜网设计【D】.西南交通大学硕士论文.2005.5【13】RyanTalabis.TheGenii&GenlIIHoneynetArchitecture[J].ThePhilippineHoneynetProject.2006【14】阮航等.第三代蜜网体系研究与分析【J】.莆田学院学报.2006,13(5):54.57【15】李声.防火墙与入侵检测系统联动技术的研究与实现【D】.南京航空航天大学硕士论文.2007.1【16】王新梅.防火墙与入侵检测系统的联动分析[J】.信息安全与通信保密2002(18)[17]梁琳等.基于策略的安全智能联动模型[J].信息安全与通信保密2004.2【18】GrossmanR,KasifS,MooreR,etal.ReportofthreeNSFWorkshopsonMiningLange,MassiveandDistributedData[R].NewYork:AAAlPress.1999【19】JiaweiHan,MichelineKamber著.数据挖掘概念与技术[M】.范明,孟小峰