• 3.51 MB
  • 2022-06-16 12:40:45 发布

基于蜜罐技术的蠕虫特征自动提取技术的研究

  • 57页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
华中科技大学硕士学位论文摘要网络蠕虫以其多样性的传播方式、快速的繁殖能力和破坏能力不断造成损失。当前运用最为广泛的网络蠕虫检测系统多采用误用入侵检测技术,其检测能力在很大程度上取决于攻击特征的数量和质量,而依靠专家事后提取特征的方式已远远不能应付层出不穷的新蠕虫攻击,因此,对蠕虫特征自动提取技术的研究具有非常重要的意义。蜜罐技术的目的在于诱使攻击,其捕获恶意数据针对性强、数据量小,能较迅速的排除正常流量的干扰收集攻击信息。为进一步区分出蜜罐系统中的蠕虫攻击信息,将贝叶斯方法结合到蠕虫检测技术中,通过将蜜罐系统捕获的数据按访问总次数、最大访问频度、访问范围、端口风险度和平均负载长度5个观测参数综合评分判断是否属于可疑蠕虫流量。将蠕虫攻击手段分为网络扫描、快速扫描,缓冲区溢出以及后门,分别模拟这4类攻击方式统计得出4类异常观测参数的概率值作为网络蠕虫检测指标。通过这种结合蜜罐技术与贝叶斯方法的蠕虫技术,减少了噪音数据对系统的干扰,使提取的特征片段更加精确。目前可用的特征提取算法非常有限,生物信息学中的Needleman-Wunsch算法则是利用动态规划的思想寻求两条序列间的全局最小距离(最相似子序列)。通过引入激励函数改进Needleman-Wunsch算法能克服原算法易产生碎片的缺点,使之很好的适用蠕虫病毒的特征提取要求。结合多层序列联配算法能较快的舍弃干扰序列,保证整个特征提取算法的收敛速度;通过引入通配符尽可能的保留蠕虫病毒的特征,增强特征码的灵敏性。利用网络蠕虫检测技术与特征提取技术的研究成果,设计和开发了网络蠕虫特征提取系统。分别模拟蠕虫攻击和样本数据两种方法对系统进行了测试,验证了本系统的实际能力。关键词:网络蠕虫,蜜罐技术,特征自动提取,贝叶斯方法,改进Needleman-Wunsch算法,多层序列联配算法I 华中科技大学硕士学位论文AbstractInternetwormsbringgreatdamagecontinuouslywiththequickandvariouspropagationmodesandthewidecoverage.ThepopularInternetworms"intrusiondetectionsystemsbaseonmisusedetectiontechnology,whosedetectioncapabilitydependsonthenumberandqualityofattacksignatures.Whilethetraditionalwayofextractingworm"ssignaturesmanuallyisfarbeyonddefendingnewworms,therefore,itisveryvaluabletoresearchthetechnologyofautomaticallyextractingsignatures.Ahoneypotisacloselymonitorednetworkdecoywithseveralspecialcharacters:thetrafficobservedatahoneypotismuchlessthanagateway,mostofitismalicious,andthenegligibleamountofnormaltrafficcanbeseparatedeasilyfromthemalicioustraffic.FurthermoretheBayesmethodtodistinguishtheworms"trafficinhoneypotsispresented.Inthismethod,alltrafficthatisseenonahoneypotiscalculatedby5observingparameters:visitedtimes、visitedmaxfrequency、visitedrange、portriskandaveragepayload.Byclassifyingattackingtheresortofworminto4types:networkscan,flashscan,bufferoverflowandbackdoor,thismethodfirstconcludesthese4types"statisticalformsofparameters.Theneveryconnection’sBayesscoreiscalculated,whatofworm"strafficshouldexceedthreshold,bycomparewiththeseformats.Throughcombiningofthese2technologies,interferencefromnoisetosystemisdecreasedtobringmoreprecisiontotheextractedcharacteristicsegment.Theavailableextractingalgorithmislimited,hence,sequentialanalysisfrombioinformaticsNeedleman-Wunschalgorithmisproposed.Needleman-Wunschalgorithm,basedondynamicprogrammingalgorithms,searchthecloselyrelatedsequencebetween2sequentialobjectsorchainsofelements.Thedefectthatthealgorithmispronetoproducesegmentisovercamebyaddingexcitationfunctionwhichmaintainslongcharacteristicsegmentsoastosatisfytherequestofwormcharacteristicextraction.Whileutilizingdisturbedsequenceabandonmentofmulti-sequencealignmenttoguaranteetheconvergencespeed,wildcardisalsointroducedtomaintainthecharacteristicofnetworkwormtokeepafavorableappliedcost.II 华中科技大学硕士学位论文Byapplicationofwormdetectivetechnologyandcharacteristicextraction,arealtimecharacteristicextractingsystemisdesignedanddeveloped.Totestthepracticalcapacity,threeknownloopholesareusedtosimulatewormattackandsampledataareemployedtocarrysampletest.Meanwhiletheexistingproblemisanalyzedandfurtherresearchisprospected.Keywords:Internetworms,Honeypot,Signaturesautomaticallyextraction,Bayesmethod,ImprovedNeedleman-Wunschalgorithm,Multilayeri-sequencealignmentalgorithm.III 独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在____________年解密后适用本授权书。本论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月 华中科技大学硕士学位论文1绪论1.1课题的背景和意义随着计算机技术的发展和互联网的扩大,互联网络己经成为了最大的人造信息系统,并随着传感器、嵌入式设备以及消费电子设施等的接入,互联网络已经逐步渗透到了的电信、金融、科教、交通等各领域,成为人们赖以依存的交流方式之一。Internet的应用涉及到人们工作生活中的每一个细节当中,彻底改变了人们的生产、生活方式。而近年来电子商务和电子政务等网络的出现,突破了传统领域的网络应用形式,网络在国民经济生活中的基础性、全局性作用日益增强。尽管互联网在很大程度上改善了社会经济生活的方式,但同时也带来了大量的网络安全问题—恶意攻击、垃圾邮件、计算机病毒、不健康资讯等等,导致人们对网络的不信任也随之增加。具调查表明,2004年中国计算机用户计算机病毒的感染率为87.9,2005年虽然降至80%,其感染率最高的计算机病毒仍是网络蠕虫病毒和针对浏览器的病毒或者恶意代码,如“震荡波”、“网络天空’、“SQL蠕虫”等。网络安全威胁事件给世界各国也带来了巨大的经济损失。1988年爆发的Morris[1]网络蠕虫爆发损失超过了一千万美元;CodeRed蠕虫利用微软于2001年6月18日公布的一个安全漏洞,造成的损失超过20亿美元,并在随后几个月内产生了具有更大威胁的几个变种,其中CodeRedII造成的损失估计超过了12亿美元。其后[2,3]几乎每年都有大规模的蠕虫攻击爆发,仅2003年,Slammer蠕虫的爆发,在10分钟内感染了75,000存在软件缺陷的主机系统,随后又有多种新型蠕虫病毒爆发事件发生。2005年12月9日MSDTC蠕虫利用了微软MS05-051漏洞进行大规模的传播和攻击。目前网络蠕虫爆发的频率越来越快,造成的损失也越来越大,以美国[4]为例,其每年因为网络安全造成的经济损失超过170亿美元。为了抵制日益泛滥的病毒,防火墙、入侵检测等病毒防范产品都已非常成熟,但对网络攻击和破坏行为的对抗效果有时并不理想。而近期蠕虫传播手段的改进,留给蠕虫预警的时间也越来越短,因此,构架快速的蠕虫检测平台就有着非常现实而重要的意义,这对于减少蠕虫对网络的破坏,并将其最小化,有着很大的现实意义。现有保护网络和信息的安全技术,如防火墙、入侵检测系统等,一般是基于规则和特征匹配的方式,只能防范已知攻击。伴随网络技术的进步,黑客攻击手段也不断出新。若对新型攻击识别不足,有可能带来重大损失。1 华中科技大学硕士学位论文入侵检测系统和防火墙作为积极安全防护技术,提供对内、外攻击和误操作的实时监控,并拦截和响应入侵。由于它们依据具体特征库进行判断,所以入侵[5]检测准确度高,并且检测结果有明确参照,为网络系统采取相应措施提供方便。然而,它们对具体系统依赖性太强,检测范围受已知知识的局限,只能根据已知入侵序列和系统缺陷来检测系统中可疑行为,而面对新型攻击,如新型网络蠕虫病毒,就非常需要能即时提供新特征的系统来予以支持。面对老练的攻击者,网络入侵检测系统(NIDS)能提供的有价值的信息很少(如加密的入侵数据包),Honeypot蜜罐技术通过与入侵者进行交互能获得更多有关入侵[6]者的信息。目前,蜜罐技术主要应用于网络欺骗,并使入侵检测由被动追踪转入[7]主动响应。蜜罐系统作为一种网络资源,看上去是一个真实存在的,并且是对黑客极有吸引力的主机;但它的主要目的是用来被攻击和探测;它的资料和数据可能是伪造的,使它看上去更像一台真正提供重要服务的主机;另一方面它对黑客更具[8]有诱惑力,通过其对黑客的吸引和被攻击,可以让我们获得更多攻击信息。由此可知,进入蜜罐的链接都是可疑的,为获得病毒数据提供了便利。蜜罐可以模拟各种操作系统和已知的漏洞或服务,如FTP服务等,当攻击者与该服务器进行交互[9]时,通过执行后台软件,记录黑客与蜜罐主机的交互数据。然后,使用分析工具解读并分析这些数据,发现攻击者进入系统的方法和动机。如果这种攻击方法是IDS不能发现的,那么这种记录和分析就更有意义了。[10]蜜罐经常用于被动分析入侵信息,也能用于互动角色处理网络病毒。目前,除了多态病毒外,绝大多数网络病毒对计算机系统相同目标的攻击具有相同或类似[11]的通信量,并且网络病毒具有传播性和重用性。本文提出一种基于蜜罐技术的蠕虫病毒特征自动提取模型,利用虚拟蜜罐系统honeyd模拟多台虚拟蜜罐主机与攻击者进行交互,收集网络病毒的网络数据,获得攻击数据。尤其针对新型网络蠕虫病毒信息,本模型分析网络数据包,通过检测器检测不必要的信息后,用攻击数据聚类方法处理攻击数据流并采用多层序列联配方式自动提取蠕虫病毒特征,产生的特征可用于加强入侵检测系统和防火墙,在网络上拦截、阻止蠕虫病毒的传播。1.2国内外研究现状结合蜜罐系统自动提取蠕虫病毒攻击特征的系统在2003年已有实现,随后受到越来越多的研究机构的关注和认可,并将蜜罐技术作为收集蠕虫病毒以及其他恶意代码的重要工具之一。但是国内相关研究较少,目前还没有非常完善的使用蜜罐2 华中科技大学硕士学位论文提取网络蠕虫特征的系统,除少量研究报告外还没有形成成熟的产品,和国外的差距还很大。1.Honeycomb[8]Honeycomb是第一个以自动提取攻击特征为目的的系统。通过在honeyd—一个低交互蜜罐系统技术上进行扩展,Honeycomb实现了对进入蜜罐系统的数据的特征自动提取。但是,honeycomb并不区分正常流量和异常流量,只是简单的将蜜罐系统的所有流量(包括进出流量)都作为特征提取算法的输入提取攻击特征。Honeycomb的特征提取机制是基于模式检测技术的,通过将所有进入蜜罐系统的网络流量与之前蜜罐系统上已经收集的流量进行比较并提取匹配特征。因此honeycomb需占用一定的存储空间来保存蜜罐上的连接信息,包括已建立连接的UDP报文负载(同一IP地址和对应端口号的报文进行交互)和TCP连接中的最长负载内容。在提取算法上,Honeycomb采用了最长公共子序列法(LCS),将建立连接的一对数据进行比较提取最长公共子序列。具体分为2种提取方式:纵向比较2个连接中的几个负载内容提取最长公共子序列;横向将次2个连接中的主要数据包负载内容进行比较提取最长公共子序列。总的来说,Honeycomb的提出对特征自动提取技术的研究有着重要的意义,但是由于未进一步区分蜜罐系统的数据和LCS算法的固有缺陷容易造成特征噪音多,特征片段多而零散以及缺乏相互关联性。2.Nemean[12]Nemean系统是随后提出的根据蜜罐中数据包的行为特征自动提取攻击特征的系统。Nemean的作者提出蜜罐机上所能观察到的数据绝大多数都是恶意代码,而少数未分类的不明数据也能很容易的从恶意数据流量中剔除。遗憾的是,Nemean并没有具体描述这种分类方法。Nemean系统包括两个组件:数据抽象组件和特征生成组件。数据包首先进入数据抽象组件进行抽象化,如片段内容、非法数据包等,然后将它们转换为Nemean定义的一组数据特征。第二步是将这些数据整合为一次连接和进程(两主机间的多次连接信息)。预处理的最后一步是将这些连接和进程数据规范化为已聚类的进程。由抽象组件输出的是一个半结构特征的进程树,用来作为特征提取组件的输入。特征提取组件将一组进程和连接中相似的攻击属性提取处理,通过星型聚类算法将之聚类并由此归纳出各类攻击行为特征。Nemean系统据称在基于HTTP的攻击探测中正确率达99.9%,而Snort仅能检测出其中的99.7%。然而,系统的不足之处在于作者未具体说明在抽象数据集合中3 华中科技大学硕士学位论文攻击数据的处理形式;同时,作者提出的零误报率也存在一定的质疑。3.PADS[13]PADS(Position-awaredistributionsignatures)系统所采用的方式非常特别,使用了双蜜罐系统作为收集网络恶意行为的平台。双蜜罐系统的构成包括高相互式蜜罐和低交互式蜜罐,通过将高交互式的蜜罐中收到的所有连接重定位到低交互式的蜜罐中进行进一步处理,PADS能很好的获取攻击信息并提取出攻击特征。选用这种双蜜罐系统的理由是:一个被感染的高交互式蜜罐机很容易感染其它系统,但是高交互式的蜜罐主机在吸引恶意攻击时比低交互蜜罐机更有吸引力;而低交互式蜜罐不易对外部网络造成影响的同时可以很容易的分析处理接收的恶意攻击。总的来说,PADS系统的实验表明系统所提取的特征片段能很明确的辨识出未知蠕虫并保证极低的误报率,其效果明显优于最长公共子序列法(LCS)。4.HoneyStat[10]HoneyStat的特点在于系统的检测方式结合了主机层攻击检测和网络层攻击检测两种方法,针对局域网的攻击检测。HoneyStat检测三种事件:内存事件,网络事件和硬盘事件。内存事件由运行在蜜罐上的缓冲区溢出检测软件发现;当蜜罐机想外发送数据时,触发网络事件;如果一个进程向文件系统的特殊部分写数据,触发硬盘事件。HoneyStat并不从事件中生成特征码,而是当事件发生时,记录以下信息:操作系统/补丁的版本;事件的种类及相关捕获的数据;所有优先的网络活动的日志文件。收集到的信息都发往中央分析节点,该节点收到所有事件信息后,执行逻辑回归分析(logisticregression)。通过结合了主机层的检测信息,在对蠕虫攻击行为的定位上有明显优势,但是系统不易结合其他防御系统进行联动防御。1.3论文的主要研究工作本文主要研究了通过蜜罐技术收集蠕虫病毒并自动特征提取的方法。列举了国内外网络蠕虫带来的巨大损失,分析了传统安全体系的缺陷。回顾了病毒、网络蠕虫的出现和发展,并对网络蠕虫的定义进行了阐述,介绍了国内外基于蜜罐技术蠕虫特征自动提取技术的研究现状;研究和分析了网络蠕虫工作机制,在此基础上归纳出五个检测属性,并提出了结合蜜罐技术与贝叶斯方法的网络蠕虫检测技术,通过实验进行了验证;4 华中科技大学硕士学位论文通过对网络蠕虫特征提取技术与生物信息工程特征匹配技术的类比研究,提出了生物学中的序列分析法Needleman-Wunsch算法的改进算法,通过加入保留较长特征片段的激励函数克服了算法易产生碎片的缺点,使之很好的适用与蠕虫病毒的特征提取。通过多层序列联配算法中的舍弃干扰序列方式保证特征提取算法的收敛速度的同时引入通配符,尽可能的保留蠕虫病毒的特征。在上述研究的基础上完成了网络蠕虫特征提取检测系统(NWSGS)设计和开发。网络蠕虫检测系统(NWSGS)包括了三个组成部分:(1)蠕虫数据收集平台,通过布置honeyd在局域网中收集可疑数据;(2)检测器,采用贝叶斯方法,通过预先统计4类攻击数据作为检测标准,从蜜罐收集的数据中进一步检测可疑蠕虫流量;(3)通过结合改进Needleman-Wunsch算法和多层序列联配算法提取蠕虫病毒的特征。使用蠕虫攻击测试和样本数据2中方案对系统进行了测试。1.4论文的组织本文的组织结构如下:第一章:绪论。阐述了本文的研究背景和意义、国内外研究现状、所做的主要工作和内容组织。第二章:网络蠕虫与蜜罐技术介绍。介绍了网络蠕虫的定义、特征以及危害性;引入蜜罐技术并阐述了通过蜜罐技术收集蠕虫病毒的技术优势。第三章:结合蜜罐技术与贝叶斯方法的网络蠕虫检测技术的分析研究。介绍了蠕虫传播过程中蜜罐技术获取攻击信息的方法,并深入分析了现有蠕虫病毒检测技术。根据本课题实际需求提出了结合蜜罐技术与贝叶斯方法收集网络中的可疑数据并从中进一步确定蠕虫病毒数据。第四章:网络蠕虫特征提取技术的研究。提出了改进Needleman-Wunsch算法和多层序列联配算法,基于蜜罐收集的数据进行特征提取。第五章:依照上述算法设计实现了基于蜜罐技术的网络蠕虫特征提取系统。第六章:对所设计的系统进行验证分析。分别用已知蠕虫样本模拟攻击和实际网络样本数据对网络蠕虫特征提取系统(NWSGS)进行了测试、验证。第七章:总结与展望。对本论文的研究工作做了总结,并提出了下一步的研究工作重点。5 华中科技大学硕士学位论文2基于蜜罐技术防御网络蠕虫概述2.1网络蠕虫概述2.1.1蠕虫的定义蠕虫是利用操作系统或者某些软件实现上的漏洞,进行自动复制传播的一种可执行程序。蠕虫个体的活动行为特征包括:主动攻击,行踪隐蔽,造成网络拥塞,降低系统性能,产生安全隐患,当网络中多台计算机被蠕虫感染后将形成具有独特行为特征的蠕虫网络。蠕虫这个生物学名词在1982年由XeroxPARC的JohnF.Shoch等人最早引入计算机领域。并给出了计算机蠕虫的两个最基本特征:“可以从一台计算机移动到另一台计算机”和“可以自我复制”。他们编写蠕虫的目的是做分布式计算的模型试验,在他们的文章中,蠕虫的破坏性和不易控制己经初露端倪。1988年Morris蠕虫爆发后,EugeneH.Spaffordt为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到[14]另外的计算机上。”在第三界信息与通信安全会议中则为了区别蠕虫和病毒,有了这样的提法:Internet蠕虫是无须计算机使用者干预即可运行,通过不停的获得网[15]络中存在漏洞的计算机上的部分或全部控制权来进行传播的独立程序。”2.1.2蠕虫和病毒的区别蠕虫和计算机病毒有着很大差别,计算机病毒主要攻击的是文件系统,在其传染的过程中,计算机使用者是传染的触发者,是传染的关键环节,使用者的计算机知识水平的高低常常决定了病毒所能造成的破坏程度。而蠕虫主要利用计算机系统漏洞进行传染,搜索到网络中存在漏洞的计算机后主动进行攻击,在传染过程中,与计算机操作者是否进行操作无关,从而与使用者的计算机知识水平无关。另外,蠕虫的定义中强调了自身副本的完整性和独立性,这也是区分蠕虫和病毒的重要因素。可以通过简单的观察攻击程序是否存在载体来区分蠕虫与病毒;目前很多破坏性很强的病毒利用了部分网络功能,例如以信件作为病毒的载体,或感6 华中科技大学硕士学位论文染Windows系统的共享文件。通过分析可以知道,Windows系统的共享文件本质上是本地文件系统的一种扩展,对共享文件的攻击不能等同与对计算机系统的攻击。而利用信件作为宿主的病毒同样不具备独立运行的能力。不能简单的把利用了部分网络功能的病毒统统称为蠕虫或蠕虫病毒,因为它们不具备上面提到的蠕虫的基本[16]特征。表2.1清楚的显示了病毒和蠕虫的区别。表2.1病毒与蠕虫的区别区别病毒蠕虫存在形式上寄生在其他文件中独立存在的个体传染机制宿主程序的运行系统自身的漏洞攻击的目标本地文件网络上主机节点触发方式人为自发影响本地文件系统网络性能防治方式从宿主文件中删除给系统打补丁2.1.3蠕虫的行为特征通过对蠕虫的整个工作流程进行分析归纳,所总结的蠕虫行为特征如下:(1)主动攻击性:蠕虫程序在网上传播后就演变成一个可以自行攻击的自动化的黑客程序,从搜索攻击目标、复制自身副本、在目标主机运行。整个过程都是自动完成的。(2)行为隐蔽性:由于蠕虫程序攻击过程都是自动完成的,往往不易察觉。(3)利用系统漏洞传播:蠕虫本身属于黑客程序,传播过程中要获得目标主机的权限,才能完成复制、自动运行等行为,因此蠕虫的传播的前提就是目标主机有可以利用的漏洞。(4)带来网络拥塞:蠕虫传播首先是要找到网络上具有漏洞的计算机系统,这需要通过大面积的搜索来完成,搜索动作包括:判断其它计算机是否存在,判断特定应用服务是否存在,判断漏洞是否存在等等,这不可避免的会产生附加的网络数据流量。同时蠕虫副本在不同机器之间传递,或者向随机目标的发出的攻击数据都不可避免的会产生大量的网络数据流量。即使是不包含破坏系统正常工作的恶意代码的蠕虫,也会因为它产生了巨量的网络流量,导致整个网络瘫痪,造成经济损失。(5)破坏性:从蠕虫的历史发展过程可以看到,越来越多的蠕虫开始包含恶意代码,破坏被攻击的计算机系统,而且造成的经济损失数目越来越大。7 华中科技大学硕士学位论文(6)传出数据的相似性:网络蠕虫在传播的各个阶段,感染节点传出的数据具有相似性。数据包都包含了相应的请求、攻击代码或蠕虫的主体程序,内容相对稳定,因此其传输数据的大小基本不变。(7)大量的无效IP地址和无效服务请求:网络蠕虫为了在网络中迅速传播和扩散,攻击目标的选择具有盲目性。信息的收集和探测都会导致大量无效IP地址的产生。(8)节点间的传播行为具有相似性:网络蠕虫感染一个节点主机后,这个节点成为新的蠕虫载体,并开始扫描、探测、攻击新的目标节点,这个传播行为和最初[17]发生的传播行为具有相似性。2.1.4网络蠕虫的危害性1988年11月2日Morris蠕虫发作,几天之内6000台以上的Internet服务器受到感染而瘫痪,损失超过一千万美元;2001年7月19日RedCode蠕虫爆发,在爆发后9小时内攻击了25万台计算机,造成的损失估计超过20亿美元;在随后的几个月内,产生了威力更强的几个变种,其中RedCodeII造成的损失估计超过12亿美元;2001年9月18日,Nimda蠕虫被发现,对Nimda造成的损失评价数据从5亿美元攀升到26亿美元之后,继续攀升,其实际损失难以估计;最近几年,冲击波蠕虫及变种的危害更是有过之而无不及,它能够对微软的系统更新网站实施拒绝服务攻击,导致该网站堵塞,大量用户无法及时获取系统漏洞补丁,加剧了冲击波[18]的危害2.2蜜罐技术概要引入蜜罐技术来自动提取蠕虫特征从而抵御蠕虫是因为蜜罐技术拥有其独特的价值。蜜罐系统存在的意义就在于被检测和被攻击,因此攻击者的行为能够被发现、分析和研究。它的概念很简单:蜜罐没有任何产品性目的,没有授权任何人对它访问,所以任何针对蜜罐的访问都有可能是探测、扫描甚至是攻击。另一方面,蜜罐除了提供有价值的信息外,还有一些附加的价值,表现在:(1)蜜罐的存在分散了攻击者对工作网络(productionnetwork)的注意力,影响了攻击者对攻击目标的选择。而且由于蜜罐的脆弱性它被发现的几率更大,当攻击者8 华中科技大学硕士学位论文选择蜜罐作为攻击目标时,耗费了时间和精力,延迟了攻击者实施有效攻击的时间,同时蜜罐记录攻击者的行为,为我们分析了解甚至是反击攻击者提供宝贵的资料。(2)由于网络用户的正常活动一般访问不到蜜罐,针对蜜罐的任何访问都被认为是可疑的,攻击者在蜜罐上的活动从一开始就会被注意到。就是说蜜罐可以使攻击者的活动较早地暴露出来。(3)不但能够很好地抵御已知的攻击而且还能防御新的未知的攻击。当新型蠕虫病毒攻击目标网络时,通过分布合理的蜜罐系统以及服务器检测后重定向的技术能在初期获得攻击者的攻击信息从而防止进一步带来的损失。2.2.1蜜罐技术的定义LanceSpitzner给出的定义:蜜罐是一种安全资源,其价值在于被探测、攻击或者摧毁的时候。蜜罐是一种预先配置好的系统,系统内含有各种伪造而且有价值的文件和信息,用于引诱黑客对系统进行攻击和入侵。蜜罐系统可以记录黑客进入系统的一切信息;同时还具有混淆黑客攻击目标的功能,可以用来保护服务主机的[19]正常运行。蜜罐系统所收集的信息可以作为跟踪、研究黑客现有技术的重要资料;可以用来查找并确定黑客的来源,作为起诉入侵者的证据;可以作为攻防技术培训的实战教材,提高安全人员处理黑客攻击的技能;还可以用来分析黑客攻击的目标,对可能被攻击的系统提前做好防护工作。在攻击者看来是一个很有吸引力的蜜罐系统,由于它一般不含真实而有价值的数据,因而不会对重要数据和系统构成威胁。蜜罐系统的构造思想是基于网络的开放性和资源的可监视性。一个处于正常工作状态的系统在网络上都有可能被黑客攻击,而且越是带有某种特定资源的系统越容易遭到攻击。对系统或网络进行特殊设计和一定的布置,就可能将入侵者成功地引入受控环境中,降低正常系统被攻击的危险,同时获得研究黑客相关技术的重要资料。资源的可监视性是指包括网络和主机系统在内的各种资源都处于控制之下,从而可以监视和控制所有对这些资源的访问。蜜罐系统的核心是对网络和系统活动的监视能力,以及监视机制的隐藏性。只有强大的监视能力,才能使黑客的攻击行为无所遁形;而监视机制的隐藏性则保证了黑客在攻击的实施过程中不会发觉自己的行为己被跟踪监视,从而能够获得攻击过程的真实记录同时还能保证系统的安全。9 华中科技大学硕士学位论文2.2.2蜜罐技术的价值一般意义上来讲,蜜罐的价值可以分为两个方面,产品目的和研究目的。当应用于产品目的时,蜜罐主要是为了保护组织网络,这些主要包括防护、探测和对攻击的响应。当应用于研究目的时,蜜罐主要是用来收集信息,这些信息对于不同的组织有不同的价值。对于防护来讲,蜜罐可以抵御自动的攻击,比如说蠕虫攻击和自动工具包的攻击,而且通过迷惑攻击者,使攻击者在蜜罐上浪费资源和时间。因为所有的活动均在网络管理者的监控之下,所以有足够的时间来响应和阻止攻击者。而且如果入侵者在攻击锁定网络之前,如果知道网络中设置着蜜罐,此时以防被抓住,不会轻易的攻击网络,具有一定的震慑作用。从传统意义上说,信息安全一直都是被动防御的,防火墙、入侵检测系统、加密等等,所有这些机制都是用来对自己的资源进行防御性保护的。这里的策略就是尽可能好的保护自己的网络,在防御中检测出失误,然后对失误进行回击。这种方法的问题在于,这纯属防御,而[20][21,22]敌方处于进攻地位。现今已经有成熟的蜜罐应用案例,在防御蠕虫病毒、防[23,24][25][26]御分布式攻击、防御垃圾电子邮件方面、电力信息网络安全中和大型企业[27]网络都有了很好的应用。2.2.3蜜罐技术国内外研究现状目前在国外的学术界,对蜜罐技术研究最多的是蜜网项目(HoneynetProject)组织,它是一个非官方,非营利的由30多位安全专家组成的组织,专门致力于了解黑客团体使用的工具、策略和动机。形成了一系列的理论基础,并提出了蜜网的一代、二代模型。在国内,蜜罐、蜜网的研究还处于发展阶段,只有中国电子科技大学,北京大学,西安电子科技大学,中科院高能所和网络安全焦点(xfocus.net)等少数几个大学和科研机构在做些研究,己经出现了少量的文献和一些具体的蜜罐系统,但系统论述蜜罐的文章还没有,还没有形成自己的理论体系和流派,更没有成熟的产品,和国外的差距还很大。北京大学2004年9月狩猎女神项目启动(TheArtemisProject),随后加入蜜网研究联盟,也是国内唯一的蜜网研究联盟成员;中国电子科技大学承担的国家计算机网络与信息安全管理中心关于《国家信息攻防与网络安全保障持续发展计划》课题中的一部分,主要研究内容包括:用于提高蜜罐质量的网络攻击诱骗技术(IP空间欺骗、网络流量仿真、网络动态配置、组织信息欺骗)和蜜罐自身的安全技术(连10 华中科技大学硕士学位论文接控制、路由控制、数据捕获、远程日志);西安电子科技大学研制了XidianTechHoneynet。2.2.4现有蜜罐系统比较[28]蜜罐从应用上可分为商业应用系统和研究应用系统,几个较好的蜜罐系统有以下几种:(1)BOF(BackOfficerFriendly):一种低交互的蜜罐,由NetworkFlightRecorder公司发布的一个用来监控BackOfficer的工具。可以运行在Windows系列以及Unix等操作系统上。可以设定的监听服务有:FTP、Telnet、SMTP、HTTP、POP3、IMAP2等。(2)Honeyd:由密西根大学的NielsProvos为Unix平台设计的开放源代码的预包装的低交互蜜罐。可以对其进行高度定制,设计自己的模拟服务。不检测那些针对自己IP的攻击,能够同时模拟不同的操作系统。(3)DTK(DeceptionToolKit):由FredCohen设计的一组免费工具,大部分由Perl写成。主要原理是使操作系统看上去有很多漏洞,它的诱骗性是可编程的,用户可方便地配置各种特性,可以进行端口欺骗。(4)ManTrap:由RecourseTechnologies公司开发的商业蜜罐软件,可运行在Solaris上,支持Intel-X86架构和Sun-Sparc架构。它的设计主要针对内部网络安全,并提出了牢笼主机(一个基本的宿主操作系统的拷贝)的概念,一台机器上可以最多支持4个这样的操作系统。(5)Specter:NeoWorx公司开发的可以模拟一个完全的计算机的蜜罐系统。提供对SMTP,FTP等服务很好的模拟,它由诱骗引擎和控制系统两部分组成,提供对九种操作系统的模拟。2.3本章小结本章简要介绍了网络蠕虫的定义、蠕虫与病毒的区别、其行为特征以及危害性,说明了网络蠕虫防御技术的重要性。介绍蜜罐技术的定义、价值及研究现状,并分析了通过引入蜜罐技术获取网络蠕虫攻击信息的方法,说明利用蜜罐技术收集网络蠕虫数据收集的优势。11 华中科技大学硕士学位论文3结合蜜罐技术与贝叶斯方法的蠕虫检测技术研究通过对目前现有蜜罐技术与蠕虫检测特征技术的研究和分析,可以发现蜜罐技术在网络蠕虫传播过程中可以较快的排除正常流量干扰获取蠕虫感染数据,从而起到快速定位蠕虫攻击与防范遏制的作用。介于蜜罐系统所接受的数据中仍然存在正常数据或干扰数据,影响提取的攻击特征的质量。因此需要进一步通过结合蠕虫检测技术区分可疑蠕虫数据与正常流量(包括不明行为),保证特征片段的精确性与有效性。3.1使用蜜罐技术获取网络蠕虫攻击信息蜜罐系统在整个蠕虫传播过程中可以获取不同的信息,对与分析蠕虫攻击特征与事后分析都起着关键的作用。基于蠕虫攻击特点,下面具体分析蠕虫进行攻击的每个阶段中蜜罐如何捕获有效数据进行特征提取,以尽可能保证蠕虫攻击目标网络[29]的初期获得有效的抵御信息。3.1.1蠕虫扫描感染阶段这个阶段是蠕虫攻击的第一步,就是蠕虫进行大范围扫描潜在漏洞,同时利用漏洞侵入主机的过程。此时,蜜罐的主要任务是在接收的网络数据中检测出针对网络系统的异常行为,如攻击流等。蜜罐机或虚拟蜜罐系统被合理的分配到工作网络中,而隐藏在工作网络中的蜜罐只对攻击者产生反应,所有进出的数据都受到关注、捕获及控制,然后进行分析处理。3.1.2蠕虫上传负载阶段蜜罐对付蠕虫上传文件是非常有效的,尤其是截获蠕虫文件并进行分析。为了截获蠕虫,必须让它感染一个主机或者至少让它认为正在感染一个主机。前面已经介绍可以使用重定向技术把攻击流引入到蜜罐中。蜜罐可以使用两种技术来实现,既可以使用“替罪羊”(高交互式)也可以使用服务仿真(低交互式)。(1)“替罪羊”12 华中科技大学硕士学位论文“替罪羊”即潜在的受害者。我们在一个机器上安装适当的操作系统,并在操作系统上配置要求的服务。这个机器可以使用Vmware技术同时提供多个不同的操作系统和服务。为了截获蠕虫,蜜罐的系统是没有防护能力的,亦即开放了所有端口和服务,这样被蠕虫发现的几率就会增大。蠕虫在找到蜜罐机所需漏洞后,攻击蜜罐机并在上面安装控制文件,借此蜜罐机可以通过查看硬盘上的新增加的二进制文件或流截获网络流来发现和分析蠕虫。这样不仅可以发现已知的蠕虫而且也为分析未知的蠕虫攻击提供了绝好机会。蜜罐利用记录的信息也可以为事后分析出未知蠕虫的具体攻击行为,提高系统防御新的蠕虫攻击创造了条件。(2)虚拟主机与服务仿真蜜罐模拟主机或者服务利用虚假的信息和远程的蠕虫进行会话。下面是Honeyd对付冲击波的过程。createdefaultsetdefaultpersonality"WindowsXPPro"adddefaulttcpport135openadddefaulttcpport4444"/bin/shscripts/WormCatcher.sh$ipsrc$ipdst"setdefaulttcpactionblocksetdefaultudpactionblock其中WormCatcher.sh脚本可以应答蠕虫针对TCP4444端口提出的远程请求。下面是WormCatch2er.sh脚本的具体内容:!#/bin/sh#Creationofadirectoryforeverycontaminatedhost#attackingthehoneypot,inordertoarchivedifferentbinariesmkdir/tmp/$1-$2#DownloadofthewormthroughTFTPinthisdirectory#(specificbehaviourforMSBlast)cd/tmp/$1-$2/tftp$1<1,(w)0,(1i=,2,,"n),且事件x⊂++ww1"n,则有i=1PwPxw()(|)iiPwx(|)=(3.3)in∑PwPxw()(|)iij=1其中P(wi|x)为后验概率:P(x|wi)为概率密度;P(wi)为先验概率,19 华中科技大学硕士学位论文np()xP=∑()(|)wiiPxw为x的总概率;j=1贝叶斯公式表明了在条件wi下发生概率为P(Wi)时,如果事件x在条件wi下发生的条件概率为P(X|wi),则事件x发生原因为wi的条件概率。3.3.2基于贝叶斯方法的网络蠕虫检测算法贝叶斯检测模型是贝叶斯经典统计模型中较为基础的一种,通过对蠕虫病毒的攻击行为特征分类,并取5组观测属性作为衡量依据对每一种类型的特性攻击进行统计,取得每种特性的评分,从而更准确的对攻击定位。对于给定的一组检测数据(一次建立的连接)w,对应一组检测属性数组,其中每一个ai对应一个检测属性Ai。贝叶斯检测模型通过这组检测属性数组将新到达检测数据实例归类,从而区分出正常数据或可疑蠕虫数据。在本模型中,将蠕虫的行为特征分为4类:网络扫描,快速扫描,缓冲区溢出,后门和非蠕虫攻击类型(包括不明行为);将目标分类集合记为V。表3.1检测样本的各项属性值定义名称描述在一次检测样本中某一个特定访问者的访问次数,这影A1访问次数响到访问者在这次检测中的活跃程度这是指指定访问者在一秒钟内的最大访问次数,因为是A2访问最大频度记录一次检测中的最大频度,所以与次数保持了独立性A3访问IP范围记录访问着访问了多少不同的蜜罐机按照范围和端口的应用进程将端口危险度给定衡量值依次从1-10,如端口21风险值为4;端口80风险值为5,A4端口风险度因为端口80更容易遭到攻击;端口1029-20168的风险值则为8,因为蠕虫病毒常利用这些端口作为攻击对象A5平均负载长度记录访问者发送数据的负载长度对于一组未知检测实例,贝叶斯分类器通过计算最大(MAP)估计值VMAP,作为新检测实例的预计值。VMAP的计算公式如下,选择一个vi∈V使得P(vj|a1,a2,...,a5)值最大。Va=rgmaxPvaa(,,",a)(3.4)MAPj125vVj∈由贝叶斯公式可知,VMAP计算公式如下:20 华中科技大学硕士学位论文Paa(,,,"avPv)()125jjVa=rgmaxMAPvVj∈Paa(,,,)12"a5(3.5)=argmax(,Paa,",avPv)()125jjvVj∈我们假设这5个属性都是相互独立的,这个假设也近似符合绝大部分实际情况,并且也便于简化不必要的问题。因此我们按如下公式计算:Va=∏rgmaxPv()()Pav(3.6)MAPjijvV∈ijP(vj)和P(ai|vj)需要优先考虑,因此在使用统计方法设置参数是需要优先确定。3.3本章小结本章详细介绍了基于蜜罐技术的网络蠕虫攻击信息获取步骤,并通过具体描述honeyd处理数据包的过程说明了虚拟蜜罐技术如何模拟蜜罐机诱使攻击者主动攻击。在蜜罐平台所能提供的攻击信息中,提取能表现蠕虫流量特征的观察属性进行进一步检测以区分出并排除干扰流量。通过分析目前现有的检测方法优缺点,选用了与统计方法类似的贝叶斯方法进行检测。通过将蠕虫攻击特定分为四类分别具体统计不同类别的流量特征来区分蠕虫流量与正常流量。通过结合蜜罐技术与贝叶斯方法的蠕虫特征检测能进一步排除干扰数据,提高蠕虫攻击特征的精确性和有效性。在基于蜜罐技术与贝叶斯方法的蠕虫检测的基础上,将可疑蠕虫数据作为输入提供给特征提取模块进行进一步处理。下一章将就如何使用这些可疑蠕虫数据中的负载内容进行特征提取技术做进一步深入的分析。21 华中科技大学硕士学位论文4基于多层序列联配的特征自动提取技术研究4.1提取算法研究现状特征提取算法,亦即对可疑数据进行分析和比较,从中提取出共性的、不变的[34,35]成分,形成攻击的特征,目前已提出的主要方法包括最大公共子串(LCS)提取、[36,37][38]基于Rabinfingerprints算法的内容数据流进行划分、概率有效状态自动机、[39]基于ExpectationMaximization和GibbsSampling算法的SignificantRefion计算等。4.1.1变长片频率统计法设期望的特征码长度LE=32(字节),分界符长度LB=1(字节),分界符因子BK=0x07(数值),MOD(X,Y)计算X模Y的值,CTX表示报文内容(表4.1中的十[40]六进制数据),CTXS→片段集合。变长片频率统计法基本思想如下:(1)若MOD(CTX[I],LE)=MOD(BK,LE),则将CTX[I]作为分界符,如MOD(CTX2[3],LE)=MOD(0x87,32)=MOD(0x07,32),CTX2[3]是分界符;(2)利用分界符将CTX分割为若干片段,如CTXS1={"FD2A95D407","EF43B28CF547","D35AE7"};(3)若某个CTXS[I]的覆盖率超过预设阈值则将其作为特征码,如"EF43B28CF547"因覆盖率100%(涵盖CTX1-3)而入选。表4.1变长片频率统计法示意图CTX1:FD2A95D407EF43B28CF547D35AE720CTX2:43A887EF43B28CF547F016E2832027CTX3:A8B4762C364207EF43B28CF347E305若有M个长度为N的报文,则时间、空间复杂度不低于O(MNLog2(MN))和O(MN)。主要弊端是:分割策略过于盲目,本质上是一种随机划分,致使不确定性过高;片段短至单个字节,长至整个报文,有时甚至无法分割;仅当特征码至少包含两个分界符时才能被提取,提取长度远非最优长度。22 华中科技大学硕士学位论文4.1.2最长公共子序列法[34]最长公共子序列法简称LCS法,基本思想是将内容CTXI,CTXJ,...,CTXK的LCS作为特征码。一般采用动态规划法(稳定型算法)计算LCS,其平摊(总复杂度除2以报文数量)时间、空间复杂度均是O(N)。主要缺陷是:12(1)计算复杂度过高,求两个1M长度报文的LCS要耗费进行10次计算,占12用10字节存储,这很难接受;若采用非稳定型算法求LCS,复杂度上界甚至更坏;(2)若支持聚类分析,平摊复杂度将更高;若不支持聚类分析,混合通信(涵盖非蠕虫通信、若干蠕虫种类、若干蠕虫变体)将严重侵害提取过程;(3)LCS在内容中未必是连续的若干字节,不适合直接作特征码。4.2基于特征提取的改进Needleman-Wunsch算法序列联配是将两个或多个符号序列进行比较和对齐,从而尽可能确切地反映它们之间的相似或相异,获取有用的信息和知识。序列联配在生物信息学中应用非常广泛,如用于解决DNA序列和蛋白质序列比较、生物同源性分析等问题。在序列聚类、文本分析、网络安全等领域序列联配算法都得到了应用。4.2.1Needleman-Wunsch算法Needleman-Wunsch算法所考虑的是从整体上分析两个序列的关系,即考虑序列的整体比较,用类似于使整体相似(globalsimilarity)最大化的方式,对序列进行联配。两个不等长度序列的联配分析必需考虑在一个序列中丢掉一些字符或在另一序列作空位(gap)处理。Needleman和Wunsch(1970)的法则为这些步骤提供了实例。这一算法是为氨基酸序列发展的,算法最初寻求的是使两条序列间的距离最小(最相似)。尽管这类距离的元素是以一种特定的方式定义的,但该算法的良好特性在于它确定了最短距离。这是一个动态规划(dynamicprogramming)的方法。将两条联配的序列沿双向表的轴放置,两条序列的所有可能的联配方式都将在它们所形成的方形图中,如图4.1所示。从任一碱基对,即表中的任一单元开始,联配可延三种可能的方式延伸:如果碱基不匹配,则每一序列加上一个碱基,并给其增加一个规定的距离权重;或在一个序列中增加一个碱基而在另一序列中增加一23 华中科技大学硕士学位论文个空位或反之亦然。引入一个空位时也将增加一个规定的距离权重。因此,表中的一个单元可以从(至多)三个相邻的单元达到。我们把与左上角单元距离最小的方向看作相似序列延伸的方向。等距离时意味着存在两种可能的方向。将这些方向记录下来,并在研究了所有的单元之后,沿着记录的方向就有一条路径可从右下角(两个序列的末端)追踪到左上角(两个序列的起点)。由此所产生的路径将给出具有最短距离的序列联配。图4.1Needleman-Wunsch算法示例该算法也可以用代数形式来表示。假设对于序列a和b,Needleman-Wunsch算法为Sabk(,)=×mk+×nk+×δ(4.1)匹配字符数不匹配字符数空位数24 华中科技大学硕士学位论文其中,k匹配字符数是联配后的匹配的字符数,k不匹配字符数是联配后的不匹配字符数,k空位数是联配后的空位数;m是字母匹配的相似度值,n是字母不匹配的惩罚值,δ是空位额外惩罚函数。4.2.2改进Needleman-Wunsch算法Needleman-Wunsch算法基于动态规划的思想,初衷是在亲缘相近的DNA序列中得到一个全局最优的联配结果,根据该联配最优特征集计算出的不相似度值最小。该算法分两个步骤完成:(1)计算所给定的两个序列整个的相似分值,并得到一个相似度矩阵;(2)根据相似度矩阵,按照动态规划的方法回溯得到最优联配。如图4.2所示序列a=”oxnxexzxtwox”,b=”ytwoyoynyeyz”,若参数设置为匹配得分m=0,不匹配得分d=2,每空一个字符惩罚1分,则通过Needleman-Wunsch算法得到的联配结果为:-----oxnxexzxtwoxytwoyoynyeyz-----*****o?n?e?z*****联配方式(a)Needleman-Wunsch算法oxnxexzxtwo-------x-------ytwoyoynyeyz*******?two*******?联配方式(b)改进Needleman-Wunsch算法图4.2序列联配示意图其中联配(a)是Needleman-Wunsch算法输出的联配结果,其不相似度值Sab(,)=0413210×+×+×=23(4.2)而最优的联配(b)其不相似度值Sab(,)=0312214×+×+×=30(4.3)明显大于联配(a)的不相似度值。这显然不是特征提取算法要达到的目的:25 华中科技大学硕士学位论文1.碎片过多容易造成特征的无效性若将联配(a)表示成特征*o*n*e*z*,则该特征极易与序列相匹配,将随机产生的长度超过500的字符串进行比较,匹配概率就已超过半数,可见这种多碎片的特征码导致误报几率大,可能成为无用的干扰信息,使得提取的攻击特征不准确,甚至没有意义。2.连续的片段更能包含语义特征多个连续字符构成的片段不仅在匹配几率上得到大大的减少,并从语义上也更能提高特征信息。网络协议的字段一般是由多个字母组成的,而32位机上一条指令由连续的4个字节组成。所以,网络数据流中含有连续字母的片段显然更有可能含有语义信息,应尽可能的保留到结果中,才能提供有价值的特征。由上分析可知,将Needleman-Wunsch算法移植到蠕虫病毒特征提取的实际应用中时,该算法追求的全局最优也易产生碎片问题,即舍弃了长度较长的字符串而选取了长度短而全局相似值大的字符串作为联配结果。这样显然不是我们所需要的,因此这里通过加入激励函数来增加对于局部最优的需求,以此来保留下长的匹配字符串。Sabk(,)=×匹配字符数mk+×不匹配字符数nk+空位数×δ+(∑insSi)(4.4)si是联配结果中的每个片段该算法具体描述为:设具有ai和bj的两个序列a和b,这两个序列间不相似度为S(a,b)。通过评价序列a中前i个位置和序列b前j位置的匹配值,递归地得到联配结果F(a,b)。如果a和b的长度为m和n,则其期望距离为。在相似度矩阵中引入的第1行1列单元的距离为0(相当于两个空序列进行联配),在单元(i,j)内,使到达该单元距离增加的三种可能事件为:(1)从单元(i-1,j)向(i,j)的垂直移动,相当于在b序列中插入一个空位使相似序列延伸。换言之,b序列由a序列中ai的缺失所产生,这一事件的权重记作:δ=w_(ai);(2)从单元(i-1,j-1)向(i,j)的对角线移动,相当于增加碱基ai和bj使相似序列延伸。换言之,b序列由a序列中的ai被bj取代所产生,这一事件的权重记为:w(ai,bj);(3)从单元(i,j-1)向(i,j)的水平移动,相当于在序列b中插入一个空位使相似序列延伸。换言之,b序列由bj插入a序列所产生,这一事件的权重记为:δ=w+(bj)。引入的激励函数ins()S即需要考虑到各种综合因素进行设置,详细设置过程i将在第五章介绍。ij因此,单元(i,j)的不相似度Sab(,)可看成三个相邻单元的不相似度值加上相应26 华中科技大学硕士学位论文权重后的最小者,即⎧ij−1+Sab(,)()wa−i⎪⎪iji−−11jSab(,)min(,)(,)=+⎨Sabwab+ins(T)(4.5)iji,j⎪ij−1⎪Sab(,)+wb()⎩+j⎧⎪T+1(a=b)ij−−1,1ij其中T=⎨ij,⎪0(a≠b)⎩ij且初始条件为00Sab(,)0=j0jSab(,)=∑wb+()kk=1ii0Sab(,)=∑wa−()kk=1例如,在上例中,假设参数设置为:ins(S)=(-4)(S1)×−wa()1(=对于每一个i)−i⎧⎪0(=)abijwab(,)=⎨ij⎪2(ab≠)⎩ijwb()1(=对于每一个j)+j则对于上例,联配方式(a)的值Sab(,)0413210=×+×+×+(-4)×=023(4.6)联配方式(b)的值Sab(,)=×+×+×+−×=0312214(4)222(4.7)由此例可以明显看出,通过加入激励函数可以有效的鼓励长片断特征,避免产生碎片。4.3多层序列联配算法当同种类型的攻击数据包在短期收集的多于2个或数据包尺寸需要分成多序列来进行处理时,就会出现多层提取的情况。考虑到多态蠕虫的变形性和隐蔽性技术,27 华中科技大学硕士学位论文在多层序列联配中本文采用了以下方式:(1)俩俩配对,逐层匹配得到结果(2)对于特征值低于要求的匹配结果与待提取序列集合中随后的序列匹配(3)若步骤2匹配结果符合要求则加入此层联配结果序列中,若结果依旧不匹配则舍弃掉这个序列。通过步骤2判断待舍弃的序列通过步骤3再次联配,若仍为不符合要求的序列则立即舍弃,以提高算法收敛的速度,也可以快速的去掉平凡数据抵抗干扰。而判断是否符合要求则是通过判定:联配所得结果的匹配片段不少于3且至少有2个片段的长度大于等于3,此判定方式的依据是有效描述攻击的Epsilon-Gamma-Pi模型[41],该模型说明攻击往往具有三个关键片段且连续三字节可比较有效地描述攻击特[42,43]征。为了支持含通配符序列的联配,我们对多层联配算法引入单字母通配符"?"和多字母通配符"*",以尽可能的保留下来相似特征,方式如表4.2所示。表4.2多层序列联配中通配符的处理方法联配结果中的a[i]联配结果中的b[j]层次联配后的S[i]aaaab?a??a**a-*?**????-****-**4.4提取出的攻击特征根据多层序列联配结果,可以产生相应的IDS检测规则。知道说明的是,联配结果中的通配符“?”可用于确定特征片段之间至少含有的字母数,从而反映特征片段之间的相对位置关系。而snort规则选项的“offset”和“distance”恰好可以准确地表达此关系。28 华中科技大学硕士学位论文5NWSGS系统的设计与部署网络蠕虫特征提取检测系统(NWSGS)的目标是实现一套完整的蠕虫病毒特征自动提取机制,通过分散部署的蜜罐系统收集可疑蠕虫数据,并采用贝叶斯方法检测蠕虫病毒,过滤正常数据后进行自动特征提取。本系统的实现意义在于验证贝叶斯检测算法与多层式改进Needleman-Wunsch算法的有效性与实用性,在投入到实际应用时还有需要改进的地方。5.1NWSGS系统结构模型网络蠕虫特征提取检测系统(NWSGS)主要由三个模块构成,分别是honeyd虚拟出的蜜罐系统模块,由贝叶斯检测模型构成的模块以及自动提取蠕虫特征模块,其系统逻辑结构图5.1所示。本系统架构在虚拟蜜罐技术之上,通过部署虚拟蜜罐系统honeyd模拟出蜜罐子网拓扑,网内各虚拟主机分别模拟不同的操作系统对外部网络的连接数据进行响应。当有数据进入honeyd后,本系统采用贝叶斯检测模型检测正常数据包,将可疑连接中的负载数据处理后放入可疑序列集合中,非内容数据中的特征属性(如目的IP范围,端口,协议类型等)放入特征属性集合;定期通过多层序列联配算法结合改进Needleman-Wunsch算法对序列集合中的序列进行序列联配特征提取,并将产生出特征记录到日志文件中。定期启动特征提取的模块为检测计时器,计时器的用意在于保证检测的正确性,同时确保序列提取的及时性。计时器拟采用前期时间长后期时间短的方式设定提取时间,考虑到基于贝叶斯方法的蠕虫检测技术在检测数据时有统计的成分在其中,而平台运行前期或蠕虫爆发前期接受数据量最初非常小,不利于统计出规律,因此将系统最初运行时的一次检测的间隔定在5分钟,而稳定后定义到3分钟或更短(检测时间与honeyd接受数据量的多少成反比)。29 华中科技大学硕士学位论文是否有特征输是是整理提取的特征出序列集合是否提否只有一组序列取数据包中非内容信特息放入分类放入特征将联配结果放入序征集合多层序列联配算法去枝列集合改进Needleman-Wunsch从序列集合中按序数据包处理后放入算法提取特征提去序列待提取序列集合是启动检测计时器检测评分是否大于边界值&&j<5贝检是叶测结束一次观测计算P(ai|vj)并由此斯计否计算Vj值过时一次检测时间滤器是是否过期计算数据包各属性值P(ai)配置蜜罐子网及各蜜罐机属性。端口蜜罐系启动蜜罐系统统图5.1系统逻辑结构图5.2NWSGS系统各功能组件5.2.1蜜罐系统蜜罐系统采用Honeyd构成,Honeyd的内部逻辑结构图如图5.2所示:30 华中科技大学硕士学位论文Internet配置文件路由特征引擎数据包分配器路由ICMPTCPUDP服务处理单元协议管理图5.2Honeyd逻辑结构图进入蜜罐主机的的数据包首先交付给路由器,路由器会在配置文件中查找目的地址是否存在,若存在则由数据包分配器进行处理。为了更真实的模拟实际网络,路由器将考虑把数据包交付给下一个路由器的时延作出相应反应。数据包分配器接受到数据包后,首先检查IP数据包的长度并检查数据包校验和,以排除无用的数据。Honeyd系统能够识别三种协议:ICMP,TCP和UDP协议,对其他协议的数据将不作任何处理,仅记录在日志文件中。在分配器处理一个数据包之前,分配器将再次查询配置文件是配置的蜜罐机是否包括数据包的目的IP地址;如果没有详细的配置存在,则使用默认配置模式处理,如果存在,数据包和相应的配置将被转入协议管理器按配置文件做相应操作。值得提出的是,honeyd的ICMP协议管理支持ICMP请求,通常在默认模式下,所有的蜜罐配置都响应请求和目的地址不可达信息。在发送ICMP不可达报文时,Honeyd允许敌人用NMAP工具去发现虚拟的网络拓扑,并且虚拟的网络拓扑具有很好的伪装性。通过修改配置文件,也可以改变ICMP响应的行为。下面就以TCP协议为例具体说明honeyd的协议管理器。如图5.2所示,TCP协议要求协议管理器和服务处理单元能够建立特定服务的连接。当一个连接请求到达时,Honeyd框架检查数据包是否属于已经建立连接中的数据,若已经建立连接31 华中科技大学硕士学位论文则发送到已经存在的应用中去,即放入以分配好的特定缓冲区中;若数据包包含一个连接请求,则需创建新的进程来处理到来的新的连接(图TCP数据包处理)。由此,任一台主机向蜜罐机发出的TCP数据都能得到适当的处理,同时蜜罐机返回的正确的信息也能是连接者认为所连接的是一台实际主机。读取包内数据检查请求读取后是属于已有连接续TCP数否据包查看协议类型派生子进程/subsystemTCP或UDP或ICM完成三次握手建立连接遍历模板树寻找对应IP的OS记录日志是撤销连接否解除连接调用相应交互功能释放资源发送结束数据包图5.3TCP数据包处理过程图Honeyd包含一个简单的TCP状态机,三次握手的建立和FIN或RST的拆卸能够得到很好的支持,但是拥塞窗口管理的支持仍有待改善。5.2.2贝叶斯检测模块1.参数设置贝叶斯检测算法是基于贝叶斯公式设计,通过将蠕虫攻击特征行为分为4类按32 华中科技大学硕士学位论文其对应的行为特征进行评分,通过设定异常数据(攻击行为)与正常数据的阈值来检测正常数据。在模块实现前必须要设定正确的参数P(vj)和P(ai|vj)以及适合的阈值。每种攻击的概率P(vj)随着具体情况的不同时常发生变动,根据华中科技大学校园网网络中心连续两个月的第一周内检测的校园网数据(其中攻击数据1291项),如图5.4可以看出各类攻击行为的所占比例并不能完全确定,因此,本系统拟采用最基本的假设,即P(vj)=1/6,简化问题。扫描事件扫描事件31%缓冲区溢出24%缓冲区溢出后门7%后门14%其他11%14%48%52%非蠕虫攻击非蠕虫攻击图5.4攻击特征分类统计需要设置的参数有五组,分别为访问次数,1秒内访问最大频度,访问IP范围,端口风险度以及平均负载长度;对应的五类数据类型分别为网络扫描,快速扫描,后门及密码猜测,缓冲区溢出和其他数据(包括正常数据和不明行为)。属性设置过程以端口设置为例。根据常见蠕虫病毒进行一定的总结归纳,本系统采用的端口评分表如表5.1所示。风险度总分为10分,基于捕获未知蠕虫的考虑并未将已知蠕虫常用端口评为最高分而忽略掉新型攻击的危害。给予风险度最高分的端口范围包括1029-20168,这其中包括大量被蠕虫利用的漏洞,如MS-SQLSlammer蠕虫攻击运行在1433端口,MyDoom蠕虫后门利用了TCP3127到3198端口。33 华中科技大学硕士学位论文表5.1端口参数设置说明表端口风险度描述253用以smtp服务探测器573基于fx工具的扫描常见端口1613snmp服务可能会被蠕虫病毒利用214易被蠕虫入侵,用作保存非法文件5934远程过程调用(RPC)定位器,蠕虫病毒感染10254networkblackjack服务,蠕虫病毒感染415WINS(主机名字服务器),易被攻击805WWW(IIS4/5或者Apache的漏洞),易被攻击9035NetDevil后门135-1396最新Windows病毒或蠕虫病毒感染4456最新Windows病毒或蠕虫病毒感染1029-201688常被蠕虫病毒利用为后门20168-MAX3返回信息容易被利用其他1其他行为本系统参考4类攻击实例计算得出贝叶斯概率表,表5.2即为各类攻击的最大概率得分值(概率值×10)。表5.2参数设置用例说明表类型工具名称攻击归类最大得分行为描述Nmap使用NMAP对子网内主机进行扫描网络扫描5.6Routingworm使用Routingworm模拟蠕虫快速攻击子网NESSUS使用NESSUS扫描主机漏洞快速扫描4.91Wittyworm模拟Wittyworm攻击过程攻击数据开放后门端口并模拟SMTP服务,使用Bagle蠕虫Bagleworm后门,密码猜测4.81攻击蜜罐机CodeRed使用RedCode攻击(模拟)IIS服务器缓冲区溢出3.68CodeRedⅡ使用RedCodeⅡ攻击(模拟)IIS服务器Web无1.31访问者访问5个web服务器正常数据Telnet无2.34访问者登录telnet服务器4类参考攻击实例在攻击过程中得出贝叶斯概率得分值如图5.5,5.6所示,并与Web和telnet方式进行比较得出将异常流量与正常流量的贝叶斯概率得分值(概率值×10)设置在P阈值=2.96,在1分钟之类就能得到较好的检测区分出异常流量与正常流量。34 华中科技大学硕士学位论文图5.5攻击测试贝叶斯得分示意图图5.6正常测试贝叶斯得分示意图2.具体设计图由上述分析建立4种数据类型的5组贝叶斯概率区间表。每次建立的连接信息以及数据内容信息中提取源IP、源IP访问频度、访问目的IP、所使用的端口以及35 华中科技大学硕士学位论文平均负载长度这5个数据,并分别放入已建立5类记录中,通过分别查找对应预先设置的5组贝叶斯概率区间表得到各属性的概率值,如按其中4种类型中的某类计算得到的贝叶斯概率得分值大于阈值,即将这次连接信息保存,其中负载的内容放入待提取特征池中,攻击特征相关信息(如源IP、目的IP、使用端口、协议种类等)单独提取并保存以供生成Snort规则使用。具体流程框图如图5.7所示。计算源IP访问概源IP访问次数+1率值保存非负载待提信息1秒内源IP访问计算源IP访问频频度+1度概率值计算贝叶斯判断是否提取内容放入待是概率值超过阈值提取特征池Honeyd收入计算访问IP范围目的IP范围+1数据包概率值置入丢弃标记提取所访问端口计算端口风险度计算平均负载长负载长度度概率值图5.7贝叶斯检测方法流程图5.2.3自动提取蠕虫特征模块1.改进Needleman-Wunsch算法中求最小的不相似度等同于求最大的相似度。本文采用如下方式实现算法改进Needleman-Wunsch算法:(1)初始化相似度值(thepayoffmatrix)payoff[]={match=>4,mismatch=>-3,gap_open=>-2};(2)输入:序列a,b输出:a,b的最相似序列及最优联配①初始化a.F(0,0)=0,T(0,0)=036 华中科技大学硕士学位论文b.Foreachj=1,2,…,NF(0,j)=j,T(0,j)=0c.Foreachi=1,2,…,MF(i,0)=i,T(i,0)=0②主迭代,填充每种情况的联配结果Foreachi=1,2,…,MForeachj=1,2,…,N⎧⎪T+1(a=b)ij−−1,1ijT=⎨ij,⎪0(a≠b)⎩ij⎧Si(−−1,)jgapopen_⎪Si(−−+1,j1)matchins+(T)(a=b)⎪ij,ijSij(,)max=⎨Si(−−−1,j1)mismatch(a≠b)⎪ij⎪ij−1⎩Sab(,)−gapopen_③结束a.输出最小的不相似度值F(M,N).b.从Ptr(M,N)回溯路径得到最优的联配结果.在具体设置激励函数ins(x)时,需要考虑到较短的特征码灵敏性较高,对抗变形、多态蠕虫的能力更强;较长的特征码特异性较高,排除非蠕虫通信能力更佳这两种相互矛盾的因素来合理的设置,才能到达目的。在选取特征片段长度的临界值时参考“加入片段长度大于等于3则有效性显著增大”这一因素将第一个分界点定[40,41]到长度为3进行设置;特征片段并非简单的要求匹配长度,未避免要求匹配字串长度最长的LCS算法存在的孤岛效应,随着匹配长度的增加而减缓激励值,从而保证特征片段的数量与质量。⎧⎪(xm−×1)atchx≤3⎪⎪1insx()=×⎨2match+−×(x3)match3<≤x20⎪2⎪1110match+−×(x20)matchx>20⎪⎩2162.通过多层序列联配联配算法多层提取获得特征,如下即为算法实现过程:输入:待提取特征序列集合37 华中科技大学硕士学位论文输出:提取的特征片段doT←{}while(R中序列数≥1){if(R中只有一个序列a)T←{a}else{从R中按序取出两序列a,b;应用改进Needleman-Wunsch算法对a,b进行联配,联配结果记为S(a,b);if(S(a,b)包含三个以上片断并且至少有两个片断中字符长度不小于3)T←S(a,b);elsewhile(R非空&&序列b未处理完成){c←从R中按序排放的首位序列;应用改进Needleman-Wunsch算法对a,c联配,联配结果记为S(a,c);if(S(a,c)包含三个以上片断并且至少有两个片断中字符长度不小于3)T←S(a,c),从R中去掉序列c;a←b,记序列b开始处理;}//else_while}//if_elseR←T}//while算法运行示意图如图5.8所示:T121234354567图5.8多层序列联配算法示意图38 华中科技大学硕士学位论文3.将提取的特征片段转换为Snort的规则,需要将片段内容、协议类型等综合形成特征规则。输入:生成的特征片段,非负载特征信息输出:Snort规则查看协议类型,填入协议类型字段;if(源IP集中在一个子网段或固定IP){源IP地址转换为网络字节格式;源IP地址与子网掩码分别放入对应字段;}else源IP地址字段填入any;if(!端口连续集中在一个范围)端口字段填入any;else端口字段填入端口范围;for(i=0;i<特征片段长度-1;i++){按特征片段内容格式逐个填入规则选项中;}39 华中科技大学硕士学位论文6NWSGS系统测试6.1测试环境在蜜罐主机上安装honeyd系统,通过配置config文件虚拟一个蜜罐子网,由几台虚拟蜜罐机组成;虚拟蜜罐分别模拟不同的操作系统,如Windows2000,Linux系统等,并打开某些端口和服务,故意保留一些系统漏洞以吸引对这些信息敏感的可疑者,从而在蜜罐主机上捕获来访者的数据。为了验证网络蠕虫特征提取系统的可行性和实用性,搭建了实际的网络环境进行测试。测试环境网络拓扑如图6.1所示:218.199.102.101thehoneypotsnetworkR2honeyd218.199.102.152218.199.102.153VirtualVirtualhoneypot1honeypot2图6.1测试网络拓扑图其中:honeyd主机:IP地址设置为218.199.102.**7,用于运行honeyd;虚拟路由器:IP地址设置为218.199.102.101,模拟Cisco7206;虚拟蜜罐主机1:IP地址设置为218.199.102.152,模拟WindowsNT操作系统;虚拟蜜罐主机2:IP地址设置为218.199.102.153,模拟WindowsXP操作系统;配置文件见附录文件1。然后通过arpd命令,将虚拟蜜罐主机的IP地址与honeyd主机的MAC地址绑定。40 华中科技大学硕士学位论文如图6.2,即为honeyd运行日志:图6.2honeyd日志记录6.2测试过程及结果本文采用两种方法测试网络蠕虫特征系统,分别为:(1)使用已知网络蠕虫进行攻击测试;(2)使用样本数据测试进行系统测试。6.2.1使用已知网络蠕虫进行攻击测试为了便于比较,本文选取了Apache-Knacker、BIND-TSIG和ATPhttpd这三种已知漏洞进行攻击目标蜜罐机作为测试用例,并利用病毒变形引擎ADMmutate进行网络蠕虫变形处理,以测试系统对于变形蠕虫的抵抗性。测试步骤:(1)设置系统各类参数,配置honeyd文件,打开相应端口以供检测;(2)在攻击机上运行攻击程序,攻击指定蜜罐主机和蜜罐子网;(3)运行特征提取程序,读取日志文件中记录的特征数据;测试结果如表6.1所示:41 华中科技大学硕士学位论文表6.1Polygraph,Hamsa和NWSGS三种系统提取的攻击特征对比特征提取方法BIND-TSIGApache-KnackerATPhttpdGET.*HTTP/1.1rn.*:xFFxBF*x00xFGET~/*xFFxBF*~HPolygraph.*rnHost:.*rn.*:.*rnHATTP/1.1rnost:.*xFFxBF.*rnGET?:4"rn":GET/*~HTTP/1.1rn?~:xHamsaxFFxBF*5,"HTTP/1.1rn?*rnHost:9ExF8?2:xFFxBF":1GET~**xFFxBF*x00??GET~/*xFFxBF????HTTP/1.1rn*:~*rnHost:~.NWSGS????????????x00x????????????????[100*rn*:~*rnHost:~*xFFxBF00xFA??????????rn个?]*HTTP/1.1rn由表6.1所示的联配序列结果,NWSGS所提取的特征代码在一定程度上最为准确。在提取BIND-TSIG攻击特征片段的结果中,Polygraph算法产生的特征中就缺少与“x00x00xFA”有关联的“x00”。在NWSGS系统中通配符“?”表示可以确定的特征片段之间至少含有的字母数,因此可以更加精确的反映片段之间位置的关系。例如对ATPhttpd攻击的特征提取中NWSGS系统的100个“?”表明特征片段“xFFxBF”与“HTTP/1.1rn”之间至少有100个可变的字母,而这100个字母很可能正是蠕虫攻击隐藏或攻击变形技术的效果。而面向连接的特征提取系统Hamsa虽然顾虑到特征片段之间的关联性,在提取特征片段上确会丢掉一些必要的片段,如面对Apache-Knacker的攻击,Hamsa提取的有效特征片段明显少于Polygraph和NWSGS。由表6.1所示的联配序列结果产生的相应的IDS检测规则如表6.2所示。表6.2生成的IDS检测规则alerttcpanyany->anyany(msg:"BINDTSIG";content:"|FFBF|";offset:313;BINDTSIGcontent:"|00|";distance:181;content:"|0000FA|";distance:14;rev:1;)alerttcpanyany->anyany(msg:"Apache-Knacker";content:"GET";content:"HTTP/1.1|0D0A|";content:":";content:"|0D0A|Host";content:"|0D0A|";Apache-Knachercontent:":";content:"|0D0A|Host";content:"|FFBF|";content:"|0D0A|";distance:10;rev:1;)alerttcpanyany->anyany(msg:"ATPhttpd";content:"GET/";content:"|FFBF|";ATPhttpdcontent:"HTTP/1.1|0D0A|";distance:100;rev:1;)42 华中科技大学硕士学位论文6.2.1使用样本数据测试进行系统测试进行网络蠕虫检测测试。样本数据文件为2007年3月25日于华中科技大学校园网中获取。为了达到测试系统效果,在其中混入有已知攻击蠕虫攻击的数据;校园网络交换机捕获的数据中包括有已检测的可疑数据和正常流量。贝叶斯检测程序通过判断数据是否可疑,对其数据包进行检测检测,再由特征提取程序对数据包内容进行特征提取并产生相关记录。测试步骤:(1)设置系统各类参数,配置honeyd文件;(2)通过将样本数据的目的地址修改为指定蜜罐主机和蜜罐子网,向NWSGS系统发送数据包;(3)关闭贝叶斯检测器运行NWSGS系统,提取特征,读取日志文件中记录的特征数据;(4)开启贝叶斯检测器运行NWSGS系统,提取特征,读取日志文件中记录的特征数据;表6.3生成的特征质量比较关闭贝叶斯检测器开启贝叶斯检测器生成的特征片断14543特征噪音9223如表6.3所示,NWSGS系统在关闭贝叶斯检测器的情况下,产生特征片段145个,其中有效特征有53个;在开启检测器的情况下,产生特征片段43个,无效特征片段只有23个。由此可以证明贝叶斯检测模型具有很显著的检测效果,在检测正常流量上也有非常的意义。43 华中科技大学硕士学位论文7总结与展望7.1工作总结本文主要对网络蠕虫的检测与特征提取技术进行了研究,提出了结合蜜罐技术与贝叶斯方法的网络数据检测技术和基于改进Needleman-Wunsch算法、多层序列联配算法的网络蠕虫多序列联配特征提取技术,并对这两种技术进行了验证。在以上研究的基础上开发了网络蠕虫特征提取系统(NWSGS),通过蠕虫病毒对指定蜜罐机进行攻击模拟攻击测试,使用样本数据模拟实际网络环境的测试,验证了该系统对网络蠕虫特征的准确性、有效性和实用性。具体工作如下:(1)介绍了网络蠕虫病毒的出现和发展,以及其传播对社会产生的巨大损失,指出网络蠕虫检测技术和应对技术是当前计算机网络安全领域研究的一个重要课题,而网络蠕虫特征提取技术正是网络蠕虫检测技术重点所在,是网络安全研究的重中之重。(2)阐述了网络蠕虫的定义、特点,以及网络蠕虫与传统计算机病毒的区别,网络蠕虫具有比传统计算机病毒更大影响力、破坏力。综述了目前国内外研究网络蠕虫检测技术的现状,包括网络蠕虫检测技术及蠕虫病毒特征提取环境。(3)通过对蜜罐技术的研究和网络蠕虫工作机制的分析,提出了基于贝叶斯方法的网络数据检测技术和基于改进Needleman-Wunsch算法、多层序列联配算法的网络蠕虫多序列联配特征提取技术,并对此进行了验证和结果分析。①根据蜜罐技术的工作原理,蜜罐技术的意义就在于被检测和被攻击,蜜罐本身并没有授权任何人对其访问,因此进入蜜罐的流量和数据初步判断都是可以数据。使用蜜罐技术的优势在于A.对于网络管理员来说,监控一批未使用的空闲IP地址远比截获用户传递的网络数据要来的容易;B.即便蜜罐机并不在蠕虫病毒或恶意代码的攻击列表中,仍可以通过将可疑流量重定位的技术将可疑数据包发往蜜罐机。例如通过NID系统的不规则检测,将数据包转发到指定蜜罐机,从而实现2层防御体系。同时,这也意味着蜜罐机接收的数据有很高的可疑度,检测蜜罐机接收的数据远比从用户流量中分离出可疑流量要简单;C.从目前的显示意义来说,随即扫描IP的蠕虫要比通过攻击列表攻击的蠕虫流行的多,同时随即扫描的蠕虫传播速度也更快一些。当然,当有效的抵御随即扫描IP蠕虫的机制研制出来,这种44 华中科技大学硕士学位论文考虑将会改变。选择蜜罐作为提取特征代码的数据平台可在免去从海量数据中检测的复杂步骤的同时,提供更为准确的蠕虫病毒数据,对算法的效率要求也较低。②由于网络蠕虫要在最短的时间内感染尽可能多的目标主机的本质特性,决定了在网络蠕虫传播过程中几种基本的特性,如威金蠕虫病毒(Worm.Viking.m)在初期与网络中大量目标主机进行通讯,IP地址是非常分散的;SCO炸弹蠕虫(Worm.Novarg)则有明显的短时间内快速大量与目标机通讯的特征;号称“2003蠕虫王”(Worm.NetKiller2003),其危害远远超过曾经肆虐一时的“红色代码”病毒。感染该蠕虫病毒后网络带宽被大量占用,导致网络瘫痪,该蠕虫是利用SQLSERVER2000的解析端口1434的缓冲区溢出漏洞。基于这些特性选取了5个观测参数进行数据包分析检测,检测方式使用贝叶斯检测算法技术贝叶斯概率得分值来判断是否为可疑蠕虫病毒或正常数据。实验验证表明,基于贝叶斯检测技术检测可疑数据有效性能能够到达60.2%。③在特征提取算法上,本文通过改进生物学中采用的序列分析法Needleman-Wunsch算法,加入保留长度长的字符串的激励函数克服了算法易产生碎片的缺点,使之很好的适用与蠕虫病毒的特征提取。通过多层序列联配算法中的舍弃干扰序列保证特征提取算法的收敛速度的同时,引入通配符尽可能的保留蠕虫病毒的特征,使之具有良好的应用价值。本文借鉴了生物信息学中的序列分析方法,提出了基于改进Needleman-Wunsch算法结合多层序列联配算法,消除和弱化了传统算法的诸多:A.该方法产生的攻击特征包含位置相关信息,因而相对传统方法结果更加精确;B.有效的剪枝策略使该方法可以有效的抵抗噪音的干扰;C.该方法产生的攻击特征与主流的IDS规则有着天然的相似性,易于应用到IDS中去。本文在结合蜜罐技术与网络蠕虫研究的基础上,提出了基于蜜罐技术的网络蠕虫特征提取技术,并设计实现了网络蠕虫特征提取系统,实验结果表明该系统具有良好的特征提取效果。7.2进一步的研究工作随着网络技术的不断发展,网络蠕虫在网络中的传播形式和传播速度也会随之不断进化。要对抗日益繁复的蠕虫,所提取的特征码不仅要求灵敏有效,还要有及时有效的对抗能力。而目前的网络蠕虫特征提取在实际应用过程中,还存在一定的特征噪音和无意义特征片段,系统的应用环境也限制了提取特征的及时性。为了更好的对抗网络蠕虫,系统还需要从以下几个地方进行进一步研究,并加以改进。45 华中科技大学硕士学位论文(1)加大蠕虫检测的效用。由于实际环境的局限,模拟的蜜罐主机仅2台,远远不能达到贝叶斯方法的检测要求,在条件允许情况下应分散布置大量蜜罐主机才能更好的起到检测作用。同时在设置贝叶斯参数时,用以统计参数的数据样式上与形式上多样化也更能提高检测效用。(2)提高特征码质量。对于所提取的特征片段,一般而言,较短的特征码灵敏性较高,对抗变形、多态蠕虫的能力更强;较长的特征码特异性较高,排除非蠕虫通信能力更佳。因此,在提取蠕虫病毒特征码之前,通过进一步将攻击聚类分析后根据不同类型的蠕虫病毒动态确定特征片段的质量指标,能更有针对性的提取特征代码。(3)提升算法性能。另一方面,理想的特征提取算法在空间复杂度与灵敏性上也有极高的要求。鉴于蠕虫病毒是呈指数级扩散,若超过5%的易感主机受到传染后才实施遏制,则意义已经不大。这就意味着,除了提高检测、监测能力外,对提取算法的复杂度提出了相对苛刻的要求,虽然目前的算法在平摊复杂度上远低于LCS法,但如何提高方法性能、减少空间开销仍然需要进行深入研究。(4)提高特征码精度。针对各种检测技术的应用,网络蠕虫的传播越来越隐蔽,目前的特征提取技术还存在一定的特征噪音和无意义特征片段。进一步提高系统的抗噪能力,并尽可能保留下来有意义的特征,是本课题下一步的目标。46 华中科技大学硕士学位论文致谢值此论文定稿之际,谨向曾经给予我关心和帮助的各位老师、同学和亲友表示衷心的感谢。首先,衷心感谢尊敬的李之棠教授。在过去的两年时间里,我能够在李之棠教授领导的网络安全与下一代互联网实验室进行学习和研究,使我丰富了自己的思想。李老师渊博的知识,一丝不苟的治学态度,严谨求实的科研精神,平易近人的工作作风都使我受益匪浅,是我永远的楷模。衷心感谢尊敬的李汉菊副教授。李老师性格豁达,视野开阔,经常热心指导和帮助我们,在科研工作中多次帮我指明了研究的方向,提供了宝贵的意见。衷心感谢涂浩博士,在我攻读硕士研究生期间,涂老师从文档的编写、学术论文的查找和阅读、项目的研究和开发等工作中,都给予了悉心的指导。在二年的研究工作中,诸多的实际问题都是在与涂老师的讨论中得到解决的。同时感谢黎耀博士,黎老师不仅在学术上给予了我专业的指导,在生活、工作上也给予莫大的帮助。与黎老师细心、真诚交流,使我更明白为人处事的道理和方法。衷心感谢课题组的柳斌博士、刘蜀豫博士、周丽娟博士和李战春博士等的帮助与支持,以及在过去的学习生活中都给予了悉心的指导。同时感谢汪艳老师、贺聿志老师等在研究生阶段对我的照顾与帮助。衷心感谢课题组蔡新,马嫄以及姜浩成员。正是大家相互的支持与帮助,相互间友好合作的气氛使得各自的课题能顺利完成。在过去的日子里,大家通力合作、互相配合、讨论研究,给了我很多帮助和启发。衷心感谢实验室的张纪评、张雄刚、李维、李佳、李奕、陈剑斌、乐艳辉、章勇、刘文芹、林晓以及孙飞等各位同学,使我能在大家共同营造的充满自由、朝气和富于创新精神的学习环境里学习。最后,我将最深切的感谢献给我的父母。在我多年的求学生涯中,正是他们对我不倦的教诲与关爱,我才能有今天的成绩。47 华中科技大学硕士学位论文参考文献[1]McGregor,Darig,ShiZ,etal.Aprocessorarchitecturedefenseagainstbufferoverflowattacks.InformationTechnology:ResearchandEducation,2003,11:243~250[2]Moore,Paxson,Savage,etal.InsidetheSlammerworm.Security&PrivacyMagazine,2003,1:33~39[3]Liljenstam,Nicol,Berk.Simulatingrealisticnetworkwormtrafficforwormwarningsystemdesignandtesting.In:Proceedingsofthe2003ACMworkshoponRapidmalcode,USA:ACMSpecialInterestGrouponSecurity,2003.24~33[4]Ellis,Aiken,Attwood,etal.Abehavioralapproachtowormdetection.NY,USA:ACMpress,2004,34~53[5]TheunsVerwoerd,RayHunt.Intrusiondetectiontechniquesandapproaches.ComputerCommunication,2002,25(15):1356~1365[6]NielsProveos.AVirtualHoneypotFramework.In:Proceedingsofthe13thUSENIXSecuritySymposium,CA:SanDiego,2004.56~61[7]LanceSpitzner.Honeypots:TrackingHackers.USA:AddisonWesleyProfessional,2002.56~71[8]ChristianKreibich,JonCrowcroft.Honeycomb-CreatingIntrusionDetectionSign-aturesUsingHoneypots.ComputerCommunicationReview,2004,34(1):51~56[9]AntonChuvakin,GCIAGCIH.Honeynets:HighValueSecurityData.NetworkSecurity,2003,8:11~15[10]DagonDavid,QinXinzhou,GuGuofei.HoneyStat:LocalWormDetectionUsingHoneypots.ComputerScience,2004,3224:39~58[11]GuGuofei,QinXinzhou,DagonDavid.WormDetection,EarlyWarningandResponseBasedonLocalVictimInformation.In:DanielThomsen,20thAnnualComputerSecurityApplicationsConference.USA:ACSAPress,2004.136~145[12]Yegneswaran,Giffin,Barford.AnArchitectureforGeneratingSemantic-AwareSignatures.ACMPress,2005,5:213~222[13]TangYong,ChenShigang.DefendingAgainstInternetWorm:ASignature-Based48 华中科技大学硕士学位论文Approach.In:Butler,Lampson,ProceedingofINFOCOM2005andthe24thAnnualJointConferenceoftheIEEEComputerandCommunicationsSocieties.USA:2005.2646~2657[14]EugeneH,Spafford.TheInternetwormprogram:ananalysis.ACMComputerCommunicationReview,1989,19(1):17~57[15]郑辉,李冠之,涂奉生.蠕虫的行为特征描述和工作原理分析.见:第三届中国信息与通信安全学术会议论文集.北京:科学出版社,2003.37~40[16]文伟平,卿斯汉.网络蠕虫研究进展.软件学报,2005,4:137~139[17]宋舜宏,杨寿保.一种基于入侵模式的蠕虫攻击预警方法.计算机工程与应用,2005,1:137~140[18]尹传勇.蠕虫病毒深度解析.计算机安全,2003,5:116~122[19]Spitzner.SunMicrosystems.TheHoneynetProject:trappingthehackers.Security&PrivacyMagazine,IEEE,USA,2003,1:15~23[20]Teo,Sun,Ahn.DefeatingInternetattacksusingriskawarenessandactivehoneypots.In:InformationAssuranceWorkshop,ProceedingsofsecondIEEEInternational.USA:IEEEComputerSocietyPress,2004.155~167[21]张文科,张文政,陈雷霆.蜜罐技术在防御分布式拒绝服务攻击中的应用.通信技术,2003,5:95~96[22]李建,刘克胜.利用蜜罐技术捕获垃圾邮件.见:科协学会,中国科协第五届青年学术年会论文集.中国:科学出版社,2004.275~280[23]John,Levine,Julian.UsingHoneynetstoProtectLargeEnterpriseNetworks.IEEESecurity&Privacy,2004,2(6):73~75[24]SvenKrasser,JulianB,Henry,etal.TheUseofHoneynetstoIncreaseComputerNetworkSecurityandUserAwareness.JournalofSecurityEducation,2005,1:213~222[25]LaiShouChuan,KuoWenchu,HsiehWuCheng.DefendingagainstInternetworm-likeinfestations.In:AdvancedInformationNetworkingandApplication,18thInternationalConferenceon.USA:IEEEComputerSocietyPress,2004.152~157[26]PuRui,DeQuan,DengGuo.AHost-BasedAnomalyIntrusionDetectionModelBasedonGeneticProgramming.JournalofSoftware,2003,14(6):1120~1126[27]LeeWenke,StolfoSalvatoreJ,MokKuiW.Dataminingframeworkforbuilding49 华中科技大学硕士学位论文intrusiondetectionmodels.In:ProceedingsoftheIEEEComputerSocietySymposiumonResearchinSecurityandPrivacy.USA:IEEEComputerSocietyPress,1999.120~132[28]李鸿培,王新梅.基于神经网络的入侵检测系统模型.西安电子科技大学学报.1999,26(6):667~670[29]熊华.网络安全—取证与蜜罐.北京:人民邮电出版社,2003.114~122[30]CheswickBill.AnEveningwithBerferdInWhichaCrackerisLured.In:EnduredandStudied,ProceedingsoftheWinter1992Usenixconference.USA,Usenix,1992.163~174[31]NancyP.Kutner.Viruses,updates,andsecurity:makingthecampusaware.In:UserServicesConference,Proceedingsofthe32ndannualACMSIGUCCSconferenceonUserservices.USA:ACMPress,2004,322~326[32]曹爱娟,刘宝旭,许榕生.网络陷阱与诱捕防御技术综述.计算机工程,2004,30(9):1~3[33]李学宝,宋如顺.利用蜜罐抵御网络蠕虫.计算机与现代化,2005,3:75~79[34]Hofmeyr,ForrestS.ArchitectureforanartificialImmunesystem.EvolutionaryComputation,2000,8:443~473[35]WangK.,StolfoS.Anomalouspayload-basednetworkintrusiondeteciton.In:SophiaAnitpolis,ProceedingsoftheRAID.FrenchRiviera:2004,201~222[36]Kim,Karp.Autograph:Towardautomated,distributedwormsignaturedetection.In:SanDiego,ProceedingsoftheUSENIXSecurity.CA:2004,271~286[37]Singh,Estan,Varghese.Automatedwormfingerprinting.In:Proceedingsofthe6thACM/USENIXSymposiumonOperatingSystemDesignandImplementation.SanFrancisco,CA:2004.45~60[38]JiangXuxian,XuDongyan,WangYiMin.Collapsar:aVM-basedhoneyfarmandreversehoneyfarmarchitecturefornetworkattackcaptureanddetention.JournalofParallelandDistributedComputing,2006,66(9):1165~1180[39]DanEllis.Wormanatomyandmodel.In:Proceedingsofthe2003ACMworkshoponRapidmalcode.USA:ACMPress,2003.42~50[40]BradleyS,CheungDonald.ComputerSecurityEducationandResearch:HandlewithCare.IEEESecurityandPrivacy,2006,4(6):56~59.[41]GiovanniVigna,WilliamRobertson,DavideBalzarotti.Testingnetwork-based50 华中科技大学硕士学位论文intrusiondetectionsignaturesusingmutantexploits.In:Proceedingsofthe11thACMconferenceonComputerandcommunicationssecurity.WashingtonDC,USA:ACMPress,2004.21~30[42]Crandall,SuZhenDong,WuS.F.OnderivingunknownvulnerabilitiesfromZeroDaypolymorphicandmetamorphicwormexploits.In:ProceedingsoftheACM/CCS2005.Alexandria,Virginia:2005.235~248[43]XuJ.,NingP.,KilC.Automaticdiagnosisandresponsetomemortycorruptionvulnerabilities.In:ProceedingsoftheACMCCS2005.Alexandria,Virginia:2005.223~23451 华中科技大学硕士学位论文附1:honeyd配置文件配置文件如下:routeentry218.199.102.101network218.199.102.0/24route218.199.102.101link218.199.102.0/24###Windowscomputerscreatewindowssetwindowspersonality"WindowsNT4.0ServerSP5-SP6"addwindowstcpport80"perlscripts/iis-0.95/iisemul8.pl"addwindowstcpport139openaddwindowstcpport137openaddwindowsudpport137openaddwindowsudpport135opensetwindowsdefaulttcpactionresetsetwindowsdefaultudpactionresetbind218.199.102.152windowscreatewindows2setwindows2personality"MicrosoftWindowsXPProfessionalSP1"setwindows2uptime1728650setwindows2maxfds35addwindows2tcpport80"scripts/iis5.net/main.pl"addwindows2tcpport22"shscripts/test.sh$ipsrc$dport"addwindows2tcpport23proxy$ipsrc:23addwindows2udpport53proxy141.211.92.141:53setwindows2defaulttcpactionresetbind218.199.102.153windows2createdefaultsetdefaultdefaulttcpactionblock52 华中科技大学硕士学位论文setdefaultdefaultudpactionblocksetdefaultdefaulticmpactionblock###Ciscoroutercreateroutersetrouterpersonality"Cisco7206runningIOS11.1(24)"setrouterdefaulttcpactionresetsetrouterdefaultudpactionresetaddroutertcpport23"/usr/bin/perlscripts/router-telnet.pl"setrouteruid32767gid32767setrouteruptime1327650bind218.199.102.101router其中路由器R1是从LAN进入虚拟网络的入口点,”routeentry”配置用来指定入口点:routeentry218.199.102.101network218.199.102.0/2453