• 1.72 MB
  • 2022-06-16 12:40:01 发布

在蜜罐中应用数据挖掘的研究

  • 62页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
长春工业大学硕士学位论文在蜜罐中应用数据挖掘的研究姓名:姜染石申请学位级别:硕士专业:计算机应用技术指导教师:刘棣华20070301 摘要蜜罐是一种新型的主动防御的安全技术。它是一个专门为了被攻击或入侵而设置的欺骗系统,它既可以用于保护产品系统,又可用于搜集黑客信息,是~种配嚣灵活、形式多样的网络安全技术。蜜罐只收集少量且有价值的数据。与入侵检测系统相比,大大降低了漏报、误报的发生,这就可以将注意力集中在数据分析方面。对蜜罐系统收集的数据采用数据挖掘进行分析是提高分析效率的一种有效途径。数据挖掘方法能够不依赖于规则,从大量的网络数据包中提取出人们感兴趣的、事先未知的知识和规律。采用数据挖掘的方法对蜜罐收集的数据进行分析,利用得到的模式或规律,还可以进行趋势分析、攻击预测,从而发现攻击行为的特征和规律。本文尝试采用数据挖掘的方法对蜜罐系统收集到的信息加以挖掘分析。首先构建了一个Windows系统下基于虚拟机技术的研究型蜜网。在单一的物理系统上虚拟地运行整个蜜网,提出了虚拟蜜网的整体架构和部署方式,将该系统大体分为系统模拟、数据捕获、数据控制和数据分析这几个模块。通过对防火墙规则进行定制实现了蜜网的数据控制功能。通过防火墙、入侵检测系统、主机系统日志实现数据捕获的深度防御体系。利用Winpcap技术设计、实现了一个网络抓包程序,捕获通过蜜罐的所有真实网络数据包,并对数据包进行特征提取,导出我们需要进行挖掘的数据的标准形式。文中详细介绍了如何对进行标准化处理的数据进行序列模式挖掘,找出不同数据记录之间的相关性以及那些频繁在一起发生基于时间的审计数据的序列,从中发现、选取有价值的攻击规律。最后,对蜜罐系统进行了功能测试,在实验室局域网环境下对蜜罐系统收集的数据包进行数据挖掘和数据分析,并对实验结果进行了分析与总结,验证了数据挖掘技术应用于蜜罐系统的可行性。关键词:蜜罐:入侵检测系统:蜜网;数据挖掘 AbstractHoneypotisanewsortofsecuritytechnologyofactivedefense.It’sadeceivesystemaimedatbeingattackedorintruded.Itcanbeusedforbothprotectingtheproductsystemandcollectingthe.informationofhackers.It’sanetworksecuritytechnologyinflexibleconfigurationandmultiform.Honeypotjustcollectafewdatathatisvaluable.Comparedwiththeintrusiondetectionsystem,itdegradestheoccurrenceoffalsenegativeandfalsepositivebya10ngway.soastomakeattentionconcentratedondataanalysis.AnalysisadoptedDataMiningagainstthedatacollectedbyhoneypotisaeffectivewaytoimprovetheefficiencyofanalysis.ThemethodofDataMiningcanextracttheknowledgeandregulationthatisinterestedandunforeknownfromanabundanceofnetworkdatapacketsnotdependedonregulation.MakinganalysisonthedatacollectedbyhoneypotinthemethodofDataMiningandmakinguseofthederivationalforlⅡulationandregulationcallmaketendenceanalysisandattackprediction,itcoulddiscorerthefeatureandregulationofattackbehaviour.ThepaperattemptatminingandanalysisonthedatacollectedbythehoneypotsysteminthemethodofDataMining.Firstofa11,ItbuildaresearchhoneynetbasedonthevirtualmachinetechnologyinWindowssystem.Thewholehoneynetcanrunvirtuallyinsinglephysicalsystem.Thepaperproposestheoverallstructureanddeploymentstyleofthevirtualhoneynet,andmakethesystemclassifyintofourmodulesthataresystemsimulation、datacapture、datacontrolanddataanalysis.Thepaperaccomplishesthedatacontrolfunctionofhoneynetbycustomizingthefirewallrulesandaccomplishesthedepthdefensesystembyfirewall、IDSandthelogofthehostmachinesystem.ItdesignsandaccomplishesaprogramthatcancatchthenetworkdatagramsbyusingWinpcaptechnology.Theprogramcancatchalltherealnetworkdatagramswhichthroughthehoneypot,makethefeatureextractiononthedatagrams,andderivethestandardstylewhichweneedinmining.Thepapershowshowtomakethesequentialpatternanalysisonthe datawhicharedealedstandardlyindetail,andfindtherelationamongthedifferentrecordsandthesequenceoftheauditbasedtimewhichalwaysOccuratthesametime.Soastofindandselectthevaluableattackregulation.Finally,itmakesafunctiontestagainstthehoneypotsystem,makeminingandanalysisonthedatagramscollectedbythehoneypotintheenvironmentoflocalareanetworkinourlab.Itmakesanalysisandsu珊arizationOiltheexperimentalresultandprovetherealizabilityoftheDataMiningtechnologyusedinhoneypotsystem.KeyWords:honeypot:IntrusionDetectionSystem(IDS);Honeynet:DataMining 长春工业大学硕士学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。论文作者签名:lI柒石日期:j呷年弓月_≥o日 长春工业大学硕士学位论文1.1网络安全背景第一章绪论进入2l世纪,我们迎来了一个以互联网为标志的信息化社会。互联网的规模和技术在近年来取得飞速发展。目前,Internet已遍及世界240个国家和地区,已经深入到人类社会的经济、军事、文化、教育等各个方面,时刻影响着人们的生产、生活方式。互联网首先是一个巨大的信息库,从个人的资料隐私、公司的商业计划到政府的机要信息无所不包,网络已经成为人们获取信息的一个重要途径。随着网络的不断发展,网络的资源共享性、开放性、交换性日益增强,在带给人们更多便利的同时,也带来了巨大的安全隐患和风险。计算机病毒扩散、网络黑客攻击、计算机网络犯罪等违法事件的数量迅速增长。网络安全问题已成为人们普遍关注的问题。在信息化高度发展的美国,重要部门的计算机信息系统每天都发生着大量的入侵事件,造成了上亿美元的经济损失。在我国,黑客攻击事件也成愈演愈烈之势,大量的网站页面被篡改。工作人员的口令和帐户被窃取。网络安全技术顾问托尼.布德瑞博士说:“现在几乎所有的软件都存在安全隐患或漏洞,如果你想最大可能地避免病毒及黑客攻击,就请不要连接互联网,更不要完全相信你的防火墙。”要击败敌人,首先必须要先了解敌人一一这条法则也完全适用于网络安全领域,而我们所要面对的敌方就是黑客社团。一直以来,黑客是具有传奇色彩的崇尚自由的一群入,然而,越来越多的私欲和其他目的混杂到了他们对技术无限追求的原始理念中。他们不再仅仅为了追求更高技术和满足个人兴趣爱好偶尔做出一些出格的事情,出于更多的国家利益、商业利益及黑暗心理等因素,促使其对政府机构、公司服务器、个人电脑进行攻击,对互联网安全构成了侵害。同时攻击者能够进行有效攻击的门槛也越来越低,他们不再需要很高深的专业技术和技巧,可以很方便地从互联网上找到所需的最新攻击脚本和工具。而这些由高级黑客们开发的攻击脚本和工具越来越容易使用,功能也越来越强,能够造成的破坏也越来越大。对于这些使用现有攻击脚本和工具的攻击者,我们可以将他们称之为“脚本小子”,尽管他们的技术与真正有经验的黑客相比还相对稚嫩,但由于数量众多、活动频繁,对网络安全带来的危害也不可忽视。令人遗憾的是,在网络安全领域关于黑客社团的信息实在是太匮乏了。当网 长春工业大学硕士学位论文络被攻陷破坏后,我们甚至还不知道攻击者是谁,是黑客、脚本小子还是蠕虫?安全社团大多都在关注黑客们所用的特定技术工具,或者防御中所用的工具,面并没有去关注其战略或者动机。而对于一些公司,有的入侵即使被发现了,出于诸多原因,受害方也不愿意对外报道。黑客们是如何发现易受攻击系统的?他们是怎样侵入的?侵入后又在其中做了些什么?如果攻击者是黑客社团的话,他们又是如何联络的?要想解答这些问题,我们需要知晓更多的信息。人们花了几年时间才开发出一种解决方案:由我们为攻击者创建一个攻击环境。让黑客将他们自己的工具、战略和动机传授给我们。没有什么其他的来源会比由攻击者一步步地把其操作方式演示给我们更为可靠和完整的了。在这种方案中应用的关键技术就是蜜罐。相对于其他网络安全技术,如防火墙、入侵检测、漏洞扫描等,这些技术都是被动的防御措施,一般是基于规则或特征匹配的工作方式,并且都是针对现有攻击技术的。而蜜罐可以应对新的攻击方法,发现攻击者使用的工具,甚至了解他们的战略和动机,这就带给我们一种新的主动防御IJJ的安全技术。1.2蜜罐技术1.2.1蜜罐概念蜜罐(honeypot)的概念已经存在很多年了。“蜜网项目组”(TheHoneynetProject)的创始人LanceSpitzner提出了对蜜罐的权威定义:honeypot是一种安全资源,其价值体现在被探测、攻击或者摧毁的时候【2J。简单地说,蜜罐就是专门设计来引诱攻击者进行攻击的系统。它表面上是一个真实存在的对攻击者很有吸引力的主机,引诱入侵者进行攻击,通过数据捕获记录攻击者在蜜罐主机中的活动,然后分析收集来的数据并对它们进行分析,从而发现攻击者进入系统的方法和策略,据此了解系统存在的漏洞和缺陷。同时还有可能发现新的攻击方法,利用学到的方法重新对安全系统进行配置丽抵御这种新的攻击方法。蜜罐系统可以通过软件模拟具有己知漏洞或者某一服务的计算机,也可以模拟各种操作系统及其相应的特征,或者就是在一台普通的操作系统基础上增加一些经过特殊处理的可以记录攻击行为的功能模块。蜜罐可以具有不同的表现形式,这也正是它与大部分安全工具的最大区别所在。蜜罐的与众不同之处在于:它们并不限于解决某个具体问题。相反,这是一种可应用于大量不同场合、不同目的的高度灵活的工具。为保护服务器,可以以该服务器为原型,配置一台同样的镜像服务器,却不提供同样的服务,那么,这台镜像服务器就是一台蜜罐;为模拟服务,可以通过程序模拟该服务流程,那么 长春工业大学硕士学位论文这个程序就是蜜罐;为捕获蠕虫,可以自己定制一种受限环境,对特定端口进行监听、捕获,那么这种自定义的环境就是蜜罐。所以,对于不同的目的蜜罐的形式也是大不相同的。但是,所有可能会出现的形式都有一个共同的特征:它们的价值在其自身被探测、攻击或者摧毁时体现。1.2.2蜜罐的历史及研究现状蜜罐(honeypot)有一个独特的历史,大致可以将它的发展历程分为三个阶段。第一个阶段是从九十年代初蜜罐概念的提出直到1998年左右,“蜜罐”还仅仅限于一种思想。这一阶段的蜜罐实质上是一些真正被黑客所攻击的主机和系统。1990年才有了第一份关于honeypot概念的文字记录材料,尽管在那之前已经有大量组织对蜜罐技术进行了很好的开发和使用,军界、政府部门及商业组织都对honeypot进行了大量的研究和部署,只不过这些研究在当时还不为公众所知。第一本阐述honeypot概念的公开发表的著作是由CliffordStoll所写的TheCuckoo’SEgg[31一书。该书写于1990年,记录了从1986年开始的十个月内,当他发现一名代号为Hunter的攻击者侵入了他的系统后,不但没有驱逐该帐号,反而决定追查攻击者的身份、确定其攻击目的。尽管StoU并没有在书中明确提出honeypot这个概念,但他使用被黑系统追踪攻击者的方式与honeypot技术非常相似。同年,安全泰斗BillCheswick发表了一篇名为“AnEveningwithBerferdinWhichaCrackerIsLured,Endured,andStudied”14】的论文。Cheswick创建了一个希望被黑掉的系统,这也是第一个具有文字记录的真正的honeypot。他还在论文中提到采用服务仿真和漏洞仿真技术来吸引黑客,还提到利用Unix操作系统的更改根目录(chroot)机制设置一个牢笼环境(jail),在该环境中观察黑客而不被发觉[41。不过,这两份材料都没有为honeypot提供一个准确的定义,也没有提出honeypot技术的价值所在。第二阶段从1997年开始,蜜罐技术开始吸引了一些安全研究人员的注意,并开发出一些专门用于欺骗黑客的开源工具。1997年,由FredCohen开发的DeceptionToolkit(DTK)1.015】版本发行,这是第一个公开的honeypot解决方案。1998年开始了首批商用honeypot之一的CyberCopSting[61的开发。其中引入了将多个虚拟系统与单个honeypot相绑定的概念。1998年BackOfficerFriendly(BoF)发布,它是一种免费的、只能基于Windows操作系统的很简单的honeypot。这一阶段开发的蜜罐工具主要是通过程序模拟操作系统和网络服务,为攻击 长存工业人学硕士学位论文者创造出一个虚拟的受攻击环境,尽可能逼真的模拟各种服务,并对黑客的攻击行为做出回应,从而欺骗攻击者。由于这些产品以应用程序的形式工作,使蜜罐的部署变得比较方便。但是,由于以上产品存在交互程度低,收集信息有限,易于指纹识别等问题,促使蜜罐技术发展到第三阶段。自2000年开始,安全研究人员更倾向于使用真实的主机、操作系统和应用程序搭建蜜罐,但与之前不同的是,融入了更强大的数据捕获、数据分析和数据控制的工具,并且将蜜罐系统组成一个完整的蜜网体系,使得研究人员能够更方便地追踪侵入到蜜网中的黑客并对他们的攻击行为进行分析。1999年HoneynetProject组织成立,“KnowYourEnemy叫7l系列论文发布。这项工作使人们加深了对honeypot的认识并验证了honeypot及其相关技术的价值,而HoneynetProjen也成为当前引领honeypot技术发展的权威组织。从2000年开始使用honeypot来捕获和研究蠕虫活动。更多的组织采用honeypot来检测攻击和研究新威胁。2002年一个honeypot当场检测并捕获到了一种新型的未知攻击,即Solarisdtspcdexploh。随着蜜罐技术在网络安全领域的推广,这一课题在我国也得到了更多的关注。越来越多的研究机构、研发部门投入更多的精力对蜜罐技术进行研究开发。由北京大学计算机研究所信息安全工程研究中心推行了代号为Artemis(狩猎女神)18】的蜜网研究项目。狩猎女神项目己于2005年1月向世界“蜜网研究联盟”提出加入申请,并于2005年2月正式成为该联盟组织的中国第一支研究团队。1.2.3蜜罐的分类经过多年的研究和发展,蜜罐适用的范围越来越广泛,自身的形式也越来越灵活。可以根据不同的标准对蜜罐进行不同的分类,这里主要依据蜜罐的部署目的和交互级别对蜜罐系统进行分类。MartyRoesch曾经参与过Snort的开发,他按照蜜罐的部署目的将它们分为产品型蜜罐和研究型蜜罐两类。产品型蜜罐有助于减轻组织或环境中所存在的风险。它们可以为系统及网络的安全保障提供特定的价值。产品型蜜罐多部署在受保护系统周围,当受到攻击时,可以通过迷惑攻击者达到延缓攻击的目的。产品型蜜罐的部署和维护方便,功能也很简单,但是有被指纹识别的危险,收集的数据大多限于攻击时间、源和目的口地址、端口及服务,从中可以得到的信息很有限,所以,产品型蜜罐的主要目的是检测的发生,保护产品系统。典型的产品型蜜罐有DTK、Honeyd等 长春工业大学硕士学位论文开源工具和KFSensor、ManTrap等商业产品。研究型蜜罐被设计用来获取黑客界的信息,多用于学习的目的。它们并没有为特定的组织带来直接性的安全价值。也就是说,如果在一个网络中部署了一个研究型蜜罐,它不会为我们的产品系统提供任何程度的保护,只能利用它收集攻击信息再加以分析,得出希望了解的知识。为了得到尽可能全面的信息,就要为攻击者提供更多功能、更高交互程度的系统环境,还要在保证不会被攻击者攻破的条件下使蜜罐看起来更加逼真。所以,研究型蜜罐的配置很复杂,引入的风险也更大,但它可以收集更全面的信息,包括攻击者的击键信息、通讯记录、上传下载文件等。可以借此学习攻击工具、方法,它们的主要使命在于研究组织所面临的威胁。产品型蜜罐和研究型蜜罐之间的区别并不是绝对的。对于同一个蜜罐系统,当它被用于不同目的时有可能会类属于不同的类型。这是由蜜罐的灵活性与形式的多样性所决定的。还可以根据蜜罐为攻击者所提供的交互级别将蜜罐划分为低交互度蜜罐、中交互度蜜罐和高交互度蜜罐。低交互度的蜜罐主要是用于协助保护特定组织的产品型蜜罐。它的主要价值在于检测,具体说来就是对未授权扫描或者未授权连接尝试的检测。因为它们提供了有限的功能,因此大部分都可以用一个程序来模拟。由于低交互度的蜜罐非常简单,因此它们所具有的风险性也就最低。不过它们能够提供的关于攻击者的信息量也很有限。典型的低交互度蜜罐如BOF、Specter、ltoneyd。中交互度蜜罐不仅是对服务进行模拟,而是对真正的操作系统的各种行为进行模拟。在这个模拟行为的系统中,用户可以进行各种随心所欲的配置,让蜜罐看起来和一个真正的操作系统投有区别。中交互度蜜罐能够预期一些活动,并且旨在可以给出一些低交互度蜜罐所无法给予的响应。与低交互度的蜜罐相比,中等交互度的蜜罐具有更大的复杂度,通常要花费更多的时间去安装和配置,部署和维护也是一个更为复杂的过程,这样就增大了可能出错的风险。不过,它们能收集到更多的信息。典型的中交互度蜜罐如牢笼(jail)环境、ManTrap。高交互度的蜜罐是蜜罐技术的极限。它们可以提供大量关于攻击者的信息,但是构建和维护它们是极为耗时的,并且与之相伴的时最高级别的风险。高交互度蜜罐的目的是为攻击者提供对实际操作系统的访问权,在这种环境下没有任何东西是模拟的或者受限的。要创建这样一种环境,对实际的操作系统只需做很少甚至不做任何修改。惟一可以将这些系统定义为蜜罐的地方在于它们没有任何产品价值一一它们的价值在于放探测、攻击或者被摧毁时体现。ltoneynet代表了高交互度蜜罐的极限。不同交互级别蜜罐的比较如表l一1所示: 长春工业大学硕t学位论文表l—l不同交互级别蜜罐的比较交互作用部署维指纹风险信息级别护识别量低简单模拟一些服务、操作系统简单易低有限中比低交互度蜜罐模拟的操作系统和响困难由中中等应服务多:比高交互度蜜罐使用权限低高完全依据真实操作系统,攻击者的使Hj困难难高丰富权限不受限1.2.4蜜罐的价值由于其形式的多样、配置的灵活,蜜罐在实际应用和研究领域都有较高的价值,其中最为突出的有以下四点。1.数据价值蜜罐系统的优点之一就是它们大大减少了所要分析的数据。对于正常情况下网络流量很大的网站或邮件服务器,攻击流量通常会被合法流量所淹没,这就对从数据中获取价值带来了困难。安全人员每天都会从防火墙日志、系统日志和入侵检测系统日志中收集大量的信息,而要从这些海量数据中提取有价值的安全信息就变得极为困难。对于蜜罐系统,通常只会收集非常少量的数据,但它们所收集的数据却有很高的价值。蜜罐系统这种没有任何预期产品活动的理念大大降低了噪声级别,为进行数据提取、数据分析提供了极大的便利[91。蜜罐系统对所收集数据的价值具有一种显微镜效应,研究人员可以将注意力集中在价值明了的数据,不会为更多的噪声数据所干扰。但从另一方面看,这样做也许会忽略掉一些发生在周围的事件,这就是蜜罐的视野有限性。2.资源价值在防火墙和入侵检测系统的工作过程中,很有可能会受到大流量数据的冲击导致资源枯竭而使系统失效。资源枯竭指的是由于安全资源的过度使用而导致其无法继续起作用的情况。譬如,一个防火墙在进行工作的情况下维护着一个连接表,该表描述着当前的连接状况。当网络数据流量很大、防火墙资源耗尽时,它就不能再继续监视连接情况,无论是否为非法数据,防火墙都会强制阻断所有的连接,使网络受损。同样的对入侵检测系统来说,面对大流量数据会导致IDS的缓冲区被填满,出现丢包的现象,从而可能会错过对攻击的检测。由于蜜罐系统只会对流经自身的少量活动进行捕获和监视,所以在它们身上通常不会发生资源枯竭问题。而且搭建蜜罐系统对硬件设备并没有很高的要求,所以可以不必为 长春工业大学硕士学位论文一个蜜罐系统在硬件上投入大量的资金。3.学习价值蜜罐系统可以对系统、网络进行保护,但它更大的价值在于对网络安全知识的学习。通过对蜜罐系统捕获的数据进行分析,可以了解攻击者的身份、使用的攻击工具、进行攻击的方法,甚至还可以判断攻击者的攻击目的、他的技术水平。安全研究人员完全可以通过蜜罐系统捕获的数据和日志再现攻击场景和流程,这为网络安全人员和研究人员提供了真实了解攻击者攻击方式的最佳途径。4.简捷性同样还是同入侵检测系统进行比较,IDs是针对已知攻击进行检测,将已知攻击特征导入一个签名数据库,而对其自身的配置则写入配置文件,为保证IDS的正常工作,必须维护其签名数据库,保证不会出现错误配置的规则库。但对于蜜罐系统,只要把蜜罐拿过来,直接放到组织中的某个地方就可以了。随着蜜罐系统的功能越来越多样,有些蜜罐的搭建和配置可能会很复杂,尤其是以蜜网为代表的研究型蜜罐,每个功能模块都需要大量的配置与协调工作。但是它们有一个共同的运作前提,就是任何连接到蜜罐系统的流量都是非法的,需要将它检测出来。这样,就可以以该前提为依据,选取相对简单的手段实现同样的目的。在二代蜜网架构中,蜜网项目组将所有的数据控制和数据捕获工具都集成到一张自启动的光盘中,使得可以比较容易地部署二代蜜网,并规范化所收集到的攻击信息格式。这同样是为提高蜜罐系统的简捷性所做出的努力。1.3数据挖掘技术近年来,人们加快了在各个领域探索的脚步,积累的知识也越来越丰富。随着信息技术的发展,特别是互联网的发展和信息量的爆炸性增长,信息的重要性与日俱增。计算机存储技术和网络技术的发展加速了人们收集数据的范围和容量,这些海量的数据导致了“数据丰富而信息贫乏”的现象。人们对联机决策和分析等高级信息处理的要求越来越迫切。仅仅为了收集、管理这些海量信息就需要大量的人力物力,而要想得到包涵在这些信息中的知识就需要付出更多的努力。在20世纪80年代后期,产生了数据仓库和数据库知识发现(KDD)等信息处理思想,数据挖掘技术应运而生,它以一种全新的概念改变着人们利用数据的方式,被称为未来信息处理的骨干技术之一。1.3.1数据挖掘概念数据挖掘是一个多学科交叉研究领域,它融合了数据库技术、人工智能、机 长春工业大学硕士学位论文器学习、统计学、知识工程、信息检索等最新技术的研究成果。关于数据挖掘的含义有一些不同的理解。从广义的观点看,数据挖掘是从大型数据集(可能是不完全的、有噪声的、不确定的、各种存储形式的)中,挖掘隐含在其中的、人们事先不知道的、对决策有用的知识的过程。从狭义的观点上,可以定义数据挖掘是从特定形式的数据集中提炼知识的过程。数据挖掘的基础是数据分析方法。数据分析是科学研究的基础,许多科学研究都是建立在数据收集和数据分析基础上的。因此,可以将数据挖掘看作是一种更加高效、自动化的数据分析技术。数据挖掘技术从一开始就是面向应用的。它从本质上来说是一种新的商业信息处理技术。数据挖掘技术把人们对数据的应用,从低层次的联机查询操作,提高到决策支持、分析预测等更高级应用上。它通过对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,发现数据间的关联性、未来趋势以及一般性的概括知识等,这些知识性的信息可以用来指导高级商务活动。为适应特定行业、领域的不同需要,产生了许多不同的数据挖掘方法和技术,数据挖掘也获得了更加广泛的应用。1.3.2数据挖掘特点数据挖掘有如下三个特点:第一,数据挖掘的数据量常常是巨大的。因此,如何高效率地存取数据,如何根据一定应用领域找出数据关系以及如何有目的地选取数据子集都成为数据挖掘工作中需要考虑的问题。第二,数据挖掘面临的数据常常是为其他目的而收集好的数据,这就有可能在收集数据时,忽略了一个或几个重要的属性,而这些属性在后来做数据挖掘时被证明是有用的,甚至是至关重要的。也就是说,未知性和不完全性将始终伴随数据挖掘的过程。第三,数据挖掘的另一个特点是在进行数据挖掘工作前,可能需要把先验知识预先嵌入到算法内,但这样就等于做“假设检验”。数据挖掘常常要求算法主动性地提示~些数据内在的关系【lol。1.3.3数据挖掘过程在数据挖掘过程中,首先需要进行数据采集,而原始数据的采集部分在开发一个系统的总消耗中占到相当大的比重。当然,采用较小规模的数据对问题的可行性进行初步研究也是可行的,但为了确保将来工作时良好的性能,必须要采集-s. 长春工业大学硕士学位论文和利用足够多的原始数据。在数据采集之后,需要进行抽样和清理工作。抽样就是在原始数据中,将有代表性的数据提取出来;清理就是将一些不合适用来训练和学习的数据排除在系统之外,这些数据包括不完全数据、噪声数据以及矛盾数据等。经过抽样和清理工作就可以得到数据样本集。样本集可以用作训练和学习。在进行数据挖掘前要对数掘进行必要的“整理”与“筛选”,能够提高数据挖掘的效率与正确性。当然,如果原始数据本身符合样本集要求的话也可以跳过这一步,直接用原始数据去训练和形成需要的模型。数据有可能不是我们需要的形式。在这种情况下,就需要进行数据转换。转换完成后,如果还是没能达成要求,就需要返回到上一阶段,从原始数据重新进行抽样工作,从头开始。如果满意,则可以继续进行下一步。数据仓库是一种数据存储的有效形式,非常利用数据挖掘。事实上,数据仓库本身也提供了不少数据挖掘的功能。数据仓库之后,就可以使用各种算法进行数据挖掘了。数据挖掘的过程包括特征选择、模型选择、训练和评价等。特征选择就是,根据特定的问题领域的性质,选择有明显区分意义的特征。这常常是设计过程中非常关键的一步。样本数据的选择以及先验知识的确定在选择特征中具有重要的作用。在其他一些应用中,知识或许来源于被考查的模式的形态和它的特定属性。图1—1显示了如何从原始数据得到有用的模式,再进一步得到知识的过程。图l一1数据挖掘的基本过程 长春工业大学硕士学位论文1.4数据挖掘在蜜罐系统中的应用由于蜜罐只收集少量但极具价值的数据。正常情况下,蜜罐对网络内其他系统不提供任何服务,因此,所有与蜜罐系统的连接或探测都可视为对蜜罐系统的扫描或攻击。这样,就可以把所有流入蜜罐系统的网络流量当作恶意信息处理,而流出的流量是威胁更大的信息。因为只有当入侵者攻陷蜜罐后,利用蜜罐访问外部网络时才会出现流出的数据。蜜罐这种没有任何预期产品活动的理念大大降低了噪声级别。尽管如此,HoneynetProject对使用高交互度蜜罐进行数据分析所需的时间做过一次研究。根据他们的发现,对于攻击者花费在被黑系统上的每30分钟时间,若对捕获数据加以较为详细的分析大约需要花费40小时。所以,对蜜罐系统收集的数据采用数据挖掘方面分析是提高分析效率的一种有效途径。数据挖掘原本就是以应用为目的,它被频繁地应用于指定的领域中,用于从大型数据库中发现明确的有用的东西,从数据中发现隐含的未知的规律。由于数据挖掘技术是一项通用的知识发现技术,所以可以采用数据挖掘的方法对蜜罐收集的数据进行分析,利用得到的模式或规律,还可以进行趋势分析、攻击预测,以便于发现攻击行为的特征和规律。1.5本文主要研究内容本文主要讨论将数据挖掘技术应用于蜜罐系统中,充分发挥蜜罐系统收集数据的高价值性与数据挖掘高效的数据分析能力。采用数据挖掘的方法对蜜罐系统收集到的信息加以挖掘分析,发现新的攻击方法和攻击特征,用以指导网络安全实践。本文首先利用虚拟机技术构建了一个Windows环境下的自包含虚拟蜜网系统。使各个独立的虚拟系统(操作系统类型各异、文件结构各具特点、安全程度互不相同)运行在单一的物理系统上,从而构成一个完整的、真实的网络环境。提出了虚拟蜜网的整体架构和部署方式,根据不同的功能特点将该系统主要分为数据控制、数据捕获、数据处理和数据分析这几个模块并部署实现。在数据捕获模块中通过多种数据捕获方法实现了多途径的冗余的数据捕获机制,在实现防火墙、入侵检测系统和主机系统信息捕获的同时,又利用Winpcap技术设计、实现了一个网络抓包程序。它可以捕获通过蜜罐的所有真实网络数据包,并对数据包进行特征提取,导出需要进行挖掘的数据的标准形式。将处理后的数据导入MySQL数据库,留待分析。 长春工业大学硕士学位论文然后对这些数据进行关联挖掘和序列模式挖掘,找出不同数据记录之间的相关性以及那些频繁在一起发生基于时间的审计数据的序列,从中发现、选取有价值的攻击规律。最后,对蜜罐系统进行了功能测试,确保各功能模块正常运行。在实验室局域网环境下对蜜罐系统收集的数据包进行数据挖掘和数据分析,并对实验结果进行了分析与总结,验证了数据挖掘技术应用于蜜罐系统的可行性。本文的创新点主要有以下几个方面:1.设计并部署了一个新型的Windows环境下基于虚拟机技术的自包含虚拟蜜网;2.利用WinPcap技术实现了一个数据包捕获工具,可以获得所有流经蜜罐系统的原始网络数据包并实现了数据捕获的冗余机制;3.采用关联挖掘和序列模式挖掘的方法对蜜罐系统收集的数据进行挖掘分析.找出有价值的规律和模式;4.为提高蜜罐系统受攻击的概率,实施了定制系统和ARP欺骗双重增强功能。I.6小结蜜罐是近年来网络安全领域中一门新兴的技术,而数据挖掘则被视为未来信息处理的骨干技术之一。本章以蜜罐技术和数据挖掘技术为知识背景,提出了将数据挖掘应用于蜜罐的研究理论及意义,并对本文的主要研究内容和创新点进行了介绍。 长春工业大学硕士学位论文第二章虚拟蜜网系统的设计与实现2.1虚拟蜜网技术在介绍虚拟蜜网技术之前,首先需要了解蜜网技术。蜜网(Honeynet)[1l】是高交互度蜜罐技术的极限,它不同于之前描述的honeypot解决方案。Honeynet是一种用于进行研究的工具,它被专门设计来吸引blackhat社团的攻击。一旦被攻入,Honeynet就可以被用来学习blackhat社团的工具、战术和动机1121。Honeynet方案提供给黑客的活动环境是一个网络,该网络一般有多台作为“诱饵”的蜜罐主机,连接到Internet上,吸引黑客攻击。Honeynet可以利用入侵检测系统捕获网络上传输的数据包,记录黑客的活动信息。另外,Honeynet利用防火墙控制黑客不麓以蜜罐主机为跳板攻击该网络外的系统。这就是Honeynet中的数据捕获和数据控制模块。Honeynet是在honeypot的基础上发展起来的,它与honeypot有两点最大的不同。首先honeypot是以一个独立的系统的形式存在的,它是与某个已有的产品系统相连的单独系鲥13】。如图2—1表示一个置于内部网络中的单独的物理系统。,图2一l一个单独的honeypot系统而Honeynet不是一个单独的系统而是一个网络。该网络位于一个防火墙之后.从而阻断了与内部网络和Internet的直接连接,将Honeynet中的数据控制在自身范围内。在Honeynet内部,可以依据不同的需要部署WindowsNT、Linux、Solaris甚至Cisco交换机等系统,可以说,Itoneynet就是由这些不同的系统所组成的一个真实网络。这就为攻击者创造了~个更加真实的网络环境,并给他们提供了各种攻击条件,这样,就可以学习到适用于各种不同条件下的攻击方法和技术,以满足的不同需求。 长春工业丈学硕士学位论文与honeypot的另一个不同之处在于所有置于Honeynet内的系统都是真实的产品系统,而不是通过软件或其他方法进行模拟的结果。从整体的Honeynet结构到内部的honeypot系统,与很多情况下网络所存在的情况是一致的。而且,可以根据不同的需要定制Honeynet结构和内部状况,使它具有非常好的适应性和灵活性。如图2—2所示Honeynet,其中每个honeypot都是一个独立的产品系统。爵图2—2一个简单的Honeynet结构虚拟蜜网(VirtualHoneynets)p4]代表了Honeynet的一个相对较新的领域。这~概念的含义是在单一的物理系统上虚拟地运行整个Honeynet。其目标是使Honeynet成为更易管理的更经济的解决方案。它不需要投资大量硬件,只需要将所有硬件要求结合在一个系统上。这样不仅方便了管理人员的维护工作,还减少了资金的投入。2.2虚拟蜜网的体系结构采用虚拟技术建立蜜网的方式有UML(UserModelLinux)和虚拟机(VitualMachine)两种。采用虚拟机技术建立的蜜网可分为自包含和混合式两类。混合式honeynet是由传统的honeynet与虚拟软件组成的,其中实现数据捕获和数据控制机制的防火墙和入侵检测系统都放置在一个单独的系统中。这种独立性降低了系统被攻陷的风险,但在硬件投入上要更多一些。自包含honeynet就是指将整个honeynet网络集成到一台计算机中。从形式上看,就是在一台单独的计算机系统上实现整个网络。自包含honeynet中不仅包含多个不同的honeypot,而且包含负责数据控制和数据捕获的防火墙和IDS系统。在本文中选用自包含honeynet结构,节约了硬件成本并且方便管理。图2—3说明了自包含honeynet 长春工业大学硕士学位论文的软件层次结构。在这里,将计算机硬件中的主操作系统称作宿主操作系统(HostOS),将由虚拟机建立的操作系统称作虚拟操作系统(VirtualOS)。图2—3自包含honeynet软件层次结构虚拟机是蜜网系统的核心部分。VMwareWorkstation是一款虚拟机软件,它可以运行在各种Windows和Linux操作系统平台上,能够模拟Windows、Linux、Solaris、FreeBSD等多种操作系统1151。本文中安装的版本是ⅧwareWorkstationv4.5.2build8848forWindows,宿主操作系统选用Windows2000Professional。运行安装程序,在接下来的几步按照软件的默认选项设置即可,重启后完成安装。接下来安装Virtual0S,目前使用覆盖面较大的操作系统有Windows和Linux,为了能够检测出针对不同系统的攻击,文中安装了Windows2000Server和RedHatLinux9这两个VirtualOS。在安装虚拟操作系统时有两点需要特别注意,一是VirtualOS的网络连接方式,另一个是VirtualOS创建磁盘的选择。运行在VMware上的操作系统的网络连接方式有三种:●UseBridgedNetworking(使用桥接方式):在这种方式下,Virtual0S的IP地址可以设置成与HostOS在同一网段。Virtual0S相当于网络内的一台独立的机器,网络内其他机器可访问VirtualOS,同时VirtualOS也可以访问网络内其他机器。●UseNetworkAddressTranslation(使用网络地址转NAT方式):在这种方式下,HostOS与VirtualOS可以实现双向访问,VirtualOS可以通过Host0S的NAT协议访问外部网络,但外部网络不能访问Virtual0S。也就是说,VirtualOS对外部不可见。●UseHost-onlyNetworking(使用主机方式):在这种方式下,HostoS 长春工业大学硕士学位论文模拟一个虚拟的交换机,所有的VirtualOS通过这个交换机进出网络。在这种情况下,如果HostOS是用公网IP连接Internet,那VirtualOS只能用私有IP地址。通过对比可以发现,桥接方式可以使VirtualOS具有更高的独立性,可以使VirtualOS像一台真正的主机一样运行及与外部网络连接。所以本文中VirtualOS的联网方式选用桥接方式。对VirtualOS创建磁盘的选择有三种,其中Createanewvirtualdisk(创建一个新的虚拟磁盘)将重新建立一个虚拟磁盘,VirtualOS运行在该磁盘上就像运行在一个独立的硬盘分区中,与主机磁盘环境是隔绝的。该磁盘在实际计算机操作系统上就是一个文件(以.vmx为后缀),而且还可以随意拷贝,可以导入其他的虚拟机中。Useflphysicaldisk(使用物理磁盘)将使用主机上实际的磁盘,这样虚拟机可以方便地与主机进行文件交换,但是,这样虚拟机上的操作系统受到损害时会影响主机上的操作系统。如果VirtualOS与HostOS在磁盘上相互影响的话将会带来额外的风险,所以虚拟机的安装一律选择创建磁盘方式,这样创建的VirtualOS文件还可以随意拷贝,避免重复安装。蜜网体系结构中具有三个关键元素:数据控制、数据捕获和数据分析。数据控制是对攻击者在蜜网中对蜜网以外的系统发起攻击的行为进行限制的机制,用以降低部署蜜网所带来的安全风险。数据捕获即监控和记录攻击者在蜜网内的所有行为。数据分析则是对捕获到的攻击数据进行整合和分析,以辅助安全研究人员发现其中的攻击方法、工具和目的。在本文中采用数据挖掘的方法进行数据分析,这就需要我们对待分析数据进行处理,使之成为便于数据挖掘的格式,这就需要引入数据处理。数据处理可以置于数据捕获之后和数据分析之前,在这里将它和数据捕获集成在一起,这样对捕获的数据可以做到即时处理,以统一格式存储,避免了二次存储的麻烦。为实现蜜网各部分功能,本文提出了一个完整的虚拟蜜网体系结构,如图2—4所示。 长春工业大学硕士学位论文2.3数据控制模块图2—4虚拟蜜网架构图对于一般低交互级别的蜜罐系统,只提供一些定制的端口监听和服务模拟,攻击者只能对特定的服务进行一定限度的交互。而本文的虚拟蜜网系统中的每一个VirtualOS都可以被当作一个独立的honeypot,对攻击者来说,它就相当于一个真正的操作系统,攻击者可以对它进行任意行为的交互。提供的交互级别越高,收集的信息也就越多。但同时也存在着这样的可能:对于技术高超的攻击者,他们可能突破虚拟机的限制,利用攻陷的蜜罐系统攻击网段内其他机器,或者直接利用蜜罐系统对其他非Honeynet系统进行拒绝服务攻击,这就给网络内部带来额外的风险和负担。这就需要保证一旦虚拟Honeynet中的某个蜜罐受到入侵,在获取攻击者的相关活动信息条件下保证蜜罐不会被攻击者利用来侵害其他的非Honeynet系统。因此,必须有一些措施能够对进出Honeynet的数据流通进行控制。本文使用防火墙设备作为访问控制设备实现对整个蜜网的数据控制。HoneynetProject已经开发了两种使用防火墙控制的解决方案:一种是使用CheckPoint开发的商业防火墙FireWall—1,另一种是使用用于Linux操作系统 长春工业大学硕士学位论文的开放源码的防火墙IPTables。FireWall-1是一种基于状态监测技术的软件防火墙,具有强大的组合访问控制、卓越的性能以及简捷的管理工具,但其花费昂贵。而IPTables只能运行于Linux系统之上,而且管理起来不方便。对于本文中采用的实验环境都不适合。所以,在这里选择了比较流行的个人防火墙产品一一天网防火墙。本文中安装的版本是。天网防火墙个人版v2.71”,可以从各大安全站点和软件下载网站下载。防火墙采取“宽进严出”的策略,允许任何入境连接,但严格控制出境连接。天网防火墙为高级用户提供了一个“IP规则管理”功能,用户可以点击。自定义IP规则”键进入IP规则设置界面。简单地说,规则是一系列的比较条件和一个对数据包的动作,就是根据数据包的每一个部分来与设置的条件比较,当符合条件时,就可以确定对该包放行或者阻挡。在这里,需要通过自定义规则实现以下三方面的功能。第一个要求就是允许任何人发起从Internet到Honeynet的连接。这样就可以允许攻击者扫描、探测并最终攻入Honeynet中的系统。构建Honeynet的目的就是要让攻击者攻击,所以要对任何流入Honeynet的流量放行。要实现该功能,点击。增加规则”按钮,打开“IP规则修改”对话框。输入规则名称(规则一)和说明便于查找和阅读。然后,在“数据包方向”下拉列表框中选择“接收”,对方IP地址选择“任何地址”,这样就将对该规则起作用的数据包定义为由外部网络发起的流入Honeynet的数据包。在下面按照说明定制TCP、UDP、ICMP等协议,然后定制响应方式,将针对数据包的动作设置为“通行”。第二个要求是拒绝Honeynet向外部网络发送数据包。由于蜜罐在组织中不提供任何服务,可以把所有流入蜜罐系统的网络流量当作恶意信息处理,而流出的流量是威胁更大的信息。因为只有当入侵者攻陷蜜罐后,利用蜜罐访问外部网络时才会出现流出的数据。所以,需要严格控制由Honeynet发出的数据包。定制“规N--”,在“数据包方向”下拉列表框中选择“发送”,对方IP地址还是选择“任何地址”,将对该规则起作用的数据包定义为由Honeynet发起的对外部任何系统进行连接的数据包。可以将响应方式设置为“拦截”,这样将拒绝所有由Honeynet发出的数据。尽管这样是最安全的响应方式,但当攻击者有意与外部网络联系却不能实现,就有可能发现蜜罐系统或者失去对蜜罐的兴趣而离开。所以也可以将响应方式设置为“通行”,但同时将“记录”、“警告”、。发声”复选框选中。这样就可以实时对流出数据进行日志记录和报警,使管理人员根据实际情况手动拦截由Honeynet流出的数据包。第三个要求就是使Honeynet与管理网络之间没有任何直接的通信。这样可以确保即使Honeynet中的系统被攻击者攻陷,也不能和管理网络之间进行通信, 长春工业大学硕士学位论文从而也就不能修改或者销毁所收集到的任何数据,必须绝对保证所收集数据的完整性。定制“规则三”,“数据包方向”列表框选择“接收或发送”,在选择对方IP地址时需要注意,与上面两条规则都不同,这里需要将“对方IP地址”选为“指定地址”,在随后出现的地址输入窗口中输入管理服务器的IP地址,这里是1.0.0.23。响应方式为“拦截”,同时也需要将预警选项选中。这样就完成了对Honeynet系统进行数据控制的要求。配置后的规则如图2—5所示。2.4数据捕获模块图2-5IP规则定制数据捕获就是对Honeynet中发生的所有活动及进出信息的捕获,这是Honeynet全部目的的所在:捕获数据并用于学习。如果Honeynet被黑客攻击,却没有得到相应的数据,那么,整个Honeynet的部署就是失败的,Honeynet也就失去了自身的价值。因此,数据捕获在Honeynet中是极为重要的。数据捕获成功的关键在于层层把关,即数据捕获的层数越多,效果也会越理想。这里采用防火墙捕获、入侵检测系统捕获、主机系统信息捕获、流文件捕获和真实网络数据包捕获,实现多层捕获体系。即使其中一环出现问题,其他捕获机制也可以正常工作,保证了Honeynet可以稳定地发挥作用。不同的数据捕获方式捕获信息的侧重点各不相同,如表2—1所示。 长春工业大学硕上学位论文表2-1不同捕获方式捕获信息的差异捕获方式捕获信息侧重点防火墙捕获网络数据包头信息入侵检测系统捕获网络数据包载荷(主要针对已知攻击)主机系统信息捕获击键信息(防网络数据加密)TcP流文件捕获攻击工具软件真实网络数据包捕获真实网络数据包(主要针对未知攻击)2.4.1防火墙捕获记录活动的第~层是防火墙。前面讨论如何利用防火墙实现数据控制机制,实际上防火墙也可以在数据捕获中发挥作用。防火墙有很好的数据捕获层,因为所有的流量都必须从该层通过,而攻击者并无察觉。但同时,防火墙记录信息的能力是有限的,它只能读取数据包的包头信息,如攻击的日期/时间、源和目的IP地址以及源和目的端口,而不能分析数据包的载荷。然而,这些信息可能也非常有用,尤其是将Honeynet收集的数据用于趋势分析时,防火墙记录对于发现新攻击或在扫描过程中改变扫描走向是非常有用的。本文中还是使用天网防火墙捕获信息。可以在之前设置三条规则的同时将响应方式中的“记录”复选框选中,防火墙将会将检测到的数据包显示在日志列表中,通过“保存”按钮可以将日志保存为文本文件。2.4.2入侵检测系统捕获这里的入侵检测系统选用Snort[161。Snort是一个流行的开放源码的入侵检测系统,它的创建者MarryRoesch以它的应用。嗅探和其他应用”(Snifferandmore)为之命名071。Snort可以运行在多种模式下,既可以作为数据包嗅探器和记录器,也可以以入侵检测系统的方式工作。而在文中主要应用它的包记录器模式。Snort可以通过将网卡设置成为混杂模式,监听通过整个局域网的数据包来捕获数据。它主要捕获三种形式的数据:第一种是对可疑活动的预警,它们会实时地把所有事情通知给管理员。第二种是对进出网络的报文及其荷载的捕获,这部分信息将会被保存到一个二进制日志文件中,并可以在日后加以提取以用于详细的分析。第三种数据是全部的ASCII载荷,例如击键信息和IRc会话等,它们 长春工业大学硕士学位论文被保存在独立的ASCII文本文件中。文中以捕获检测出的攻击信息为主,因为这些信息已经被确认为攻击信息,而它的攻击方式是己知的,分析这些信息便于了解攻击者的攻击方法(仅对已知攻击方法有效)。2.4.3主机系统信息捕获之前说明的数据捕获都是发生在网络层上,而系统层也是数据捕获的重要来源之一。尽管网络层捕获的信息比较全面,可是如果攻击者使用ssh之类的加密通信的话,收集到的数据将是一堆乱码。在这种情况下,只能依靠系统本身来捕获击键和系统日志信息了。在honeypot主机系统中,可以通过查看系统日志信息,了解攻击者在honeypot系统中的动作。也可以通过更换命令解释器(Windows下的cmd和Linux下的shell)来收集攻击者的击键信息。Comlog是一个用perl写的可以在Windows操作系统下偷偷记录攻击者击键命令的程序。首先在C:\WINDOWS\system32目录下找到cmd.exe,将它改名为cm.exe,然后用comlog中的cmd.exe文件替换原来的命令解释器文件。这样,即使攻击者用任务管理器查看当前进程,他也只能看到cmd.exe。还可以修改comlogl01.pl文件选择日志的存放位置,如果设置为C:\WIND0wS\Help\Log,就会将收集到的攻击者的击键信息保存在该文件夹下。为了不引起攻击者的注意,最好使用一个不常用的文件夹。此时如果不安装Perl解释器,运行cmd.exe(即用于覆盖的comlog)时,命令行窗口就会一闪而过而无法输入命令。所以需要安装Windows下的Perl解释器。这里选择ActivePerl-5.8.0.805一MSWin32-x86.msi,按默认安装即可。至此就可通过覆盖后的cmd.exe记录攻击者的击键信息了。2.4.4TCP流文件捕获TCP流文件指的是在一次TCP连接中具有紧密耦合关系的数据流文件。由于以太网对传输数据报的最大值有一定限制(以太网帧的最大值为1500字节),这个值叫做“数据字段最大长度”。数据报的总长度必须小于这个数据字段最大长度,这是由网络所使用的硬件与软件给出的限制所定义的。对于一个需要在网络中传输的文件,常常是大于这个数据字段最大长度的,要想将文件在网络中进行传输,就要将该文件分割成一些有序的数据报。通过标志与偏移量记录这些数据报之间的关系,在数据报到达目的主机时,通过这些信息对数据报进行重组,恢复原文件。哪怕每一个数据报走的路径都不同,且到达的顺序也被打乱,最终的目的主机也能够用收到的这些分片(假定没有一个丢失)重装成原始的文件。 长春工业大学硕上学位论文在通过蜜罐系统的网络数据中,就存在大量的TCP流文件,而且,这些流文件有可能是由黑客使用的攻击工具形成的。如果能够重组这些流文件,就可以得到攻击者使用的工具,对它进行学习和研究。Ethereal是一款免费的网络协议分析程序,支持Unix和Windows平台。借助这个程序,可以直接从网络上抓取数据进行分析,也可以对由其他嗅探器抓取后保存于硬盘上的数据进行分析。用户可以交互地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。由于在之前引入的入侵检测系统捕获机制中已经提供了原始网络数据包捕获的功能,这里主要利用的是Ethereal的另一项强大的功能一--TCP会话重组。Ethereal界面分为三个窗口,最上面的窗口是抓包列表窗口,经过Ethereal抓包后的数据都会显示在这个列表中,可以查看数据包的抓包序列号、抓包时间、源地址、目的地址等属性。根据这些属性,选中要重组的攻击软件所属的TCP流的第一个数据包和最后一个数据包,单击FollowTCPStre衄进行重组,就可以得到所需的攻击软件。2.4.5真实网络数据包捕获在实现了以上捕获机制的基础上,本文还设计实现了一个真实网络数据包捕获工具。利用它可以捕获流经honeypot系统的所有网络数据包,而且对这些数据包进行特征提取,保存为需要的形式,以便于数据挖掘与分析。这部分将在后面第三章的内容中详细说明。2.5定制系统对于HostOS,它是整个虚拟Honeynet的控制台,为了不被攻击者攻陷,就要加强它的安全性能。要给HostOS打上安全补丁,安装杀毒软件和防火墙,并及时更新Il”。对于普通的Honeynet中的VirtualOS,大多都是以系统的默认形式安装,这样即使有攻击者攻击该honeypot,也不会发现什么感兴趣的东西,就不会对它做进一步的攻击了。为了解决这个问题,可以通过两种方式定制系统,分别是弱化系统和强化系鲥191。弱化系统是一个配置成具有已知攻击弱点的攻击系统,这样攻击者容易进行攻击从而利用收集有关攻击者的信息。这种方式配置简单,一个不打补丁的默认安装的系统本身就可以当作一个弱化系统。但它大多只能收集针对已知的攻击方法,价值不高。强化系统是在基本操作系统上安装所有发布的安全补丁,使系统的每个服务都变得更安全,这就有可能收集到针对新漏洞的 长春工业大学硕士学位论文攻击方法。这虽然减小了honeypot被攻陷的可能性,但一旦被攻陷,则收集的信息将会更有价值。还可以使用一些方法使honeypot看上去更有吸引力。比如可以在honeypot上创建多个不同的用户,以这些用户身份登录进行一些系统操作,留下系统日志。拷贝一些有吸引力的资料到系统上,比如商业、军事、政府机密等方面的资料,或是一些密码文件。通过发现攻击者查看了哪些文件,还有助于了解攻击者的目的和兴趣。2.6ARP欺骗蜜罐技术只能对针对蜜罐自身的攻击行为进行监视和分析,其视野较为有限,不像入侵检测系统能够通过旁路侦听等技术对整个网络进行监控。在蜜罐系统所部署的网络中,即使出现了攻击行为,但并没有涉及到蜜罐系统自身,那么,攻击行为对蜜罐来说就是不可见的。本文采用ARP欺骗【20】的方法来解决该问题,大大提高了honeypot受攻击的概率。一在现实网络中,存在系统与非存在系统并存。攻击者在寻找攻击目标时,基本是通过查询IP地址进行的,而要与攻击目标建立连接,首先必须知道它的MAC地址。ARP协议是地址解析协议,可以由IP地址解析得到MAC地址12”。要动态识别非存在系统,需要利用Arpd实现。Arpd是由DugSong开发的用于识别非存在系统,然后将所有发往这些系统的连接转发给honeypot的一种工具,它使用的方法叫做ARP欺骗。首先,攻击者发出ARP查询,查找存在的受攻击系统。ARP查询是以广播形式发出的。所以,与非存在系统处于同一网络的honeypot也会收到这个ARP查询。每台机器都维护着一个自己的ARP表,表中记录着所有与该机器有联系的活动系统对应的IP地址与MAC地址。Honeypot查找自身的ARP表,如果表中存在与被查询IP地址对应的MAC地址,说明该系统存在,则honeypot系统不予理会。如果表中不存在该对应关系,那么honeypot会发出ARP查询,确认该系统是否真的不存在。如果honeypot收到ARP响应,证明该系统是存在的,就将它的对应关系添加到自己的ARP表中进行更新;如果没有收到ARP响应,就认为该系统确实不存在。那么,honeypot就会将被查询IP地址绑定在自己的MAC地址上,以该IP地址主机的身份对攻击者进行响应。从而充当被攻击主机的身份,与攻击者进行交互。ARP欺骗过程如图2—7所示。 长春工业大学硕士学位论文攻击者ARP查询∑竺⋯认7非存在系统广建立连接、交互数据图2-7ARP欺骗过程通过这种方式,就可以将蜜罐系统与相同网段内的所有不存在系统绑定在一起,大大提高了蜜罐系统被攻击的概率。而且,还可以根据不存在系统的状态动态地改变其是否继续充当该不存在系统。2.7小结本章提出了虚拟蜜网的整体构架,并利用虚拟机技术搭建了一个基于Windows系统的虚拟蜜网。利用多种技术实现了数据控制和数据捕获的多层防御机制。通过定制系统、ARP欺骗技术增加Honeynet受攻击的概率并提高honeypot的吸引力,迷惑攻击者。 长春工业大学硕士学位论文3.I引言第三章网络数据包捕获与处理数据捕获对蜜罐系统起着十分重要的作用,这是能够带给研究人员最大价值的部分。蜜罐系统各个功能模块的执行都是对收集更多更有价值的数据的保障。数据价值是蜜罐系统最大的价值所在。为了保障数据捕获的正常运行,引入了多层数据捕获机制,从网络层到系统层,包括防火墙捕获的包头数据、覆盖命令解释器得到的击键信息、流数据重组得到的攻击工具、入侵检测系统捕获的攻击信息预警和二进制数据包,数据捕获目的和数据格式互不相同。而捕获数据的最终目的是对数据进行挖掘和分析,这就要求有一个统一的数据格式。如果将上述不同形式的数据整合起来,处理成相同格式的信息,由于数据侧重点各不相同,这将是一项十分困难的工作。所以,在保证上述数据捕获机制有效运行的同时,本文引入了一个网络数据包捕获方案,不仅增加了数据捕获的冗余度,还可以捕获所有通过蜜罐系统的真实网络数据包,并通过协议解析、特征提取将它们以统一的格式存储,以便于之后的数据挖掘。人们对数据挖掘的重视多集中在对算法的研究上,而对于数据挖掘最后的成功与失败,数据准备同样是必不可少的一步。没有好的原材料,再好的厨师也做不出美昧的佳肴。为使挖掘过程顺利进行,就要保证数据的完整性、正确性、有效性。文中捕获所有通过蜜罐系统的数据,保证了数据的完整性;由于蜜罐系统只收集少量而有价值的数据,所有通过蜜罐的数据都可以作为攻击信息看待,这就保证了数据的正确性;通过协议分析、特征提取,对数据进行处理,提取了几个能说明数据特性的属性,提高了数据的有效性。3.2网络数据包捕获3.2.I网络监听实现手段Internet可以被当做许多广域网、局域网和连接设备的总称。最流行的局域网有以太网局域网、令牌环局域网、无线局域网和ATM局域网。以太网是最广泛使用的局域网协议,该协议是1973年由施乐公司开发的。以太网的正式标准是IEEE802.3标准。该标准规定,一个站发送的帧将以广播方式被所有的站接收,只有真正的目的站才会收下这个帧,而其他的站都丢弃这个帧。这就是说,当网卡工作在正常模式下时,每接收一个到达的数据包,就会检查该数据包的目 长春工业大学硕士学位论文的地址,如果是本机地址和广播地址,就将数据包放入缓冲区,如果不是就直接丢弃。因此,正常模式下的主机系统只能接收到以本机地址为目标地址的数据包。网卡还有一种工作模式一一混杂模式。如果将网卡设置为混杂模式,不论目的地址是否为主机地址,网卡都可以接收同一网段内所有的数据包。这样就可以通过将主机的网卡设置成混杂模式,监听整个网段内所有的数据。利用网卡的混杂模式进行抓包主要有两种方法:原始套接字和WinPcap方法。原始套接字(rawsocket)是使用SOCK_RAW这个套接字类型来创建的。利用原始套接字可访问位于基层的网络协议。这种方法对网卡混杂模式的设置是通过原始套接字来实现的,即首先创建原始套接字,通过setsockopt()函数来设置IP头操作选项,再通过bind()函数将原始套接字绑定到本地网卡。为了一让原始套接字能接受所有的数据,还要通过ioctlsocket()来进行设置。至此,就可以开始对网络数据包进行监听了。另一种方法是使用WinPcap抓包。WinPcap(WindowsPacketCapture)H是Windows平台下一个转业网络数据包捕获开发包,是为Libpcap在Windows平台下实现数据包的捕获而设计的。WinPcap不仅具备了Libpcap的捕获数据包的功能,还具有数据包过滤、数据包发送、流量统计和数据包存储等功能。Libpcap所应用的范围,WinPcap都可以应用,并且还具备Libpcap所不具备的一些功能。综合考虑抓包效率与程序跨平台能力,这里选择以WinPcap技术为基础设计网络数据包捕获程序。3.2.2WinPcap结构模型WinPcap是Win32环境下的数据包捕获结构,是由意大利人FulvioRisso和LorisDegioanni等人提出并实现的。它来源于California大学的BerkeleyPacketFilter(BPF)。WinPcap是为Libpcap在Windows平台下实现数据包的捕获而设计的。在设计WinPcap时参照了Libpcap,使用方法也与Libpcap相似。使用WinPcap开发包,可以把在Linux下基于Libpcap的程序很容易地移植到Windows平台下。使用WinPcap开发包的软件主要有Windump、Ethereal、Dsniff、Analyzer等。使用WinPcap进行开发网络程序有以下几点好处:●WinPcap给程序员提供了一套标准的网络数据包捕获的编程接口,并且与Libpcap兼容,使得原来许多Linux平台下用Libpcap开发的网络安全程序可以很方便地移植到Windows平台下。·使用WinPcap可以提供很高的效率。WinPcap充分考虑了各种性能和效率的优化,在内核层实现了数据包的捕获和过滤。这是由NPF实现的,NPF是 长春工业大学硕士学位论文WinPcap的核心部分,它实现了内核层次的统计功能。●WinPcap还提供了发送数据包的能力。WinPcap由三部分组成。第一部分是内核层的数据包过滤模块。它相当于在Linux下Libpcap使用的BPF过滤模块,实现了高效的网络数据包的捕获和过滤功能,其过滤规则跟BPF是一样的。该过滤模块实际上是一个驱动程序,被成为NPF(NetgroupPacketFilter)数据包驱动程序。第二部分是动态链接库packet.dll。它工作在用户层,与捕获应用程序分离,它屏蔽低层的实现细节,提供一个与系统无关的接口。使用它就可以调用WinPcap的函数,它是一个较低层的开发接口。第三部分是动态链接库wpcap.dll。它也是提供给开发者的一个接口,但它是一个更高层的编程接口,其调用与系统无关。它利用packet.dll提供的服务,为应用程序提供高层接口(API函数)。WinPcap的结构如图3—1所示。应用程序fwpcap.dllfIpacket圳I用户压●l统计部件过滤部件(使存储部件用了缓存)◆内榜物理介质I物理介月图3-1WinPcap结构 长春工业大学硕士学位论文从图3—1中可以看到,wpcap.dll是最上层的一个接口,它同时也是应用得最多的一个编程接口。wpcap.dll与Libpcap兼容,使用它进行数据包捕获的编程,与使用Libpcap一样简单。所以这里使用wpcap.dll编程接口。3.2.3利用WinPcap实现数据包捕获首先下载WinPcap包,可以从它的主站点http://winpcap.polito.it/下载。WinPcap的最新稳定版本为3.0。下载得到3个文件。第一个文件是WinPcap_3_O.exe,它是一个自动安装文件,包括重要的动态链接库(DLL)和驱动程序。该文件必须安装,因为它是所有基于WinPcap的应用程序得以运行所必需的。第二个文件是wpdpack3一.zip,它是WinPcap开发包文件,是设计基于WinPcap的应用程序的开发文件。如果用户只需要运行基于WinPcap的应用程序,而不需要做基于WinPcap的开发,那么可以不安装这个文件。该文件包括开发用的头文件和静态链接库文件,文件夹docs中附带参考文档,文件夹Examples中还有一些很好的示例,文件夹Include和Lib中分别包含开发程序所需要的头文件和静态链接库文件。在VisualCH中使用WinPcap进行开发必须在工程中做一些设置,包括添加上面的头文件路径和静态链接库路径田】。具体过程是,选择tools菜单的子菜单项options,打开Options对话框,选择Directory页面,然后在选中Includefiles下拉列表的条件下点击New按钮,添加WinPcap的Include文件夹路径。然后用同样的方法在Libraryfiles中添加WinPcap的Lib路径。最后需要把WinPcap的静态链接库wpcap.1ib添加到VisualC++中。选择Project/Settings菜单项,打开ProjectSettings对话框,选择页面Link,在项目Object/1ibrarymodules中添加wpcap.1ib。由于在Windows中要使用其他网络函数操作,如ntohs0,必须使用套接字函数,所以还应该添加静态链接库wsock32.1ib。最后需要保证在每个使用WinPcap函数的应用程序源文件的开始处包含头文件pcap.h。下面就可以利用WinPcap进行具体的开发工作了。用到的重要数据结构[241:pcap_pkthdr:此数据结构用来描述每个捕获到的数据包的一些基本信息。每个数据包都有此数据结构。pcap_t:此结构是WinPcap捕捉句柄.类似文件句柄。用到的重要函数:intpcap_findalldevs(pcap—ift料alldevsp,char木errbuf)此函数的功能是查找机器的所有可用的网络接口,用一个网络接口链表返回。参数alldevsp是指向第一个网络接口的指针。 长春工业大学硕士学位论文pcap_t+pcap_open—live(constchar}device,intsnaplen,intpromisc,intto_ms,char丰ebuf)此函数的功能是打开一个网络接口进行数据包捕获。其中最重要的一个参数是promisc,它指明了是否把网络接口设置成混杂模式:如果是l,就表示以混杂模式打开此网络接口,否则,就以非混杂模式打开该接口;其他的参数如device表明要打开的网络设备的字符名;参数snaplen指明捕获数据包的最大长度(单位bytes)等。intpcap_loop(pcap_t书P,intcnt,pcap_handlercallback,u_char}user)此函数的功能是循环捕获网络数据包,直到遇到错误或满足退出条件(处理数据包的数量超过参数cnt的值,如果cnt为负数,函数将永远循环读取数据包而不退出,除非发生错误)。每捕获一个数据包就调用callback指示的回调函数。所以,可以在回调函数中对捕获到的数据包进行操作。typedefvoid(木pcap_handler)(u_char}user,conststructpcap_pkthdr。pkt_header,constu_char‘pkt—data)这就是上面提到的回调函数。当用户调用pcap_loop()函数时,数据包通过这个回调函数传递给应用进程。voidpcap—freealldevs(pcap_if_t木alldevs)此函数功能是释放网络接口链表中的所有网络接口。voidpcap_close(pcap_t芈P)关闭指针P指向的文件(即与WinPcap相关联的文件)并释放资源。利用以上数据结构和函数实现网络数据包捕获程序。首先需要做的事就是利用pcap_findalldevs0来取得网络设备列表,此函数返回一个pcap_if结构的链表,链表中每个节点包含一个网络设备的信息。可以利用这些信息得到网络接口的地址列表、网络掩码列表、广播地址列表和目的地址列表。下一步就需要打开捕获设备了。实现该功能的函数是pcap_open_live0。参数snaplen定义捕获数据包的部分内容。在Win32系统中,捕获驱动器可以只捕获一个数据包中的某一部分,这样就可以减少复制数据的数量,减少了系统的负担。本文中将snaplen设置为65536,远大于普通以太网的MTU值,这就可以保证程序能接收到完整的数据包。参数promisc指明是否把网卡设置成混合模式。原本蜜罐只关心通过自身的数据,只要让网卡工作在普通模式下即可。但为了更全面的分析数据,有时也需要对其他流经整个局域网的数据进行分析。例如,当蜜罐系统接收到一个对某端口的扫描时,可以通过查找局域网中其他数据得出攻击者扫描的范围和主要攻击方式。这里将promisc设置为1,使网卡工作在混 长春工业大学硕t学位论文杂模式下。然后就通过pcap—loop()函数循环捕获数据包。对捕获到的数据包调用pcap回调函数进行处理。.handler最后利用pcap_freealldevs()函数释放程序占用的网络设备,利用pcap_close()函数关闭和WinPcap相关联的文件,并释放资源。图3—2是基于WinPcap的抓包程序流程图。图3-2基于WinPcap的抓包程序流程图 长春工业大学硕士学位论文3.3数据处理以太网中数据包以帧的形式存在,按照网络各层协议的标准构造。为了提取出需要的详细信息,需要将所有的原始数据解析出各自的上层协议,并根据要求提取特征值。3.3.ITCP/IP协议模型1990年以前,在数据通信和联网的文献中占主导地位的是由国际标准化组织(ISO:InternationalStandardsOrganization)制定的开放系统互连(0SI:OpenSystemsIntereonnectionReferenceModel)模型,但它却从来没有被完全实现过。现在TCP,IP模型成为占主导地位的商用体系结构,因为它已经广泛应用于Intemet中,并且通过了广泛的测试125】。与OSl相似,TCMP模型也是一种分层的框架,通过这个框架所有类型的计算机系统都可以相互通信。TCP/IP模型由五层组成:物理层、数据链路层、网络层、运输层和应用层。前四层与OSl的前四层相对应,提供物理标准、网络接口、网际互连及运输功能。而OSl的上三层在TCP/IP中则用一个应用层来表示。图3.3为OSl与TCP,m模型对比。应用层应用程序表示层曰曰圈曰日会话层运输层l唧luD9I网田田络IP层}A肿IRARPI数据链路物理层由底层网络定义的协议图3-30Sl与TCP/]P模型对比 长春工业大学硕i二学位论文在TcP/口协议模型的各层中包含了一些提供特定功能的模块,所以我们可以将TCP/IP看作是由这些交互性的模块组成的分层次的协议。OSI模型指明了哪个功能是属于模型中的哪一层,但TCP/IP协议族中的层则包含了一些相对独立的协议,可以根据对系统的需要把这些协议混合使用。各层协议之间并不是独立的,层次越低提供的功能越基础,下层协议为上层协议提供服务。在本文中主要涉及到网络层与传输层的几个协议,在下面作为重点介绍。网络层位于TCP/IP模型的第三层,处理分组在网络中的活动,例如分组的选路。网络层最重要的协议就是m协议。IP协议(网际协议)是TCP/IP协议使用的传输机制。这个不可靠的、无连接的数据报协议尽最大努力地提供服务。它只提供最基本的传输功能,对上层协议服务,使得用户可以很容易地增加对某种应用所需的功能。IP报头包含数据包的源m地址、目的IP地址、分片标志、上层服务类型等信息,是进行协议解析的重要部分。网络层中另一个需要说明的协议就是ICMP协议(因特网控制报文协议)。ICMP协议传递差错报文及其他需要注意的信息,用来将数据报出现的问题以发送通知的方式反馈给发送方。传输层主要为系统间的应用程序提供端到端(end-to-end)的连接。在TCP/IP协议族中,有两个互不相同的传输协议:TCP和UDP。TcP(传输控制协议)可以提供面向连接的、可靠的数据通信。在传输数据之前,传输的两端之间必须先建立一个连接(通过三次握手建立连接),然后传输所有数据包,当数据传输完毕后关闭连接(通过四次挥手关闭连接)。这期问传输的所有数据都只算作一次连接。UDP(数据报协议)将每一个数据报都当作一个独立的单位进行传输。它并不保证该数据报能到达另一端。在发送和接收数据的同时,会对数据添加或删除一些额外的信息。以用TCP协议传送数据为例,数据被送入协议栈中,然后逐个通过每一层协议直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(数据链路层还会增加尾部信息)。该过程如图3_4所示。 长春工业大学硕士学位论文TCP剖$应用数据卜TCP段叫IlIP首部TCP首部应用数据I卜i嚣字二j1图3-4数据在协议栈中封装过程3.3.2数据标准化处理通过网络数据包捕获收集到的都是原始的二进制数据,要将这些数据处理成需要的属性序列,首先要将这些原始的二进制数据转化为ASCII码格式的网络包。数据处理中主要对数据包的头部进行处理,所以只取数据包的包头部分。然后定义存放各种网络包头数据的结构,包括连接发生时间戳、源IP地址、目的IP地址、服务类型、源和目的端口地址、状态标志等属性。通过对包头的分析处理形成网络连接记录。网络连接记录是对网络原始数据包的抽象,是指由源IP地址、目的IP地址、源端口、目的端口及其他属性所确定的完整的连接过程。这些特征量的选取,既要能够标志出数据报的特征,又要做到尽量精简,使这些属性既有代表性又节约系统资源,提高数据处理的效率。网络连接记录中有些属性对最后的数据挖掘结果是没有影响的,这些属性在安全方面不能提供需要的价值。而且,如果将这些属性加入到特征集中还会大大影响挖掘效率,甚至还可能导致数据挖掘结果的偏差。因此,对原始数据进行有效地简化是很有必要的。数据简化是在对挖掘目的和数据本身特征的惟一表述的前提下最大限度地精简数据量。经过实验与总结,本文主要选取的数据报特征有:service、src—IP、dest—IP、srcport、dest_port、flag和timestamp。在原始数据处理后形成了一个网络数据记录库(用D表示),这些记录具有相同的格式,每条记录都是一个结构化的数据。用Ri表示D中的任一条连接记.32.网 长春工业大学硕士学位论文录,那么有D={Rl,R2,⋯,Ri,ooe9Rn);R的固定格式为Ri=[Timestamp,service,src—IP,dest—IP,srcport,destport,flag]。这里,这些特征对应的含义及类型定义见表3-1。表3-1其中的标志位有多种取值,具体含义见表3.2。表3-2标志说明SYNACKRSTFⅨPSHURG建立连接标志应答标志连接复位标志终止连接标志推送数据紧急指针字段值有效3.4数据存储对于经过协议分析、特征提取处理过的数据,需要将它们导入数据库系统中,集中存储、集中管理,也便于数据挖掘过程中对数据的提取。本文的数据库软件选用MySQL数据库。,UySQL[26l是一个精巧的SQL数据库管理系统,由瑞典的T.c.X公司负责开发和维护。由于它的强大的功能、灵活使用、丰富的应用编程接口(API)以及精巧的系统结构,受到广大自由软件爱好者甚至是商业软件用户的青睐。 长春工业大学硕士学位论文MySQL是一个真正的多用户、多线程SOL数据库服务器。SQL(结构化查询语言)是世界上最流行和标准化的数据库语言。咐SOL以一个客户机/服务器结构形式实现,它由一个服务器守护程序mysql和很多不同的客户程序和库组成。它的主要目标就是快速、健壮和易用。有许多MySQL的镜像站点,http://ww.mysql.com/mirrors.html列出了各镜像站点,可以从中选择一个近的站点下载MySQL的最新版本。安装后在命令窗口中打开MySQL,创建一个用于保存网络连接记录的数据库,名为net—data,然后建立数据表。这里需要建立两张数据表,表honeypot内存储流经蜜罐系统的网络数据包:表non_honeypot存储网段内不与honeypot相连的数据包。便于后面分别对其进行分析。图3—5显示了数据库net—data的数据表honeypot的定义格式。3.5小结图3-5表honeypot的定义格式无论是对蜜罐系统还是对数据挖掘,获得良好的数据源都是十分重要的。本章详细描述了利用WirtPcap技术实现网络数据包捕获模块的过程,以及对抓取的原始数据包进行协议解析、特征提取,得到网络数据记录集并存储于MySQL数据库中。 长春工业大学硕士学位论文4.1引言第四章数据挖掘与分析对于蜜罐系统收集的信息,不论是系统中用户的命令行输入,还是其他任意的离散事件流,比如GUI事件、网络数据包传输、系统调用跟踪等,这些数据之间是存在联系的,都可以看作是事件的序列集合。通常,系统或用户的正常行为会有一定的规则,而攻击者发起的攻击过程也都是有前后关系的,例如,在攻击者真正实施攻击时,一般要先对目的系统的开放端口进行扫描,然后才实施具体的攻击动作。要对蜜罐系统收集的信息进行分析,单凭孤立的事件对攻击者的攻击行为进行判断是很困难的,这就需要把攻击者的行为联系起来,当作一个整体进行分析。数据挖掘中的序列模式挖掘就是针对这一问题对审计数据进行序列模式挖掘分析,从事件数据库中挖掘出描述攻击活动的频繁序列模式,帮助安全研究人员分析、学习攻击方法和攻击流程。本文采用先关联规则挖掘、再序列模式挖掘的数据挖掘方法对审计数据进行挖掘。关联规则挖掘的目的是发现大量数据项之间的关联性。序列模式与关联模式相仿,只不过把数据之间的关联性与时间联系起来。利用序列模式挖掘可以发现不同数据记录之间的基于时间先后的相关性。通常,数据集可以分为稠密数据集和稀疏数据集127]。稠密数据集有大量的长尺度和高支持度的频繁模式,在这样的数据集中,许多事件是相似的,例如DNA分析或者股票序列分析。稀疏数据集主要由短模式组成,长模式也存在,但相应的支持度很小,例如超级市场的交易数据集和用户在网站中的浏览页面动作序列等。到目前为止,.大多数挖掘序列模式的算法都是Apfiofi类方法的改进。对于稠密型数据集Apfiori类算法就不太适合应用,因为在发现序列模式的过程中会产生大量的候选序列,A嘶ori类算法在稀疏数据集的应用比较合适。分析蜜罐系统收集的数据的特点,发现它更接近于稀疏数据集。而且,ipriofi类算法使用起来比较简单,已经大量应用于商业系统数据挖掘领域。所以,在文中选用A州埘类算法(关联规则挖掘采用A州ori算法,序列模式挖掘采用AprioriAU算法)。 长春工业大学硕士学位论文4.2利用关联规则挖掘发现数据相关性4.2.1关联规则挖掘描述关联规则挖掘是数据挖掘中最活跃的研究方法之一。最早是由Agrawal等人于1993年提出的。关联规则挖掘就是从大量数据中挖掘出有价值描述数据项之间相互联系的有关知识。随着数据收集和存储的规模越来越大,人们对从这些数据中挖掘相应的关联关系越来越有兴趣。关联规则挖掘的一个典型例子就是购物篮分析。该过程通过发现顾客放入其购物篮中不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,可以帮助零售商指定相应的营销策略、对超市内各类商品进行合理布局。设I={i1,i2~.,illl)为数据项集合,D为与任务相关的数据集合,也就是一个交易数据库,其中的每个交易T是一个数据项子集,即Tc_I。设A是一个项集,事务T包含A,当且仅当Ac_T时,有田】:关联规则是形如AjB的蕴涵式,其中Ac"-I,Bc-I,并且AnB=中。规则AjB在事务集D中成立,具有支持度s,其中S是D中事务包含AUB的百分比,即为概率P(AUB)。规则AjB在事务集D中具有置信度C,如果D中包含A的事务同时也包含B的百分比是e。这是条件概率P(B/A)。即为以下公式:Support(AjB)=P(AUB)Confidence(AjB)=P(B/A)式子中支持度和置信度是两个规则兴趣度度量,分别反映发现规则的有用性和确定性。如果不考虑关联规则的支持度和置信度,那么在事务数据库中存在无穷多的关联规则。事实上,人们一般只对满足一定支持度和可信度的关联规则感兴趣。同时满足最小支持度阙值(min—sup)和最小置信度阙值(min_conf)的规则称作强规则。这两个阙值均在O%到100%之间。min_sup就是用户规定的关联规则必须满足的最小支持度,它表示了一组物品集在统计意义上的需要满足的最低程度。min是用户规定的关联规则必须满足的最小置信度,它反应_conf了关联规则的最低可靠度。项的集合成为项集(itemset)。包含k个项的项集成为k一项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。项集满足最小支持度min—sup,如果项集的出现频率大于或等于min—sup与D中事务总数的乘积。如果项集满足最小支持度,则称它为频繁项集(frequentitemset)。频 长存工业大学硕士学位论文繁k一项集的集合通常记作Lk。挖掘关联规则主要包含以下两个步骤:1)找出所有频繁项集:根据定义,这些项集的频度至少应该等于预先设置的最小支持频度。2)由频繁项集产生强关联规则:根据定义这些规则必须满足最小支持度和最小置信度。4.2.2采用Apriori算法实现挖掘过程在数据挖掘研究领域,对于关联规则算法的研究开展得比较深入,人们提出了多种关联规则的挖掘算法,如Apriori、STERM、AIS、DHP算法等。本论文使用关联规则中的Apriori算法。Apriori算法是一种最有影响的挖掘产生布尔关联规则所需频繁项集的基本算法。Apriori算法就是根据有关频繁项集特性的先验知识(priorknowledge)而命名的。该算法利用下面的性质,称之为大项目集性质129]:大项目集的任一子集也一定是大项目集。Apriori算法是一种宽度优先算法。通过对数据库D的多次扫描来发现所有的频繁项目集,在每一次扫描中只考虑具有同一长度(即项目集中所含的项目的个数)的所有项目集。在第一次扫描中,Apriori算法计算D中所有的单个项目的支持度,生成所有程度为1的频繁项目集。在后继的每一次扫描中,首先以k-1次扫描所生成的所有频繁项目集为基础产生新的候选项目集。然后扫描数据库D,计算这些候选项目集的支持度,删除其支持度低于用户给定的最小支持度的项目集。最后,生成所有长度为k的频繁项目集。重复以上过程,直到再也不能出现新的频繁项目集为止。算法高效的关键在于生成较小的候选项目集,也就是尽可能不产生和计算哪些不可能成为频繁项目集的候选项目集。大项目集性质就是体现在这里,即任何一个频繁项目集的任一子集一定也是频繁项目集,一个非频繁项目集的超级必定也是非频繁项目集。Apriori算法中寻找频繁项集分为连接和剪枝两步:(1)连接步骤:为发现Lk,可以将Lk_l中两个项集相连接以获得一个Lk的候选集合Ck。设Ii和12为Lk.1中的两个项集,记号liD】表示中的第j个项;如li【k·2】就表示li中的倒数第二项。为方便起见,假设交易数据库中各交易记录中各项均己按字典排序。若Lk.1的连接操作记为h.ID=min_sup))returnAnswer=UkLk;functionapriorigen(Lk.i;min_sup)Foreachitemsetlj∈h.IForeachitemset12ELk.1If(1l【l】=1211])^(11【2】=1212])^⋯^(Ii皿-2】=12[k一2])A(1l[k—l】<12[k-1])Then(C=11p日12;//连接产生候选集Ifhas_infrequent_subset(c,Lk.1)thenDeleteC://剪枝删除非频繁项集elseaddetoCk;}returnCk:functionhas—infrequent—subset(e:LIc.1) 长春工业丈学硕上学位论文foreach(k-1)一subsetSofcifs∈h.IthenreturnTRUE:returnFALSE:注:所有算法表示中,Lk代表所有k.序列组成的集合,Ck代表候选k-序列组成的集合。找到频繁项集后,就可以产生强关联规则。4.3利用序列模式挖掘发现数据时序性4.3.1序列模式挖掘描述在时序和序列数据库中存放的数据具有时间上的先后关系,对这些数据可以进行序列模式挖掘、趋势分析、相似性搜索、周期模式挖掘等。本文对序列数据库进行挖掘的主要目的是找出序列记录之间的联系,发现攻击模式和攻击序列,所以主要针对序列模式挖掘进行说明。序列模式挖掘是指挖掘相对时间出现频率高的模式,也就是从序列组成的数据库(sequencedatabase)中找出出现频繁的子序列(sub—sequences),它是一项重要的数据挖掘任务。一个序列模式的例子是。在购买彩电的人们当中,60%的人会在3个月内购买影碟机”。它的最初动机是想通过在带有交易时间属性的交易数据库中发现频繁项目序列以发现某一时间段内客户的购买活动规律。近年来序列模式挖掘已经成为数据挖掘的一个重要方面,其应用范围也不局限于交易数据库,在DNA分析等尖端科学研究领域、Web访问等新型应用数据源等众多方面得到针对性研究1301。为了后文中能够清晰、准确地表述,先给出以下定义【31】。定义4—1:一个序列(Sequence)是项集的有序表,记为口=%呻口2÷⋯斗口。,其中每个口i是一个项集(Itemset)。一个序列的长度(Length)是它所包含的项集。具有k长度的序列称为k一序列。定义4-2:定义4-3:设序列口=%一口2一⋯一%,序列∥=届一岛专⋯一成。若存在整数iI(i2<⋯。见表4—2。表4—2化简_I亓的顾客序列数据库客户号(Cust—id)客户序列(CustomerSequence)1<(11)(16)>2<(17,18)(11)(12,14,15)>3<(11,13,15)>4<(1I)(12,15)(16)>5<(16)> 长春工业大学硕上学位论文现在将最小支持度定为40%,也就是说得到的序列最少要有2个顾客支持(因为一共有5个顾客,2/5=40%)。遍历数据库,最后有两个这样的序列满足上述条件,它们是<(11)(16)>和<(11)(12,15)>,前者被顾客A1和顾客A4所支持,后者被顾客A2和顾客A4所支持。虽然诸如<(11)>、<(11)(12)>、<(12,15)>这样的序列也满足支持度40%的条件,但它们并不是我们所需要的序列,这是因为它们不是最大的,它们都被最终结果序列所支持。<(11)(16)>和<(11)(12,15)>在那些满足支持度约束的序列中是最大的,所以我们得到以下结果:SequentialPatternwithsupport>=40%<(11)(16)><(11)(12,15)>4.3.2AprioriAll算法AprioriAll算法源于频繁集算法Apriori,它把Apriori的基本思想扩展到序列挖掘中,也是一个多遍扫描数据库的算法。在每一遍扫描中都利用前一遍的大序列来产生候选序列,然后在完成对整个数据库的遍历后测试它们的支持度。在第一遍扫描中,利用大项集阶段的输出来初始化大卜序列的集合。在每次遍历中,从一个由大序列组成的种子集开始,利用这个种子集,可以产生新的潜在的大序列。在第一次遍历前,所有在大项集阶段得到的大卜序列组成了种子集。AprioriAll算法用伪代码描述如下:Ll={large卜sequencesJ://大项集阶段得到的结果For(k=2:厶一l≠(D:k++)DOBEGINCk=aprioriALL—generate(‘一1)Foreachcustomer—sequenceeinDTDO//对于在数据库中的每一个顾客序列cSumthecountofallcandidatesinCkthatarecontainedinC//对包含于C中Ck内的所有候选者计数厶2CandidatesinCkwithminimumsupport://丘=Ck中满足最小支持度的候选者ENDAnswer=MaximalSequencesinUkLk; 长春工业大学硕士学位论文4.3.3序列模式挖掘过程为了找出审计数据中的频繁序列,可以分为五个阶段进行,它们分别是排序阶段、大项集阶段、转换阶段、序列阶段以及选最大阶段。1.排序阶段(数据准备)这个阶段将原来的事务数据库转换成序列数据库。对应上面示例中由表4.1到表4.2的转化阶段。2.大项集阶段(寻找初始频繁项集)在这个阶段找出频繁卜项集Ll。还可以同时得到所有频繁卜序列组成的集合。即{<1>11∈L1}。频繁卜项集被映射成连续的整数。在表4—1给出的数据库中,频繁卜项集分别是(11),(12),(14),(12,14)和(15)。表4-3给出了一个可行的映射。表4-3频繁卜项集的映射LargeItemsetssupportMappedTo(11)41(12)2(14)3(12,14)24(15)35这样映射的好处在于,将频繁项集按一个实体的形式进行处理,可以带来比较和处理上的方便和高效,提供了一个统一的格式。3.转换阶段(找出频繁序列)在寻找序列模式的过程中,要不断地检测一个给定的大序列集合是否包含在一个客户序列中。为了使这个过程尽量的块,可以用另一种形式来替换每一个客户序列。在转换完成的客户序列中,每条交易被其所包含的所有大项集所取代。如果一条交易不包含任何大项集,在转换完成的序列中它将不被保留。但是,在计算客户总数的时候,它仍将被计算在内。例如,对表4—2给出的数据库进行转换。对客户号为1的客户序列进行转换时,交易(30)和(90)均满足条件,被保留。而对客户号为2的客户序列进行转换时,交易(10,20)没有包含任何大项集,所以被删除交易(40,60,70)被大项集的集合((40),(70),(40,70))所代替。这样得到的数据库如表4—4所示。 长春工业大学硕士学位论文表4-4转换后的序列数据库示例CustidOriginalCustomerTransformedCustomerAfterMappingSequence1<(11)(16)><{(11)】{(16))><{1){5}>2<(17,18)(11)<{(11))<{1}{2,3,4}>(12,14,15)>{(12),(15),(12,15)}>3<(11,13,15)><{(11),(15))>4<(11)(12,15)(16)><{(11))<(1}{2,3,4){(12),(15),(12,15)){5)>{(16)}>5<(16)><{(16)}><{5)>4.序列阶段利用转换后的数据库寻找频繁的序列,即大序列(LargeSequence)。在每一次遍历中,利用上一次遍历产生的大序列来产生候选序列,并在一次遍历中计算它们的支持度。在遍历的最后,将不满足最小支持度的候选序列删除,利用候选序列的支持度来决定大序列。对于上面的例子,图4-I给出了频繁序列的产生过程。LIk1-Sequencessup∞rt4<》2<3>3<4>2<5>3I4.sequ“cessupportI<1234>2lb●●-----—---—·--一2-Sequencessupport<12>22<】秘2<15>2<23>2电4>2a4>2』3-Sequencessupport2<124>22<234>2 长春工业大学硕士学位论文图4-1寻找频繁序列过程5.选最大阶段(找出最大序列,即序列模式)在频繁序列集中找出最大序列。定义最长序列的长度为n,则:for(k=n:k>l:k一)doforeachk-sequenceLkdoDeletefromSallsubsequencesofLk重复以上过程直到没有产生候选的最后一次遍历为止,最后的序列就是需要找出的序列模式。4.4关联规则挖掘与序列模式挖掘联合应用本文中关联规则挖掘和序列模式挖掘算法的目的是挖掘数据仓库中存放的攻击信息记录,寻找记录中的关联模式和序列模式,从而提取和发现有价值的攻击模式和攻击方法。,利用算法挖掘审计记录的过程为:寻找审计记录内的大项集采用关联规则Apriori算法;寻找审计记录问的大项集序列采用序列模式AprioriAll算法进行挖掘。进行关联规则挖掘结果下的序列模式再挖掘有如下几步工作:首先要把数据库按时间段进行划分,然后在每个被划分的段中进行关联规则的挖掘,对挖掘出来的结果进行整理并生成新的数据库,最后对新的数据库进行序列模式挖掘。挖掘审计记录的过程如表4-5所示。表4-5挖掘审计记录过程应用的算法过程关联规则Apriori算法l从事务集中找出满足最小支持度条件的项集(即大项集)。2大项集的置信度大于指定的最小置信度,得到关联规则。序列模式AprioriAll算法l对审计记录进行排序。2找出满足最小支持度条件的大数据项集。3将大数据项集转换成整数值。4利用大数据项集发掘序列模式。5找出所有序列模式的最高序列集。 长春工业大学硕士学位论文4.5小结本章阐述了关联规则挖掘和序列模式挖掘的概念以及一些相关定义,详细描述了关联规则挖掘和序列模式挖掘的流程及各自采用的算法(Apriori及AprioriAll),最后还对这两种挖掘方式在蜜罐系统中的应用进行了详尽的说明。 长春工业大学硕士学位论文第五章实验测试及结果分析系统测试是软件工程中不可缺少的一个环节,通过测试,可以发现系统中存在的Bug,判断系统能否实现预定功能,使项目实施者可以及时查漏补缺,为项目的正常实施提供保障。本章主要说明在系统测试阶段所做的工作及对测试结果进行的分析,是验证系统可行性的关键。5.1测试环境本文中的数据都是从本人工作学习的实验室中获取的,实验室网络是一个小型局域网,此局域网采用集线器星型以太网结构。实验室网络拓扑结构如图5-1所示。攻击者1.O.O.22自包含蜜网系统1.O.O.23图5-1实验室网络拓扑结构蜜网与实验室内网应该分别处于两个网段,一旦蜜罐系统被攻破,可以减少给实验室内网带来的威胁。用来搭建自包含虚拟蜜网系统的主机的IP地址是1.0.0.23,两台虚拟蜜罐系统的IP地址分别是192.168.0.10和192.168.0.11。而攻击由实验室局域网内另一台主机发起,它的IP地址为1.0.0.22。虚拟蜜罐系统与主机系统的网络结构如图5—2所示。 长春工业大学硕士学位论文虚拟蜜罐1Virtualhoneypot1虚拟蜜罐2Virtualhoneypot25.2虚拟蜜网系统测试图5-2虚拟蜜罐与主机网络结构图虚拟蜜网中最重要的两个机制就是数据控制和数据捕获机制。下面分别对数据控制模块和数据捕获模块进行测试。。5.2.1数据控制测试为避免攻击者控制honeypot系统去攻击其他系统,需要严格的数据控制机制。而数据控制中最重要的就是要一直保证honeypot仅能接收所有流入的流量,而不能发出流出的流量。通过对防火墙定制规则实现这两个要求。在宿主机上ping虚拟honeypot系统,可以ping通,说明honeypot允许流入的流量。如图5—2所示。 长存工业大学硕士学位论文图5-2数据控制一一流入通过图5-3数据控制一一流出拒绝 长春工业大学硕士学位论文然后在虚拟honeypot上向宿主机发出ping连接,没有得到响应,说明honeypot阻断了流出的数据包。如图5—3所示。这两个图示一起证明了虚拟蜜网系统“流入通过、流出拒绝”的数据控制机制的成功实施情况。5.2.2数据捕获测试本文提供了多重数据捕获机制,其捕获的信息侧重点不同。在系统信息捕获中,通过覆盖命令解释器记录攻击者输入的命令行,以文本形式保存在指定目录中。它的内容与攻击者输入的命令一致。而Ethereal利用重组流文件还原得到攻击工具,也是由攻击者上传、下载的工具决定的。这两项功能经测试均可正常工作。定制的网络数据包捕获程序捕获真实的网络数据包,并以选定的特征组成记录的形式存储到MySQL数据库中,提取的数据在后面的数据挖掘测试部分进行说明。防火墙作为第一层数据捕获模块,可以对所有信息进行筛选。由攻击者(1.0.0.22)利用X-Scan软件对蜜罐系统发起扫描,收集到的信息如图5-4所示。日志回×1.0.0.22试图连接本机的Telnet[23]端口,^ICP标志:s,一该操作被允许。1.0.0.22h-t图连接本机的Sxtp【25]端口.TCP标志:s,该操作被允许o1.0.0.22试图连接本机BSntp【25]端口.TCP标志:S,该操作被允许。1.0.0.22试图连接本机的DNsJBonk(DoS?CP标志:S,该操作被允许。图5-4防火墙日志捕获可以通过图5—4看出,利用防火墙日志收集的信息可以得到攻击时间、攻击者的IP地址、攻击端口和攻击方式(针对的服务)等信息。而入侵检测系统收集的信息则更加全面,它甚至可以捕获到链路层信息。还是对上面的情况,由入侵检测系统捕获的信息如图5-5所示。 长春工业大学硕士学位论文5.3数据挖掘测试图5-5入侵检测系统(snort)捕获信息将由定制的网络数据包捕获程序捕获的数据提取特征后存储到MySQL数据库中。每条连接记录由一组固定的属性组成。表5-1是数据库honeypot表中的一些对honeypot系统的连接记录。这里对数据记录进行了一些改动,精简了一些对最终结果无用的属性。Src—ip列中的Spoofed.1至Spoofed_4为攻击者采用的欺骗IP地址。.50- 长春工业大学硕士学位论文表5-1表honeypot中的一些连接记录timestampSerVlCesrc_lpdest—ipflag1.1httpSpoofed—l192.168.0.10SYN1.1httpSpoofed_2192.168.0.10SYN1.1httpSpoofed3192.168.0.10SYN1.1httpSpoofed_4192.168.0.10SYN●●●⋯10.1ftp其他地址192.168.0.10FIN12.3smtp192.168.0.10FIN14.4telnet192.168.0.10FIN15.2smtp192.168.0.10FIN⋯应用关联规则挖掘算法(Apriori)对表5—1中的数据进行关联规则挖掘,用于提取出同一条网络连接记录中不同特征属性间存在的相关性。表5—2是经过关联规则挖掘处理后,网络连接记录的关联规则。表5-2网络连接记录的关联规则最小支持度关联规则数关联规则规则说明70%3service=http:服务为http,目标主机为dest—ip=192.168.0.10:192.168.0.10,flag为SYN,flag=SYN在同一条网络连接记录经常出现.再利用序列模式算法(AprioriAll)对表5—2中的关联记录进行序列模式挖掘,序列模式算法用于提取出不同网络连接记录间存在的相关性。表5-3是经过序列模式挖掘处理后,网络连接记录的序列规则。 长春工业大学硕士学位论文表5—2网络连接记录的关联规则序列模式模式说明在flag为SYN,目标主机为192.168.0.10的(service=http,flag=SYN,dest—ip=192.168.0.10),两个http连接之后,在(service=http,flag=SYN,dest—ip=192.168.0.10)●2秒之内,有86%的可(service=http,flag=SYN,dest—ip=192.168.0.10)[0.86,0.02,2]能性出现第三个一样的连接。这种模式发生的概率为2%。以上挖掘出的序列模式描述了SYNflood针对WindowsNT系统的攻击行为。攻击者在很短的时间内使用许多欺骗地址发出许多SYN连接(表明只发出了第一个SYN包)到受攻击主机的http端口。所以,上面这些序列模式即为所需的SYNflood的频繁模式,接下来就可以结合其他的频繁模式对攻击方法进行分析。这些挖掘结果证明了采用先关联后序列的数据挖掘方法的有效性,以及数据挖掘应用在蜜罐系统中的可行性。5.4小结本章主要对文中所做的实验测试工作进行说明。介绍了实验室的测试环境,对虚拟蜜网的各功能模块分别进行了测试,并通过一个实验示例证明了数据挖掘在蜜罐系统中应用的可行性。 长春工业大学硕士学位论文6.1论文工作总结第六章总结与展望蜜罐技术作为一种新兴的网络安全技术,赋予了安全组织更大的主动性,是对入侵检测系统和防火墙系统的有效补充。而数据挖掘则是数据库研究、开发和应用最活跃的分支之一。将先进的网络安全技术与最具生命力的信息处理方法结合到一起,充分发挥各自的优势,为网络安全技术的研究创造更好的条件。本文主要讨论将数据挖掘技术应用于蜜罐系统中,充分发挥蜜罐收集数据的高价值性与数据挖掘的先进数据分析能力,采用关联规则挖掘和序列模式挖掘对蜜罐系统收集到的信息加以挖掘分析,找出数据间的联系和序列模式,发现新的攻击方法,用以指导对网络安全知识的学习。本文主要完成了以下几个方面的工作:1.提出并部署了一个新型的Windows环境下基于虚拟机技术的虚拟蜜网;2.通过防火墙捕获、入侵检测系统捕获、主机系统信息捕获和TCP流文件捕获实现数据捕获的冗余机制;3.开发了一个真实网络数据包捕获工具,将数据处理成统一的格式存储于数据库中:4.采用先关联后序列的挖掘方法对蜜罐系统收集的数据进行挖掘分析,找出有价值的规律和模式;5.为提高蜜罐系统受攻击的概率,提出了系统模拟和ARP欺骗双重增强功能。6.2今后工作展望●将入侵防御系统引入到数据控制机制中,仅对攻击信息进行阻断,同时放行正常流量。●对网络数据包的载荷进行挖掘。●实现蜜罐系统与入侵检测系统、防火墙的联动,将所得序列应用于入侵检测系统的攻击签名数据库。 长春工业大学硕士学位论文致谢本文的研究工作是在导师刘棣华教授的悉心指导下完成的,从论文的开题到最后的审查,从课题的解决方案到论文的内容组织,无不浸透着导师的心血和汗水。在攻读硕士学位期间,导师给予了我无微不至的关怀。刘老师高尚的品德、严谨的治学态度以及渊博的专业知识更使我受益终身。在此,谨向刘棣华教授致以崇高的敬意和衷心的感谢!衷心感谢师兄刘洪亮、师姐于丹对我的关照,使我尽快适应实验室的学习生活。感谢同窗苏春芳、齐攀、栾涛和张路,他们在课题的开发和论文的写作过程中为我提出了许多好的意见和建议。在与他们的探讨中使我不断进步。而课题的顺利完成与论文的成稿也与得益于大家的精诚合作。借此机会,我还要衷心感谢我的家人和朋友。在攻读硕士期间,他们在生活上的关怀和照顾使我能够专心于学业。衷心感谢参加论文评审和答辩的各位专家。最后,衷心感谢长春工业大学对我的培养。 长春工业大学硕士学位论文参考文献[1]彭长艳唐朝京张森强,Honeypot30(12):59~62,2004.[2]LanceSpitzner著,邓云佳译,社,2004.及其安全增强技术研究[J],电子工程师,Honeypot:追踪黑客[M],清华大学出版[3]CliffordStoll,TheCuckoo’SEgg[M],NewYork:PocketBooksNonfiction,1990.[4]BillCheswick,AnEveningwithBerferdinWhichaCrackerIsLured,Endured,andStudied[J],1991.[5]CohenF.,DeceptionToolkit(DTK),http://W州.a11.net/dtk,1997.[6]NetworkAssociatesTechnologyInc.,CyberCopSting,http:ff嗍.nai.COn].1999.[7]TheHoneynetProject,KnowYourEnemy[M],Boston,Masschusetts:Addison—Wesley,2001.[8]北京大学计算机研究所信息安全工程研究中心,狩猎女神:北大蜜网项目,http://vn哪.icst.pku.edu.cn/honeynetweb/honeynetcn/TechnicalReports.ht儿[9]DefinitionsandValueofHoneypots,http://mw.enteract.com/’1spitz/honeypot.html.[10]梁循,数据挖掘算法与应用[M],北京大学出版社,2006.4.[11]HoneynetProject,Knowyourenemy:Honeynets[EB/oL],http://栅.honeynet.org/mis/project.html,2003一01.[12]TheHoneynetProject著,曲向丽潘莉译,黑客大揭密[M],中国电力出版社,2003.[13]马莉波段海新李星,蜜罐部署分析[J],大连理工大学学报,第45卷增刊:150~155,2005-10.[14]ClarkM.,VirtualHoneynets,http://嗍.securityfocus.com/cgi—bin//Infocus.pl?id=1506,2001.[15]王春梅,虚拟机配置与应用[M],人民邮电出版社,2003.[16]JackKoziol著,吴溥峰孙默许诚等译,Snort入侵检测实用解决方案[M],机械工业出版社,2005.[17]BrianCaswell,JayBeale,JamesC.Foster,JeffreyPosluns,Snort2.0IntrusionDetection[M],SyngressPublishing,Inc.2001..5’ 长春工业大学硕士学位论文[18]卿斯汉刘文清刘海峰,操作系统安全导论[M],科学出版社,2003.[19]熊华郭世泽吕慧勤等编著,网络安全一一取证与蜜罐,北京:人民邮电出版社,2003.[20]张治耿炎戴冠中,基于ARP协议构建网络虚拟主机[J],小型微型计算机系统,26(6):920~922,2005.[21]BehrouzA.ForouzanSophiaChungFegan著,谢希仁译,TCP/IP协议族(第2版),清华大学出版社,2003.[22]WinPcapDocumentation3.0,http://winpcap.polito.it/docs/man/html/main.html.[23]殷肖川刘志宏姬伟锋万映辉编著,网络编程与开发技术[M],西安交通大学出版社,2003.[24]刘文涛编著,网络安全开发包详解[M],北京:电子工业出版社,2005.[25]W.RichardStevens,TCP/IPIllustrated,VolumeI:TheProtocols[M],AddisonWesley,1994.[26]张家境,MySQL与电子商务实战[M],人民邮电出版社,2001.[27]吕锋张炜玮,4种序列模式挖掘算法的特性研究[J],武汉理工大学学报,28(2):57~60,2006.[28]朱明,数据挖掘[M],中国科学技术大学出版社,2002.[29]MargaretH.Dunha皿,DataMiningIntroductoryandAdvancedTopics,PearsonPrenticeHall,2003.[30]JiaweiHanMichelineKamber,DataMiningConceptsandTechniques,MorganKaufmann,2001.[31]毛国君段立娟王实石云编著,数据挖掘原理与算法[M],北京:清华大学出版社,2005. 长春工业大学硕1二学位论文攻读硕士学位期间发表的论文[1]基于数据挖掘的研究型蜜罐.计算机科学与实践.2007--2.第一作者.[2]在Snort中应用数据挖掘技术的研究.计算机科学与实践.2006—8.第二作者.[3]基于数据挖掘的入侵告警关联分析.计算机科学与实践.2006—8.第三作者.