虚拟蜜罐Honeyd的分析和研究

上传人:l****6 文档编号:38061563 上传时间:2018-04-26 格式:DOC 页数:4 大小:31.50KB
返回 下载 相关 举报
虚拟蜜罐Honeyd的分析和研究_第1页
第1页 / 共4页
虚拟蜜罐Honeyd的分析和研究_第2页
第2页 / 共4页
虚拟蜜罐Honeyd的分析和研究_第3页
第3页 / 共4页
虚拟蜜罐Honeyd的分析和研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《虚拟蜜罐Honeyd的分析和研究》由会员分享,可在线阅读,更多相关《虚拟蜜罐Honeyd的分析和研究(4页珍藏版)》请在金锄头文库上搜索。

1、1虚拟蜜罐 Honeyd 的分析和研究摘要:该文介绍一个新的主动型的网络安全系统蜜罐。首先给出了蜜罐的定义和分类,然后详细描述了一个网络层次上的模拟计算机系统的虚拟蜜罐框架Honeyd,讨论了 Honeyd 的原理、结构、特点、设计和实现,并对它的功能作了全面的测试评估。 关键字:蜜罐,交互性,个性,路由拓扑,模板1 蜜罐(Honeypot)的介绍今天网络安全问题正日益严重。黑客利用自动化的大规模的漏洞扫描工具,可以在发现漏洞后不久就使全球的计算机系统遭受破坏。可是经过数十年的研究和探索,我们仍然不能确保计算机系统的安全,甚至无法准确评估它们的安全性。现在我们介绍一种新的网络安全预警系统:蜜罐

2、(Honeypot)。蜜罐是指受到严密监控的网络诱骗系统,它可以迷惑敌人,将攻击从网络中比较重要的机器上转移开,对新攻击发出预警,更重要的是可以引诱黑客攻击而并对其攻击的行为和过程进行深入的分析研究。将蜜罐和入侵检测系统、防火墙等结合使用,可以有效提高系统安全性。Honeypot 分为两种类型:一种是低交互性蜜罐(Low-Interaction Honeypot),另一种是高交互性蜜罐(High-Interaction Honeypot)。低交互性蜜罐通常是运行于现有操作系统上的仿真服务,只允许少量的交互动作,黑客只能在仿真服务预设的范围内动作,它的优点是结构简单,部署容易,风险很低。高交互性

3、蜜罐通常由真实的操作系统来构建,提供给黑客的是真实的系统和服务。采用这种方式可以获得大量的有用信息,包括我们完全不了解的新的网络2攻击方式。同时,它也带来了更多的风险-黑客可能通过这个完全开放的真实系统去攻击和渗透网络中的其他机器。配置高交互性的物理的蜜罐成本很高,因为每个蜜罐是具有自已 IP 地址的真实机器,要有它自已的操作系统和相应硬件。而虚拟蜜罐是由一台机器去模拟构造一个拥有的多个虚拟主机和虚拟服务的网络。相对而言,虚拟蜜罐需要较少的计算机资源和维护费用。本文描述的 Honeyd,就是一个在网络层次上模拟计算机系统的虚拟蜜罐框架。2 Honeyd 的设计和实施Honeyd 是一个轻型的开

4、放源代码的虚拟蜜罐的框架,可以模拟多个操作系统和网络服务,支持 IP 协议族,创建任意拓扑结构的虚拟网络。同时,为了模拟拓扑分散的网络地址空间和共享负荷,该结构也支持网络通道。 图 1 Honeyd 的数据接收 图 2 Honeyd 的结构2.1 网络数据的接收要使 Honeyd 可以对目的 IP 地址属于虚拟蜜罐之一的网络数据包正常的接受和回应,有如下方法:对指向 Honeyd 主机的虚拟 IP 地址创建特定路由、使用ARP 代理及使用网络通道。如图 1 所示,假设 10.0.0.1 为我们路由器的 IP 地址,10.0.0.2 为 Honeyd 主机的 IP 地址。10.0.0.11-14

