DDos攻击实验平台的设计与实现
扫描二维码
随时随地手机看文章
0 引言
DDos 是一种非常常见的网络攻击手段,为了能够更好地研究和分析DDos 攻击的过程,动态地掌握DDos 攻击过程不同阶段对网络数据带宽、网络性能的影响,往往需要建立DDos 攻击实验平台。
然而DDos 攻击实验对网路带宽和网络性能都有极大的危害。在普通的网络环境中开展DDos 攻击实验会对正常的网络通信造成极大的危害。而且在现实的互联网环境中,各种路由器、防火墙等设备都对DDos 攻击进行了相应的防范,因此在互联网环境中如果缺乏足够的前期准备工作,也很难开展真正有效的DDos 攻击。而且由于互联网的开放性,使得在互联网上开展DDos 攻击实验过程具有攻击范围和攻击过程以及攻击后果难以有效控制等问题,因此亟需开发和设计一种针对DDos 攻击的实验平台。
由于DDos 攻击过程是一种非常常见的攻击过程,因此针对DDos 攻击的相关研究也比较多。通过对现有DDos攻击实验平台的研究成果分析表明,当前对DDos 攻击实验平台的研究主要朝两个方向发展,一种是基于本地网络的DDos 攻击实验环境,另一种是基于虚拟机的DDos 攻击实验环境。基于本地网络的DDos 攻击实验环境,是模拟互联网的各种网络设备,包括路由器、服务器、PC 终端等设备,采用实际的网络硬件设备搭建一个与互联网功能类似的小型网络,在该网络上开展DDos 攻击实验。这种实验环境以真是的计算机和网络设备来模拟互联网通信过程具有很强的真实性。然而由于互联网规模非常的庞大,因此在本地建立的模拟实验网络很难真正模拟出互联网大数量、大规模的特性,同时这种模拟的方式也需要耗费大量的硬件基础设施,实现代价较高。另一种是基于虚拟环境的攻击实验平台实现方法。这种实现方法通过在高性能的计算机或服务器上虚拟出互联网中的路由器、PC终端以及互连设备等等。这种采用虚拟方式建立的攻击实验网络实现成本低,能够在短时间内构造一个规模相对较大的互联网络,然而完全基于虚拟环境的实验网络对实际的网络带宽、网络通信性能等模拟不够完善,因此在这种纯虚拟环境下开展的攻击实验平台得到的攻击效果和攻击过程与真实的环境仍然有较大的差异。文中针对当前DDos 攻击实验平台的研究发展现状和趋势,提出了基于虚拟环境和实际网络硬件设备相结合的DDos 攻击实验平台,该实验平台采用实际的网络互连设备建立一个真实的网络环境,同时在网络环境中的各个终端上采用虚拟化技术构建多个网络终端,扩大网络互连的规模,以此解决目前DDos 攻击实验平台中网络环境真实性与网络环境搭建代价之间的矛盾。
1 实验平台的组成结构
文中设计的DDos 攻击实验平台在物理结构上仍然保持传统的互联网结构。如图1 所示,给出了DDos 攻击实验平台的组成结构。在该拓扑结构中,处于中心位置的是DDos 攻击实验平台的服务器,该服务器负责模拟互联网上常见的网络应用服务。
服务器通过路由器、交换机等网络互连设备与各个实验终端相连。所有实验终端和服务器组成一个本地网络,可以完成正常的网络数据通信功能。在文中设计的DDos 攻击实验平台硬件结构的基础上,对所有的网络实验终端进行了虚拟化的设计,即在一个客户机的终端上可以虚拟出多个网络终端以及虚拟的网络互连设备。所有的网络互连终端既可以通过虚拟的网络互连设备形成一个本地的局域网,也可以通过客户机的硬件网络接口与远程的网络建立连接。因此在图1 所示的DDos 攻击实验平台拓扑结构中,有路由器、服务器以及其他网络通信设备所组成的互联网络,相当于互联网中的骨干网络,承担着整个虚拟环境中各个本地网络的数据互联互通。在攻击实验平台中的客户机上面虚拟出来的所有虚拟终端以及由这些虚拟终端所连接的网络,形成一个个相对独立的本地网络,所有本地网络可以通过攻击实验平台中的骨干网络进行相互连接,实现数据通信。因此,文中设计的DDos 攻击实验平台在拓扑结构上相当于是一个分层次的网络拓扑结构,既有属于上层的骨干网络,也有属于本地的局域网络。
用户利用文中设计的DDos 攻击实验平台开展DDos 攻击实验的时候,既可以以单个客户机为实验环境进行本地小型化的DDos 攻击实验,同时也可以选取若干个客户机,利用客户之间的互联网络形成一个小规模的网络,在该环境中进行DDos 攻击实验,也可以以整个DDos 攻击实验平台作为实验环境,以上层的骨干网络作为数据通信的承载网,以各个客户机所组成的本地网络作为DDos 攻击的本地区域,利用整个DDos 攻击实验平台开展DDos攻击实验将具有很强的真实网络模拟特性,能够模拟出互联网中骨干网和本地网不同流量、不同带宽等服务性能。
由于文中设计的实验平台主要应用于DDos 攻击实验,而根据DDos 的攻击实验实现的方式和常见的攻击过程,当用户在网络中针对某一目标发起DDos 攻击的时候,很有可能会造成从发起源到攻击目标之间通信链路的拥塞,甚至有可能对整个模拟网络中的数据通信造成拥塞。因此文中的DDos 攻击实验平台在开展实验过程中同样会出现不同程度的数据拥塞,而作为一个攻击实验平台,除了需要能够模拟和产生攻击过程中所需要的所有数据,更重要的还需要能够为用户提供DDos 攻击的全过程分析环境和观测环境,一旦DDos 攻击实验平台发生严重的数据拥塞,有可能使得用户无法对实验网络中的远程数据线路传输性能进行检测。因为当网络上出现严重拥塞的时候,所有控制数据也无法通过网络环境传输到监视终端上来。为此文中在设计的DDos 攻击实验平台中专门设计了另外一组通信链路,用于网络性能的检测,该通信链路不参与正常的网络数据通信,而仅仅负责各个节点的处理性能、网络拥塞程度等指标进行检测,并及时将采集的数据通过专用的线路反馈给数据监控终端,实现对DDos 攻击的全过程监控和分析。整个攻击实验平台中的监控通信网络在图1 中用虚线表现出来,是DDos 攻击实验平台中的一个重要组成部分。
2 DDos 攻击数据的产生
利用文中设计的DDos 攻击实验平台,各个客户机上的虚拟终端都可以向实验平台中心的服务器发起DDos 攻击。然而在攻击过程中,如何快速有效地产生DDos 攻击数据,是本实验平台在设计过程需要解决的一个关键性技术实验难题。在传统的互联网环境下,用户发起DDos 攻击一般是在各个攻击终端上部署攻击程序,由攻击程序实现DDos攻击数据的产生。而且在真实的网络互连环境中,为了提高DDos 攻击数据的迷惑性,从各个攻击终端产生的DDos攻击数据往往不是简单的随机数据,甚至可以通过模拟一些真实环境下的网络数据,以避免DDos 攻击数据被目标端的防护软件所拦截[7]。
结合实际的互联网中的DDos 攻击过程,文中设计的DDos 攻击实验平台在各个虚拟终端上也提供了形式多样的DDos 攻击数据产生方式,如图2所示。根据用户需要的DDos 攻击数据不一样,文中在虚拟网路终端上运行了虚拟操作系统,在虚拟操作系统上层提供了VC 编译环境、WinPcap 开发驱动、WinSocket 库函数以及用户自定义库函数等功能模块,通过这些功能模块可以为客户开发和产生灵活多样的DDos 攻击数据提供支持。如果客户需要的DDos 攻击数据,当用户需要的DDos 攻击数据比较规整时,符合特定的网络协议规范,此时可以采用WinPcap开发驱动快速地产生DDos攻击数据。
如果客户需要的DDos 攻击数据结构相对复杂,比如用户通过模拟正常的网络通信环境中的通信数据,则可以利用WinSocket 的库函数以及用户所开发的自定义库函数。在VC 编译环境下,产生灵活多样的DDos 攻击数据。尤其是通过用户自定义的库函数,用户可以将平时开发的DDos 攻击数据产生功能进行模块化的设计,将一些常用的DDos 攻击数据结构定义为标准的库函数,使得用户在虚拟的终端上能够快速灵活地产生各种有针对性的DDos 攻击数据。
3 可视化的攻击过程实现
DDos攻击实验平台除了需要模拟DDos攻击实验所需要的各种软硬件环境,为用户提供开展DDos攻击的实验操作平台,更重要的是需要为用户提供DDos 攻击过程的实时监控和数据分析的环境。文中设计的DDos 攻击实验平台为了能够让用户实时地掌握DDos 攻击的实验效果,设计了DDos 攻击过程的监测子系统。
DDos 监测子系统设计上也是采用分部式的部署方式,其实现原理是通过在DDos 攻击实验平台各个主要通信节点上部署相应的监测软件和监测设备,对DDos 攻击实验平台中网络互连设备及设备之间的通信延时进行监测。然而由于DDos 攻击过程中本身会对网络性能带来极大的影响,如果监控软件智商运行在被攻击的网络设备或网络环境中,当发起比较严重的DDos 攻击时,可能会使得目标网络和目标设备无法正常工作,而此时必然会导致进行网络性能监控的软硬件设备也无法正常工作。
监控过程中所采集到的目标设备状态信息也无法及时地传回到监控端,因此当进行比较严重的DDos攻击实验时,网络监控子系统可能会失效。
为了解决这一问题,目前常用的解决方式主要有两种。一种方式是对DDos 攻击过程进行实时监测,采用DDos 攻击效果性能预测的检测模式,即对整个DDos 攻击实验平台各个网络设备和通信带宽等资源进行划分。比如划分出80%的计算和通信为用户进行DDos 攻击实验使用,另外20%作为系统正常运行和系统监测所使用。当用户对整个攻击环境所占用的资源达到80%之后,即认为该目标网络或目标设备失去正常的服务功能,使用这种性能预测的解决方案,可以再DDos 攻击实验平台性能崩溃之前,即发出DDos 攻击效果预警信息,同时对每个时刻的攻击状态和攻击过程进行监测和显示。然而这种基于性能预测的攻击过程、监视方法并不能够真正地体现DDos 的攻击效果,实际上是对网络性能的一种模拟和预测,因此另外一种更为真实的可视化攻击实验过程是在现有的DDos 攻击实验环境中建立一套辅助的DDos 攻击过程监视子系统,该监视子系统所使用的监视设备、监视通信线路都与提供正常网络通信的网络设备和通信线路不一样,采用相对独立的一套网络监测子系统来实现可视化的攻击过程监测。
文中在设计过程中采取了这种基于网络监测子系统的可视化攻击过程实现方案。基于整个可视化的攻击过程实现管理过程如图3 所示。在每个通信终端上面通过运行虚拟机环境,在虚拟机环境下运行网络编程接口、网络通信管理模块、操作系统平台以及通信驱动等功能模块。这些功能模块可以为通信数据包的产生提供相应的支持,同时也为网络性能监测提供相应的支持。在整个子系统中,实现网络性能监测的是心跳数据包监测模块。心跳数据包监测子模块是通过部署在各个虚拟终端上的一个特定程序,定时地与其他通信终端发起数据连接,并交换虚拟终端性能参数的功能模块。整个心跳数据包传输的通信线路与正常网络的通信线路不一样,从而避免在DDos攻击的过程中实现数据监测的管理数据也被拥塞。通过文中设计的这种采用相对独立的监测子系统实现可视化攻击过程的监控方案,能够确保DDos攻击实验平台在任意的攻击状态下都能够实时地采集和监测到攻击过程的数据,从而为用户分析DDos 攻击过程和攻击效果提供强有力的支持。
4 结语
开展DDos 攻击实验对相应的实验环境要求比较高,而单纯采用虚拟化技术DDos攻击实验平台又不能够很好地模拟真实的网络环境。文中通过设计基于真是的互联网络基础设施,采用终端虚拟化的技术,构建了一个功能完善、DDos攻击数据灵活多样的实验环境,而且采用独立的监测子系统可以实现DDos攻击过程的全称监测和数据分析等功能。