发布时间:2020-01-09 17:28:24
网络蠕虫是一种智能化、自动化,综合网络攻击、密码学和计算机病毒技术,不需要干预即可运行的攻击程序或代码[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 所示。暗网感应器是一台配置为只过滤和转发流量的主机,负责接收路由器转发的暗网流量,并完成初步的过滤。暗网感应器将过滤后的连接请求发送给虚拟蜜罐,并告知虚拟蜜罐监控器(一台用于调度虚拟蜜罐的主机),虚拟蜜罐监控器调度合适的蜜罐,响应暗网流量,与攻击者进行深入交互,并记录交互信息。
暗网感应器
虚拟蜜罐监控器
路由器

图 1 主动式蠕虫诱捕系统结构
2.1 暗网流量的导入
任何网络流量的转发都取决于路由器维护的路由表。因此,通过修改路由器中的路由表能够将暗网流量转发到暗网监测系统。修改路由器的路由表通常有两种方法:第一种是直接在路由器上设置静态路由,第二种是通过在暗网监测系统上运行动态路由协议更新路由表,将暗网流量吸引到监测设备。
通过动态路由协议更新路由表,需要在接入路由器的暗网监测系统上运行与路由器匹配的路由协议,增加了暗网监测系统的实现难度。通过在路由器上直接设置静态路由将暗网流量导入监测系统的方法具有实现简单、不需要增加系统的功能模块的优点。
因此,在原型系统的实现中采用配置静态路由的方法将暗网流量导入暗网感应器。
2.2 暗网流量的过滤
2880 2009,30 (12) 计算机工程与设计 Computer Engineering and Design将发往暗网地址的请求发送到蜜罐中心,可以提供攻击者攻击特征的部分信息,但如果转发所有的请求,会导致可测量性问题。据文献[11],一个/8 类暗网地址空间,大约 160 万个可路由的 IP 地址,每秒钟 4Mbit 的网络流量,基本都是 TCP 的连接请求,每一个连接都需要一个虚拟蜜罐。蜜罐响应大量的连接请求并存储大量的通信报文或者模拟数据处理,就可能导致可测量性的问题。
在 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 所示。
虚拟蜜罐
攻击者暗网感应器监控器蜜罐主机
ARP respond蜜罐调度
ACK
ARP request 时间

图 2 利用 IP 切换与攻击者进行深入交互的流程
2.5 原型系统的实现
因特网
在实验室环境下,搭建了主动式蠕虫诱捕原型系统。暗网感应器是一台双网卡的计算机,一个网卡连接路由器,一个网卡连接虚拟蜜罐。连接路由器的网卡配置为混杂模式,利用 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 结束语
近年来,因特网上快速传播的网络蠕虫给世界带来了巨大的损失。蜜罐和暗网监测是网络安全领域的两种用于蠕虫监测的新技术,但二者都存在一些不足。本文在研究暗网和蜜罐的基础上,提出了基于暗网的主动式蠕虫诱捕技术,综合了两者的优点,克服了各自的不足。相对于暗网技术,克服了其不能不能与攻击者交互以获取攻击特征的缺点。相对于蜜罐技术,解决了其固有的安全性问题。文中对暗网感应器的实现、特性进行了分析,并在技术细节上进行了探讨,并实现了一个基于暗网的主动式蠕虫诱捕原型系统。实验室环境下进行了测试,结果表明利用主动式蠕虫诱捕技术能够捕获网络上快速传播的蠕虫,因此需要在更大规模的网络上进行验证实验。
利用暗网进行主动式蠕虫诱捕技术对于维护网络安全有着重大的意义。将它应用于军事网络可以增加军事网络的安全性,对保护重要网络信息有着重要的意义。在某些独立于因特网的大型网络(如电信系统内部的网络、军事网络等)中可以更好地利用大量闲置的暗网地址空间 (这些网络中的暗网地址空间比因特网更广),分流和引诱网络攻击,增强网络的安全性。
大客户
微信
置顶