5、 是 Honeyd 虚拟的蜜罐的 IP 地址。最简单的情况是虚拟蜜罐的 IP 位于我们局域网内。当从互联网向蜜罐 Windows NT 4.0 发送一个包时,路由器首先查询它的路由表由找到 10.0.0.13 的转送地址,如果没有配置专用的路由,路由器通过 ARP 请求确定虚拟蜜罐的 MAC 地址,因为没有相应的物理机器3ARP 请求会不被响应,因此我们配置 Honeyd 主机用自己的 MAC 地址的对10.0.0.13 的 ARP 请求做出反应,这样通过 ARP 代理路由器就把发送蜜罐Windows NT 4.0 的包转到 Honeyd 主机的 MAC 地址。在复杂的情况下,我们也可以应用通

6、用路由封装(GRE)通道协议在网络地址空间和 hondyd 主机间建立通道。2.2 Honeyd 结构Honeyd 结构由几部分构成:一个配置数据库,一个中央包分配器,协议处理器,个性化引擎和随机的路由组件,见图 2。Honeyd 支持三种主要的互联网协议:ICMP,TCP 和 UDP。输入的包由中央包分配器处理,它首先检测 IP 包的长度并验证校验,然后查询配置数据库找到与目的 IP 地址相对应的蜜罐配置,如果不存在专用的配置,则应用缺省模板。确定了配置后,数据包被传送给相应的协议处理器。ICMP 协议处理器支持大多数 ICMP 请求。缺省时,对 ECHO 请求做出反应并给出目的地址不可达的

7、信息。对 TCP 和 UDP 来说,该结构能为任意的服务建立连接,服务是在 STDIN 上接受数据并把输出发送到 STDOUT 的外部应用。Honeyd 包含一个简化的 TCP 状态机,完全支持三次握手(Three-way Handshake)的建立连接和通过 FIN 或 RST 撤消连接,但是接受器和拥塞窗口管理没有完全实现。UDP 数据报直接传到应用,当收到一个发往封闭端口的 UDP 包的时候,默认发出一个 ICMP 端口不可达的信息。Honeyd 结构也支持连接的重定向,重定向可以是静态的或依赖于连接四元组(源地址,源端口,目的地址,目的端口)。重定向允许我们把虚拟蜜罐上的一个服务连接请

8、求转递给一个在真正的服务器上运行的服务,例如,我们可以把 DNS 请4求重指向一个域名服务器甚至可以把连接反传给敌人。2.3 个性化引擎 (Personality Engine)黑客通常会运用象 Xprobe 或 Nmap 的指纹识别工具来收集目标系统的信息,为了迷惑敌人,Honeyd 可以模拟给定操作系统的网络堆栈行为,我们把这称为虚拟蜜罐的个性(Personality)。个性化引擎使蜜罐的网络堆栈按照个性设置来改变每个外出包的协议头,以便与被配置的操作系统的特征相符。Honeyd 结构应用 Nmap 指纹库作为个性的 TCP 和 UCP 行为的参照,用Xprobe 的指纹据库作为个性的 I

9、CMP 行为的参照。下面介绍怎样应用 Nmap 提供的指纹信息来改变蜜罐的网络堆栈特性。Fingerprint Windows NT 4.0 SP 6a + hotfixes TSeq(Class=RI%gcd=6%SI=40132290%IPID=BI|RPI%TS=U) T1(DF=Y%W=2017%ACK=S+%Flags=AS%Ops=M) T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=Y%W=2017%ACK=S+%Flags=AS%Ops=M) T4(DF=N%W=0%ACK=O%Flags=R%Ops=) T5(DF=N

10、%W=C00|800%ACK=S+%Flags=AR%Ops=WNMETL) T6(DF=N%W=0%ACK=O%Flags=R%Ops=WNMETL) T7(DF=N%W=0%ACK=O%Flags=R%Ops=WNMETL) PU(Resp=N|Y)图 3 Nmap 指纹的例子每个 Nmap 指纹有一个类似于图 3 中所示的格式,Fingerprint 符号后的字符串为个性化名字,后面的九行描述九个不同测试的结果。第一个测试是最重要的,它决定着远程操作系统的网络堆栈怎样为 TCP SYN 字段产生初始序列号(ISN),在 Class 字段指明预测 ISN 的难度,在 gcd 和 SI 字段

