• 4.85 MB
  • 2022-06-16 12:40:20 发布

蜜网数据融合和关联分析的研究和实现的论文

  • 68页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
北京邮电大学硕士毕业论文蜜网的数据融合与关联分析的研究与实现摘要随着信息时代的来临,网络和通信技术飞速发展,计算机网络和操作系统本身的漏洞与安全隐患也日益暴露在人们面前,计算机网络成了破坏者的乐园和滋养黑客的温床,各类网络安全事件频频见诸报端,网络信息安全正面临着极大的威胁和挑战。因此迫切需要人们掌握网络攻防知识,保证安全应急响应的基本素质。网络安全研究的核心问题是要建立一个实验的标准环境,可以模拟真实的网络流量、用户行为和攻击行为。在网络攻防演示系统中,采用蜜网作为攻击的目标网络。蜜网是一种体系结构,这种结构构建一个高度受控的网络,网络内所有活动都受到控制和监视。该网络容忍入侵,用于分析入侵行为,可以捕获真实的网络流量、用户行为和攻击行为。本文对蜜罐系统理论进行了研究与学习,再对当前普遍使用的三种类型的诱骗网络技术进行了介绍,并着重从体系结构和功能两方面对蜜网原理及关键技术进行分析。然后基于第三代蜜网技术配置实现一个网络攻防演示系统中的蜜网网络。根据蜜网全面的捕获机制,并通过对渗透攻击和DDoS攻击的分析,设计了数据分析流程,并对数据分析视图进行设计与开发,实现了蜜网数据的融合与关联分析。数据分析视图以B/S的模式对攻击进行展示,重构攻击拓扑和攻击场 北京邮电大学硕士毕业论文摘要景,提供全面的信息,让用户从各个侧面体会入侵过程,从而对攻防有一个清晰的认识。最后,通过具体攻击对数据分析视图进行测试,通过测试例证明了论文的可行性。关键词:网络攻防蜜罐蜜网数据分析视图 北京邮电大学硕士毕业论文RESEARCHAND姗LEⅧNTp汀10NOFHONEYNETDArAFUSIONANDCORRELATl0NANAIYSISABSTRACTWiththecomingoftheinformationera,thefasterthetechnologyofnetworkandcommunicationdevelops,themorevulnerabilityofthenetworkandopermingsystemexposurestopeople.Theintemetbecomestheparadiseandhothouseofhackerandcracker,allsortsofnetworksecurityincidentfrequentlyappearsonsomenewspapersandmedia.Thesecurityofinformationisconfrontedwithhugethreatandchallenge.Henceitisurgentneedforpeopletomastertheknowledgeofnetworkattackanddefensetoensurethebasicqualityofsafetyemergencyresponse.ThecoreissueofresearchonnetworksecurityistoestablishastandardtestenvironmenttosimulaterealnetworktramC,USerbehaviorandattackbehavior.Inthenetworkattackanddefenseexperimentationsystem,honeynetisusedasthetargetnetworkofattack.Honeynetwhich¨I 北京邮电大学硕士毕业论文isanarchitecturebuildsahighlycontrollednetwork.Alltheactivitiesareundercontrolandsurveillanceinthenetwork.ThenetworkiSintmsiontolerance,usedtoanalyzetheconductofintrusion.Itcancapturerealnetworktraffic,userbehaviorandattackbehavior.Inthisthesis,honeypotsystemtheoryisstudied;subsequently,threetypesoftrapnetworktechnologyareintroducedandhoneynetistheemphasis,itsprincipleandkeytechnologiesareanalyzedfromthestructureandfunction.Then,thehoneynetinnetworkattackanddefenseexperimentationsystemisconfiguredandimplementedbasedonGenIIIhoneynettechnology.Accordingtothecomprehensivecapturemechanismofhoneynet,theflowofdataanalysisisdesignedbasedontheanalysisofpenetrationattacksandDDoSattacks;dataanalysisviewsaredesignedanddevelopedtoimplementthehoneynetdatafusionandcorrelationanalysis.DataanalysisviewswhichisbasedonB/Smoderebuildtheattacktopologyandattackscenarios,providethefullrangeofinformation,allowuserstohaveaclearawarenessofnetworkattackanddefense.Inthelast,thefunctiontestprovesthefeasibilityofthispaper.KEYWORDS:networkattackanddefence,honeypot,honeynet,dataanalysisview 北京邮电大学硕士毕业论文独创性(或创新性)声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名:墨a至垄日期:迓嘘=墨=丝关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后遵守此规定)保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。本人签名:翊垒垒导师签名:日期:珥:i:甾日期:上啤立么一 北京邮电大学硕士毕业论文1.1课题背景第一章前言在席卷全球的信息化浪潮中,网络已经渗透到政府、企业及人们生活的方方面面。然而,网络技术及使用迅速发展、普及的同时,相应的产生了大量的网络安全方面的问题:病毒、系统漏洞、软件设计漏洞、人为失误等等,造成数据损坏、机密被窃、隐私无法保证等一系列问题,网络安全已经危及社会的发展。广大用户对网络安全的忽略,对系统漏洞产生机理、对策的一无所知,对网络攻击缺乏足够警惕,以致给攻击者可乘之机。因此迫切需要为广大网络安全研究人员、学生提供一个学习网络攻防知识的实验平台,以提高攻防能力和网络管理能力,增强网络安全的防护意识,保证安全应急响应的基本素质。网络安全研究实验的核心问题就是要建立一个实验的标准环境,可以模拟真实的网络流量、用户行为和攻击行为。由于实验资源分散和缺乏真实的网络安全基础数据积累,目前国内高校在网络安全等方面的大量科学研究工作一直依赖于单机仿真或小系统模拟网络仿真,在网络安全问题呈现出规模化、立体化、复杂化发展趋势的今天,越来越难以满足网络安全科学实验的需要,尤其是针对大规模网络安全技术研究和实验的需要。这种实验手段的局限性,使得研究成果与实际应用需求差距较大。此外,我国当前在网络信息安全领域存在科研成果难以转化为生产力等问题,一些成果由于缺乏产业化所要求的严格测试、规模实验和应用考验而无法实现成果转化。其主要原因之一是研发出的成果没有现场实验的环境,没有改进完善成果的机会,而未能很好地起到推动科学技术和产业应用的作用。如何构建一个基于实际网络的大型实验及测试评估环境来促进成果转化已经成为迫在眉睫的研究课题。鉴于此,北京邮电大学牵头,联合国家计算机网络与信息安全管理中心申请了教育部的《网络安全科研基础资源和科学实验平台》。项目重点建设网络安全科研基础资源平台,即依托中国教育和科研计算机网,以及正在建设的国家下一代互联网示范工程,对项目合作单位在网络安全领域的科研实验资源(包括基础数据资源、网络实验资源等)进行收集整理和开放共享,在此基础上重点建设网络安全基础资源共享平台,初步建立起支持示范应用的网络化科研实验平台,为教育部高等院校网络安全领域研究与应用人员提供一个网络化的先进科研基础资源平台以及科学实验环境,为大规模网络安全科学研究活动提供资源支撑平 北京邮电大学硕士毕业论文第一章前言台,以此促进国家信息基础设施和基础平台的建设发展。本课题正是出自于其中的《网络攻防演示系统》。在网络攻防演示系统中,蜜网被用来作为攻击的目标网络。蜜网是一种体系结构,这种结构构建一个高度受控的网络,网络内的所有活动都受到控制和监视。该网络容忍入侵,用于分析入侵行为,可以捕获真实的网络流量、用户行为和攻击行为。蜜网实现的难点在于配置,若配置失误,则可能无法捕获攻击者的行为,还可能把其它蜜网以外的系统暴露在更大的风险之下。成功配置蜜网有两个关键需求:数据控制和数据捕获。数据控制在攻击者不知情的情形下,限定了攻击者与蜜网的交互活动,即规定攻击者可以做什么、不可以做什么。数据捕获是在攻击者不知情的情况下,捕获攻击者在蜜网内的所有活动。利用蜜网全面的数据捕获机制捕获各种攻击信息,然后以图形化、用户易于理解的形式对捕获到的数据进行融合和关联分析,重构攻击拓扑和攻击场景,提供全面的信息,让用户看到攻击进行过程中,系统是怎么样一步步被入侵的,让用户从各个侧面体会到入侵过程,从而对攻防有一个清晰的认识。1.2国内外研究现状“蜜罐"这一概念最初出现在1990年出版的一本小说(TheCuckoo-SEgg))中,在这本小说中描述了作者作为一个公司的网络管理员,如何跟踪并发现一起商业间谍的故事。“蜜网项目组"(TheHoneynetProject)的创始人LanceSpitzner给出了蜜罐的权威定义【2】。蜜罐是一种安全资源,其价值在于被扫描、攻击和攻陷。这个定义表明蜜罐并无其他实际作用,因此所有流入/流出蜜罐的网络流量都可以预示了扫描、攻击和攻陷。而蜜罐的核心价值就在于这些攻击活动进行监视、检测和分析。蜜罐技术的发展历程可以分为以下三个阶段:从九十年代初蜜罐概念的提出到1998年左右,“蜜罐”还仅仅限于一种构想,通常由网络管理人员应用,通过欺骗黑客达到追踪目的。这一阶段的蜜罐实质上是一些真正被黑客所攻击的主机和系纠21。从1998年开始,蜜罐技术开始吸引了一些安全研究人员的注意,并开发出一些专门用于欺骗黑客的开源工具,如FredCohen所开发的DTK(欺骗工具包1、NielsProvos开发的Honeyd等,同时也出现了像KFSensor、Specter等一些商业蜜罐产品。这一阶段的蜜罐可以称为虚拟蜜罐、即开发的这些蜜罐工具能够模拟成虚拟的操作系统和网络服务,并对黑客的攻击行为做出回应,从而欺骗黑客。虚拟蜜罐工具的出现使得部署蜜罐变得比较方便。但是由于虚拟蜜罐工具存在交互低,容易被黑客识别等问题。从2000年之 北京邮电大学硕士毕业论文第一章前言后,安全研究人员更倾向于使用真实的主机、操作系统和应用程序搭建蜜罐,但与之前不同的是,融入了更强大的数据捕获、数据分析和数据控制的工具,并且将蜜罐纳入到一个完整的蜜网体系中,使得研究人员能够更方便地追踪入侵到蜜网中的黑客并对他们的攻击行为进行分析。国内对蜜罐的研究始于2001年,主要集中在理论消化和实现方面。北京大学的狩猎女神项目组是HoneynetResearchAlliance中国唯一团队,主要进行蜜网维护及攻击案例分析、恶意软件的捕获与分析、蜜网数据分析工具的开发等。在一些安全产品中也提到了蜜罐系统,但只是采用了初级的诱骗技术,缺乏对诱骗技术、安全技术、功能的全面研究。然而,蜜罐技术作为安全领域的新生事物,其价值在不断创新的技术背景下得到提升,作为安全解决方案中的重要补充技术手段,其发展的前景是可观的。1.3研究内容和创新点本课题通过对现有蜜罐系统理论和诱骗网络技术进行研究和学习,从体系结构和功能两方面对honeynet原理及关键技术进行分析,然后基于第三代蜜网技术配置和实现一个网络攻防演示实验系统中的蜜网系统,通过数据融合与分析视图的开发与实现,以B/S的模式展示攻击过程。创新点包括:1.攻击拓扑、攻击场景的重构。2.对攻击的深度分析(攻击者调用的进程、使用的命令等)、提供全面而细粒度的攻击信息。3.。结合攻防演示实验系统中的攻击平台对攻击过程进行展示。1.4论文结构安排本文分为四大部分。第一部分由第一章组成,主要讨论课题背景和研究现状等。第二部分由第二、三章组成。第二章对现有蜜罐理论进行系统的研究。第三章对当前普遍采用的三种类型的诱骗网络技术进行了介绍,并着重讨论了Honeynet技术,从体系结构和功能两方面对honeynet原理及关键技术进行分析。第三部分由第四、五、六章组成。第三章对网络架构和数据分析视图进行需求分析,并提出总体解决方案。第四章基于第三代蜜网技术配置和实现一个网络攻防演示实验系统中的蜜网系统,并对难点及技术细节进行讨论。第五章通过数据分析视图的设计与具体实现,对攻击进行全面展示,实现了蜜网数据的融合与关联分析。第四部分由第七章组成。第七章在前面讨论的蜜网系统中用具体的攻击实例 北京邮电大学硕士毕业论文对数据分析视图进行测试,并对测试结果进行分析。最后,文章的末尾对全文进行总结,并对下一步的工作进行展望。第一章前言 北京邮电大学硕士毕业论文2.1蜜罐系统的定义第二章蜜罐系统概述“Honeynet项目组"(TheHoneynetproject)的创始人Lancespitzner在2001年的题为“HoneypotsDefinitionsandValueofHoneypots"【l】的文献中给出了对Honeypot(蜜罐)的权威定义:Honeypot是一种信息系统资源,其价值在于被扫描、攻击和攻陷。定义表明Honeypot并不提供具备信息价值的服务,因此所有流入、流出Honeypot的流量都预示了扫描、攻击和攻陷。而Honeypot的核心价值就在于对这些攻击活动的监视、检测和分析。目前大部分安全技术都是针对特定问题而设计的。例如,防火墙通过控制何种流量向何处流动来保护网络。通常将防火墙部署在网络周边用作访问控制设备,以阻断未经授权的访问。入侵检测系统则通过系统或网络的活动来检测攻击,识别那些未经授权的活动。Honeypot是一种预先配置好的系统,系统内含有各种伪造的文件和信息,用于引诱黑客进行攻击。并且可以记录黑客侵入系统的信息,这些信息可以作为跟踪、研究黑客技术的重要资料;可以用来查找并确定黑客来源;可以作为攻防技术培训的实战教材,提高安全人员处理黑客攻击的技能;还可以用来分析黑客攻击的目标,对可能被攻击的系统提前做好防护工作。Honeypot系统同时还具有混淆黑客攻击目标的功能,由于它一般不含真实而有价值的数据,因而不会对重要数据和系统构成威胁,可以用来保护服务主机的正常运行。Hnoeypot并不限于解决某个具体问题。相反,这是一种可以应用于大量不同场合的高度灵活的工具。这就是Honeypot定义让人觉得很模糊的原因所在,因为可以使用它们实现很多不同的目标,并且其形式也是形形色色。譬如,Honeypot可以用于阻止攻击,这是一种和防火墙类似的目的:Honeypot可以用于检测攻击,这类似于入侵检测系统的功能;Honeypot可以用于捕获和分析自动化的攻击(譬如蠕虫),或者是充当先期的预警传感器;Honeypot还具有研究黑客活动、捕获攻击者击键信息或者对话信息的能力。使用Honeypot的具体方式完全取决于自己,取决于要完成的目标。Honeypot系统的构造思想是基于网络的开放性和资源的可监视性。一个处于正常工作状态的系统在网络上都有可能被黑客攻击,而且越是带有某种特定资源的系统越容易遭到攻击。对系统或网络进行特殊设计和一定的布置,就可能将 北京邮电大学硕士毕业论文第二章蜜罐系统概述入侵者成功地引入受控环境中,降低正常系统被攻击的危险,同时获得研究黑客相关技术的重要资料。资源的可监视性是指包括网络和主机系统在内的各种资源都处于控制之下。Honeypot系统核心是对网络和系统活动的监视能力,以及监视机制的隐藏性。只有强大的监视能力,才能使黑客的攻击行为无所遁形;而监视机制的隐藏性则保证了黑客在攻击的实施过程中不会发觉自己的行为己被跟踪监视,从而能够获得攻击过程的真实记录同时还能保证系统的安全。2.2在网络安全中的地位与防火墙和入侵检测系统不同,蜜罐并不是最终的网络安全机制,而是一种能够促进整个网络安全性的工具。蜜罐的价值和它有助于解决的问题取决于你如何构建、部署和使用它。蜜罐按其用途可以分为两种类型:产品型蜜罐和研究型蜜罐t21。●产品型蜜罐该类Honeypot种主要用于减轻组织或环境中所存在的风险。它们可以为系统及网络的安全保障提供特定的价值。产品型Honeypot的主要功能包括检测攻击、防止攻击造成破坏及帮助管理员对攻击做出及时正确的响应等功能。一般产品型蜜罐比较容易部署,而且不需要管理员投入大量的工作。较具代表性的产品蜜罐包括DTK、honeyd等开源工具和KFSensor、ManTraq等一系列商业产品。●研究型蜜罐安全界所面临的最大难题之一就是对敌方信息掌握的贫乏。诸如谁是威胁方,他们为什么会发起攻击,他们是怎么进行攻击的,他们的工具是什么以及他们何时会卷土重来之类的问题常常是无法回答的。研究型Honeypot通过提供一个可用于了解计算机威胁的平台,在信息收集方面提供了广泛的价值。例如,作为早期的报警机制,预测未来将要发生的攻击;捕获未知的工具和技术;更好的理解攻击者的动机和组织;获取关于高级黑客的信息;具有代表性的是“蜜网项目组“所推出的第二代蜜网技术、第三代蜜网技术。2.3交互性蜜罐交互性的高低决定了它提供的功能的多少。交互性越高,通过蜜罐获得的有价值的信息越多,对黑客和其攻击的了解越深;相应地,蜜罐的复杂性也越高,由蜜罐所带来的危险性也越高【21。●低交互性蜜罐低交互度Honeypot的设计和功能简单,安装、配置、部署和维护容易。该 北京邮电大学硕士毕业论文类Honeypot系统结构如图2-1所示。第二章蜜罐系统概述图2-1低交互Honeypot系统结构一个典型的低交互度Honeypot只提供对特定服务的模拟,系统只限于在这些模拟服务上与攻击者交互。如只对特定端口监听和记录:netcat.1-p80>port.80.109。其中.1指定监听模式为“入站方式",即只监听从外部网络进入的信息;80是指定监听端口为80;这条命令可以捕获所有从80端口进入的信息并存放到port.80.109文件中。这种简单的捕获方式,对复杂的协议下的通信过程就显得无能为力。比如这种Honeypot可以记录下使用SMTP协议时的握手过程,但是这些信息的用处不大,因为本地计算机并没有响应这种服务。低交互度Honeypot的主要价值在于检测,具体说来就是对未授权扫描或者是未授权连接尝试的检测。攻击者以某种方式攻击,Honeypot则以一种预定的方式响应。由于提供的功能非常少交互能力有限,所以降低了可能的风险。大部分都可以用一个程序来模拟。只需要将程序安装在一台主机中,配置管理者希望提供的服务。这使得Honeypot的部署和维护简单得多,管理员所要做的工作只是在维护程序的补丁级别上监视单向流入的数据。低交互度Hnocypot并不向外发送信息,只有接收流向本机的信息,不会改变网络的原本流量,也没有提供真正的操作系统可供攻击者交互。因此Honeypot无法被用于攻击和监视其他系统,也无法观察攻击者与系统交互的整个过程,提供的关于攻击者的信息也就非常有限。它们一般都是用一定的方式生成log日志并且在某些事件发生时会发出警报信息。其记录的主要信息包括攻击的时间和日期、攻击的源口地址和源端口、攻击的目的口地址和目的端口。 北京邮电大学硕士毕业论文第二章蜜罐系统概述●中交互性蜜罐中交互度Hoenypot提供了更多的可交互信息,它能够预期一些活动,并给出一些低交互度Honeypot无法给予的响应,但是仍没有为攻击者提供可交互的操作系统。而是通过一个虚拟的操作系统为攻击者提供更高的交互度,在外表上与真实的操作系统更为相似,使得攻击者可以完成更多的操作,这些过程都将被记录和分析。该类Honeypot结构如图2.2所示。图2-2中交互Honoypot系统结构在诱骗进程变得更加复杂,对特定服务的模拟变得更加完善的同时,风险性也更大了。因为Honeypot系统变得更加复杂了,所以对于攻击者来说找到系统的安全漏洞和弱点的机会也变大了。譬如,可能有一种蠕虫正在扫描特定的IIS漏洞,在这种情况下,可以构建一个模拟MicrosoftIISWeb服务器的Honeypot,将所模拟的IISweb服务器定制为蠕虫正在寻找的功能和行为,在有HTTP请求时,为攻击者提供一个实际的Web服务器进行交互。这里只有一个模拟的应用程序,并没有为攻击者提供真实的操作系统进行交互。交互程度的提高,必然带来出错风险的增加,因此必须要有相应机制限制攻击者的行为,防止其夺取实际操作系统的控制权。与低交互度Honeypot相比,部署和维护中交互度Honeypot是一个更为复杂的过程。在对其进行安全检查的时候要非常细心,要保证所有的诱骗进程尽可能安全。要开发一个中交互度Honeypot也是比较复杂的,还会花去开发者很多时间。开发中交互度Honeypot必须详细的了解各种协议和服务,对其中的交互过程非常熟悉,这样才能保证虚拟的进程能尽可能真实的模拟出原服务进程的行为。 北京邮电大学硕士毕业论文第二章蜜罐系统概述●高交互性蜜罐高交互度Honeypot的目的是提供给攻击者实际操作系统的访问权,在这种环境下没有任何东西是模拟或者是受限的。随着交互程度的提高,风险性也必随之增加。与此同时,Honeypot系统收集信息的能力和吸引攻击的能力也提高许多,我们可以发现新的工具、识别出操作系统或者应用程序的新漏洞以及黑客间的通信方式,这使得高交互度Honeypot成为了一种极为强大的武器。该类Honeypot结构如图2.3所示。图2-3高交互Honeypot系统结构攻击者在进入高交互度Honeypot后,会使用各种工具和技术对系统进行破坏,以取得更高的权限。当攻击者获得root权限时,Honeypot系统己经不再安全了,整个计算机也可能不再安全,会对其他系统产生威胁。最为常见的高交互度Honeypot往往会被放置在一种受控的网络环境之中,比如说置于一个防火墙之后。防火墙允许攻击者攻破位于其后的某个Honeypot系统,却不允许攻击者使用该Honeypot启动对外的攻击。这种架构的部署和维护都是十分复杂的,尤其是当我们不想攻击者意识到自己正处于被监视和受控状态时,我们需要做很多的工作以构建一个具有恰当规则的防火墙。由于涉及到众多的控制机制,高交互的Hnoeypot的安装和配置是极为困难和耗时的。其中涉及大量不同的技术,如防火墙或入侵检测系统。所有的这些技术都需要针对高交互Honeypot加以恰当的配置,要对防火墙规则库及IDS的特征库进行更新。与这种复杂性相伴的还有高级别的风险。为攻击者提供的交互越多,出错的地方就会越多。不过,如果高交互度Honeypot得到了正确的实现, 北京邮电大学硕士毕业论文就能够洞察到其他Honeypot所无法察觉的攻击。2.4优缺点第二章蜜罐系统概述●蜜罐技术的优点1)数据价值。当前,众多的安全组织所面临的一个挑战就是如何从收集到的数据中获得有价值的信息,他们每天都收集大量的数据,包括防火墙日志、系统日志和入侵检测系统所发的告警信息。这些数据的量是庞大的,从中提出有价值的信息是非常困难的。另一方面,Honeypot收集的数据量很少,但是含金量高,Honeypot的概念决定了可以将噪音降到最低(Honeypot没有任何承担实际作用的功能,任何对他的访问都是非法、可疑的)。大多数Honeypot每天收集几兆字节的数据,甚至更少,而不是的数GB的数据.而这些数据记录都有可能是一次扫描、探测、攻击,极具价值。Hoenypot能以快捷易懂的格式提供所需的信息。这就大大简化了分析,提高了响应速度。例如,HoneynetProje盼一研究Honeypot的非官方组织,每天收集到的数据不到1M。虽然数据量很小,却很好的涵盖了可疑的行为。这些数据可以用来做统计模型、趋势分析、检测攻击甚至研究攻击者.这如同将你所捕获的数据放在显微镜下做更详细的审查分析。2)资源。大多数安全组织所面临的另一个难题就是资源的限制,甚至是资源的耗尽。当资源过度使用就意味着安全措施失去作用。例如,当防火墙的连接表满的时候,它就无法继续监视连接,会强迫防火墙阻断所有的连接,而不仅仅是非法的连接。一个入侵检测系统(IDS)可能要对大量的网络活动进行监视,有可能是每秒数百兆字节的数据。在这种情况下,IDS探测器的缓冲区可能就会被填满,就会造成丢包的现象,从而可能错过对攻击的检测。Honeypot只对很少的针对其本身的活动进行捕获和监视,通常不会出现资源耗尽的情况的,也不会受到网络流量的影响。Honeypot有限性的资源需求使得不必投入大量的资金。Honeypot相对于防火墙、IDS这些安全工具来说,它不需要最新的尖端技术、高容量RAM或高速CPU。可以使用一些已经被淘汰的计算机作来部署Honeypot。这就意味着Honeypot不仅可以部署在千兆网络中,而且可以是一台相对便宜的机器。3)简单性。简单性是Hoenypot的一个最大优点,无需要开发新奇的算法,无需维护特征库,不会出现错误配置的规则库。只需把Honeypot放在网络中,就可以静观其变。当然,对于高交互Honeypot可能较为复杂,它们本身需要和攻击者进行交互。但都基于同样的工作原理:监视进入系统的一切活动。正如那些经验丰富的安全专家们所说的那样,越是简单的概念,就越可靠。复杂度越大也就意味着配置不当、失败的机会也越大。 北京邮电大学硕士毕业论文第二章蜜罐系统概述·蜜罐技术的缺点Hoenypot有这些优点,你也许认为Honeypot会是最终的安全解决方案。但情况并非如此,它也有缺点。正是因为这些缺点,Honeypot并不能取代其他的安全机制,它只能够用来加强你的安全架构。1)视野狭窄。Honeypot的最大缺点就是视野狭窄,它只能监测针对它的活动。如果攻击者闯入网络攻击多个系统,但由于没有直接攻击Honeypot,那么Honeypot不会发现这些攻击。如果攻击者发现网络中的Honeypot,就会避开该系统渗入到网络中,而Hone)pot却不会知道。正如前文所提到的,Honeypot对收集数据的价值有一种显微效应,是我们更关注当前数据,而对于视线之外的数据就会被忽略。2)指纹识别。指纹识别是Hoenypot另外一个缺点,尤其是许多商用版本。指纹识别是指因为Honeypot会有一些特定的预期特征和行为,会被攻击者识别出真实身份。例如,Honeypot模拟W曲服务器。当攻击者连接到这样的w.eb服务器时,正常的Web服务器应该回送一个用标准HTML语言写的错误标记。但是Honeypot本身有一个错误,例如将“1engm’饼成“legnht’’。这个错误对Honeypot来说就是指纹,攻击者能够迅速的辨别出真实身份。如果黑客发现某个组织在内网中使用Honeypot,他就有可以利用其他系统进行身份欺骗并对某个Honeypot发动攻击。Honeypot检测到这种攻击后,不断向管理员发送内部系统正在攻击的错误信息,导致混乱。而攻击者则会乘机进行实际攻击。指纹对研究性Hnoeypot来说其风险更大。一个收集信息的Honeypot在被发现之后会被破坏。攻击者会发送大量的虚假的信息到这个Honeypot以避免受到检测。这些虚假的信息会导致安全研究组织对黑客做出错误的结论。当然,这并不是说所有的Honeypot都不希望被发现,有些Honeypot起到恐吓或迷惑攻击者的作用。一旦Honeypot遭受到攻击被暴露,它就会警告攻击者以吓退攻击者。然而,大多数的Honeypot不希望被探测到。3)风险。Hoenypot的出现也将风险带入到网络中。这是指一旦Hnoeypot被攻陷,它有可能就被攻击者利用作为攻击、渗透甚至危害其他系统。不同级别的Honeypot会有不同的风险。有的Honeypot风险很低,而有的则可能提供整个平台让攻击者启动新的攻击。例如,仅模拟几个服务的Honeypot就很难被用来攻击其他系统。与此相对,如果一个Honeypot就是一个缺省配置得操作系统,攻击者就有可能利用Honeypot向其他的系统或组织发动主动或被动式攻击。风险是可变的,取决于你如何构建和部署Honeypot。 北京邮电大学硕士毕业论文第三章诱骗网络技术分析本章对当前普遍采用的三种类型的诱骗网络技术进行了分析,并着重讨论了Honeynet技术。3.1模拟服务模拟服务是指在特定m服务器端口上侦听并像其他应用程序那样对各种网络请求进行应答的应用程序。例如,可以将蜜罐配置为Sendmail服务的模式。当黑客连接到蜜罐的TCP/25端口时,就会收到一个由蜜罐发出的代表Sendmail版本号的标识。如果黑客认为模拟服务就是他要攻击的Sendmail,他就会采用攻击Sen&nail服务的方式进入系统。此时,系统管理员便可以记录攻击的细节,并采取相应的措施及时保护网络中实际运行着Sendmail的系统。日志记录也会提交给产品厂商、CERT或法律执行部门进行核查,以便对产品进行改进并提供相应的证据。蜜罐的模拟服务需要精心配置和设计,首先,想要将服务模拟得足以让黑客相信是一件非常困难的事情。比如,黑客可能用各种不同的电子邮件地址来检验预期的响应,还可能用一系列控制命令进行检验。如果模拟服务有能力通过这些来自黑客的预先测定,他们才有可能进入蜜罐设定的陷阱并进行攻击行为。另一个问题是模拟服务只能收集有限的信息。管理员可以发现初始的攻击,比如试图获得机器的根目录访问权限,但是系统管理员可以获得的信息仅此而己。黑客是否成功地完成了攻击行为,对用户来说才是更加有用的信息。成功的攻击行为可能为系统管理员提供其他有用信息,比如黑客身份的线索或者黑客使用的工具等。因为模拟服务不允许黑客访问蜜罐机器本身,所以它不可能收集到更多的有用信息。从理论上讲,模拟服务本身可以在一定程度上允许黑客访问系统,但是这样会带来一定的风险,如果系统记录所有蜜罐本身的日志记录,而黑客找到了攻击模拟服务的方法,蜜罐就陷入失控状态,黑客可以闯入系统将所有攻击的证据销毁,这显然是很糟糕的。更糟的是蜜罐还有可能成为黑客攻击其他系统的工具。3.2用户模式服务器将蜜罐配置为用户模式服务器是相对较新的观点。用户模式服务器是一个用 北京邮la★学硕士毕业论文第=章诱骗月络技术分析户进程,它运行在主机上,并模拟成一个功能健全的操作系统,类似于用户通常使用的台式电脑操作系统。在用户的台式电脑中,用户可以同时运行文字处理器、电子数据表和电子邮件应用程序。将每个应用程序当作一个具有独立m地址的操作系统和服务的特定实例,简单地说,就是用一个用户进程来虚拟一个服务器,这个概念很容易理解。用户模式服务器是一个功能健全的服务器,嵌套在主机操作系统的应用程序空间中。因特网用户向用户模式服务器的IP地址发送请求,主机会接受该请求并将它转发给适当的虚拟机实例。图3-1用户模式膻务器配王的网络嘬象”如图3一l所示的是用户模式服务器配置的网络“假象”。对于因特网上的用户来说,用户模式主机看似一个路由器和防火墙。每个用户模式服务器都看似是一个独立运行在路由器或防火墙后子网内的主机。由于主机运行在防火墙内受到保护非常正常,所以运用这种配置方式对付准黑客非常有效。这仅仅是用户模式服务器的执行方式之一,还有其他可能的方式,比如运用地址解析协议(A∽,让用户摸式主机和服务器看似都连接在同一个逻辑网段上,于是系统管理员可以将自己的蜜罐隐藏在具有真实系统的网段中。用户模式服务器的执行取决于黑客受骗的程度。如果适当配置,黑客几乎无法察觉他们链接的是用户模式服务器而不是真J下的目标主机,也就不会得知自己的行为己经被记录下来。用户模式蜜罐的优点是它仅仅是一个普通的用户进程,这就意味着黑客如果想控制机器,就必须首先冲破用户模式服务器,再找到攻陷主机系统的有效方法。这保证了系统管理员可以在面对强大对手的同时依然保持对系统的控制,同时也 北京邮电大学硕士毕业论文第三章诱骗网络技术分析为取证提供证据。因为每个用户模式服务器都是一个定位在主机系统上的单个文件,如果要清除被入侵者攻陷的蜜罐,只需关闭主机上的用户模式服务器进程并激活一个新的进程即可。进行取证时,只需将用户模式服务器文件传送到另一台计算机,激活该文件,登录并调试该文件系统。在对蜜罐的配置时,用户模式服务器的另一个优点就变得非常明显。为了完全地记录和控制入侵蜜罐系统的黑客,可以将系统配置为防火墙、入侵检测系统和远程登录服务器。但是这需要多个服务器和网络硬件以连接所有的组成部分。如果使用用户模式配置,所有的组成部分都可以在一台单独的主机中配置完成。用户模式服务器最大的缺点是不适用于所有的操作系统。为了创建用户模式服务器,用户必须启动一个常规的操作系统,并将用户模式服务器作为用户应用程序运行。现在只有Linux和NT的用户模式服务器,并无HPUX或AIX操作系统的用户模式服务器,这就严格限制了用户配置蜜罐时所使用的操作系统,不过,这个问题可以在不久的将来得到解决。3.3Honeynet技术Honeynet组织称他们用来研究黑客活动的蜜罐系统为Honeynet。蜜网(Honeynet)是一种高交互性研究型蜜罐,不是单一的系统而是一种体系结构,这种结构构建一个高度受控的网络,网络内的所有活动都受到控制和监视。●第一代HoneynetGenIHonenyetE3】发展于1999年,其主要目的是为了捕获黑客的活动,但当时已经有了实现该目的的几个解决方案。然而,GenIHoneynet在两个方面胜过了大多数Honeypot方案。它能捕获大量的信息,并且能捕获到未知的攻击。GenIHoneynet是第一个真正的高交互Honeypot解决方案,它简单高效地实现了数据控制和数据捕获【2"3】两种基本功能。图3.2给出GenIHoneynet拓朴:(1)数据控制GenIHoneynet使用的数据控制方法相当简单,其目的就是减少风险并控制被攻陷的Hone)pot的向外连接活动。早期Hone)pot设计允许少量或禁止任何外连数据包。这样攻击者往往进入Honeynet系统后很容易发现系统异常,就可能立刻发动恶意攻击,如删除所有数据或引入错误信息,然后溜之大吉。必须在Honeynet前端放置一个防火墙捕获进出的所有连接,防火墙允许任何进入连接,但控制外出连接。防火墙对Hone)pot机器外发的每一个连接计算数量并进行跟踪。防火墙只计算最新启动的连接而不是计算数据包。因此,一个下载2GB文件的外出FTP连接被认为是一个连接,而一个被攻陷的Hone)pot浏览了10个不同的网页则被认为是10个不同的连接。外出连接的数目取决于想了解多少信 北京邮№★学硕士毕业论Z第!章诱骗嘲络技术H析息以及能承担多大的风险。研究表明,允许外发连接数设定为5至10比较合适,给攻击者很大灵活性。他们可以启动外出连接来下载工具包或建立IRC通信。同时,这个连接数目也起到了足够的限制作用,可以阻断大多数攻击,如拒绝服务和扫描等。图3-2GeMHoneynet体系结构数据控制具备两层控制。这种冗余机制保证了不会存在单点故障。两层控制也使Honoynot能为与攻击者更多的交互。通常防火墙作为第一层控制,第二层就是放置在防火墙于Honeynet间的路由器。路由器的放置,是对攻击者屏蔽防火墙。攻击者在攻入Honeynet后会查看外发的路由,放置路由器更接近真实的网络环境,而攻击者看不到控制他们的防火墙。路由器可以作为对防火墙访问控制的补充。进出Honeynet的数据包都必须经由防火墙的过滤,路由器进行补充过滤,以保证没有启动外出欺骗攻击。还可咀用来阻断最常用的用于扫描或攻击的端口。路由器也可以切断那些难以维持其状态的地流量,如ICMP。数据控制能够对违背数据控制的要求发出警报。比如,在有入境的连接时,就有报警。因为入境连接就意味着有探测、扫描甚至攻击行为的发生。(2)数据捕获数据捕获的目的是在不让攻击者发现的情况下,捕获尽可能多的数据。为了实现这个目的,应该尽可能对系统不进行修改或者尽可能少。另外,捕获到的数据不能存储在Honeypot主机上,否则很可能会被攻击者发现,使其明白自己所处的环境。攻击者可能破坏或者删除系统日志。应对这些挑战的关键就是分层捕获数据。通过多层的数据捕获使数据尽可能地完整和安全,从而能为网络安全人员更清晰的剖析攻击者的手段。 北京邮电大学硕士毕业论文第三章诱骗网络技术分析第一层数据捕获机制是防火墙。防火墙不但具有重要的数据控制功能,还可以很好的捕获所有出、入的数据,并及时发出报警信息。因为所有的流量都必须经过防火墙,而黑客并没有发现防火墙的存在。防火墙记录的主要是包头信息,如攻击的日期/时间、源和目的P地址及源和目的端口。防火墙记录对于发现新攻击或在扫描过程中改变扫描走向非常有用。第二层数据捕获是入侵检测系统(IDS)。它有两个作用,首先是捕获所有的网络活动,捕获并记录每一个数据包。这不仅使得Honeynet能在网络层对攻击进行分析,而且可以捕获击键行为、工具包,甚至黑客间的通信。其次,IDS还能在发现可疑行为的时候报警。IDS具有入侵特征库,当网络数据包中的特征字与库中某一入侵项目符合的时候产生报警。此外,IDS系统可以提供特定连接的详细信息,通过这些信息可以知道攻击者入侵系统的细节。第三层数据捕获是Honeynet系统本身自带的日志功能。为了保证实时记录入侵行为,并且记录文件不被破坏,首先需要考虑的是不仅实现本机日志,而且应该在远程日志服务器上进行远程日志功能。UNIX系统和大多数网络设备,可以通过syslog服务器的日志配置文件中添加一条登陆入El来配置远程日志。而在WINDOWS系统上,一般还需要借助第三方的远程日志记录工具。如果syslog功能不能实现,日志文件也可以写入NFS或者SMB共享区。一般对这些日志进程不需要进行隐藏,因为黑客进入系统后,如果发现日志记录,最多能够停掉日志进程,这也是他们的“标准’’做法。虽然这样无法进一步记录入侵举动,但是至少他们停掉日志进程前的入侵信息都已经被记录在案了。高级黑客可能尝试登录远程日志服务器,破坏系统来掩盖踪迹。而黑客对于日志服务器所作的一举一动正是我们所要捕捉的。syslog服务器是一个比较安全的系统,对黑客而言,控制这样一个系统需要更高超的技术,而这也正是我们要学习的。即使syslog服务器被破坏,影响并不大。因为IDS已经被动的捕获并记录了网上发生的一切活动。这里IDS实际上又反过来充当了第二重的远程备份系统,进一步确保了日志记录的完整性。还可以通过修改系统来捕获黑客的击键行为、屏幕活动并远程转发该数据。比如修改系统内核,采用修改过的增强bash程序来替代系统原有/bin/bash程序,以便捕获击键序列并且进行远程日志传输。或者通过改进后的”吖Watcher内核模块记录黑客击键及其11Ⅳ屏幕显示,并采用非标准的TCP连接发送远程日志。总之,将防火墙、IDS和系统日志结合起来可以捕获网络活动、系统活动、应用活动和用户活动。防火墙和IDS在网络层进行捕获,日志服务器远程记录系统和应用活动。三重日志保护措施充分体现了基于网络的信息收集策略,互为补充,为Honeynet提供了安全强大的数据捕获功能。 北京自盹^学碰±毕业避女第三章诱骗阐络技术分析●第二代HoneynetGellllHoneyaetl4)是为了解决GenlHoneynet中存在的各种问题而提出的。第二代Honeynet更容易部署,增加了系统安全性。在体系结构上,Genii将DS和防火墙的功能集合起来形成了一个称为Honvywall的蜜网网关。Honvywall是~个对黑客不可见的链路层桥接设备,作为Honeynet与其他网络的唯一连接点,所有流八流出Honeynet的网络流量都将通过Honoywall.并受其控制和审计,在单一网关设备上就可实现对全部数据的控制和捕获。由于HoneywaU是一个工作在链路层的桥接设备,没有包路由.没有T1L递减,也没有MAC地址。因此Honvywall对黑客而言是完全不可见的,因此黑客不会发现Horteynvt的存在。图3-3给出了第二代Honeynet一般网络拓扑实现。歹百丁。鬻j。。繁‰。嚣i.。田3-3GenIIlloneynet体系蛄构(1)数据控制方面的改进Genii数据控制采用IDs网关技术,而不是依赖防火墙,结合IDS的特征数据库可咀区分恶意攻击和合法行为。首先,利用了IDS网关来检测未授权活动。不仅仅计算外出连接数目来追踪入侵者的外连行为,还通过追踪分析入侵者行为内容和目的来鉴别控制攻击行为,更加智能化。例如,允许攻击者外出FTP请求连接达到lo个。但是如果发现他们企图对Honeynet之外系统进行FrP攻击,Honeynet将对这些行为进行限制。其次,Genii加强了对非法活动的响应措施。 北京邮电大学硕士毕业论文第三章诱骗网络技术分析不再是简单地封锁外出非法连接,Genii能够在网关上修改数据包内容来迷惑入侵者,外发攻击虽然能够通过Honeynet,但却不会生效,黑客很难发现。还可以修改黑客惯用的漏洞利用程序代码中的几位,使攻击功能失效。这种攻击可以继续,但已没有危害了.攻击者可以看到攻击成功并且有返回数据包,却不会明白攻击为何失效。通过这种响应措施,就可以更好的控制入侵者行为并且不被察觉。Genii网关还可以产生虚假响应,如在切断整个连接时,向攻击者返回RST数据包以伪造一次失败的连接。(2)数据捕获方面的改进类似于数据控制,GeniiHoneyent也提高了数据捕获能力。GenI中大部分数据是通过在网络层防火墙和数据链路层上嗅探器捕获的。然而现在大多数攻击者常使用SSH等加密技术,大大削弱了Honeynet的网络数据收集功能。Genii通过在系统内核空间捕获数据来解决这些难题,不必考虑入侵者采用何种通信方式,比如SSH、SSL或IPSec等,照样能够捕获这几类加密通信。对于捕获的数据,如何进行远程日志非常重要。一种是通过串行电缆,但要求Honeynet中每个Honeypot都配备一条串行电缆;另一种好方法是使用Honeynet自身来转移数据,即将捕获的各种入侵行为信息封装成某种形式的数据包在Honeynet中进行传输,由Genl网关被动地嗅探并重组这些数据包。由于这些数据包具有网络其它系统的正常数据包同样的特征,攻击者很难知道这些数据包是日志信息。例如,击键序列可以封装成具有源口和MAC地址的NETBIOS广播数据包中,就像来自于其它Windows服务器一样。也可以利用NTP、DNS或IPX等协议来封装数据包。同样也可以加密发送。最好是根据捕获的信息随机地产生并向网络发送。攻击者可以探测到这些数据包,却不知道这些数据包的内容信息。这种方法易于配置,只需向Honeypot中安装一个内核程序,且安全性好,并修改网关上的嗅探器配置。(3)数据收集与GenI相比,Genii是面向分布式环境设计开发的,在该环境中,多个Honeynet由一个组织控制,因此必须考虑到数据收集的问题。对于单个Honeynet部署,数据收集发生在Honcynet本身或管理网络中。然而,对于分布式部署,必须有对系统进行远程管理和采集所捕获数据的方法。数据收集关键是要保证信息以一种安全的方式采集,数据收集的重点在于必须保证信息的完整性、真实性和保密性。这意味着必须采取某些加密措施,如从每个分布式Honeynet到中央位置点的Ipsec隧道。加密保证传送的数据不会被篡改,每个Honeynet都要向中央服务器验证身份,并且要保证没有第三方能够看到这些数据。在图2.5中,在Hone)net的HoneywaU上有第三个网络接口eth2,该接口专用于数据收集和远程 北京邮电大学硕士毕业论文第三章诱骗网络技术分析管理。通过该接口,所有的数据都可以远程发送给中央采集点,并实现对所有分布式Honeynet的管理。数据收集的另一个关键是对发送数据的格式标准化。这保证了从不同组织的Honeynet采集到的数据能够简单地实现共享和聚合。HoneynetProject制定的“Honeynet定义、需求和标准"文档规定了采集数据的格式,从而保证了Honeynet能方便地共享所捕获的信息。·第三代HoneynetGenlIIHoneynet的体系结构【5l与GeniiHone)net没有什么区别,只是基于GeniiHoneynet的数据控制和数据捕捌6】这个核心的基础上做了很大的改进。在数据控制方面,GerdIIHoneynet在防火墙规则内容上做了改进,主要是增加了黑名单、白名单、防护名单(fencelist)功能。防火墙对源地址或者目的地址属于黑名单的主机,将丢弃所有的数据包,并不做任何日志记录,这个功能在使用者不希望蜜网被利用来攻击某些主机或者不放心来自某些地址的主机时非常的有用;对于源地址或者目的地址属于白名单的主机,防火墙将接受这些连接但并不做日志记录,当使用者有可能利用某些主机来连接蜜网里面的蜜网主机时,这个功能就可以派上用场了;防火墙则不允许蜜罐连往属于防护名单内的主机(即网络连接中目的地址属于防护名单内的主机),这样可以禁止蜜罐访问某些不希望被访问道的主机。甚至有可以不让蜜罐有对外的任何连接功能。在数据捕获方面,防火墙的记录形式没有变化;嗅探器则记录所有的网络流,以pcap格式存储,在GeniiHoneynet中,用snort实现嗅探器功能,在GenIIIHoneyne中,则用系统命令tcpdump实现嗅探功能;sebek记录所有的系统活动,在GeniiHoneynet中,它只记录通过系统调用一read读取得数据,例如终端读取、网络端口读取。在GerdIIHone)met中,sebek做了很大的改进【7】,它不仅记录通过系统调用一rcad读取得数据,也记录读取数据的进程号、进程的调用次序、与网络流相关进程等信息。 北京邮电大学硕士毕业论文4.1课题目标第四章需求分析与总体设计本课题的目标是通过对现有蜜罐系统理论进行系统的研究和学习,基于第三代蜜网技术配置和实现一个网络攻防演示实验系统中的蜜网系统。通过数据融合与分析视图的设计与实现,以B/S的模式展示攻击过程,重构攻击拓扑和攻击场景,提供全面而详细的信息。最后,结合攻防演示实验系统中的攻击平台对系统的主要功能进行测试并给出测试结果。4.2需求分析4.2.1网络架构目前网络安全等方面的科学研究工作主要依赖于单机仿真或小系统模拟网络仿真,在网络安全问题呈现出规模化、立体化、复杂化发展趋势的今天,越来越难以满足网络安全科学实验的需要,尤其是针对大规模网络安全技术研究和实验的需要。通过前两章对蜜罐、蜜网技术的研究,可以得到蜜网如下的特点:1)有机性蜜网是一种蜜罐,但它跟普通蜜罐有着很大的区别:普通的蜜罐都是一台机器,但是蜜网则是一个有机网络,一般来说由数台电脑组成(除了在一台电脑上通过虚拟机来模拟数台电脑的情况),并配以各种必要的软、硬件,使它看起来像是一个真实的产品系统网络,这个“产品系统"网络包括各种服务和操作系统,这里的服务可以包括Http、FTP、DNS等服务,而操作系统则可以包括Windows、Linux、Solaris等流行系统。所以,我们更愿意称蜜网为一个体系结构,或者说是一个解决方案。2)高交互性说它具有高交互性是相对于DTK,Honeyd等低交互性的蜜罐来说的,DTK、Honeyd等低交互性蜜罐通过模拟服务和操作系统,而不真正的装上真实的服务 北京邮电大学硕士毕业论文第四章需求分析与总体设计和操作系统来捕获攻击行动记录,而蜜网则通过各种真实的服务和操作系统来提供“服务"以获取攻击者行动记录,攻击者面对的是~个完整的“产品系统"网络,而不是虚拟的网络。3)低风险高收益在这个网络内安装有各种数据控制工具,把攻击者的行为控制在允许的范围内,但又保证不让攻击者知道他的行为已经受到到监视和约束,这样就让部署者轻松的获取了攻击者的攻击信息。一旦攻击者的行为的后果超出了部署者可承受的范围内之后,可以马上中断联接。由于这个网络不是一个真实的产品系统网络,即使蜜网受到破坏,部署者最大的损失至多是重装系统而已。由于蜜网的特殊性质,任何对蜜网网络的连接基本上都是可疑的探测、扫描等攻击行为;任何从蜜网网络出去的链接都意味着网络内某主机已经遭到攻陷,因此,网络内的任何活动,均是有价值的、值得部署者关注的信息。4)数据的全面性数据捕获是对攻击者所有行为的监控和记录。正是根据这些数据来分析研究攻击行为的。捕获数据的层次越多,得到的数据越完整,将这些层次的数据综合起来,就可以得到一个比较完整的攻击行为轮廓。在蜜网中,有多层次的数据捕获机制,为分析攻击行为提供全面的数据。所以,蜜网的特点非常适合作为网络攻防演示系统中被攻击的目标网络,在高度受控的网络中,捕获真实的网络流量、用户行为和攻击行为,为下一步进行数据的融合与关联分析提供丰富的素材。蜜网实现的难点在于配置,若配置失误,则可能无法捕获攻击者的行为,还可能把其它蜜网以外的系统暴露在更大的风险之下。成功配置蜜网有两个关键需求:数据控制和数据捕获。·数据控制是在攻击者不知情的情形下,限定了攻击者与蜜网的交互活动,即规定攻击者可以做什么、不可以做什么。·数据捕获是在攻击者不知情的情况下,利用全面的捕获机制,捕获攻击者在蜜网内的所有活动。4.2.2数据分析视图利用蜜网全面的数据捕获机制捕获各种攻击信息,然后以图形化、用户易于理解的形式对捕获到的数据进行融合和关联分析,这就需要数据分析视图的设计和实现,数据分析视图需要完成以下功能:·重构攻击拓扑和攻击场景,给用户以直观的印象。·融合全面的信息,让用户从各个侧面了解攻击。 北京邮电太学碗±毕业论文第四章需求分析与总体口*●结合攻防演示实验系统中的攻击平台对攻击进行展示。4.3总体方案设计本课题主要是通过对蜜网捕获的攻击数据进行融台与关联分析,以达到对攻击进行展示的目的。系统的总体结构如图4.1所示:,二:习£=蔓傀儡±机!H图4-I系统框图用户通过攻击管理平台选择攻击种类,通过傀儡主机或集成在WEB服务器上的攻击工具对蜜网中的蜜罐主机发起攻击.同时填写本次攻击的任务单。蜜网利用其全面的捕获机制将捕获的攻击信息存入数据库。最后,将WEB服务器上的任务单和蜜网网关上的数据库中的信息进行综台分析,生成数据分析视图向用户展示攻击信息。承。辩 北京∞电太学颈±毕业论文5.1体系结构第j章月路颦构的设计与配置实现第五章网络架构的设计与配置实现在部署蜜网体系结构时并没有简单的规则可以套用,其中的细节和技术都由实际需要决定。本文研究的蜜网体系结构如下所示:田5-1蜜网体秉结构多台蜜罐主机构成蜜两,并通过一个以桥接模式部署的蜜网网关(Honeywall)与外部网络连接。5.1.1蜜冈网关蜜网网关是蜜网的一个关键组件,由它将提供给攻击者攻击的蜜网与其它运营系统隔离开来,相当于一堵墙,因此被称为蜜墙。所有进入或离开蜜网的通信都必须经过蜜墙,因此蜜墙成为蜜网的指挥和控制中心,许多功能都是在它上面构建的。网关蜜墙是一个工作在数据链路层的网桥,它的外部接口(eht0)与营运系统网络相连,内部接12(ehtl)与蜜网网络相连,由于这个网关是一个网桥,因此内外系统在同~个IP网络上。网关的第3个接口旧h2佣于远程管理,Wob服务器通过这个接口访问蜜墙上的数据库。网关的内外接口(eth0和ethl)工作在网 北京邮电大学硕士毕业论文第五章网络架构的设计与配置实现桥模式,因此没有IP地址,第3个接H(eth2)分配有IP堆栈,是个独立、安全的网址,只用于管理目的。这种结构的优点在于:由于网关没有路由跳跃点、没有11.L开销、也没有与其绑定的MAC地址,因此很难被探测到;而且可以在这个单一的网关上同时实现数据控制和捕获,从而简化了Honeynet的配置。由于网关工作在第二层,因此构建蜜网网关的Linux系统和其中的防火墙IPTablcs都必须工作在桥接模式(BridgeMode)。目前大多数Linux系统,都可以工作在桥接模式,但是IPTables只有在内核版本>=2.4.26的系统中才可以在桥接模式下工作。对于小于2.4.26的内核版本,需要对其打补丁并重新编译,以使IPTablcs可以在桥接模式下对进出Honeynet的连接进行控制和记录。5.1.2蜜罐主机没有利用虚拟技术的蜜罐很容易设置,相关软件可以安装在任何一个操作系统上,没有限制。这种系统也存在几个缺陷,其中最严重的限制就是在同一时刻,只能有一个操作系统在一台机器上运行,这就没有更好的利用商业资源。一个系统遭受破坏之后,即使是在作了备份的情况下,重新在其上安装蜜罐系统也是有问题的,至少是费时的。虚拟技术给蜜罐系统提供了广泛的机会。采用宿主操作系统和虚拟技术,客操作系统可以呈现出完全不同的特性。不同的客操作系统可以和宿主操作系统以桥接方式构成一个网络。虚拟主机的最大缺陷就是存在指纹,这样攻击者就能探测到他所攻击的不是个正常的系统。但是这个缺陷正在逐步消失,随着越来越多的ISP服务商采用虚拟技术来提高他们服务器的使用效率,攻击者也就不能明确的确认他所攻击的虚拟系统就是蜜罐系统。本文蜜网内的蜜罐主机采用物理蜜罐和虚拟技术实现的用户模式服务器相结合的方式,有效地节省了物理主机的数量,在蜜罐上根据攻击平台的需求安装不同版本的Windows、Linux操作系统,并开启或搭建所需要的应用服务。5.1.3Web服务器目前存在有很多的操作系统适合作数据分析系统的平台,如UNIX/Linux、Windows2003等。但是在目前的试验阶段,我们选择Linux作为服务器操作系统。Linux是一个可以在386/486/PentiumPC机上运行的类UNIX系统。从90年代初起源到现在,Linux可以说是目前发展最迅速的操作系统之一。它以网络功能强大,运行稳定,操作自由以及免费而著称,现在经常被用于需要稳健、良好的操作系统的场合。 北京邮电大学硕士毕业论文第五章网络架构的设计与配置实现另外,我们用Apachetomcat作为我们分析系统运行的Web服务器。Apache和Linux一样。也是一个功能强大的自由软件,应用广泛,性能稳定,与Linux系统具有良好的兼容性。它通过Eth2访问网关上的数据库,以读取蜜网捕获的数据。5.2数据控制机制本蜜网使用两种技术来实现数据控制:连接限制和NIPS(网络入侵防护系统)。这两种技术都在网关上进行实现。5.2.1连接限制连接限制计算从Honeynet向外发出的连接数目,当达到限制数时,就阻断后继的所有连接,这是减少那些需要大量外出连接的攻击活动的首要方法,如大规模的扫描、拒绝服务等。使用脚本rc.ftrewall配置IPTables,来实现连接控制。Rc.firewall脚本是由Honeynet项目组开发的用于Linux系统的防火墙控制脚本。它使用LinuxShell脚本语言编写,由一系列IPTables控制链组成。它可以使IPTables工作在“NATMODE"(地址转换模式)和“BRIDGEMODE”(桥接模式),能够分别对TCP,UDP,ICMP和其它协议的连接进行控制。我们通过对rc.firewall中的参数进行定制,并以它作为防火墙“配置文件"(事实上它是一个Shell脚本,在实际操作中我们是通过执行它来改变防火墙对连接的控制)来启动IPTables,使防火墙在桥接模式实现对进出蜜罐网络的连接的控制。首先我们需要在rc.firewaU中配置IPTables为桥接模式,即使MODE=“bridge’’有效。如下:#TheModevariabletellsthescripttosetupabridgeHoneywall#oranatingHoneywall.#MODE="nat"’MODE=’"oridge”撑使桥接模式有效然后对蜜罐机P地址、网络接口以及允许向Intemet发起的连接数进行设置。如下所示,其中“口”中的内容是需要用相应的数值进行替换的参数。舣spacedelimitedlistofhoneypotsIPs(pulicIP)#Ifyouarein‘"bridge”mode,thisisthelistofyour#honeypotIPsthatwillbebehindthebridge.Ifyouare#in‘"nat"’mode,thisisthelistofpublicIpsyouwill#beusingforIPaddresstranslation.一2S. 北京邮电大学硕士毕业论文第五章网络架构的设计与配置实现PUBLIC_IP=”[HPT_IP】,,撑蜜罐主机口地址列表#Variableforexternalnetwork1NET_IFACE="’[EXTERNAL_ETH]’’#eth0#VariableforinternalnetworkINET_IFACE="’[INTERNALETH]’’#eth】#Honeywall网关连接Intenet的接121#HoneywaU网关连接蜜罐网络的接口LAN_BCAST_ADDRESS="’[HPTBRDCST]”挣蜜罐网络的广播地址挣Settheconnectionoutboundlimitsfordifferentprotocols.SCALE="’day"’群以天为单位对连接进行计数TCPRATE="’10"样允许每天向Intenret发起10次TCP连接UDP黜删’15”撑允许每天向Intenret发起15次UCP连接ICMPRATE="25”撑允许每天向Intenret发起25次ICMP连接OTHERRATE="’10”撑允许每天向Intenret发起10次其它类型连接我们允许所有由Intenret向蜜罐网络发起的连接,这是我们系统的需要;而限制由蜜罐网络向Internet发起的连接数,以此来防止其中的蜜罐机被黑客作为跳板来发起对Internet中其它应用系统的攻击。以TCP协议为例,配置脚本如下:#InboundTCP(1)iptables-AFORWARD-i$INET_IFACE呻tep-mstate-stateNEW-jLOG—log-prefix“INBOUNDTCP:’’iptables-AFORWARD-i$INET_IFACE--ptep---mstate··-·stateNEW-jACCEPT#OutboundTCP(2)forhostin${PUBLICIP};doiptables-AFORWARD-ptep-i$INET_IFACE--Instate-··-stateNEW-mlimit—lirnit${TCPRATE}/${SCALE}一limit-burst${TCPRATE}--8${host}-jtcpHandleriptables-AFORWARD-ptep-i$INET_IFACE-mstate----stateNEW-mlimit—limit1/${SCALE}-limit-burst1--SS{host}-jLOG-log-prefix“DropTCPafter${TCPRATE}attempt"’iptables-AFORWARD-ptcp-i$INET_IFACE-mstate···-stateNEW--$${host}.26_ 北京邮电大学硕士毕业论文-jDROPdone第五章网络架构的设计与配置实现#ThedefinitionthetepHandler(3)iptables-AtcpHandler-jLOG-log-prefix‘‘OUTBOUNDCONNTCP:’’iptables-AtcpHandler-jACCEPT脚本(1)表示允许所有从“$INETIFACE“接口(即etaa0)进入的连接;脚本(2)表示对所有从“$LANIFACE”接口(即ethl)进入的,由“${host}“(即蜜罐机)发起的新连接数进行限制,允许每小时10次连接,一旦超过该限制,所有的连接被"DROP“(丢弃);脚本(3)是自行定义的IpTables链,用来对在连接数限制以内的tcp连接进行处理。5.2.2网络入侵防护系统若连接限制控制Honeynet每天最多可以向外发出10个TCP连接,那么当Hone)met感染蠕虫后,被允许的15个外出连接将感染Honeynet以外的系统,所以连接限制只能减少被感染的系统数目,必须要通过其它的机制阻断攻击,这就是NIPS。NIPS检查每个通过HoneywaU的数据包,如果发现某个数据包与IDS的一条检测规则匹配,就产生告警,并丢弃或修改这个数据包,从而阻止攻击,其功能与传统的NIDS(N络入侵检测系统)相似。NIPS可以大大减少入侵者利用Honeynet向外发出攻击的风险,但也有局限性,它只能检测到已知的攻击。在本文的实例中,使用一个修改版本的sno小—-snortMine来实现NIPS(Snort是一种NIDS,可以丢弃、修改数据包)。Snortinline工作在Honeywall上,是在网关模式下实现NIPS的,因此必须有数据包路由能力,但snortinline本身没有路由功能(即ipforward),需要其它的组件来为snortinline完成数据包的路由。路由功能由IPTables实现。配置IpTables完成以下功能:从内核堆栈获取数据包,提交给用户态下的snortinline进行分析,然后取得分析后的数据包,传递给内核,继续数据包的处理。IPTables的这种机制称为user-spacequeuing,要求内核必须装载并激活ip_queue模块,然后要在脚本rc.firewaU中允许“QUEUE"选项。#ipTablesscriptcanbeusedwitlltheSnort—InlinefilterQUEUE=’’yes’’#UseexperimentalQUEUEsupportSnortinline和IpTables的外出连接计数机制结合时,数据包先被计数,然后再被传递给snortinline分析。如图5.2所示: 北京邮电大学硕士毕业论文NETWORKIPTABLESIP_QUEUESNORTrNLINEIP_QUEUEⅡyrABLESNETWORK第五章网络架构的设计与配置实现图5-2Snort—inline体系结构下一步工作是配置snort—inline的规则集。Honeynet中使用snort—inline不是为了阻止所有的外出通信,仅是阻止外出的攻击,因此使用的规则集应该只含有已知的攻击规则,HoneynetProject提供了一个脚本snort—inline.conf,用于把标准的Snort规则转换为snoW-inline规则。5.3数据捕获机制数据捕获机制结合Argus、Snort、pof,Sebek、Net-Snmp等技术对攻击数据进行多层次的捕获:包括网络行为数据(网络流数据、入侵检测报警、操作系统信息)、系统行为数据(进程、命令、键击记录)、系统状态数据(内存占用率、CPU利用率、丢包率等)和网络原始数据包。以保证为进一步分析攻击行为提供全面而丰富的数据。具体捕获机制如下图所示: 北京邮电大学硕士毕业论文第五章网络架构的设计与配置实现蜜网5.3.1Argus流监控图5-3数据捕获机制Argus改进了收集网络流数据的能力。它使用libpcap收集规范的网络通信数据。并对其进行处理加工,从而创建一个导出数据源。不同于连接追踪日志。Argus收集的数据可以描述数据的数量和每个流的持续时间。5.3.2Snort入侵检测Snort是一种典型的NIDS。它耗费资源少,适用于多种平台,如Linux,Solaris,IRIX,HP.UX,windows等。Snort的工作原理为在基于共享网络上检测原始的网络传输数据,通过分析捕获的数据包,主要工作为匹配入侵行为的特征或者从网络活动的角度检测异常行为,进而采取入侵的预警或记录。就检测模式而言,Snort属于是误用检测(MisuseDetection)。从本质上来说,Snort是基于规则检测的入侵检测工具,即针对每一种入侵行为,都提炼出它的特征值并按照规范写成检验规则,从而形成一个规则数据库。其次将捕获得数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。Snort已经有了大约1000个特征策略,这些特征策略的规则很容易学习,根据它的规则很容易编写自己的特征策略。Snort对符合入侵检测特征的攻击数据包发出相应的报警信息。从而标识网络流中存在的攻击事件。Snort结合数据包中捕获的数据与Argus和pof数据所添加的部分。提供了一个更全面的事件表示。一、一,l≯;一;t| 北京邮电大学硕士毕业论文5.3.3pof被动操作系统识别第五章网络架构的设计与配置实现通过观察流入的数据包我们能做被动的指纹探测,在大多数情况下,这种方法并不像构造特定的包的主动指纹探测那么准确。但是通过观察大量的流入口包,我们就有可能发现标记操作系统类型的标记。因此通过被动的指纹探测来猜测攻击者的操作系统类型,需要我们花费更多的时间和足够的耐心。它的优点也是显而易见,就是不会被攻击者发现。其中最著名的当推pof了。pofI具是一个基于pcap的监控器,实现了被动操作系统指纹识别功能。它提供了评估操作系统的功能,能够根据监听到的网络流指纹特征来判断网络流源操作系统的类型。它是利用SYN数据包实现操作系统被动检测技术的。和nmap不同,它不向目标系统发送任何的数据,只是被动地接受来自目标系统的数据进行分析。因此,几乎无法被检测到。而且pof是专门系统识别工具,其指纹数据库非常详尽,更新也比较快。pof特别适合于安装在网关中。5.3A改进的Sebek捕获攻击者在Honeypot内的行为是最难实现的。多年以前,多数攻击者与目标系统相连时采用的都是明文协议,如FTP、HrI’P或是Telnet等,因此可以在通信线路上监听攻击者的活动。但是,现在攻击者普遍采用了加密机制,使用SSH协议、3DES通道等与目标系统通信,所以无法在通信线路上捕获数据,而只能在系统内部获取攻击者的活动信息。绝大多数的加密信息都会在端系统解密,对于Honeynet系统来说,就是在Honeypot内解密,因此,当数据在Honeypot内解密后,再捕获数据,就可以绕过加密机制。Sebek实现记录系统活动的功能,它是HoneynctProject开发的内核态数据捕获工具。Sebek3.X在以前版本的基础上增加了一些重要的功能。它能够捕获的系统行为包括攻击进程树、进程关联的网络流、进程打开或读写的文件、进程执行的命令以及Shell进程产生的键击记录等。这些数据允许我们识别与一个事件相关的所有网络连接的文件和进程,以及所有存放在操作系统中的临时状态信息。这些信息有利于改进蜜网的数据分析能力【lo】。下面详细介绍一下Sebek3.x版本的一些新功能。首先,Sebek3.X通过替换fo呔和clone系统调用增加了监控进程创建的功能。这样,我们就可以将一个进程与另一个进程联系起来。并重建进程树。这对于入侵分析是非常重要的,因为它使我们可以从入侵的某个点继续向前追踪其行为。其次,Sebek3.x通过替换socket系统调用增加了监控socket活动的功能。当 北京邮电大学硕士毕业论文第五章网络架构的设计与配置实现蜜罐接受或创建一个网络连接时,Sebck在记录相应的主机、进程和文件inode的同时,也记录了m层属性,从而将网络流与具体主机上的进程和文件标识符联系起来。最后,Sebek3.X通过替换open系统调用增加了监控文件活动的功能。结合进程树,我们可以识别被一个入侵行为访问过的所有文件。当入侵者确定其文件的放置位置后,我们就可以迅速地寻找先前存在的数据,从而辨认是否有入侵者曾经来过的迹象。53.5Net-snmpSimpleNetworkManagementProtocol(SNTVtP)是一个被广泛使用的协议,可以监控网络设备(比如路由器)、计算机设备甚至是UPS。网络设备以守护进程的方式运行SNMP代理,该守护进程能够响应来自网络的各种请求信息。该SNMP代理提供大量的对象标识符(OXD--ObjectIdentifi锄s)。一个OlD是一个唯一的键值对。该代理存放这些值并让它们可用。一个SNMP管理器(客户)可以向代理查询键值对中的特定信息。SNMP中有一个基本的认证框架,能够让管理员发送公共名来对OlD读取或写入的认证。绝大多数的设备使用不安全的公共名”public”。SNMP协议通过UDP端口161和162进行通信的。Nct-snmp是用于实施SNMPvl,SNMPv2,SNMPv3的SNMP代理,可以使用在mv4、IPv6的环境中。我们在蜜罐系统上安装Net-snmp代理,在需要时通过构造SNMP请求获取网络性能参数来监控被攻击蜜罐主机的状态。53.6Tepdump系统命令系统命令tqadump做为嗅探器记录进出蜜网的网络流,以pcap格式存储以待后续分析。配置嗅探器时应与网关内部网口ethl绑定,这样只会捕获进出Honcynct的通信;如果错误地将嗅探器与外部网口eth0绑定,那么记录下的将不仅是与Honeynct相关的数据,还有外部网络的通信,这会“污染“捕获到的信息。 北京邮电大学硕士毕业论文6.1总体目标第六章数据分析视图的设计与实现第五章中阐述了网络攻防演示系统中蜜网的搭建,数据控制机制和数据捕获机制的配置实现。在网络攻防实验中利用攻击平台集成的渗透攻击、DDOS攻击等攻击工具对目标网络——蜜网发动攻击,利用蜜网全面的数据捕获机制捕获各种攻击信息,然后就需要以用户易于理解的形式对捕获到的数据进行融合和关联分析。所以,本章的目标就是设计并实现各种数据分析视图,并使得各个视图有机的联系在一起,从而全面而清晰的展示攻击信息。6.2分析流程目前本系统主要对两大类的攻击进行展示:渗透攻击和DDoS攻击。1)渗透攻击主要是使用应用程序和操作系统的漏洞获得对目标系统的访问权。对于一般的攻击者,他们利用系统未补丁的漏洞进行攻击,对于真正的黑客来说,可以通过编程来完成高级的攻击。高级的攻击包括缓冲区溢出攻击、密码攻击、网络应用程序攻击(SQL注入攻击)等。攻击者取得系统的特权后,进而进行各种非法的操作。Sebek能够捕获攻击者在蜜罐中的渗透攻击行为,包括攻击进程、进程关联的网络流、进程打开或读写的文件、进程执行的命令以及Shell进程产生的键击记录等。这些数据允许我们识别与一个事件相关的所有网络连接的文件和进程,以及所有存放在操作系统中的临时状态信息。进而我们可以重构攻击者的入侵行为。在网络攻防演示系统中,我们使用了Metasploit渗透攻击工具来完成渗透攻击。2)DoS是DenialofService的简称。造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。通过普通的网络连接,使用者传送信息要求服务器予以确认,服务器回复用户,用户被确定后,就可登录服务器。DoS的攻击方式为:用户传送众多要求确认的信息到服务器,使服务器里充斥着这种无用的信息。所有的信息都有需回复的虚假地址,以至于当服务器响应时,却无法找到用户。服务器于是暂时等候,有时超过一分钟,然后再切断连接。服务器切断连接时,黑客再度传送新一批需要确认的信息,这个过程周而复始,最终导致服务器完全瘫痪。最常见的DoS攻击有计算机网络带宽攻击和连通性攻 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。分布式拒绝攻击服务(DistributedDenialofService),它是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布式的、协作的大规模攻击方式。从前面的讨论我们可以看出DoS攻击只要一台单机和一个网络接口就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。DDoS是黑客控制一些工ntemet上的工作站或路由器,用这些工作站或路由器发动DoS攻击。因为黑客自己的计算机可能产生不了大量的网络流量,使遭受攻击的网络服务器处理能力全部被占用。黑客采用口欺骗技术,令他自己的口地址隐藏,所以很难追查。在DDoS情况下被追查出来的都是被黑客控制的用户的口地址:他们本身也是受害者。在网络攻防演示系统中,采用耵N2K(malFloodNetwork2000)发动DDoS攻击。然后应用SNMP协议通过安装在蜜罐主机上的Net-snmp代理查询网络性能参数,得到系统的状态信息,添加到我们的数据分析视图中。综上所述,我们的数据分析流程如下图所示:匣是回痼⋯~一图6-1数据分析流程首先,读取攻击平台填写的任务单,对攻击进行判断,若是DDOS攻击,◇由空囱 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现则构造SNMP请求查询被攻击主机的性能参数,将得到的系统状态添加的攻击拓扑图中;否则直接构造攻击拓扑图。查看攻击拓扑图中感兴趣的连接或主机,得到该连接或主机相关的所有网络流,接着可以结合Snort来详细分析该连接的IDS报警和流的解码。若该攻击是渗透攻击,网络流会与主机的进程数据相关联,得到攻击者调用的进程树视图,并查看每个进程的详细信息,重构攻击者的行为。6.3数据模型来自ArgusFlow、SnortIDS、pofOSfingerprint以及Sebek的数据根据可确认的关系不断被整合到一个复合的关系模型中,这样各个数据源根据一些通信组元(IP协议号、源和目的口地址、可用端口号等)被相互关联起来。数据库模型如图6.2所示:图6-2蜜网数据库模型图(1)ArgusFlow数据由argus表存储,包含了Argus规范定义的流属性。(2)pOfOSfingerprint数据存储在OS表中,包含了发起连接的客户操作系统信息。(3)SnortIDS数据存储在表ids和表idSsig中,ids中包含了网络流触发的警报信息,idssig则包含了该警报的名称和参考信息。(4)Sebek数据由process表、sysread表、syssocket表、processtree表、processtocorn表、command表存储。(5)protocols存储的是基于RFC1304定义的协议名称与协议号的对应关系,将网络流中的协议号翻译成协议名称。 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现将蜜网捕获的这些底层数据抽象为主机、进程、网络流和文件。并维护它们之间的相互关系。这些结构单元的关系如图6.3所示。图6-3数据模型结构单元关系图主机代表了正在运行的操作系统的个体实例。它包含了进程,并且与一个口地址相联系。主机提供了一个抽象的概念,在它周围我们可以收集所有其他数据:网络流数据、进程数据和文件数据。进程是一个正在执行的程序实例。并通过系统调用与主机交互。这些系统调用包括访问文件以及与其他主机通信等。文件是指存储在系统硬件上的数据。它是一串相邻的二进制数,并且被存储在一个单独的单元里。它们通常有一个名字。在操作系统中用某种形式的标识符(如inode)表示。网络流能够在两个主机之间进行双向通信,由源D地址、目的口地址、协议、源端口号、目的端口号等属性定义,并可能产生IDS告警。通过socket系统调用,网络流可以与主机的进程数据联系起来。6.4、ⅦBGIJI蜜网数据的融合与关联分析是通过JAVA开发的WebGUI来实现的,其中w曲服务器使用轻量级的Apachetomcat,蜜网网关上的数据库使用mysql数据库。这里需要给出以下几个问题的解决方案:6.4.1蜜网网关数据库的远程访问蜜网网关为了安全,初始设置为mysql服务器不支持networking,即在/etc/init.d/hflow.mysqld启动脚本中指定了mysqld配置文件/etc/hflowd/my.cnf,而在/etc/hflowd/my.enf配置文件中设置了skip-networking选项。我们只需要修改/etc/hflowd/my.cnf,将skip-networking选项注释,即可恢复mysqld的networking支持。通过netstat—n—l确认mysqld监听3306端13。然后,修改Iptables设置,使得从管理网络能够访问mysqld。在命令行输入MenulHoneynetConfigurationRemoteManagementl,向条目AllowedInbound 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现TCP中增加3306端口。最后,修改mysql数据库帐号设置,使得walleye帐号可以从管理网段访问mysql数据库:1.使得roo@localhost帐号拥有grant权限。mysql—utoo~password=honeyusemysql;updateusersetgrant_priv=N’whereuser="too’andhost=’localhost’;flushprivileges;2.使得roo@localhost对walleye_0__3帐号拥有grant权限。insertintodbvalues("localhost’,‘walleye__0_3’,‘too’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’);flushprivileges;3.创建walleye@’%’帐号,并对walleye0_3数据库有select,update,和delete权限。grantSELECT,UPDATE,DELETEOHwalleye_0_3.搴towalleye@’%’identifiedby"honey";flushprivileges;6.4.2数据库连接缓冲池的使用在Web开发中,有没有数据库连接池对Web性能的影响非常大。一个数据库缓冲池指的是缓存于内存空间中的数据库物理连接,这些数据库连接可以被重复使用。数据库缓冲池对于提高Java数据库应用程序的性能十分重要,尤其是当这个Java数据库应用程序运行于中间层服务器环境时。数据缓冲池存在于中间层服务器环境当中,可以被不同的Java应用程序所调用。javax.sql.RowSet包添加了对缓冲数据源的支持,即可以将缓冲池缓冲的数据库连接看作是一个实实在在的数据源服务来使用。RowSet包提供了好几个接口用于处理数据库缓冲池,主要的接口有:1、DataSource接口:DataSource接口的实例对象代表了存在于中间层服务器中的缓冲数据源服务。使用它可以返还数据库缓冲池中现存的数据库连接,DataSource接口的实例对象实际上是某个JNDI服务的提供者,在使用它之前,该JNDI服务对象必须先在中间层服务器环境中注册,并且和某个服务名绑定在一起,然后它才能被别的Java应用程序调用。2、ConnectionPoolDataSouree接口:该接口可以用于创建一个被缓冲于缓冲池的数据库物理连接,它有可能会被DataSource接口的实例对象调用。 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现3、PooledConnection接口:该接口代表被缓冲的数据库连接,它定义了~个getConnection0方法,使用这个方法可以返回java.sql.Connection接Fi的实例对象。数据库连接缓冲池的运行机理如下:1、首先程序代码获取初始化的JNDI环境并且调用Context.100kup0方法从JNDI服务提供者那里获一个DataSource对象。2、中间层JNDI服务提供者返回一个DataSource对象给当前的Java应用程序,这个DataSource对象代表了中间层服务上现存的缓冲数据源。3、应用程序调用DataSouree对象的getConnection0方法。4、当DataSource对象的getConnectionO方法被调用时中间层服务器将查询数据库连接缓冲池中有没有PoolcdConncction接口的实例对象,这个PoolcdConnection对象将被用于与数据库建立物理上的数据库连接。5、如果在缓冲池中命中了一个PooledCoonection对象,那么连接缓冲池将简单地更新内部的缓冲连接队列并将该PoolcdConnection对象返回。如果在缓冲池内没有找到现成的PooledConnection对象,那么CormectionPoolDataSourcei接口将会被用来产生一个新的PooledConnection对象并将它返回以便应用程序使用。6、中间层服务器调用PooledConnection对象的getConnection0方法以便返还一个java.sql.Connection对象给当前的Java应用程序。7、当中间层服务器调用PoolcdConnection对象的getConneetion0方法时,JDBC数据库驱动程序将会创建一个Connection对象并且把它返回中间层服务器。8、中间层服务器将Connection对象返回给应用程序,Java应用程序可以认为这个Connection对象是一个普通的JDBCConnection对象,使用它可以和数据库建立事实上的连接与数据库引擎产生交互操作。9、当应用程序不需要使用Connection对象时,可以调用Connection接口的close0方法。请注意这种情况下close0方法并没有关闭事实上的数据库连接,仅仅是释放了被应用程序占用的数据库连接,并将它还给数据库连接缓冲池,数据库连接缓冲池会自动将这个数据库连接交给请求队列中下一个的应用程序使用。6.4.3动态图的生成包括攻击拓扑图和进程树的生成,动态的意思是指点击图形的不同部分会执行不同的动作。 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现Crraphviz是AT&TLabs—Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出。我们采用Graphviz中的dot工具来生成动态图,绘制过程如图6.4所示:添加囱图6-4动态图的绘制首先从xml任务单和数据库中读取所需要的数据,然后用dot语言定义有向图,包括节点和连接的各个属性,关联的动作及图形的布局。用得到的dot语句生成png图片格式,这时得到的只是静态的图片,要想根据点击图片的节点或连接执行相应的动作还需要生成map文件,然后在map文件的末尾加入语句来引用生成的png文件。6.4.4任务单的设计任务单是在每次发起攻击任务时,由攻击管理平台根据用户定制的攻击任务而生成的。它是一个xml文件,用生成任务单的时间作为文件的名称。文件名为“2008.12.26.17.26.10.xml”的任务单定义如下:lpingscan</TasklD>iemp</Pmtocol>192.168.137.251</sre—IP>192.168.150-160</dstIP> 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现2008-12-26—17—26-10</start—time></Properity></Step>2flpexploit</TasklD></Protocol>192.168.137.251</src...IP>192.168.132.136</dst—IP></src__port>21</dst__1)ort>2008—12—26·17-32·19</start—time></stop_time></Properity></Step></Config>这个任务单描述了一个由两个步骤组成的攻击,第一步是一个pingscan攻击,包含了协议、源地址、目的地址、源端口、目的端口、开始时间、结束时间等属性。第二步是一个针对fIp漏洞的渗透攻击,包含了与第一步相同的属性。‘6.5模块详细设计攻击的分析和展示是通过数据分析视图来实现的。数据分析视图为用户提供了统一的视图,将网络行为数据(网络流数据、入侵检测报警、操作系统信息)、系统行为数据(进程、命令、键击记录)、系统状态数据(内存占用率、CPU利用率、丢包率等)和网络原始数据包有机的融合在一起,使用户可以从攻击拓扑跳转到网络连接,再从网络连接跳转到系统内部数据,对攻击的认识由表及里、由外及内,逐步加深。6.5.1攻击拓扑图读取攻击平台填写的任务单并结合蜜网捕获的数据,构造攻击图,标注连接的攻击类型,每条连接包含的网络流的数量。若是DDOS攻击,则结合snmp协议查询被攻击蜜罐主机的网络性能参数,计算内存利用率、CPU利用率、接口 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现利用率等信息,添加到被攻击主机上,让用户了解蜜罐主机的受害程度。6.5.1.1任务单数据的获取任务单的数据获取主要是利用了dom4j包。Dom4j是一种解析XML文档的开放源代码XML框架。它是基于面向接口的样式来实现处理XML文档的,常用接口都封装在org.dom4j包里,而读取XML是使用一系列API函数,封装在org.dom4j.io。1)从面向对象的角度来看,dom4j对XML的文档结构进行了封装,从一个文档的角度来说(不考虑内存中的数据结构的话),可以简单的把一个XML文档就当做一个org.dom4j.Document。使用dom4j的Document结构,读取一个文件,在内存中构造一个Document结构:Documentdoe=newSAXReader0.read(newFile(”⋯”));就可以获得一个Document结构。2)获得一个dom4j的Doctmaent结构之后,就要获取XML中的element,org.dom4j.Element类对这些操作进行了封装,从Document中获得Element:首先获得一个root元素,Elementroot--doe.getRootElement0;而其他的元素也可以根据这个root元素来获得。3)在Element类中,有非常容易操作的方法添加与获得Attribute,addAttritueO,attribute0等函数原型都提供了操作。4)dom4j同时也提供了在内存中的数据结构的构造,不降低处理的灵活性。如:Node就是对一个xml文档树的节点的封装,而Branch则是对一个树的分支的封装,通过使用这些,可以灵活的按照树的结构来处理xml文档。Document和Element都是Node与Branch的子类,这种不同功能的领域的封装可以按照对象的处理与数据结构的结合,灵活的处理xml文档。通过对XML文件的解析,可以得到任务单中攻击名称、协议、源地址、目的地址、源端口、目的端口、开始时间、结束时间等属性。解析功能是由类ParseXml实现的,其定义如下:publicclassParseXml{pri‘vateStringfilepath=null;//任务单全路径,包括路径与文件名pri‘vateStringstep=null;臌击步骤pri。vateStringTasklD=null;臌击名称pri‘vateStringprotocol=null;//使用的协议pri‘vateStringstarttime=null;//起始时间pri。vateStringstop_time=null;//结束时间pri。vateVectorsrcIP=newVectorO;∥源口地址 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现privateVectordst~IP=newVector0;∥目的m地址pdvateVectorsrc_port=newVector0;//源端口privateVectordst_port=newVector0;∥目的端口privatereadxmlrx=newreadxml();//类readxml利用dom4j提供的方法与接口解析xml文件,定义了利用文件名、攻击步骤和属性名得到属性值的方法。publicParseXmlO{};publicParseXml(Stringfilepath,Slringstep)//带参数的构造函数,利用rx提供的方法给类中的字段赋值。>其中类口的属性包含用长整型表示的P地址addr和掩码位数mask。构造函数ParseXml(Stringfilepath,Stringstep)通过文件名和攻击步骤读取任务单,将解析的各个属性赋值给ParseXml的成员变量。6.5.1.2SNMP性能参数的获取SNMP4J是一个用Java来实现SNMe(简单网络管理协议)协议的开源项目。它主要简化了SNMP协议报文的组成、映射和传输的表达方式,使编程绕过复杂繁琐的操作,使程序更加贴近语言,增强可读性。由于SNMP4J在开发SNMP的领域中比较流行,不少大型公司设计的网络管理软件均采用它进行辅助编程,所以此次设计也基于SNMP4J的开放包进行编程。关于Snmp4j包,有最重要的三个概念,也是三个类:Snmp、Target、PDU。1)Target,表示被管理的设备。对于一个被管理的设备,我们关注它的Address,它使用的协议版本version,访问它的用户名和密码、以及对这个设备我们设置跟它打交道的一些策略,比如超时时间、重传次数等。2)PDU(协议数据单元),用来表示管理站跟代理站点进行通信的数据,包括PDU的类型、传输的数据集合、错误说明等。3)snmp类是SNMP4J的核心,它提供了发送和接收SNMPPDUs的方法,具体来讲,就是发送、接受、创建Snmp消息,所有的SNMPPDU类型都可以采用同步或者异步的方式被发送。一个Snmp对象是一个Session,而在Snmp4j中,~个Session可以同多个远程设备通信。三者之间的关系为:Target代表远程设备或者远程实体,PDU代表管理端同Target通信的数据,Snmp就代表管理者管理功能(其实就是数据的收发)的具 北京邮电大学硕士毕业论文体执行者。基于SNMP获取性能参数的流程如图6-5所示:@第六章数据分析视图的设计与实现图6-5SN抑性能参数获取流程其中用到的公式如下:CPU利用率=100-percentagesofidleCPUtime内存利用率--(totalram·蜘r锄·buffered—ram·cached_ram)掌100/total—.ram接口利用率=(AiflnOctets+aifoutOctets)掌8*100/(T幸ifSpeed)输入丢包率=AiflnDiscards*100/(aiflnUcastPkts+AiflnNUcastPkts)以上各式中,T表示查询两次的时间差,△表示某对象值在两次查询期内的变化值。6.5.1.3数据库数据的获取在攻击拓扑图中需要添加每条连接包含的流的数量,这就需要对数据库进行访问。Query1:selectargus.srcip,argus.dst_ipfromarguswherestart—sec<_?andstart—sec 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现>=?若源口地址不含有掩码信息则andargus.sre_ip=?否则andargus.src_ip>>32一?=?若目的m地址不含有掩码信息则andargus.dst_ip=?否则andargus.dstip>>32-?=?将从任务单得到的时间戳、地址赋值给Queryl,并执行。将得到的数据集添加到变量fcmap中。因为某些攻击会产生反向的shell连接,比如某些渗透攻击,我们也要在拓扑图中有所体现,所以需要把Query1中的源和目的地址交换再查询一遍,将得到的数据集也添加到fernap中。femap是Map类型的变量,其中FlowCount是自定义的类,包含属性源口地址src_ip、目的口地址dst_ip和流的数量count。Fcmap中的键值String为src_ip+dst_ip的字符串。这样我们就可以根据源、目的地址统计每条连接中流的个数,统计完成后根据源、目的地址构建键值来查询fcmap中对应的FlowCount对象的cotmt字段,这样就得到每条连接中包含的网络流的个数。向fanap中添加值的过程为:/一————、怒对效姑簇哮的下’个螯疆.取芨潦糟和翻豹摩擎.遥字提审晰缓撕为德的FbwCou嫩豹c讯搬I缓垮加l申镪Ⅺ蛳/稿缴倒凌flt钟t聊删铂I瓣l条爿聚驰弱锄瑚p审·Fkn《auat豹o。Ijm缓钌觞化为l图6-6fcmap添加条目的流程◇ 北京邮电大学硕士毕业论文6.5.1.4拓扑图的绘制第六章数据分析视图的设计与实现Graphviz是一个自定义的从Java程序中调用dot的API,它实现图形绘制的功能,其主要成员的定义如下:publicclassCrraphViz{privatestaticStringTEMP_DIR=”/honeynettmp";//仓0建临时文件的目录pfivatestaticStringDOT=”/mr/local/bin”;//dot命令所在目录pfivateStringBuffergraph=newStringBuffer0;//存放dot语句的源代码publicStringgetDotSourceO{⋯)∥返回用dot语言描述的图的源代码publicbyte[】getGraph(Stringdot_source){⋯)//以二进制格式返回一幅图像publicStringBuffergetMap(Stringdot_source){⋯)//返回图像的map文件publicintwriteGraphToFile(byte[】img,Stringfile){⋯)//把图像写在文件里pfivatebyte[】get_img_stream(Filedot){⋯)//调用dot程序生成图形,并以二进制格式返回privateStringBufferget_map_stream(Filedot){⋯)∥调用dot程序生成map文件,并以字符串返回>利用前面得到的任务单数据、SNMP性能参数、数据库数据,就可以构造描述图形的dot语句,存放到graph变量中。动态图的生成如下:Fileoutfile=File.ereateTempFile(”graph_"’,什.gif",newFile(TEMP_DIR));∥生成临时文件outfilegv.writeCrraphToFile(gv.getGraph(gv.getDotSource0),outfile);∥将生成的图形文件写到outfile中,getGraph执行过程中调用了私有函数get_img_stream,根据dot源码生成二进制格式的png图形Stringstr=outfile.getAbsolutePath0;∥得到生成的图形文件的绝对路径StringBuffersbuff=gv.getMap(gv.getDotSource());∥将生成的map文件写到字符串中,getMap执行过程中调用了私有函数get_map_stream,根据dot源码生成map文件sbuff.append(”Ⅶ”);∥将图形文件以img格式添加到map文件中,src引用刚生成的png文件,USEMAP为dot语言描述的图形的名字graphstr=sbuff.toStringO; 北京邮电大学硕士毕业论文//将graphstr在WEB页面中显示得到动态图6.5.2网络流视图第六章数据分析视图的设计与实现展示攻击拓扑图中主机或连接所关联的网络流,每一个网络流都融合了Argus、Snort、pof数据,详细地描述了发生的时间、协议类型、数量和发送的包的字节数以及连接建立源机器的操作系类型。攻击拓扑图、进程树视图、net-view视图都可以跳转到网络流视图,它们给网络流视图提供了不同的参数组合,以构造不同的查询语句进行查询。数据处理流程如图6.7所示:④崮广_—工一.,I鞫造陋删|l进行查淘|t—I否是图6-7网络流视图数据处理流程是 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现1)Query语句的构造以从攻击拓扑图跳转到网络流视图为例,传递的参数有源口、目的IP、时间戳和P、时间戳的不同组合,构造的语句如Query2所示,Where语句的条件根据传递参数的不同动态生成。Query2:selectstart_see,end—see-start_see,FROMUNIXTIME(start_see,\lt%M%D%H:%i:%S\f.),argus.argus_id,ip_proto,argus.srcip,src__port,OS.genre,argus.dst_ip,dst__port,src__pkts,sre_bytes,dst_pkts,dst_bytes,argus.sensorid,ids.ids_id,MIN(ids.see),ids.priority,ids_sig.sig_name,ids.type,eount(ids_sig.ids_sig_id),argus.argus_dir,argus.argus_status,process.pid,process.processidfromargusleftjoinOSonargus.client—os—id=OS.os—idandargus.sensor_id=OS.sensor—idleftjoinidsonids.argus_id=argus.argus_idandargus.sensorid=ids.sensor—idleftjoinids_sigOnids.sig_id=idssig.ids_sigidandargus.sensor_id=ids_sig.sensoridleftjoinsys_socketonargus.argus_id=sys_socket.argus_idandargus.sensor_id2sys_socket.sensoridleftjoinprocessonsys_..socket.process_id=process.process_idandargus.sensor_id=process.sensoridwhere2)flowmap是Map#芝型的变量。Flow是以Argus流规范为基础定义的类,除了定义流的基本信息,还包括网络流所关联的操作系统信息、报警信息、进程相关信息等,用来存储Query2查询到的所有信息。Flowmap的key值为该网络流的sensorid与argus组成的字符串。若该网络流产生了报.idIDS警信息,则Quer),2查询到的报警信息会存储到Flow中的成员变量event中。event是一个Map类型的变量,Event类是根据snort报警信息为基础定义的,定义了snort报警的基本信息,event的key值为该条报警发生的时间See和在数据库中的D组成的字符串,这样event中的报警条目按时间有序排列。3)flowtable是以html格式展示流信息的表格,idstable是与flowtable中的流相关联的ids报警信息,selecttable是与flowtable中的流相关联的动作,点击selecttable中的链接就会执行相应的动作。6.5.3网络流详细信息视图对网络流视图中的每个网络流做进一步的分析,结合snort来详细分析该网络流的IDS报警和流的解码,详细地描述了警报的时间戳、优先级、分类、名字、版本、snort生成部件、参考资料等信息。流的解码包括数据包解码视图和snort检测结果视图。1)IDS报警的详细信息是通过Query3实现的: 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现Query3:selectFROM_UNIXTIME(sec,\ft%M%D%H:%I:%S\f-),priority,classification,type,signame,sigrev,sig__gen,referencefromidsleftjoinids_sigonids.sig_id=ids...sig.ids_sig_idandids.sensor—id=ids_sig.sensoridwhereargus_id=?andids.sensor—id=?orderbypriority,ids.sec网络流与IDS报警之间是一对多的关系,一个网络流可以对应多个IDS报警,需要用一个idsvec来存储一个网络流对应得IDS报警信息。idsvee是Vector类型的变量,IDS是用来存储Query3查询到的报警详细信息的数据结构。2)用网络流D作为pcap数据的索引,然后通过snort对该网络流相关的pcap数据进行数据包解码,得到数据包解码视图;snort对该部分peap数据的检测分析结果,作为snort检测结果视图。6.5.4进程树视图以树形结构描述了一次渗透攻击所调用的进程,描述了所有进程及其子进程。所有进程都可以点击再查看其详细信息。若网络流关联进程信息,在网络流视图中就会给出相关链接,点击连接,传递该网络流关联的系统进程的id,经过数据处理,将得到的数据存入processmap_id,以备作图使用。数据处理流程如图6-8所示: 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现图6-8进程树视图数据处理流程其中Processes类的定义如下:publicclassProcesses{privateStringprocess_id=null;privateVectorcommand=newVectorO;//该进程关联的命令,进程与命令为一对多的关系pri‘vateStringpid=null;//进程Dpri‘vateStringtime—min=null;//首次调用的时间pri‘vateStringtime—max=null;//最后调用的时间privateintorder=0;//该进程在进程树中的序号privateStringhostid=null;//主机id,对应网络流idpri‘vateStringhostip=null;//主机m 北京邮电大学硕士毕业论文privateStringuid=null;//进程的用户D否第六章数据分析视图的设计与实现得到用掀语甫摇述的进程树,一.t}⋯生成p醒潮形矾删-l生成m印文件7I=‘“”1”P。”图6-9进程树绘制流程processmap_id定义为Map,其键值为Processes类中的process_id。在作图时,首先需要将processmap中的数据存储到中,.idprocecessorderprocecessorder是Map型的容器,它的键值为Processes类中的order,表示进程节点在进程树中的次序,这样procecess中的数据就以.orderorder递增有序。我们在创建节点信息时直接遍历procecessorder即可。进程树绘制流程如图6.9所示。 北京邮电大学硕士毕业论文6.5.5进程详细视图第六章数据分析视图的设计与实现与进程树中的每一个进程相关联,详细描述该进程关联的P地址、进程ID、时间、进程相关的命令等信息。还提供了对进程树进行操作的动作。进程相关信息的获取是通过Query4、Query5进行的。进程与命令之间是一对多的关系,一个进程可以对应多个命令。Query4:selectprocess.sreip,process.pid,process.pcap_time_min,process.pcap_time_maxfromprocesswhereprocess.process_id=?andprocess.sensorid=?Query5:selectconmland.nRRICfromprocess,process_to__com,commandwhereprocess.processid2process—to—com.process_idandprocess.sensorid=processto—com.sensor—idandprocessto—com.command—id=command.command—idandprocess—to—com.sensor—id=command.sensor—idandprocess.process_id=?andprocess.sensor_id=?然后,通过向网络流视图传递processid参数得到选定进程关联的网络流;向网络流视图传递processtree参数得到该进程树中的进程关联的所有的网络流;向进程树视图传递processid参数得到选定进程的进程树;向Readdetail视图传递processid参数得到选定进程在系统内部留下的细节信息。6.5.6Readdetail视图提供了文件描述符、inode、时间、用户D、字节数等信息,还可还原攻击者的键击记录。Query6:selectfiled,inode,FROM_UNIXTIME(MIN(pcap_tiIlle)),uid,SUM(1ength),ROUND(AVG(:length))fromsys_readwhereprocessid=?andsensor—id=?groupbyfiled,inode,uidorderbyfiled,inode,counterQuery7:selectDATE_FORMAT(FROM_UNIXTIME(pcap_time),\f.%H:%I:%S\ft),datafromsys__readwhereprocess__id=?andsensor—id=?andinode=?orderbycounter由processid通过Query6获得攻击者在系统内部留下的文件数据,若攻击者的键击记录被捕获,则可以用processid与由Query6得到的inode通过Query7获取。data字段存储的就是用户的键击记录数据,它是Blob类型的数据。Blob 北京邮电大学硕士毕业论文第六章数据分析视图的设计与实现是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。Blob数据还需要一定的处理才能使用,其处理过程如图6.10所示:图6-10Blob数据处理流程一一一~一一一一_t‘_。l‘‘.。.。.●.【_●.。。●.【1.1j-j.【三竺)一p一一氛一』酬一J刎~一页一一一自面—%..。...。..。...L 北京邮电大学硕士毕业论文7.1测试环境第七章测试本文的测试环境,包括一个用作蜜网网关的PC机,三台蜜罐主机,一台Web服务器,一台傀儡主机。其中蜜网网关安装有三块网卡。测试环境的网络拓扑及配置参见第五章。7.2测试过程7.2.1渗透攻击检测首先,介绍一下MS05.039即插即用漏洞。当在系统上安装了新硬件,即插即用(PnP)允许操作系统检测它。例如,当在系统上安装新鼠标时,PllP允许Windows检测它、加载所需的驱动程序和开始使用新鼠标。在Windows操作系统一些版本的plugandplay服务中对外部输入缺少正确的边界缓冲区检查。在Windows2000上,匿名的攻击者可能试图通过创建特制的消息并将其发送到受影响的系统来利用此漏洞。这样,这些消息可能导致受影响的系统执行代码。在W"mdoWSXPServicePackl上,仅经过身份验证的用户可远程利用此漏洞。在WindowsXPServicePack2和WindOWSServer2003上,要尝试利用此漏洞,攻击者必须从本地登录到系统中,然后运行特制的应用程序。该漏洞在被公布一周后就被黑客利用,成功利用此漏洞的攻击者可以完全控制受影响的系统。在这里正是利用了这个漏洞进行攻击。攻击工具采用攻击管理平台集成的Metasploit工具包。选择使用ms05039pnp的exploit,设定要执行的代码win32reverse,并设定相关的选项:RHOST:远程主机即Honeypot的PLHOST:本地主机即攻击机的mTARGET:攻击目标操作系统,这里是Windows2000SP4English/French/German/Dutch输入命令exploit,发起攻击。然后查看蜜网数据分析视图得到:1)攻击主机向蜜罐主机发起了一次PlugandPlayexploit渗透攻击,得到 |匕京邮电★掌自士*n论女一个反向的连接。这个危险的反向连接我们用红色来表示第七章错试柚怖胎10女137划忡霜卿d如批蛐。莉’椭mto{鳓啼耳协。睇b地坤‘s‘咖attacktopo;ogv2)点击图7-1中PlugandPlayexploit这个连接,得到该连接的网络流。攻击主机经过一次尝试就得到正确的返回地址。右边的红字表示该网络流触发的snort报警,NETBIOSSMB-DSIPc$share8∞e豁表示准备访问共享文件,NETBIOSSMB-DSumpapmgtPNP_QueryResConfListWfiteAndXlittleendianattempt表示企图进行PNP缓冲区溢出的尝试。黜盘黼“。“1⋯。:::裟鬻:嚣一IW。,157235“4“⋯⋯-,::。絮一。。瓣湍蒜勰‰⋯”“拦“5i裔;蟊;黼圈7—2exptoit网络流视图1进一步查看该流的详细信息,如图7.3,就可以看到这两个ms报警的细节信息。结合snort还可以分析该网络流的数据包解码和snort检测结果,来学习渗透攻击的shelleode。“I。一㈥僦k⋯,图7—3exploit网络流详细视图一53·蕃 |匕京邮电★≠顿i毕业论女第t章■R01,1i一19:5":050205T90:2:4▲gD:r{一⋯c:29}48:6,:⋯⋯口xeD⋯n:口HFr_●删,z3s:3拍10洲ia2-‘7:’⋯⋯6⋯0⋯D:550⋯■Leh:20Dg札en:2⋯r⋯⋯⋯q⋯tE3$r6籼k10Xgl¨D⋯1⋯x16⋯pLe⋯2口m⋯【31-’州∞竹iO,9’日730240⋯0000⋯9⋯⋯2⋯⋯∞oo⋯12B⋯.f0a0000⋯00000⋯Ⅱ00⋯0⋯E。。。0.oo‘⋯c"00DO00Dr㈣⋯⋯0rv000⋯5⋯∞00∞∞5⋯oo⋯⋯0【、一㈣06⋯0⋯01.0502删30⋯⋯OT+⋯0⋯60^⋯⋯0⋯⋯7⋯:⋯⋯4.+1j⋯E⋯c⋯⋯53⋯⋯0000i∞0日㈣Sp㈣0909002000OO⋯⋯29⋯l口O⋯F⋯4B"5z⋯s⋯7z⋯9⋯,⋯~L19c58⋯⋯⋯⋯⋯c6r5,696⋯⋯7Ⅱ⋯k⋯-⋯0⋯O⋯0⋯⋯⋯5⋯⋯£⋯20口0“95~⋯1⋯0⋯030⋯0⋯⋯∞m柏№0-⋯⋯⋯一⋯⋯⋯-一-⋯⋯⋯一+·+01,11—19:5":0502l,6⋯c:29:●8:63:⋯⋯2:4▲:9n:,‘:6ⅥPe:口x日00lt删0x2D●■■⋯26":4一悯13"z,5:32812代⋯1蝴:0⋯D:285i1IpLen;:O口呲衄:5⋯F⋯”⋯Seq:0x9lD8D5㈨⋯⋯r1⋯1⋯,P9帅DLe⋯2wP卸u¨aI”-㈣NOP⋯⋯⋯39蚰"30⋯口0⋯⋯⋯⋯31‘帅⋯日0⋯sm●h00⋯00000⋯0⋯⋯B5E⋯.00⋯⋯⋯r00⋯⋯⋯7⋯9C⋯rY⋯-.82017330∞⋯r∞030l010⋯0c0⋯∞o⋯.2B⋯⋯0⋯’020㈨n帅0‘⋯+⋯7..⋯5⋯⋯川500洲0001●00⋯0⋯P⋯0⋯⋯⋯0001D⋯%⋯3⋯⋯⋯I_s㈣∞⋯00㈣⋯⋯⋯000∞dD⋯0“⋯0⋯⋯00㈣032⋯00BuPT一■20⋯030⋯2⋯●00洲㈥(105{~0BUPT圉7—4exploit数据包解码视图+g№一d一‘洲日m⋯。。⋯44《mH帅☆’”口m“‘一’。⋯-ovll-l"s,:os∞一【‘‘1【l2’‘5"】⋯Ⅱ一⋯Pc⋯⋯-c--]【⋯i⋯‘o⋯⋯iPt⋯⋯0ull19s’:口s⋯E“】[1⋯⋯⋯岫8_F肿_⋯⋯~·⋯tt⋯⋯⋯【⋯⋯ml⋯rz⋯q,⋯⋯l0~⋯0⋯I‘●;a⋯O⋯aj⋯{a^⋯{口⋯⋯{口n~B■⋯⋯⋯⋯O⋯⋯0⋯I⋯口⋯⋯t⋯"⋯0⋯一⋯⋯⋯m,一⋯n⋯~~Ⅻ⋯⋯⋯~⋯l|0lHu⋯⋯⋯”OHr⋯h⋯口⋯⋯一1⋯⋯⋯0⋯⋯3⋯th⋯⋯2⋯s,d‘±⋯.∞~⋯;⋯⋯Izl‘’口∞一,~⋯⋯⋯l⋯一“⋯c‘O∞⋯●flouI⋯⋯⋯O∞∞Ⅲ⋯¨⋯f~a∞∞∞,⋯⋯l2,⋯f■illl”⋯●⋯t【~0—nl图7--5snort检刹结果视图3)点击图7.1中蜜罐主机连向攻击主机的连接,得到该反向连接的网络流。左边出现绿色的链接选项,网络流中多出一项PID,说明喇络流与系统进程相关联,攻击者入侵到了蜜罐系统内部。 北京邮电大学碗±毕业论文第t$il试⋯dl∞0岫⋯1a7235coro蛔⋯M.132^7¨⋯*a渊Ⅻ^n07Ⅻ09,0v1119:蚴帅/0111119{Bo●‰⋯⋯⋯*;口““⋯。誊烈繁一‘雾。繁1””.二。。=⋯5舳一”~”“”%岫圈7-6cxploit网络流视图24)查看图7-6中网络流关联的进程树,得到该网络流的进程树及起始进程的信息视图。我们可以看到此次攻击在蜜罐主机的cmd命令行中执行了ping命令,重构了攻击者的行为。选择进程树视图中不同的进程,则进程详细信息视图中出现该进程的信息及相关动作。困7—7exploit进程树视图5)查看图7-7中的cmd进程,并进一步查看其细节信息,就可以还原攻击者的键击记录-可以看到,攻击者在蜜罐主机的锄d命令行中输入了“ping192.168.132.66”命令。图7-8cmd进程树视图蠡一 北京邮电大学砸十毕业论文第七章翮*inTnl#Ⅲl蛳fD【№j-一Ee。0Bl·’{d:mⅢaEYm020090:11l"570504‘9n图7-9R.eaddetail视图l图7一l0Roaddctail视图26)查看图7—7中的ping进程,并进一步查看其细节信息,可以看到ping命令成功执行,攻击者成功探测到被攻陷主机的邻居。Tlllfl[1l1}:w:05Pw“g⋯“⋯m⋯⋯[i|,:07:0110l,‘i一”±“119;07∞5⋯}j19:07:05⋯1{:Q7:05⋯jl,;07}“叫,f‘D·1Ef“|19:07:06聃’≈2{l,.07.0㈨】mh{.自7:㈩4m07:07№17tmluz“"∞f"聃,≈2It,。070㈧1hlt’’日7.0⋯‘㈣口70aq17fmlu2f5Mm708b#t,≈!n,m,0㈨№19:07:0a⋯L,07^8Pq#n㈣c,m⋯:“}dm⋯{zⅢwH:{rL⋯0㈣】Ⅲ】q}‘⋯㈨∞a⋯}⋯⋯lll:ⅢLh_⋯’№r⋯=kh⋯k踺7一llReaddetail视图37.2.2DDoS攻击检测这里利用攻击管理平台集成的TFN2kI-具来进行DDOS攻击的测试。TFN2k由受控服务器端程序和攻击服务器端程序两部分组成,它主要采取的攻击方式有UDPFlood,SYNFlood,PINGFlood和Smurf,,具有伪造数据包的能力。需要设定的参数为:攻击类型:这里设为UDPFlood受控主机;安装了攻击程序的主机 北京邮电太学颂±毕n论文第七章测试攻击目标:被攻击的蜜罐主机参数设置完毕后发起攻击,然后查看蜜网数据分析视图得到:1)攻击管理平台使用统一的信道对受控主机发出命令向蜜罐主机发动UDPflood攻击.蜜罐主机中添加了被攻击后#吼的性能参数。圈7—12DDos攻击拓扑囤2)由于UDPflood使用的是伪造的源口地址对蜜罐主机发动洪水攻击.所以拓扑圈中的攻击主机和连接都没有相关的网络流。点击其中的蜜罐主机,得到网络流视图,可以看到DDoS攻击在几秒钟的时间里发送了1893"25个伪造源地址UDP数据包。c帅吐⋯㈣I∞7D帅¨㈥¨啪^R㈣20091110∞:u1嘶m20D910111122:15:1⋯M22u%k㈣e11881⋯㈣a2700*⋯·⋯。:2-ll5’⋯”^ni∞12fil390⋯877D。一’Ⅺ00∞l:o一’j⋯⋯c,00⋯●m●月o。n:tl"●h⋯1^nlgllla242m,_⋯∞7Ⅱ0pB’。‘2⋯4⋯jun^rEa5⋯一一.嚣:§P““。时“⋯^“舢2199口一13270⋯·u“,n‘0%围7-13[JI)os网络流观图3)对网络流视图中的数据包进行解码,就会发现这些伪造的数据包只有包 北京邮电大学硕士毕业论文第七章测试头信息而没有内容。01/11—22:11:56.2929760:2:4k:9D:F4:6一>0:A:EB:q:78:6Btype:Ox800fen:Ox2B81.188·160.0:65534一>■奠常.132.70:2UDPTTL:2292"O"3:OxOID:20920IpLen:20DgmLen:29Len:l00-+-+一+_+昌+暑+-+暑申叫;+=+=+-+I+-+I+一+l+I+叫-暑+暑+=叫二+=叫虚+-+·+—+暑十。+叫声+暑+昌+;叫卢+图7-14DDoS数据包解码视图..58.. 北京邮电大学硕士毕业论文8.1总结第八章总结及展望本文首先对蜜罐系统理论进行学习和研究,并对当前普遍采用的三种类型的诱骗网络技术进行了介绍,着重讨论了Honeynet技术。然后基于第三代蜜网技术配置和实现了一个网络攻防演示实验系统中的蜜网网络。根据蜜网全面的捕获机制,并通过对渗透攻击和DDoS攻击的分析,设计了数据分析流程,并对数据分析视图进行设计与开发,以B/S的模式展示攻击过程,实现了蜜网数据的融合与关联分析。最后,通过网络攻防演示系统攻击管理平台中的具体攻击对数据分析视图进行测试,通过测试例证明了论文的可行性。8.2展望及前景在网络攻防演示系统中,蜜网作为攻击的目标网络构建了一个高度受控的实验环境,网络内的所有活动都受到控制和监视。数据分析视图对蜜网捕获的数据进行融合与关联分析,全面而深入地展示攻击信息。目前,已经可以使用本系统对渗透攻击和DDoS攻击两大类攻击中的某些攻击进行分析展示。但是系统还存在一些缺陷和不足:由于攻击种类的复杂性和多样性,本系统能够展示与分析的攻击还比较有限。还需要对其它攻击进行研究,分析其特点,为其搭建相应的系统与服务,设计相应的数据分析视图。本系统依赖于一些应用软件进行数据的捕获与分析,这就不可避免的造成了时间的延迟,对攻击进行分析时就不能完全达到实时水平。sebek工具在某些版本操作系统的安装存在问题,这就使得无法捕获针对特定版本操作系统或服务的攻击在系统内部的活动情况。虽然能完成蜜网数据的融合与关联,实现对攻击的分析流程,但数据分析视图的设计还比较简单。应进一步改进,结合具体攻击的特点对蜜网的数据有更好的应用。下~步的工作将主要围绕上述几个方面对系统进行改进:1)添加对更多攻击的分析展示,提供更加完善的数据分析视图。2)对蜜网使用的应用软件进行改进和优化,如向snort特征规则库中添加为 北京邮电大学硕士毕业论文第八章总结及展望新攻击编写的检测规则;对Sebek进行改进或寻找替代方案等。3)为丰富蜜网数据,可以将更多的检测、捕获软件纳入到蜜网体系中。我们希望将蜜网作为一个实验环境,通过对蜜网数据的融合与分析,加深用户对网络攻防技术的深层理解。还可以将蜜网作为一个工具,捕获并分析新的/未知的攻击,对入侵检测与关联研究和攻防知识库提供数据基础。 北京邮电大学硕士毕业论文参考文献【1】.LanceSpitzner,Honeypots:DefinitionsandValueofHoneypots[EB/OL],http://www.enteract.com/一lspitz/honeypot.html【2】.I_,a/lceSpitzner,HoneypotsTrackingHackers[M】,AddisonWesley,2002【3】.TheHoneynetProject,KnowYourEnemy:Honeynets[EB/OL],http://www.honeynet.org【4】.TheHoneynetProject,KnowYourEnemy:GeniiHoneynets[EB/OL],http://www.honeynet.org【5】.AngelEduardoAvila,analymgintrusionsofahybridvirtualhoneynet[D],TheUniversityofTexasatEIPaso,2005【6】.EdwardBalas,Camiloviecco.TowardsaThirdGenerationDataCaptureArchitectureforHoneynets[C】.IEEEWorkshoponInformationAssuranceandSecurity,2005—06.[71.RaulSiles,Sebek3:reackingtheattackers,partone[Z】,http://www.securityfocus.com/infocus/1855.,2006—01【8】.HoneynetProject,HoneynetDefinitions,RequirementsandStandards,http://project.honeynet.org/,2003[9】.CamiloViecco,ImprovinghoneynetdataAnalysis,AdvancedNetworkManagementLab,IndianaUniversity,2007【10】.EdwardGBalas,HoneynetDataAnalysis:Atechniqueforcorrelatingsebekandnetworkdata,AdvancedNetworkManagementLab,IndianaUniversity,2004【11】.H.Dreger,A.Feldmann,M.Mai,VPaxson,andR.Sommer,Dynamicapplication—layerprotocolanalysisfornetworkintrusiondetection,inUsenirSecurity,2006[121.E.balas,GTravis,andC.Viecco,Adynamicfilteringtechniqueforsebeksystemmonitoring,inProceedingsofthe7mInformationAssuranceWorkshop,IEEE,2006【13].S.Community,Snorttheopensourcenetworkinstrusiondetectionsystem,http://www.snort.org/,2005【14].T.H.Project,Knowyourenemy:Honeywalledrom,http://project.honeynet,org/papers/cdrorn/index.htmal,2005【15】.博嘉科技,Linux防火墙技术探密,国防工业出版社,2002【16】.南湘浩,陈钟,网络安全技术概论,国防工业出版社,2003【17】.吕霞,李文印,玄光哲,基于SNMP的校园网网络性能管理系统的实现,吉林大学学报(信息科学版),2003【18].王丽晨等,系统漏洞原理与常见攻击方法,计算机工程与应用,2001【19].BrianCaswell,JayBeale等著,宋劲松等译,((Snort2.0入侵检测》,国防工业出版社,2004【20].W.RichardStecens著,范建华,胥光辉,张涛等译,《TCP/P详解卷1:协议》,机械工业出版社,2000【211.SteveSuehring,RobertL.Ziegler著,何泾沙等译,((Linux防火墙》,机械工.61. 北京邮电大学硕士毕业论文参考文献业出版社,2006【22].AbrahamSilberschatz,PeterBaerGalvin,GregGagne著,郑扣根译,《操作系统概念》,高等教育出版社,2004.62. 北京邮电大学硕士毕业论文致谢在两年多的研究生学习生活中,我从初入学时知识的贫乏到最后能够按照预定计划完成研究和论文;从研究中遇到困难无从下手到最后能够自己写出代码解决方案,我深刻感觉到了自己的学习和研究能力的提升,这些进步的取得无一不和老师们、同学们的帮助紧密相关。首先,特别需要感谢我的导师柯宏力老师。他以渊博的知识在学术上给我悉心指导,以积极的精神激励着我不断进步,更以无微不至的关怀在生活中给予我莫大支持。柯老师对我的指导一定会在我未来的学习和生活中起到重要的指引作用。在此,谨向柯老师表示衷心的感谢!在课题的研究过程当中,我得到了信息网络中心马严老师、黄小红老师、刘宝华老师、赵钦老师等老师的指导和帮助,谢谢你们!在此,要特别向林昭文老师表示衷心的感谢,林老师在本人项目过程中给予我重要的指导和帮助,给我提出了很多的改正意见,在思路上给我很多有用的启示。在北京邮电大学学习期间,我经常和实验室的同学一起讨论问题,合作开发,有不少好的思考问题和处理问题的方法,都是大家合作的结果。他们在各个方面表现出来的长处不但令我受益非浅,而且也锻炼了我同别人团结协作完成工作的能力。大家在一起取长补短,都取得了不小的进步。在此,感谢马垫师兄、王鲁华师兄、苏飞师兄的帮助,及张胜利、田博涵、满萍、韦力、桂丽、车佳敏同学的帮助,谢谢!感谢父母家人在论文写作过程中对我的督促及帮助!最后,要感谢的是在百忙之中抽出时间来审阅我的论文的各位老师,谢谢您们!