网络蠕虫是一种智能化、自动化,综合网络攻击、密码学和计算机病毒技术,不需要干预即可运行的攻击程序或代码[1]。网络既是蠕虫危害的倍增器,也是蠕虫传播的受害者。蠕虫可以在很短的时间内蔓延整个网络,对网络造成拒绝服务甚至造成网络瘫痪。对此,人们采用防火墙、入侵检测系统来保护网络安全,但这些技术属于被动防御手段,只有当黑客攻击时,才能做出相应的补救措施,此时可能已经造成巨大的破坏。同时入侵检测系统存在着严重的缺陷:一是误报率和漏报率过高,网络安全人员被淹没在大量的警告信息中,难以准确地从这些信息中找寻到真正的攻击;二是检测方法过于复杂而不能适应高速网络。面对攻击特征的不断积累和网络流量的急剧增加,网络入侵检测系统越来越力不从心。
1蜜罐和暗网监测技术
蜜罐[2]和暗网监测[3]是近年来出现的主动防御的手段,然而各自却仍有自身的优缺点。前者能够吸引攻击者并与攻击者进行交互,获取关于攻击者的信息,但是由于蜜罐仅能被动预警;后者则通过监测攻击者发送到暗网地址空间上的报文,通过分析统计,获取有价值的信息,但由于暗网不存在任何活动的主机,不能完成与攻击者的深入交互,无法获取更有价值的信息。
1.1蜜罐技术
1.1.1蜜罐、蜜网的概念
Spitzner曾对蜜罐做过这样的定义:“蜜罐是一种资源,它的价值就是被攻击或攻陷。也就是说蜜罐是用来被探测、被攻击甚至最后被攻陷的。蜜罐不会修改任何东西。这样就为研究者提供了额外的、有价值的信息[2]。”蜜罐通常是一台主机或者虚拟的主机,用来被攻击者探测攻击,在攻击的过程中记录下攻击者的痕迹,以便分析或者获得病毒标本。蜜网[4]是由多个蜜罐组成的一个网络,能够吸引更多的攻击,但通常需要更复杂的配置。
按照使用真实的物理主机还是虚拟机,蜜罐可分为物理蜜罐和虚拟蜜罐。按照与攻击者的交互程度,蜜罐又可分为高交互和低交互蜜罐。通常高交互蜜罐是使用真实的操作系统,低交互蜜罐只提供某些特定的服务。一个物理蜜罐就是一台真实的主机,而虚拟蜜罐可以在同一台主机上虚拟出多个蜜罐,文献[5]提出了仅利用少数几台物理主机就能虚拟出64000个以上的Linux蜜罐。
1.1.2蜜罐的优缺点
蜜罐的优点在于它能够详细地记录攻击者攻击过程中的许多痕迹,可以收集到大量有价值的数据,如病毒或蠕虫的源码、黑客的操作等[6],从而便于研究者研究。
蜜罐的缺点主要有以下3个方面:①蜜罐存在安全隐患。由于蜜罐本身被设计为允许攻击者进入甚至控制,一旦被攻陷,有可能成为新的攻击源。②蜜罐在网络中监测范围有限,仅能监测本地网络,不能掌握整个网络的蠕虫发生情况。③由于单个蜜罐被击中的概率小,蜜罐通常只能在蠕虫爆发的高峰期被攻击,难以对高速传播的蠕虫进行早期预警。
1.2暗网监测技术
1.2.1暗网的概念
暗网(Darknet)是对因特网中未用IP地址的总称。因特网中,不是全部的网络地址都对应于工作中的计算机,其中一部分地址尚未分配,一部分有特殊用途,如私有地址和保留地址(RFC1918、RFC3330)等。对于某段IP地址空间,假设该空间的全部网络地址都被占用,且所有具有IP地址的设备(路由器、计算机等)都正工作在同一个网络中,则会得到一个完整的网络,称之为“完全网”,其中有的设备是真实存在且正在工作的,称这些设备和网络为“真实网”,而其它的设备和网络则是不存在或不工作的,这些设备和网络统称为“暗网”。
对于私有网络地址,尽管某些拥有这些地址的主机真实存在,且工作于互联网中,但相对于整个互联网而言,目的IP地址为这些地址的报文不应该在主干网上出现,所以也把这类地址归于暗网。
目的IP地址为真实网地址的报文称为合法流量,目的IP地址为暗网地址的报文称为暗网流量。暗网流量不应该出现在主干网络中,一旦出现就极可能意味着发现了网络攻击。蠕虫传播之前首先要进行主机扫描,尤其是高危蠕虫通常采用大范围高强度的随机扫描,这些扫描通常包含发往暗网的报文,通过对暗网相应的分析,就可以在蠕虫传播的早期准确地将其发现,同时也能发现网络中的黑客扫描及错误配置等。
1.2.2暗网技术的优缺点
暗网技术的优点在于其过滤掉了网络中的合法流量,只收集非法流量,便于检测和分析[10]。
暗网技术的缺点主要在于暗网通常只是被动地接收数据包,不对其进行响应,从而无法收集到更多的攻击数据。另外,利用地址列表的蠕虫在扫描时能够避开暗网地址。即使像Internet Motion Sensor[11]项目组那样使用简单的应答器来响应攻击数据包,攻击者也会很容易将其识别出来从而避开这些地址,使Internet Motion Sensor无法获取更多的攻击信息。文献[5]提出了利用Xen虚拟机监控中心来管理和调度多个虚拟蜜罐,对发送到暗网的连接请求进行响应,能够与攻击者完成深入交互。虽然该技术克服了Internet Motion Sensor项目组轻型响应仅能获取TCP三次握手后的第一个TCP负载的缺陷,但是目前仅能支持精简内核的Linux系统,还不支持普遍使用的Windows操作系统,并且主机资源耗费大,修改虚拟机控制器的源代码等配置操作比较复杂,应用受严重制约。
基于以上对蜜罐和暗网监测技术的研究,本文提出了一种新的蠕虫诱捕技术,并在实验室环境下进行了原型系统的测试。
2基于暗网的主动式蠕虫诱捕系统的设计与实现
基于暗网的主动式蠕虫诱捕系统的设计思想是借助于高交互蜜罐能对网络蠕虫所利用的漏洞攻击正确响应的特点,不采用传统的模拟网络服务漏洞的方法,减轻了研究网络服务漏洞的攻击原理的负担。通过将攻击者的报文发送给真实的网络服务主机,根据其响应响应攻击者,完成与攻击者的深入交互,从而获取有价值的信息。
系统由暗网感应器、虚拟蜜罐群、虚拟蜜罐群监控器3个部分组成,如图1所示。暗网感应器是一台配置为只过滤和转发流量的主机,负责接收路由器转发的暗网流量,并完成初步的过滤。暗网感应器将过滤后的连接请求发送给虚拟蜜罐,并告知虚拟蜜罐监控器(一台用于调度虚拟蜜罐的主机),虚拟蜜罐监控器调度合适的蜜罐,响应暗网流量,与攻击者进行深入交互,并记录交互信息。
2.1暗网流量的导入
任何网络流量的转发都取决于路由器维护的路由表。因此,通过修改路由器中的路由表能够将暗网流量转发到暗网监测系统。修改路由器的路由表通常有两种方法:第一种是直接在路由器上设置静态路由,第二种是通过在暗网监测系统上运行动态路由协议更新路由表,将暗网流量吸引到监测设备。
通过动态路由协议更新路由表,需要在接入路由器的暗网监测系统上运行与路由器匹配的路由协议,增加了暗网监测系统的实现难度。通过在路由器上直接设置静态路由将暗网流量导入监测系统的方法具有实现简单、不需要增加系统的功能模块的优点。
因此,在原型系统的实现中采用配置静态路由的方法将暗网流量导入暗网感应器。
2.2暗网流量的过滤
将发往暗网地址的请求发送到蜜罐中心,可以提供攻击者攻击特征的部分信息,但如果转发所有的请求,会导致可测量性问题。据文献[11],一个/8类暗网地址空间,大约160万个可路由的IP地址,每秒钟4Mbit的网络流量,基本都是TCP的连接请求,每一个连接都需要一个虚拟蜜罐。蜜罐响应大量的连接请求并存储大量的通信报文或者模拟数据处理,就可能导致可测量性的问题。
文献[13]在14个暗网地址空间上进行连续的10天的监测,得到出一个惊奇的结果:90%的报文来自于10%的源地址。同时在观察不同的目的端口和报文的特征,发现90%的报文来自于0.5%的目的端口。
因此,通过基于源地址的过滤技术,对同一个源地址发送的暗网请求在门限阈值t时间内仅响应一次,这样就能大大缩减蜜罐的响应报文数量。在原型系统中采用了文献[14]提出的被动指纹识别技术,根据发送报文的特征识别出攻击源主机所针对的目标服务,从而并通知虚拟蜜罐控制器,调度运行有蠕虫随利用的漏洞服务的蜜罐主机,切换该蜜罐的IP地址,使其正确地响应暗网暗网感应器转发的暗网流量。
2.3暗网感应器的主动响应
蠕虫依据预定的算法计算出IP地址,然后发送探测报文到这些IP地址的主机。由于暗网上实际不存在任何活动的主机,当路由器根据路由表转发探测报文前,会发送ARP询问报文。如果没有正确的ARP回应报文,暗网感应器将不能收到暗网流量。因此,暗网感应器根据路由器发送的ARP询问报文,检查目标IP是否为暗网地址,如果是暗网地址则回应响应的ARP回应报文。然后路由器将暗网连接请求报文发送到暗网感应器,从而完成对暗网流量的主动响应。
2.4蜜罐的调度及其IP动态切换
攻击源主机在收到ARP响应报文后,网络蠕虫发送到暗网的连接请求,设其目的IP地址为IPa,但是具有目的IPa地址的主机并不存在。因此,蜜罐监控器从蜜罐群中选出一个合适的蜜罐,并将其IP地址切换为IPa,从而展示给蠕虫一个真实的攻击目标。然后将连接请求发送到蜜罐,完成多次交互。该过程的交互如图2所示。
在实验室环境下,搭建了主动式蠕虫诱捕原型系统。暗网感应器是一台双网卡的计算机,一个网卡连接路由器,一个网卡连接虚拟蜜罐。连接路由器的网卡配置为混杂模式,利用Winpcap[15]开发包来收集暗网流量。可以将此网卡设置为一个暗网地址,同时在底层丢弃所有发往本地址的数据包而不交给操作系统,以此来防止攻击者对暗网感应器本身的攻击。连接虚拟蜜罐的网卡同样配置为混杂模式,捕获蜜罐的响应数据包,同样将此网卡设置为一个暗网地址,同时通过在底层阻塞所有发往本地址的数据包来防止蜜罐被攻陷后对暗网感应器的攻击。蜜罐上布设一个后台运行的进程,负责监听蜜罐控制器发送的IP切换指令并完成对蜜罐IP地址的更改。主动式蠕虫诱捕原型系统功能模块如图3所示。
图3主动式蠕虫诱捕原型系统功能模块
攻击源采用了一台Window 2000 SP3的主机,并运行蠕虫Sasser样本,由于震荡波蠕虫扫描采用本地优先的策略,将攻击源主机配置A类IP地址1.1.0.1,暗网地址范围设置为1.1.1.1-1.255.255.254。暗网感应器采用基于源IP地址的技术过滤暗网流量,并采用被动特征指纹识别技术进行区分流量来源的操作系统类型,判断出攻击者所针对的操作系统平台,调度响应操作系统或网络服务的虚拟蜜罐接收暗网流量。虚拟蜜罐的操作系统采用和攻击源主机同样的操作系统,宿主机的操作系统采用Windows XP SP2。报文转发模块的实现采用
Libnet1.1.1[16]开发包,对发送到暗网地址的报文进行重构转发。
3实验结果分析
3.1双机互联的环境下的Sasser蠕虫攻击感染过程
在实验室环境下,首先观察蠕虫Sasser样本在双机互联的环境下的攻击过程,两台主机均采用Windows 2000 SP3操作系统,使用Wireshark 0.99a[17]记录了报文的交互过程,作为参照的标准。整个感染过程大概15秒钟,被攻陷主机CPU资源占用100%,并发送大量的扫描探测报文,使用Sasser专杀工具查杀,确认已感染Sasser蠕虫。
3.2利用原型系统观察Sasser蠕虫攻击感染过程
在攻击主机运行Sasser蠕虫,使用Wireshark 0.99a观察攻击主机和蜜罐的交互报文,直到报文攻击过程结束,发现虚拟蜜罐的CPU占用率为100%,并且发送大量的ARP请求报文。立即将蜜罐主机断开网络,并使用Sasser专杀工具查杀,发现系统已经感染Sasser蠕虫。经过与双机互联环境下的攻击过程对比,二者的报文记录完全相同。
以上实验证明,利用主动响应机制,能够与攻击者进行深入地交互,从根本上解决蜜罐长期等待的问题,能够尽早地发现网络蠕虫在早期传播阶段发出的探测报文,并能获取攻击者的后续有价值的信息,从而实现早期预警。另外,和Internet Motion Sensor项目组进行的实验对比,能够完成深入交互,在本次实验中获取了整个Sasser蠕虫的攻击报文,而IMS的轻型响应技术进行获取第一个报文,而对于Sasser等交互过程相对复杂的蠕虫无能为力,仅能捕获类似冲击波的蠕虫,因为这些蠕虫在完成TCP的三次握手之后就立即发送带有缓冲区溢出攻击的报文。和文献[5]的工作相比,能够捕获基于Windows平台的蠕虫攻击,不仅仅是限于布设精简版的Linux蜜罐,同时对主机资源的要求也较低。
4结束语
近年来,因特网上快速传播的网络蠕虫给世界带来了巨大的损失。蜜罐和暗网监测是网络安全领域的两种用于蠕虫监测的新技术,但二者都存在一些不足。本文在研究暗网和蜜罐的基础上,提出了基于暗网的主动式蠕虫诱捕技术,综合了两者的优点,克服了各自的不足。相对于暗网技术,克服了其不能不能与攻击者交互以获取攻击特征的缺点。相对于蜜罐技术,解决了其固有的安全性问题。文中对暗网感应器的实现、特性进行了分析,并在技术细节上进行了探讨,并实现了一个基于暗网的主动式蠕虫诱捕原型系统。实验室环境下进行了测试,结果表明利用主动式蠕虫诱捕技术能够捕获网络上快速传播的蠕虫,因此需要在更大规模的网络上进行验证实验。
大客户
微信
置顶