11、提供 ISN 分布的更多详细信息,同时它也决定 IP 报文标识和 TCP 时间戳。下七个测试确定到达开放和关闭的 TCP 端口的包的堆栈行为,最后的测试PU 分析了对关闭的 UDP 端口的 ICMP 反应包。2.4 路由拓扑(outing Topology)5Honeyd 能够模拟随机的网络路由拓扑。通常虚拟的路由拓扑是一株树,根节点是数据包进入虚拟网络的入口。树的每个内部节点代表着一个路由器。每个边代表着一个包含着时间等待和包损失等特性的连接。树的终端节点与网络相对应。当 Honeyd 接到包时,它找到正确的入口路由树并穿过它,从根开始直到发现包含包的目的 IP 地址的一个节点为止,沿途的包

12、损失和所有边的时间等待积累起来,确定是否抛弃该包和它的传送应该延迟多长时间。数据包每通过一个虚拟路由器,就相应减少的生存期 TTL 的值,当 TTL 为零时,Honeyd 发出包含导致TTL 为零的路由器 IP 的一个 ICMP 超时信息。Honeyd 也可以把真正的系统与虚拟的路由拓扑结合起来,当结构收一个真实系统的包时,包沿着网络拓扑行走直到它发现直接对真正的机器所属的网络空间负责的一个虚拟路由器。当真正的系统发出 ARP 请求时,结构以相应的虚拟路由器的 ARP 回复来响应。2.5 配置在 Honeyd 框架中,通过配置模板(Template)来配置虚拟的蜜罐。配置语言是一种上下文无关文

13、法,可以设置虚拟网络,操作系统和服务。下面是一个完整的Windows 模板配置范例: # Windows computerscreate windows #创建一 windows 操作系统模板set windows personality “Windows NT 4.0 Server SP5-SP6“ #设置该模板的 Nmap 指纹set windows default tcp action reset #设置缺省的 TCP 动作set windows default udp action reset #设置缺省的 UDP 动作add windows tcp port 80 “perl scr

14、ipts/iis-0.95/iisemul8.pl“ #设置系统监听到 80 端口,并且调用脚本 scripts/iis-0.95/iisemul8.pl6#处理对该端口的访问add windows tcp port 139 open #打开 TCP 139 端口 add windows tcp port 138 open #打开 TCP 137 端口 add windows udp port 137 open #打开 UDP 137 端口 add windows udp port 135 open #打开 UDP 135 端口set windows uptime 3284460 #设置 Wi

15、ndows 系统启动时间bind 192.168.0.11 windows #设置该虚拟系统绑定的地址3 Honeyd 的测试评估我们利用 Honeyd 模拟了的一个包括五个路由器,10 个虚拟蜜罐,两个入口点和一个融入虚拟网络的真实蜜罐机器复杂网络,然后用 traceroute 来测试去任意虚拟主机的路径,结果显示 Honeyd 成功地模拟了一个根本不存在的网络拓扑。为了更充分地测试 Honeyd 结构迷惑了 Nmap 的能力,我们建立了一个 B 类网络,每个虚拟蜜罐配置有 Nmap 指纹库中一个指纹,剔除重复,我们使用了 600 个特殊的指纹。蜜罐被配置只有开放一个端口,运行一个 web

16、服务。然后对所有配置的 IP 地址,启动 Nmap 来辨认操作系统。结果是,对 555 个指纹 Nmap 准确的确认了模拟的操作系统,对 37 个指纹 Nmap 列出包括模拟的个性在内的多个可能选择,Nmap 只有对 8 个指纹没有辨认出正确的操作系统。这可能是 Honeyd 的问题也可能是由于指纹数据库组织问题。4 结语Honeyd 通过虚拟主机,网络和人为配置的服务,可以应用在网络安全的许多领域。例如:病毒探测、反蠕虫、阻止垃圾邮件和转移攻击目标等。当然,无论是Honeyd 还是其他的蜜罐系统都是正在发展中的技术,还需要不断地扩充和完善功能,提高迷惑性和自身的安全性。只有把蜜罐技术和现有的安全机制有机地结合在一起,才能应对更为复杂和水平更高的网络入侵。参考文献:71 CERT. www.cert.org/advisories/CA-2003-20.html, August 2003. 2 Reto Baumann.HoneydA low involvementHoneypot in Action http:/secur

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号