前言:虚拟蜜罐是计算机模拟的系统,但它可以响应发送到虚拟蜜罐的网络流量。今天我们就来简单分析一下虚拟蜜罐Can。蜜罐可以运行任何操作系统和任意数量的服务。蜜罐根据交互程度(LevelofInvolvement)可分为高交互蜜罐和低交互蜜罐。蜜罐的交互度是指攻击者与蜜罐的交互程度。高交互蜜罐为入侵者提供了一个真正的交互系统。相反,低交互蜜罐只能模拟部分系统功能。高交互蜜罐可以像真实系统一样被完全破坏,允许入侵者获得对系统的完全访问权限并将其用作进一步网络攻击的跳板。相反,低交互蜜罐只能模拟部分服务、端口和响应,入侵者无法通过攻击这些服务获得完整的访问权限。蜜罐分为高交互蜜罐、低交互蜜罐、物理蜜罐和虚拟蜜罐。蜜罐从实现方式上可以分为物理蜜罐和虚拟蜜罐。物理蜜罐是网络上真实的、完整的计算机,虚拟蜜罐是模拟系统的计算机,但是响应发送到虚拟蜜罐的网络流量。今天我们就来简单分析一下虚拟蜜罐。与物理蜜罐相比,虚拟蜜罐要容易得多。一台电脑可以部署上千个蜜罐,成本低,几乎任何人都可以轻松使用,而且更容易维护,对物理要求更低。很多时候我们使用VMware或用户模式??Linux(UML)来构建虚拟蜜罐。这些虚拟系统工具可以在一台物理计算机上运行多个蜜罐系统和应用程序来收集数据。虚拟蜜罐通常模拟真实的操作系统并将其部署在主机上。在虚拟系统中虚拟化漏洞,产生虚假流量,伪装不存在的文件地址,存储真实但无意义的文件,模拟网络中的各种信息等,更好地吸引入侵者攻击虚拟蜜罐。一种是IP地址空间欺骗。一台主机就可以完成,一张网卡可以分配多个IP地址,每个IP地址可以配置一个单独的MAC地址,这样就可以完成多台主机的虚拟化。二是模拟网络流量。因为虚拟蜜罐一般不会主动与其他主机交互,没有网络流量,入侵者很容易据此识破虚拟蜜罐。因此,目标流量产生后,就可以欺骗入侵者,使入侵者无法通过观察流量来判断虚拟蜜罐的存在。三是系统的动态配置。在正常状态下,虚拟蜜罐的状态是静态的,没有交互和网络流量,一些有经验的入侵者可以通过观察系统的状态来判断是否是虚拟蜜罐。系统的动态配置正是针对这一点。虚拟蜜罐的系统状态会不断变化,它会尽可能地模拟真实系统的行为,以防止入侵者轻易发现虚拟蜜罐而使其失去功能。四是组织信息欺骗。可以在虚拟蜜罐中设置一些个人信息,或者存放一些无意义的虚假信息、文件等,可以使虚拟蜜罐看起来更像是某个人使用的真实系统,增加入侵者的迷惑性。五是端口重定向技术。该技术可以多次转换地址以区分真实网络和虚拟网络,还可以重定向常用端口以隐藏这些端口。当多个蜜罐组成一个网络时,称为密集网络,密集网络的核心是蜜墙,即密集网络网关。Honeywall主要功能:① 数据抓取:可以在不被入侵者察觉的情况下,抓取密集网络中的所有活动和网络数据信息。② 数据控制:控制进出密集网络的数据流。这可确保在内部蜜罐遭到破坏后,其所有活动仍限制在蜜网内。③ 数据分析:帮助密集网络管理员简化捕获数据分析,并能帮助计算机和网络取证。实现虚拟蜜罐常用的技术主要有VMware、user-modeLinux、Argos、LaBrea、Honeyd等。(1)VMware技术VMware是老牌的虚拟化软件公司之一,它提供了多种虚拟化软件来应对不同的情况。虚拟化软件是指模拟完整计算机系统并可能在同一虚拟机上运行多个不同操作系统的软件。下面介绍VMware的一些产品,以及这些VMware产品之间的区别。实际安装VMware的物理机,执行VMware进程的计算机和操作系统实例,称为主机(或host主机)。在虚拟机内部运行的操作系统称为来宾系统或来宾虚拟机。两个系统之间的交互是完全透明的。例如,在主机和客户端系统之间,可以共享文件夹,可以使用VMware复制和粘贴各种文件。虚拟系统扮演着类似于模拟器的角色。宿主机的物理CPU和内存资源可以被宿主机和来宾虚拟机共享,但同时也可以从VMware为来宾操作系统分配一套完整的虚拟硬件资源。例如,在多个客户端系统中,同一套虚拟硬件资源可以被所有客户端系统使用,就像多台安装了不同操作系统的相同配置的计算机一样,这些虚拟硬件资源在不超过clientvirtualmachine在配置的情况下,可以任意设置,无需考虑真实的物理硬件资源,这些硬件资源可以连接到宿主系统。(2)用户态Linux用户态Linux是另一个可以用来创建虚拟蜜罐的系统。它使用起来非常简单,但与VMware相比,它的主要缺点是只能模拟Linux系统。UML是Linux内核的体系结构端口,在系统中称为接口。Linux内核本身可以作为用户进程运行,实际的Linux内核(主机系统)将另一个Linux(客户系统)实例作为进程执行。这个过程类似于VMware中的虚拟机,每一个UML实例都是一个完整的虚拟机,与真实的计算机几乎没有区别。所以有一个简单的方法来实现虚拟机,直接使用UML来构建虚拟蜜罐,并获得虚拟系统提供的所有优势。在配置或稳定性方面,客户端系统不会影响宿主系统。UML块设备,也称为磁盘,通常是宿主机文件系统上的文件,不会影响本地存储正常数据的块设备。UML作为一个操作系统只能在Linux上运行,所以如果你运行Windows或其他系统,你不能使用这种方法来创建蜜罐。看来只能选择linux系统了。缺点很严重,但也不是没有好处。使用UML可以很容易地创建许多运行在Linux上的不同的Ahoneypot。由于UML块设备是一个普通的文件,客户端系统使用这个文件(通常称为根文件系统)作为一个完整的文件系统,可以很容易地从一台机器上传输一个UML实例UML的另一种选择也很实用,能够以写时复制(COW)模式使用文件,而UML实例以只读模式使用文件系统,将所有更改写入一个单独的文件——COw文件,这样多个蜜罐就可以使用一个根文件系统,可以节省磁盘空间,方便维护和管理。(3)ARGOS阿姆斯特丹自由大学研究人员开发了一种新型的虚拟高交互蜜罐,称为Argos,可以自动检测零日(zero-day)攻击,即尚未打补丁的攻击。他们使用一种称为动态污点分析技术的方法来监控蜜罐:首先,标记所有通过网络接收的数据,通过内存跟踪这些标记的数据,一旦使用这些标记的数据,影响执行流程,Argos检测到这些并生成攻击内存痕迹。与其他虚拟蜜罐解决方案相比,Argos不仅执行来宾虚拟机,还会密切监控蜜罐,试图及时找到攻击者成功攻破蜜罐的切入点。动态污点分析是Argos技术的核心。这项技术从根本上是基于这样的观察,即控制给定程序执行流程的攻击者必须使用某种方法来影响它,但无论是什么方法,攻击者都必须向程序发送异常输入,这样的数据必须影响执行流程,例如,跳转到攻击者提供的数据。在这个过程中,动态污点分析发挥了作用,将一个程序的所有外部输入都标记为污点。在分析过程中,所有受污染变量的使用都受到密切监控和检查。当一个被污染的变量被其他操作得到时,结果也被认为是被污染的:但是如果一个被污染的变量被赋予了一个固定的值,这个变量就不再被认为是被污染的。污染变量。这允许跟踪外部输入的使用,并且一旦使用此类受污染的输入来改变执行流程,就可以检测到。对于Argos,它产生的infodump包含导致偏离正常执行流程的相关信息。这种方法对检测网络攻击高度敏感,我们不需要任何先验知识来检测攻击。当攻击发生时,我们可以准确地检测到它,并通过分析确定事件的原因。(4)LaBreaLaBrea由TomListon创建,以引入tarpit概念而闻名。tarpit是一种服务,它试图通过使TCP连接非常缓慢或完全停止其进程来减缓垃圾邮件发送者甚至蠕虫的传播,尽管tarpit不会减缓更高级蠕虫的传播,但是,对于一个简单的按顺序运行的蠕虫tarpit效果很好。当LaBrea在网络上运行时,它会发现空闲IP地址并代表它们应答连接。一旦建立了连接,LaBrea就会使用TCP协议中的技巧,尽可能长时间地粘附在发送者身上,从而使已建立的连接进入无法继续前进的状态。停止连接的原因很简单,垃圾邮件发送者或病毒发送者在服务器上维护的每个附加连接都会减少可用于将垃圾邮件发送到真实主机的资源。为了检测IP地址是否可用,LaBrea使用ARP协议。每当路由器试图将数据包传送到某个IP地址时,它首先需要找到相应的MAC地址,如果没有主机侦听该IP地址,ARP将不会得到回复。例如:12:20:40.439476arpwho-has192.168.1.123tell192.168.1.2由于ARP是全网广播的,LaBrca监听来自路由器的ARP请求,如果网络中没有该IP地址对应的主机192.168.1.123,LaBrea会发送自己的response:12:20:42.356431arpreply192.168.1.123is-at00:3c:2f:1e:52:7a现在路由器收到MAC地址,就会发送这个数据包以及随后的数据包HostforLaBrea。但是当一台主机重启的时候,它可能会使用一个已经被LaBrea占用的IP地址,但是重启的主机会发送一个不需要应答的ARP请求来通知网络上的每一个人新的IP地址和MAC的绑定,然后LaBrea将放弃IP地址。LaBrea接受来自网络上所有空闲IP地址的TCP连接。当它收到一个SYN包时,通过完成TCP三次握手建立连接,然后延迟连接。LaBrea支持两种减慢连接传输速度的方法:窗口限制:LaBrea接受新连接,但通告一个非常小的接收窗口。接收窗口向发送方指示每个数据包发送的数据不能超过窗口允许的数量。当使用窗口调整时,连接还在继续,但是当一个1000字节的数据包需要以10字节为单位传输时,显然传输时间会变得很长,速率也会变得很慢。持久捕获:LaBrea通告一个大小为0的TCP接收窗口,指示发送方在继续发送数据之前等待。发送方周期性回访,发送窗口检测包,判断接收窗口是否再次打开,这种状态可以一直持续下去。当垃圾邮件发送者试图通过LaBrea蜜罐发送电子邮件时,SMTP事务将不会产生任何进展或产生很少的进展,而愚蠢的垃圾邮件发送者将保持连接,从而浪费网络资源。最终,一旦垃圾邮件发送者发现与LaBrea的对话没有进展,它可能会走开。当我们使用DHCP进行动态IP地址分配时,LaBrea将接管DHCP地址范围内当前未使用的地址。DHCP服务器在分配IP地址之前,通常会先ping地址,但是LaBrea对ping的响应会干扰DHCP服务器的判断。随着时间的推移,用户归还了他们租用的IP地址,最终LaBrea将接管整个DHCP地址空间。所以用户需要知道他的DHCP服务器使用了哪些地址,并在配置文件中排除它们。(5)HoneydHoneyd是一个可以集成数千个虚拟蜜罐和相应网络的框架。通常我们使用Honeyd来整合现网所有未分配的IP地址。对于每个IP地址,Honeyd都可以设置为模拟不同的计算机行为。一般来说,当蜜罐只使用一个IP地址时,可能需要很长时间才能检测到攻击,但是当你有成百上千个IP地址时,被攻击的速度就会大大加快,这就是Honeyd的作用,以低交互虚拟蜜罐为框架,在一个网络或互联网上搭建数以千计的虚拟蜜罐,充分利用未分配的网络地址,观察更多的攻击行为,或用来防止入侵者对真实系统的攻击。Honeyd通过路由器或代理ARP接受其虚拟蜜罐的流量。对于每个蜜罐,Honeyd可以模拟不同操作系统的网络堆栈行为。① Honeyd特点Honcyd可以同时模拟数千个不同的虚拟主机:入侵者可以通过网络与每个单独的主机进行交互。可以将Honeyd配置为对每个主机有不同的行为。可以通过配置文件配置任意服务:当入侵者与虚拟主机进行交互时,Honeyd可以提供与对手进行交互的任意程序,这些程序服务可以使用配置文件进行配置。每当Honeyd收到新的网络连接时,它可以及时启动预先配置的服务或程序来响应入侵者。即使不运行相应的程序,Honeyd也可以作为代理将连接转发到其他主机,或者使用类似于被动指纹识别的功能来识别远程主机和随机负载样本。在TCP/IP堆栈级别模拟操作系统:此功能允许Honeyd欺骗Nmap和Xprobe,使其相信虚拟蜜罐正在运行各种配置的操作系统。构建自由路由拓扑:路由拓扑可以任意复杂,可以配置延迟、丢包、带宽等特性。Honeyd支持非对称路由、将物理机集成到虚拟拓扑中以及通过GRE隧道进行分布式操作。子系统虚拟化:利用子系统,Honeyd可以在蜜罐虚拟空间中执行真正的UNIX应用程序,如Web服务器、Ftp服务器等。此功能还允许动态端口绑定和虚拟地址空间内网络连接的后台初始化。② Honeyd的架构Honeyd使用了一个简单的架构,一个中央数据包分发器接受所有入侵者的网络流量,根据执行确定的配置,为接收到的数据流量创建不同的服务进程,个性引擎用于修改传出网络数据包以匹配配置的操作系统的特性。虽然Honeyd的每个方面都可以通过其配置进行控制,但三个重要的特征决定了Honeyd的整体行为:首先,入侵者只能通过网络与Honeyd进行交互,我们的基本假设是入侵者无法靠近计算机或键盘进行登录,因为任何Honeyd模拟蜜罐都没有对应的物理计算机,Honeyd不模拟操作系统的每个方面,只模拟它的网络堆栈所以入侵者永远无法访问完整的系统,但是Honeyd的这个问题可以通过结合来减少它与VMware等虚拟机一起使用。二是Honeyd可以在网络上部署大量的虚拟蜜罐。即使分配了大量的IP地址,Honeyd也可以模拟。它可以有不同的操作系统和服务,可以模拟任何网络拓扑,支持网络隧道。三是欺骗指纹识别工具。Honeyd可以逆向指纹识别工具的数据库,在数据库中找到指纹识别的特征。当蜜罐需要发送一个网络数据包时,它可以通过查找数据库来改变所有的数据包。内容,以便它们与配置的操作系统特性相匹配。结论:虚拟蜜罐技术具有物理蜜罐技术的诸多特点,可以在单个系统中运行数百个虚拟蜜罐,还可以添加网络诱饵、蠕虫检测、垃圾邮件预防、网络模拟等多种应用。物理蜜罐部署复杂、成本高、耗时长,虚拟蜜罐技术作为蜜罐技术的突破性解决方案,在降低网络安全防护成本、提高效率等方面,对网络安全技术具有重要作用。
