1、本科毕业设计(2009届)题 目蜜罐系统的应用开发学 院计算机学院专 业网络工程班 级050521学 号05052123学生姓名邱伟伟指导教师徐明完成日期2009年6月诚 信 承 诺我谨在此承诺:本人所写的毕业论文蜜罐系统的应用开发均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日杭州电子科技大学本科毕业设计摘要蜜罐是旨在诱骗,拖延,和搜集有关攻击的一种诱饵。我们可以利用蜜罐分析攻击行为和设计新的防御系统。一个虚拟蜜罐可以在一台物理机器模拟多个蜜罐,并在虚拟一个或者多个计算机网络时提供极大的灵活性。蜜罐技术作为网络入
2、侵诱骗技术是一种主动的入侵防御技术,它利用专门的软硬件环境建立伪造的计算机网络环境,引诱入侵者攻击,从而记录攻击者的信息和入侵手段,为改善系统安全和反入侵提供帮助。本文先简述现有入侵检测系统的研究现状,并针对它的不足引入网络入侵诱骗技术,详述了三种级别蜜罐的特点以及陷阱网络的建立。最后选取蜜罐技术中较为优秀的Honeyd进行研究。关键字:蜜罐;网络安全;入侵检测;报警ABSTRACTHoneypot is decoys designed to trap, delay, and gather information about attackers. We can use honeypot to
3、analyze attackers behaviors and design new defenses. A virtual honeypot can emulate multiple honeypots on one physical machine and provide great flexibility in representing one or more networks of machines.As a kind of Network Intrusion Deception, honeypot is a initiative intrusion defense technolog
4、y, which forges network computing environment with specified software and hardware, and deceives the intruders to record their information and intrusion technique. It helps to improve the system security and to fight back against the intrusion. The article firstly gives an overview of the contempora
5、ry Intrusion Detection System, and introduces the Network Intrusion Deception technology. Then, the article describes three classes of honeypots and the building of Trap Network in detail. Finally, I select the Honeyd to do some resaerch, which is the best honeypot technology in my opinion.Keywords:
6、Honeypot; Network Security; Intrusion Detection; Alarm目录1 绪论11.1课题背景与意义11.2入侵与入侵检测21.3入侵检测系统现状与不足61.4论文组织72 蜜罐技术概述82.1蜜罐的基本概念82.2蜜罐技术发展现状82.3蜜罐的分类92.4蜜罐功能122.5主要的蜜罐工具122.6蜜罐的发展趋势133 Honeyd153.1 Honeyd概述153.2 Honeyd的体系结构163.3 Honeyd的安装与配置203.4 Honeyd的不足204 Honeyd配置实例224.1 Honeyd的部署224.2 Honeyd脚本配置244
7、.3 Honeyd对应用层协议的模拟285 总结30致谢31参考文献321 绪论1.1课题背景与意义随着Internet的不断发展,黑客的攻击手段也日益复杂。继病毒、恶意攻击之后,间谍软件、恶意代码、僵尸网络、DDOS等新的网络安全威胁层出不穷,这些网络安全威胁不仅造成了网络状况的混乱1,而且对金融、电力等关系国计民生的领域带来了极大的风险和损失。近年来从漏洞发现到蠕虫产生的时间间隔越来越短,蠕虫的传播速度越来越快,造成的损失越来越巨大,这导致网络安全问题变得日益严峻。网络不安全问题是个不可以回避的现实,造成不安全的原因也是多方面的,归结起来主要有以下几方面的因素:(1)网络的开放性以及黑客的
8、攻击是造成网络不安全的主要原因。由于TCP/IP协议缺乏相应的安全机制,且Internet最初设计时基本没有考虑安全问题,且Internet的共享性和开放性使网上信息安全存在先天不足。(2)随着软件系统规模的不断扩大,系统软件、应用软件正变得越来越复杂,要设计一个绝对安全的系统是非常困难的。(3)互联网宽带的不断增加,使得获取大数据包和各种其他信息变得越来越快捷,也为攻击者在网络上发动攻击提供了一个途径,使攻击不再存有地域的限制、时间的限制。(4)黑客获取系统核心技术资料的途径增多,使攻击者有足够的条件来分析软件中可能存在的漏洞,也很方便的将安全检测用于网络攻击。(5)网络管理不完善造成许多安
9、全隐患。网络系统的严格管理是网络用户免受攻击的重要措施。此外,管理的缺陷还可能出现系统内部人员泄露机密或外部人员通过非法手段截获而导致机密信息的泄漏,从而造成来自系统内部的攻击。通过上面的介绍可以看到,任何单个的安全防护技术都存在弱点,但它们有一个相同的缺陷就是发现和预防的能力不够,都是在攻击者对网络进行攻击时才对系统进行被动响应。也就是说,这些防御手段都是通过把入侵阻挡在被保护系统之外来完成系统防护的,即入侵者在刚刚侵入到系统或者还没有侵入系统的时候就已经被发现并被禁止做进一步的入侵行为,所以就不可能知道入侵者的确切的入侵目的,以及入侵者想要进行的进一步入侵行为。这些被动防范措施只是在一定程
10、度上改善了网络的安全状况,但不能从根本上解决网络安全的问题。为了不断提高网络对攻击的防范能力,我们需要改变被动防御的思路,从主动防御的角度去解决网络安全问题,使系统在对抗攻击时更加积极、主动而有效。1.2入侵与入侵检测1980年,James Anderson首先提出了入侵检测的概念,他将入侵尝试或威胁定义为:潜在的、有预谋的、未经授权的访问信息或操作信息,致使系统不可靠或无法使用的企图。他提出审计追踪可应用于监视入侵威胁。但这一设想的重要性当时并未被理解。1986年,为监测用户对数据库异常访问,在IBM主机上用Cobol开发的Discovery系统成为最早的基于主机的入侵监测系统之一。随后,入
11、侵监测系统得到了快速的发展。入侵是指任何企图破坏资源的完整性、保密性和有效性的行为。也指违背系统安全策略的任何事件。入侵行为不仅仅指来自外部的攻击,同时也包括内部用户的未授权行为,有时内部人员滥用他们特权的攻击是系统安全的最大隐患。从入侵策略的角度来看,入侵可以分为:企图进入、冒充其他合法用户、成功闯入、合法用户的泄漏、拒绝服务及恶意使用等几个方向。另外各种系统自身的缺陷、系统的不当配置、网络协议在实现上的漏洞、应用软件的缺陷等都会为入侵者提供有利可乘的机会。入侵检测是指,通过计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到攻击的迹
12、象,同时做出响应。入侵检测系统(IDS:Intrusion Detection System) 2是实现入侵检测功能的一系列的软件、硬件的组合。它是入侵检测的具体实现。作为一种安全管理工具,它从不同的系统资源收集信息,分析反映误用或异常行为模式的信息,对入侵行为做出自动的反应,并报告检测过程的结果。入侵检测系统就其最基本的形式来讲,可以说是一个分类器,它是根据系统的安全策略来对收集到的事件和状态信息进行分类处理,从而判断入侵和非入侵行为。(1)入侵检测系统的主要功能有:1)用户和系统行为的监测与分析2)系统配置和漏洞的审计检查3)重要系统和数据文件的完整性评估4)已知的攻击行为模式的识别5)异
13、常行为模式的统计分折6)操作系统的审计跟踪管理及违反安全策略的用户行为的识别(2)入侵检测系统的特点包括:1)在人很少干预的情况下,能连续运行。2)当系统由于事故或恶意攻击而崩溃时,具有容错能力。当系统重新启动时入侵检测系统能自动恢复自己的状态。3)必须能抗攻击。入侵检测系统必须能监测自己的运行,检测自身是否被修改。4)运行时,尽可能少地占用系统资源,以免干扰系统的正常运行。5)对被监控系统的安全策略,可以进行配置。6)必须能适应系统和用户行为的变化。如增加新的应用,或用户应用改变。7)当要实时监控大量主机时,系统应能扩展。8)入侵检测系统一些部件因为某些原因停止工作时,应尽量减少对其它部分的
14、影响。9)系统应能允许动态配置。当系统管理员修改配置时,不需要重新启动系统。1.2.2 HIDS与NIDS入侵检测系统按照其输入数据来源来看,可以分为基于主机的入侵检测系统和基于网络的入侵检测系统3:(1)基于主机的入侵检测系统(HIDS:Host-based Intrusion Detection System)基于主机的入侵检测始于80年代早期,通常采用查看针对可疑行为的审计记录来执行,以系统日志、应用程序日志等审计记录文件作为数据源。它比较新的记录条目与攻击特征,并检查不应该改变的系统文件的校验和,以此分析系统是否被侵入或者被攻击。通常基于主机的入侵检测系统是通过比较这些审计记录文件的记
15、录与攻击签名(Attack Signature,指用一种特定的方式来表示已知的攻击模式),如果发现与攻击模式匹配,入侵检测系统通过向系统管理员报警和其它呼叫行为来响应。它的主要目的是在事件发生后提供足够的分析来阻止进一步的攻击。基于主机的入侵检测系统的逻辑结构如图1-1所示:图 1-1 基于主机日志的检测基于主机的入侵检测系统可以精确地判断入侵事件,并可对入侵事件做出立即反应。它还可针对不同操作系统的特点判断应用层的入侵事件。基于主机的入侵检测系统有着明显的优点:第一,非常适合于加密和交换环境;第二,接近实时的检测和响应;第三,不需要额外的硬件。同时也存在着一些不足:会占用主机的系统资源,增加
16、系统负荷,而且针对不同的操作平台必须开发出不同的程序,另外所需配置的数量众多。但是对系统内在的结构却没有任何约束,同时可以利用操作系统本身提供的功能,并结合异常检测分析,能更准确的报告攻击行为。(2)基于网络的入侵检测系统(NIDS:Network-based Intrusion Detection System)基于网络的入侵检测系统把原始的网络数据包作为数据源。利用工作在混杂模式下的网卡,实时监视和分析所有的通过共享式网络进行传输的通信业务。当前,部分产品也可以利用交换式网络中的端口映射功能来监视特定端口的网络入侵行为。这种入侵检测系统的逻辑结构如图1-2所示:图 1-2 基于网络数据包的
17、检测基于网络的入侵检测系统利用网络适配器实时地监视并分析网络数据,它的攻击识别模块进行攻击签名识别的方法有:模式、表达式或字节码匹配、频率或阈值比较、次要事件的相关性处理、统计异常检测。一旦检测到攻击,入侵检测系统的响应模块通过通知、发送电子邮件、手机短信、记录日志、报警以及中断连接等方式来对攻击行为做出反应。基于网络的入侵检测系统只能监视通过本网段的活动,并且精确度较差,在交换网络环境中难于配置,防欺骗的能力也比较差。但它也有着一定的优势:第一,成本低;第二,攻击者转移证据困难;第三,实时的检测和响应;第四,能够检测到末成功的攻击企图;第五,与操作系统无关,即基于网络的入侵检测系统并不依赖主
18、机的操作系统作为检测资源。1.2.3异常检测与误用检测入侵检测系统按照其采用的检测技术来看,可以分为:(1)异常检测(Anomaly Detection)异常检测,也被称为基于行为的检测或是非规则入侵检测。其基本前提是:假定所有的攻击行为与正常行为不同,即假定所有的入侵行为都是异常的。原理:首先建立系统或用户的“正常”行为特征描述,如登录时错误次数为多少时视为正常。通过比较当前的系统或用户的行为是否偏离正常的行为特征描述,来判断是否发生了入侵,而不是依赖于具体行为是否出现来进行检测的。从这个意义上来讲,异常检测是一种间接的方法。异常检测的关键问题:1)特征量的选择异常检测首先是要建立系统或用户
19、的“正常”行为特征描述,这就要求在建立正常模型时,选取的特征量既要能准确地体现系统或用户的行为特征,又能使模型最优化,即以最少的特征量就能涵盖系统或用户的行为特征。2)参考阈值的选定因为在实际的网络环境下,入侵行为和异常行为往往不是一对一的等价关系,这样的情况是经常会有的:某一行为是异常行为,而它并不是入侵行为;而同样存在某一行为是入侵行为,而它却并不是异常行为的情况。这样就会导致入侵检测系统产生虚警(False Positives)和漏警(False Negatives)。由于异常检测是先建立正常的特征描述作为比较参考基准,这个参考基准即参考阈值的选定是非常关键的,阈值定的过大,那漏警率会很
20、高;阈值定的过小,则虚警率就会提高。参考阈值的选择是影响这一检测方法准确率的至关重要的因素。从异常检测的原理我们可以看出,该方法的技术难点在于:“正常”行为特征描述的确定,特征量的选取,以及特征描述的更新。由于这几个因素的制约,异常检测的虚警率很高,但对于未知的入侵行为的检测非常有效。此外,由于需要实时地建立和更新系统或用户的特征描述,这样所需的计算量很大,对系统的处理性能要求会更高。(2)误用检测(Misuse Detection)误用检测,也被称为基于知识的检测;其基本前提是:假定所有可能的入侵行为都能被识别和表示。原理:首先对已知的攻击方法进行攻击签名,即将已知的攻击方法和技术的特征提取
21、出来,来建立的一个知识库。然后根据已经定义的攻击签名,通过判断这些攻击签名是否出现,即将收集到的数据与预先确定的特征知识库里的各种攻击模式进行比较,来判断入侵行为的发生与否。这种方法是直接判断攻击签名的出现与否来判断入侵的,从这一点来看,它是一种直接的方法。误用检测的关键问题:误用检测是根据攻击签名来判断入侵的,那如何有效地根据对已知的攻击方法的了解,用特定的模式语言来表示这种攻击,即攻击签名的表示,将是该方法的关键所在,尤其是攻击签名必须能够准确地表示入侵行为及其所有可能的变种,同时又不会把非入侵行为包含进来。由于很大一部分的入侵行为是利用系统的漏洞和应用程序的缺陷,那么通过分折攻击过程的特
22、征、条件、排列以及事件之间的关系,就可具体描述入侵行为的迹象。这些迹象不仅对分析已经发生的入侵行为有帮助,而且对即将发生的入侵也有预警作用,因为只要部分满足这些入侵迹象,就意味着可能发生入侵行为。误用检测是通过将收集到的信息与已知的攻击签名模式库进行比较,从而发现违背安全策略的行为的。那么它就只需收集相关的数据,这样系统的负担明显减少。该方法类似于病毒检测系统,其检测的准确率和效率都比较高。而且这种技术比较成熟,国际上一些顶尖的入侵检测系统采用的都是该方法,如Cisco的NetRanger、ISS的RealSecure以及Axent公司的IntruderAlert等。但是它也存在一些缺点:第一
23、,不能检测未知的入侵行为。由于其检测机理是对已知的入侵方法进行模式提取,对于未知的入侵方法由于缺乏知识就不能进行有效的检测,也就是说漏警率比较高。第二,与系统的相关性很强。对于不同的操作系统由于其实现机制不同,对其攻击的方法也不尽相同,很难定义出统一的模式库。另外由于已知知识的局限,难以检测出内部人员的入侵行为,如合法用户的泄漏。第三,对于插入式攻击、逃避式攻击和分布式拒绝服务攻击的检测能力比较低。相比而言,误用检测的原理简单,很容易配置,特征知识库也容易扩充,但它存在一个致命的弱点只能检测到已知的攻击方法和技术。异常检测可以检测出已知的和未知的攻击方法和技术,问题是正常行为标准只能采用人工智
24、能、机器学习算法等来生成,并且需要大量的数据和时间。同时,现在人工智能和机器学习算法仍处于研究阶段,所以现在的入侵检测系统大多采用误用检测的分析方法。1.3入侵检测系统现状与不足基于网络的入侵检测系统检测的数据来源于网络中的数据包,与受保护网段内的主机无关,适用范围比较广,并且一般不影响网络流量和受保护主机的性能;基于主机的入侵检测系统检测的数据来源于系统日志、审计记录,与受保护主机的操作系统等有关,因此一般只适用保护特定的计算机。就入侵检测系统的发展现状来看,通常情况下这两种入侵检测系统应用得都比较广泛,而采用的检测方法以误用检测为多。目前还有一种新型的分布式入侵检测系统,这种技术在例如IS
25、S的RealSecure等产品中已经有了应用。它检测的数据也是来源于网络中的数据包,不同的是,它采用分布式检测、集中管理的方法。即在每个网段安装一个黑匣子,该黑匣子相当于基于网络的入侵检测系统,只是没有用户操作界面。黑匣子用来监测其所在网段上的数据流,它根据集中安全管理中心制定的安全策略、响应规则等来分析检测网络数据,同时向集中安全管理中心发回安全事件信息。集中安全管理中心是整个分布式入侵检测系统面向用户的界面。它的特点是对数据保护的范围比较大,但对网络流量有一定的影响。现在国际上比较有名的入侵检测系统有ISS公司的RealSecure、Enterasys公司的Dragon等。他们将基于主机和
26、基于网络的入侵检测技术基础集成在一起,扩大了检测的数据源,降低了漏报率,并且对于检测针对主机的攻击效果比较好。但是这种方法的实施难度特别大,还要考虑到网络中不同计算机操作系统的差异,需要将数据格式进行转换,以达到统一。这些产品系统性能相对比较稳定,特征知识库更新速度比较快。国内公司生产的入侵检测系统也比较多,如上海复旦光华信息股份有限公司的光华SAudit网络入侵检测与安全审计系统V3.0、常州远东科技有限公司的“黑客煞星”、长沙天一银河信息产业有限公司的“天一猎鹰入侵检测系统(V1.0)、上海三零卫士信息安全有限公司的鹰眼网络安全监测仪、上海金诺网安的KIDSVer3.0等。它们的体系结构大
27、同小异,性能相差不大,都能检测到以下一些攻击事件,如多数的扫描、嗅探、后门、病毒、拒绝服务、分布式拒绝服务、非授权访问、欺骗等。由于它们大多是以误用检测的分析方法为主,因此有的漏报率相对高一些,特征知识库更新速度相对也要慢一些。目前,入侵检测系统也面临着若干重要的挑战。这些挑战有些来自技术方面,有些则来自非技术方面。针对这些不足,有人提出了建立一种主动防御的机制网络入侵诱骗系统。它通过建立一个有意制造的、带有安全漏洞网络环境,这里的计算机不提供真正的服务,但能伪装的与真正的服务器一样。它们能够记录攻击者在入侵过程中的所有信息。这些信息比传统的基于网络的入侵检测系统从网络上截获的数据包要少很多,
28、但是它们的价值很大,能够从中直接分析出入侵者的攻击模式和入侵意图,利用这些信息就能够及时更新误用检测的特征知识库。同时,建立网络入侵诱骗系统也能分散攻击者的注意力,增加他的攻击成本,从一定程度上能够保护真正的主机。1.4论文组织整个论文分为三个部分:第一章,介绍课题的背景、选题意义,入侵检测的相关背景和常见的入侵检测系统类型介绍。第二章,蜜罐技术概述,简要介绍了蜜罐的概念、国内外研究现状,按不同方式的分类、价值体现,以及市面上主要的蜜罐产品。第三章,选择Honeyd作为重点研究对象,分析了Honeyd工作方式、其设计与实现等,还介绍了Honeyd的安装与配置。第四章,深入分析Honeyd的部署
29、位置及其优缺点,另外探讨了Honeyd的个性脚本配置,使其适用于不同的网络环境。2 蜜罐技术概述本章介绍了蜜罐的一些基本概念,如根据不同方式的分类等,蜜罐的优点与缺点,现在市面上主要的蜜罐产品。特别对Honeyd的工作方式、设计与实现、安装与配置进行了详细的介绍。2.1蜜罐的基本概念2.1.1蜜罐的定义“蜜网项目组”的创始人Lance Spitzer给出了蜜罐的基本定义:蜜罐是一种安全资源,其价值在于被扫描、攻击和攻陷。这个定义表明蜜罐并无其他实际作用,因此流入/流出蜜罐的网络流量都预示了扫描、攻击和功陷。而蜜罐的核心价值就在于对这些攻击活动进行监视、检测和分析。蜜罐是一种伪装成真实的目标系统
30、来诱骗攻击者攻击或损害的网络安全工具。蜜罐的主要目标是容忍攻击者入侵,记录并学习攻击者的攻击工具、手段、动机、目的等行为信息,尤其是未知攻击行为信息,从而调整网络安全策略,提高系统安全性能。同时蜜罐还具有转移攻击者注意力,消耗其攻击资源、意志,间接保护真实目标系统的作用4。2.2蜜罐技术发展现状2.2.1国外研究状况国外研究蜜罐网络诱骗技术的主要是蜜网研究联盟(Honeynet Research Alliance)。蜜网研究联盟是1999年4月由30多位计算机安全专家成立的非盈利性的研究组织,专注于信息安全的研究,其中主要是通过使用蜜罐网络这样一个真实的网络来研究入侵者使用的工具、策略和动机,
31、其所有的研究成果都是开放的,向整个安全研究领域公布。蜜网项目的目标是:(1)运用真实系统的演示,提高人们对Internet存在的威胁和漏洞的认识。(2)向社会提供更多的关于入侵者的信息,使用户更好地保护自己的系统。(3)为大学、研究机构提供信息收集的技术和方法,以用于安全的研究。蜜网项目是一个长期的研究项目,它三期的目标和规划是:第一期项目从1999年至2001年,为期两年,建立第一代蜜网。在这一时期蜜网项目捕获了大量的攻击行为,证明最常见的威胁是缺省安装的操作系统和应用程序,出版了第一本研究专著Know Your Enemy5。第二期项目从2002年开始,预期为两年,目标是建立一个更容易安装
32、,更难于被发现,收集数据的效率更高的超级蜜网来对付更狡猾的攻击。在这期的项目中还将开发虚拟蜜网,并与原有的蜜网一起运行在同一系统中。最后,通过蜜网研究联盟,开发分布式的多蜜网构架,应用在教育、政府、商业、军事等组织。第三期的任务需求正在规划设计。2.2.2国内研究状况我们国家在对网络攻击进行欺骗与诱导领域上的研究起步较晚,2001年国家自然科学基金信息安全项目正式对该领域进行了立项研究,目前还没有相关成果和产品的报道。虽然在某些安全产品中也提到了蜜罐系统,但只是采用了一些初级的诱骗技术,缺乏对蜜罐技术尤其是高级形式的蜜罐网络系统中的诱骗技术、安全技术及系统功能的全面研究。令人振奋的是2004年
33、9月北京大学计算机研究所正式成立了蜜网项目研究组,开展狩猎女神项目研究。该研究组于2005年2月22日正式被世界“蜜网研究联盟”接受,成为其中的一员。这是我国第一个正式研究蜜罐技术的组织,标志着我国蜜罐技术研究与世界接轨。2.3蜜罐的分类2.3.1根据交互度按照实现时允许操作系统与黑客交互的复杂程度,蜜罐系统可以划分为低交互级蜜罐系统、中交互级蜜罐系统和高交互级蜜罐系统。典型的低交互级蜜罐仅提供一些简单的虚拟服务,例如监听某些特定端口。该类蜜罐没有向黑客提供可以远程登录的真实操作系统,因此使用蜜罐系统的风险最低,但是蜜罐所扮演的角色是非常被动的,就像一个单向连接,只有信息从外界流向本机,而没有
34、回应信息发出。无法捕捉到复杂协议下的通讯过程。该类蜜罐系统结构如图2-1所示。图 2-1 低交互级蜜罐系统结构中交互级蜜罐系统仍然没有提供真实的操作系统与黑客交互,但是却为攻击者提供了更多复杂的诱骗进程,模拟了更多更复杂的特定服务。复杂服务的增加,加大了攻击者发现系统安全漏洞的可能性,同时也增加了使用蜜罐的风险。但是中交互级蜜罐一般提供完善的日志系统来时刻监视着黑客行动,缓解了黑客攻破蜜罐的威胁。中交互级蜜罐系统为攻击者提供一个更好的真实系统的幻影,蜜罐学习攻击能力显著增强。实现中交互级蜜罐系统需要花费更多的时间精力,设计者必须深刻理解各种网络协议以及服务的实现过程,这样才能保证虚拟进程的真实
35、性。蜜罐系统不应和真实系统一样具有难以控制的安全漏洞,而必须采取专门的安全措施来控制并利用这些安全漏洞,这也是使用诱骗进程而非真实进程的原因。该类蜜罐系统结构如图2-2所示。图 2-2 中交互级蜜罐系统结构高交互级蜜罐面对攻击者的是一个真实的支撑操作系统。此类蜜罐复杂度和甜度大大增加,收集攻击者信息的能力也大大增强。但同时蜜罐也具有高度危险,攻击者最终目标就是取得root权限,自由存取目标机上的数据,然后利用已有资源继续攻击其它机器。因此,高交互级蜜罐系统部署的代价最高,并需要系统管理员的连续监控。不可控制的蜜罐对任何组织来说都没有任何安全意义甚至可以成为网络中最大的安全隐患。所以,必须严格限
36、制蜜罐对本地局域网的访问。但是高代价意味着高受益,有关黑客社团的各种鲜为人知的复杂攻击行为却可以被日志系统收集记录下来,比如上传并安装新文件等,这些正是高交互蜜罐的主要目标之一。该类蜜罐系统结构如图2-3所示。图 2-3 高交互级蜜罐系统结构2.3.2根据应用目的蜜罐根据应用目的可以分为两类:业务型蜜罐和研究型蜜罐。前者用来提高商业组织的安全性能,后者主要用来尽可能多的收集攻击情报信息。业务型蜜罐,在网络安全响应环节发挥着积极的作用。系统中通常存在两个问题:一是被攻击系统需要对外继续提供服务而产生大量流量,安全事件响应小组难以从中检测出入侵信息,从而难以及时有效地响应入侵攻击事件;二是被攻击系
37、统往往不能离线接受全面彻底地分析检测,从而无法修补系统漏洞。使用蜜罐就可以解决这两个难题。蜜罐可以减少正常数据对入侵数据的“污染”,提供能够离线分析的冗余系统。而对于研究型蜜罐,它的主要价值在于为我们提供一个学习攻击信息的平台。安全专家们面临的主要难题就是缺乏对敌人的了解,诸如谁是攻击者,他们为什么攻击,怎样攻击,使用什么样的攻击工具等等。研究用途的蜜罐系统是观察、记录、学习攻击者及其攻击行为的最好工具,而且它还能学习到攻击者在攻陷一个系统后,如何与其它黑客通信或者上载新的工具包等更高价值的信息。2.3.3根据规模配置针对入侵的不同层次,以及蜜罐规模配置的复杂性,蜜罐技术又可以分为单机蜜罐和蜜
38、罐网络。单机蜜罐,即在一台主机上实现入侵诱骗,可以用硬件或者虚拟软件来实现。安装与真实系统同样的操作系统,提供同样的服务,有很多已知的系统漏洞,同时还有诱人的虚假信息,如公司的财务报表、年度计划等。因为单机蜜罐中数据流直接进入网络,所以难以控制外出的数据流量,解决方法就是使用置于蜜罐前面的防火墙,限制外出流量。这种复杂的网络环境常常被称为蜜罐网络,简称蜜网。蜜网采用一个实际的网络作为陷阱,在各主机上实现基于主机级的入侵诱骗,通常具有路由器、防火墙、各种服务器,以及网络中的数据传输行为6。2.4蜜罐功能蜜罐作为一种安全工具,可以从网络安全的预防、检测、响应三个环节来分析它的功能。在预防方面,由于
39、蜜罐诱骗攻击的特性,业务型蜜罐能够长时间的耗费攻击者的资源,从而具有一定的阻止攻击者攻击真实目标系统的预防功能。但诱骗特性同时给系统带来风险,安全人员不能依赖于网络欺骗。无论何种蜜罐,由于不需要对外提供服务,可以认为进出蜜罐系统的任何通信流都是可疑的未授权的行为,蜜罐系统收集的全部数据都是有意义的。任何连接蜜罐系统的请求都可能是一次恶意探测、扫描甚至攻击,任何从蜜罐系统外发的连接都可能意味着已经遭遇攻击7。这样就很好的解决了入侵检测系统的漏报和误报问题。总之,蜜罐大大简化检测攻击的过程,具有很强的入侵检测功能。响应是指在检测到入侵后采用一定的措施。分析蜜罐的日志记录对制定响应措施、调整安全策略
40、有极大的帮助,间接保护了系统安全。2.5主要的蜜罐工具国外市场上已经存在许多免费的和商业化的蜜罐工具。它们在功能、复杂性和易用性各方面差别很大,主要有以下几种可用的蜜罐8:(1)ManTrapManTrap是由Recourse technologies公司开发的运行于Solaris操作系统之上的中交互级蜜罐系统,主要设计用意是针对内部网络安全。特点在于修改了Solaris系统一些设置,建立多个“牢笼主机”。ManTrap最多可以在一台计算机上支持四个虚拟的操作系统,通过提供的内核保护层控制虚拟机和真实宿主操作系统的联系。(2)Deception Toolkit(DTK)Deception To
41、olkit (DTK)是由Fred Cohen设计的一组免费工具,运行于Unix平台,通过一组Perl脚本模拟的系统服务实现网络诱骗,属于低交互级蜜罐系统。用户可以方便地对模拟服务进行配置,DTK的特色在于进行端口欺骗,也有很好的报警功能。其优点是可以修改脚本模拟任何需要的漏洞,缺点是只能收集针对已知漏洞的攻击9。(3)SpectorSpector是由NeoWorx公司开发的可以运行在多类操作系统之上的低交互级蜜罐系统。Specter由诱骗引擎和控制系统组成。诱骗引擎起着嗅探数据包和控制网络连接的作用,而控制系统完成系统配置功能。它能模拟5种不同的服务和9个不同的操作系统,所有连接状况都记录在
42、远程主机上。但它在Whois和DNS查询等方面的信息收集相对比较被动。(4)NFR BackOfficer Friendly(BOF)NFR BackOfficer Friendly是Network Flight Recorder公司发布的一个用来监控Back Orrifice的工具,可以运行在多种操作系统之上。它通过设定的监听服务实现网络诱骗,并将向这些端口发起的连接写入日志,可以用来检测入侵并向用户提供报警。(5)Network Associates新版honeypot新版honeypot能在一台运行Windows NT的主机上模拟一个虚拟网络。优点是移动性和管理性好,缺点是无法避免硬件故
43、障引起的单点失效,而且攻击者有可能绕过同处一台主机的安全控制模块。目前一体化的蜜罐产品多采用这种方式:在宿主计算机上安装虚拟机软件,仿真出有限数目的目标机操作系统,在其上分别安装蜜罐的各个部件。(6)Cybercop StingCybercop Sting是一个由Network Associates开发的商业产品蜜罐,运行于NT平台,通过在一台主机上复制各种操作系统的IP协议栈,来模拟整个网络。攻击者扫描整个网络时会发现15个有效的系统,每个系统都有不同的IP地址。它的缺点是只能模拟有限的服务。(7)Honeyd由Niels Provos建立的Honeyd是一种功能强大的业务型蜜罐,在许多领域
44、代表了蜜罐技术的发展水平。首先,它可在协议栈级仿真多种操作系统,这使虚拟系统具有更好的隐蔽性。其次,它可以在一台机器上仿真多个网络接口,从而支持IP地址空间诱骗。Honeyd是开源的蜜罐,可以针对特定需要加以修改,编写仿真服务脚本。2.6蜜罐的发展趋势考虑到蜜罐的缺点,再结合网络攻击技术的发展,蜜罐研究者提出了一些蜜罐发展的思路,可以总结为以下三方面。首先,希望能更好的解决信息收集和蜜罐自身安全之间的矛盾。蜜罐需要在提高和黑客交互能力的同时具有足够的安全保障。解决的一个途径是蜜罐的设计尽量采用后台进程来模拟,但这个时候就需要提高模拟进程的交互能力,让黑客在交互过程中感觉到交互的真实性。其次,要
45、在蜜罐和黑客的交互过程中,加入一些除去系统指纹的技术。再次,随着攻击的发展,攻击越来越倾向于分布化,工具越来越自动化,致使不需要很高的专业技能就能实现在网络上进行攻击。因此,蜜罐的布置不再局限于单个布置,而是有组织、大面积分散布置。3 Honeyd3.1 Honeyd概述3.1.1 Honeyd的优势Honeyd是一款能在网络层次上大量虚拟蜜罐的软件,它具有下列属性10:(1) Honeyd具有对数百万个IP地址进行监视以及主动担当起IP地址的能力,并且所有功能同时进行。(2) Honeyd是作为后台进程来运行,它产生的蜜罐是由后台进程所模拟。故运行Honeyd的主机能有效的控制系统的安全。(
46、3) Honeyd可以通过插件的形式载入相应的脚本来与黑客进行交互,这些脚本可以模仿相应的服务,增加与攻击者交互的深度。(4) Honeyd具有相应的指纹匹配机制,能欺骗攻击者的指纹工具。(5) Honeyd能在网络层次虚拟大量的蜜罐,这些蜜罐之间可以是松散的集合,也可以组成严密的网络体系,从而构成一个虚拟的蜜罐网络。此外,Honeyd还有一些优势。第一,Honeyd最初是在Linux下开发的,延续Linux精神,Honeyd开放源代码,让大家共享程序代码。第二,由于程序的模块化设计,人们可以方便的进行修改。同时,作者在制作Honeyd软件的时候特地设计了很多功能的插件接口。第三,Honeyd
47、可以模拟的主机系统类型有500种之多。第四,它占用的资源非常少。3.1.2 Honeyd的工作方式当一个并不存在系统的IP地址遭受了攻击时,Honeyd会承担起受害者的身份并与攻击者进行交互。它并不是通过一次性将成千上万的IP地址分配给自己来完成这项工作,相反只有一个IP地址:一个分配给其唯一接口的IP地址。该接口与安全管理人员用来管理蜜罐的接口完全相同。正是这个相同的接口驻留在网络中并监视着可疑的活动。Honeyd运作的原则为:当它接收到一次对并不存在系统的探测或者连接时,就会假定此次连接企图是敌对的,很有可能是一次探测、扫描或者攻击。当Honeyd接收到此类流量时,它会假定自己的IP地址就是所针对的目的地。然后它就会对连接所尝试的端口启动一次模拟服务。一旦启动了模拟服务,它就会和攻击者进行交互并捕获其所有的活动。当攻击者活动完成后,模拟服务退出并不再运行。然后,Honeyd就会继续等待对不存在系统的更多流量或者连接尝试。随着Honeyd接收到更多的攻击,它就不断重复这个过程:充当目标IP地址,启动响应攻击的模拟服务、与攻击者进行交互、捕获攻击、最后退出。它可以同时模拟多个IP地址并与不同的攻击者进行交互。3.2 Honeyd的体系结构3.2.1体系结构Honeyd的软件架构由如下几个组件构成:一个配置数据库,一个中央包分发器,一个协议处