了解你的敌人:定义虚拟Honeynets创建时间:2003-09-02 文章属性:翻译 文章提交:FZ5FZ (fz5fz_at_sina.com) Know Your Enemy: Defining Virtual Honeynets 虚拟蜜罐网络的不同类型 Honeynet Project http://www.honeynet.org Last Modified: 27 January, 2003 翻译:Inetufo Homepage:http://www.fz5fz.org Email:Inetufo@fz5fz.org 译者注: 本文主要定义了虚拟Honeynet的概念,讲述了它和传统Honeynet的不同之处,搭建虚拟Honeynet的三种常用方法及其优缺点。 由于本人对某些术语的把握不够,所以可能存在翻译不当之处,还望各位斧正。 原文连接:http://www.honeynet.org/papers/virtual/ 在过去的几年里,Honeynets证明了他们作为一个主要研究blackhat组织所使用的攻击工具,策略,和动机的安全组织的价值。对于某些组织更好的理解和防御所面临的威胁来说,这些信息是非常重要的。Honeynet的主要问题之一是它们是深奥的,难以构建的,难以维护的资源。Honeynet要求对物理系统和安全机制进行多样的有效的配置。然而,Honeynet工程正在研究一种新的,可能的,虚拟Honeynets。这些系统共享很多传统的Honeynets的价值,但是拥有在一个系统上运行所有系统的优点。这便使虚拟Honeynets构建更廉价,配置更容易,维护更简单。 什么是Honeynet Honeynets是honeypot的一种形式。Honeypot是用来让人攻击,存在安全风险的资源。而Honeynet是一种交互性很高的Honeypot,这就意味着他要保护和攻击者直接打交道的真正的操作系统。这种高度的交互性能够使我们了解入侵者怎样攻破系统,怎样联系和为什么要入侵系统的一切东西。Honeynets是通过构建一个网络系统来实现这个目的的。这个网络是高度集成的,所有流入和流出的数据都会被控制和捕捉,在这个网络中的每一个系统都是一个真正的Honeypot,每个系统都是为了诱导攻击者的攻击而设计。但是,在目前的大多数组织中,Honeypots是构建相同的,全面的功能系统。当这些系统被攻击时,Honeynets捕获攻击者的所有活动。这些信息使我们能够找到对于我们当前所面临的威胁的一个好的处理方法。关于Honeynets的技术细节,你可以参考Know Your Enemy: Honeynets。我们这篇文章主要讲述构建虚拟Honeynets的不同方法。但这并不是讲述怎样构建一个虚拟Honeynets。怎样建立虚拟Honeynets的细节将在以后讲述。从这个观点出发,你得对Honeynet技术和它们的需求有一个大概了解,特别是数据控制和数据捕获。 虚拟Honeynets 什么是虚拟Honeynet?它是允许你在一个计算机系统上运行你需要的一切东西的一种解决方案。我们之所以用术语虚拟,是因为所有不同的系统都有他们自己的运行‘方式’,而不依赖于电脑。 这些解决方案是可能的,因为有允许在同一时间,同一硬件平台上运行多个操作系统的虚拟软件。虚拟Honeynets本质上不是一种新技术,它们只是简单的采用了Honeynet技术的概念,而把它们在一个系统上实现。和传统Honeynets比较,这种实现有他独特的优点和缺点。 优点是:开销较小,易于管理,因为所有东西都被整合在一个系统中。你可以用一台电脑来配置一个虚拟Honeynet来代替用8个电脑配置的一个全面的Honeynet。但是,这种简单会付出一定的代价。首先,通过硬件和虚拟软件能够配置的操作系统类型具有局限性。比如,大多数Honeynets是基于Intel X86芯片的,所以你只能配置基于这种结构的操作系统。你绝不可能在一个虚拟Honeynet中配置Alteon switch, VAX, 或者Cray computer。其次,虚拟Honeynet会带来风险。特别是攻击者可能会破坏虚拟软件,并且控制整个Honeynet,从而达到对整个系统的控制。最后,有指纹识别的风险。一旦破坏者攻破了你虚拟Honeynet所在的系统,他们就能够确定系统是在一个虚拟环境中运行。 我们把虚拟Honeynets分为两种类别,独立的和混杂的虚拟Honeynet。在这两者当中,独立虚拟Honeynet是比较普遍的。我们将首先定义这两种不同的类型,然后再讲述虚拟Honeynets的不同配置方法。 独立虚拟Honeynet 一个独立虚拟Honeynet是被浓缩到一台电脑上的一个完整的Honeynet网络。这个完整的网络被虚拟的包含在一个单一的物理系统中。一个Honeynet网络的典型组成是,一个用于数据控制和数据捕获的防火墙网关,和在Honeynet中的honeypots。你能够看在这里看到这种配置的图。这种类型的虚拟Honeynet(s)具有的某些优点如下: l 可移植性。虚拟Honeynets能够搭建于移动电脑上,能被带到任何地方。Honeynet Project在2002年8月的Blackhat简报上证明了这项功能。 l 即插即可捕获。你只需要一台电脑,把他连接到任何一个网络上就可以作好抓获那些blackhats的准备。这使的配置容易许多,因为你仅仅要做的只是物理配置和连接一个系统。 l 资金和空间上的节省。你只需要一台电脑,所以这就减少了你硬件上的开支。他只需要一个很小的空间来放置,仅仅使用一个出口和一个端口!对于我们这些时间和能力有限的人来说,这是一个节省的好办法。 缺点如下: l 如果硬件出了问题,整个Honeynet将不能使用。 l 高质量的电脑。尽管一个独立的Honeynets只需要一台电脑,但是他必须是一个强大的系统。取决于你的设置,你必须拥有足够的内存和处理能力很强的处理器。 l 安全性。因为所有东西都共享硬件资源,所以存在攻击者攻破系统其他部分的危险。这些大多数取决于虚拟软件,稍后将讨论。 l 软件局限性。因为所有东西都在一个系统中运行,你能使用的软件就会受到限制。例如,在Intel芯片上运行Cisco IOS是非常困难的。 混合虚拟Honeynet 混合虚拟Honeynet是传统Honeynet和虚拟软件的混合体。数据捕获,比如防火墙,数据控制,比如IDS传感器和日志在一个隔离的,孤立的系统中。这种孤立减小了被攻击的风险。然而,所有的honeypots都是虚拟的运行在一个单独的窗口中。你可以在这里看到演示图。 这种设置的优点是: l 安全性:在独立虚拟Honeynets中,存在攻击者攻破honeynet其他部分(比如说防火墙)的危险。在混合虚拟Honeynet中,唯一的危险只可能是攻击者进入其他的honeypots。 l 灵活性:你可以使用多种软件和硬件来实现混合网络的数据控制和数据捕获。例子之一,你可以在网络上使用OpenSnort或者Cisco pix appliance。你也可以运行你想要运行的任何一种honeypot,而放弃在网络上的另一台主机。(虚拟Honeypot’s主机除外)。 一些缺点: l 不可移植,既然honeynet网络由多台主机组成,那么移动就很困难。 l 时间和空间的高价性:网络中有多台电脑,你将花费更多的精力,空间和资金。 可能的解决方案 既然我们定义了虚拟Honeynets的两种常见类型,那么让我们重点讲述实现一个虚拟Honeynet的可能途径。这里,我们概述出三种允许你自行配置的技术。勿庸置疑,还有其他的意见,比如说Bochs,但是Honeynet Project已经使用并测试过所有这三种方法。三种方法没有好坏之分。相反的,他们各自都有自己独特的优点和缺点,你采用哪种方案能够工作的更好完全取决于你自己。我们要讲述的三种方案是VMware Workstation, VMware GSX Server, 和用户模式 Linux。 VMware Workstation VMware Workstation是一个长期使用的和确定的虚拟Honeynet的选择。它是为桌面用户设计的,可以运行在Linux和Windows两种平台下。使用VMware Workstation来做虚拟Honeynet的优点是: l 多种操作系统的支持,你可以在一个虚拟环境中运行各种各样的操作系统(称之为GuestOS’s),包括Linux,Solaris,Windows和FreeBSD Honeypots。 l 网络选择,工作站提供了处理网络的两种方式。第一种是桥,它对混合虚拟Honeynet网络来说非常有用,因为它使honeypot使用电脑的板卡,就像其他主机位于Honeynet网络上一样。第二种选择是 Host-Only 网络, 这对独立虚拟Honeynets来说很好,因为你可以通过防火墙更好的控制网络传输。 l VMware Workstation为每一个客户操作系统创建一个映像。这些映象单单是一个文件,移植性很高。这意味着你可以把他们转移到其他电脑上。你可以通过拷贝备份来恢复一个honeypot到他的最初状态。 l 挂装VMware虚拟磁盘映象的可能性。你可以使用vwware-mout.pl驱动来挂装一个VMware映像。 l 使用简单。 VMware Workstation 有图形接口 ( Windows 和 Linux) ,使得安装,配置,运行操作系统非常简单。 l 作为一个商业产品,VMware Workstation有技术支持,可以升级,可以打补丁。 一些缺点: l 成本,每个VMware workstation许可花费$300。这对于某些爱好者或者没有收入的学生来说可能有点昂贵。 l 资源需求,VMware Workstation必须在X环境下运行,每个虚拟机都应该有自己的窗口。所以,除了为GuestOS分配内存外,还要为X系统分配内存。 l GuestOS数量限制,你只能用VMware运行很少数量的虚拟机(1-4)。这可能比较有利于小型的Honeynet。 l 源代码不公开,因为VMware源代码未公开,所以你不能进行真正的自定义配置。 l 指纹识别。在honeypot上VMware软件可能会被识别出来,特别是”VMware tools”装在系统上。这就可能把honeypots暴露给blackhat。然而,VMware提供选项设置,使指纹识别更加困难,比如有为虚拟接口设置MAC地址的功能。 VMware有一些好的特征,如挂起虚拟机的功能。你可以暂停VM,当你恢复暂停时,所有进程继续运行,就象什么都没有发生过一样。一旦某个系统有安全隐患,并且入侵者开始ICMP碎片攻击,同时登录到IRC服务器。我们并不想断开连接,因为这样我们将失去很多重要的信息。所以我们可以挂起VM,配置防火墙来阻止攻击,然后恢复VM。VMware和其他虚拟软件的一个有趣的用处就是可以简单快速的配置出虚拟机。。一旦Honeynet有安全威胁,我们可以通过它尽可能多的了解到一些信息。对于虚拟Honeynet来说,我们所要做的所有工作是拷贝文件或者用不能在VMware Workstation中继续使用的磁盘来抛弃任何发生的改变。VMware工作站的另一个特性是可以在HostOS后运行若干个网络。所以,如果你只有一个窗口,你可以将你的honeynet和所有个人电脑放在一个窗口中,而不必担心双方之间的数据损坏。如果你想对VMware和它架设honeypot技术的能力获得更多的信息,请参考Kurt Seifiried的经典文章Honeypotting with VMware - The Basics.,以及Ryan Barnett写的Monitoring VMware Honeypots。 VMware GSX Server VMware GSX Server是VMware Workstation的增强版本。也就是它说可以运行很多高端服务器。我们可以看到, 用它来搭建一个 Honeynet将很完美。 目前GSX Server作为Host OS运行在Linux和Windows上。如果你想了解在GSX上配置虚拟Honeynets的信息,请参考文章Know Your Enemy: Learning with VMware。优点: l 操作系统的大范围支持。GSX Server支持Windows (包括95, 98, NT, 2000, XP and .NET server),各种Linux发行版,BSD和Solaris(非正式支持)。 l 网络支持,包括Workstation支持的所有网络功能。 l 不需要X支持更多的GuestOS。GSX Server 不需要运行X来运行VMware。这就使你能够同时运行更多的GuestOS。如果主机运行Linux也不需要安装X库。 l Web接口,GSX Server可以通过Web接口来配置。可以通过Web启动,暂停,创建GuestOS。 l 远程终止,这是GSX Server最好的特性之一。尽管通过Web和一些VMware软件,你可以远程访问GuestOS’s,就象你是坐在控制台前一样。你可以做一些事情,比如远程安装和检查系统,而不会在honeynet上传送数据。 l 装载VMware虚拟磁盘映象,和在WorkStation版中一样。 l VMware GSX Server可以支持更多的主机内存(最高8GB),更多的CPU(最多8个)每个虚拟主机比VMware WorkStation支持更多的内存(2GB)。 l 包含用于管理GuestOS’s的Perl API函数。 l 和WorkStation一样,GSX Server是一个提供技术支持的产品,包括补丁和升级。 一些缺点: l 费用,一份GSX Server许可证需要花费$3,500 l GuestOS’s种类的限制性,象Solaris X86和FreeBSD这些操作系统不被正式支持(虽然你可以安装他们)。这就限制了你的Honeynet的多样性。 l 内存消耗,GSX Server 推荐大于256的内存只用来运行GSX Server软件。基于视窗的操作系统,比如Windows XP,需要另外256MG的内存来运行另外的实例。 l 源代码不开放,和Workstation一样。 l 指纹。在honeynet有可能探测到VMware软件,尤其是系统中装有“VMware tools”。这可能会使honeypots暴露给blackhat。但是,和Workstation一样,有降低风险的配置选项。 VMware 同样也开发VMware ESX Server 服务器版。 ESX Server运行在硬件接口上,而不仅仅是一个软件解决方案。ESX Server 拥有自己的控制主机硬件的虚拟机操作系统,这样就允许对虚拟机资源进行更多细微的控制,比如说CPU共享,网络带宽共享,磁盘带宽共享,同时允许这些资源被动态的改变。它一个是比GSX Server更高端的产品 。它的一些特性是:可以支持多处理器, 更多并发的虚拟机(最多可达64个), 更多内存 (最多可达64GB) ,每个虚拟机比GSX Server支持更多的内存 (最多可达 3.6GB). 用户模式Linux 用户模式Linux是允许你在同一时刻运行多个Linux虚拟版本的一种特殊的内核模块。由Jeff Dike开发。,UML使你可以在同一时间同一个系统上运行Linux的多个实例。它是一个很有发展潜力的新的相关工具。你可以在文章 Know Your Enemy: Learning with User-Mode Linux中详细的学习怎样配置你自己的UML Honeynet。 使用用户模式Linux的一些优点是: 免费和开放源代码,你可以控制源代码。 小内存和更少的资源要求。 用户模式 Linux 不需要使用X。它可以用很少的内存运行大量的系统。 能够创建多个虚拟网络 甚至可以完全在原始的虚拟网络中创建虚拟路由器。 同时支持bridging 和 networking, 和VMware相似. UML可以通过GUESTOS内核记录击键信息。 击键信息被记录在 HostOS上, 所以怎么在honeypot中秘密的获得击键记录没有任何问题。 UML有预先的配置和可下载的文件系统,这使它可以更快更简单的用honeypots搭建Honeynet。像VMware一样这些文件系统映像是可挂装的。 你可以用多种不同的方式控制UML控制台, 包括通过pseudoterminals, xterms, 以及Telnet一个主机的端口。并且有窗口,你可以在窗口中运行UML,释放他,你也可以在任何地方登录连接主机.。 一些缺点: 目前只支持Linux虚拟机,Windows下的接口正在开发中。 作为一个新的工具,存在一些缺陷,如:文件,安全问题。 没有GUI接口,目前所有的配置和运行都在命令行下进行。入门比较困难。 作为一个开放源代码的工具, 没有官方和商业上的支持。 和VMware一样, 可以通过虚拟软件来取得UML. Honeynet的指纹。然而, 维护者Jeff Dike 设法减少这种风险, 比如说在GuestOS上对/proc进行修改。 结论 这篇文章的目的是定义什么是虚拟Honeynet,虚拟Honeynet的不同种类,以及配置意见。虚拟Honeynet采用了Honeynet的技术,而把它们整和在一个系统中。这就使得它们构建更廉价,配置更简单,维护更容易。但是,他们仍然存在普遍的缺点,包括物理硬件和虚拟软件的失败和局限性。你可以自己决定哪种方案更适合你的环境。今后,我们打算写出怎样配置这些技术的细节文档。 关于我们: FZ5FZ 主要从事网络/系统安全的学习与研究,深入编程技术的剖析与探讨,坚持原创,追求共享。 FZ5FZ 主页:http://www.fz5fz.org 连接::了解你的敌人:定义虚拟Honeynets |