基于NS2网络仿真防御DDoS攻击研究

2012-11-21 11:38
长江大学学报(自科版) 2012年19期
关键词:联机封包吞吐量

王 伟

(安徽水利水电职业技术学院电子系,安徽 合肥 231603)

基于NS2网络仿真防御DDoS攻击研究

王 伟

(安徽水利水电职业技术学院电子系,安徽 合肥 231603)

对NS2在网络安全研究中的应用进行了分析,并基于NS2仿真平台进行了防御DDoS攻击的试验。结果表明,使用NS2网络仿真工具可以实现网络安全攻防试验的场景设置和效果模拟,能够为网络安全防御技术方案的设计提供模拟效果验证。

NS2;网络仿真;DDoS;网络安全

随着计算机网络的快速发展与应用,网络安全性日益重要。国家计算机网络应急技术处理协调中心(CNCERT/CC)发布的2011年互联网网络安全态势综述显示,DDoS攻击呈现频率高、规模大和转嫁攻击的特点,应对此类威胁是网络安全领域的重要研究内容。为了抵御DDoS攻击,需要对网络系统安全配置、攻防技术和安全防御效果等方面进行试验。但是,在真实网络环境下进行上述试验可能会导致目标网络被攻击和网络节点瘫痪等。使用NS2网络仿真工具可以实现网络安全攻防试验的场景设置和效果模拟,能够为网络安全防御技术方案的设计提供模拟效果验证。为此,笔者基于NS2网络仿真对防御DDoS攻击的问题进行了研究。

1 NS2网络仿真概述

1.1NS2简介

NS2(Network Simulator version 2)是由UC Berkeley开发的开源、免费的软件仿真平台,可以用于实现对各种不同IP网络的仿真。NS2的架构遵循OSI/RM,使用C++和OTcl作为开发语言,网络仿真使用TCL语言进行定义,编写OTcl脚本来定义网络拓扑结构、配置网络信息流量的产生和接收以及收集统计数据。NS2主要工作在Unix(Linux)和Windows系统中。

NS2能够仿真多种网络业务类型,实现对LAN、Intranet、无线网络以及混合拓扑的多种网络的仿真。仿真的层次主要集中在数据链路层、网络层和传输层,集成了多种网络协议和路由算法等,支持多种路由排队管理机制和组播业务。

1.2NS2网络仿真基本过程

使用NS2进行网络仿真的基本过程如下[1]:①添加NS2组件。将新的协议或解决问题的方案用C++实现,以组件的形式整合到NS2平台中去。②编写OTcl脚本,由此实现模拟仿真场景的设定、运动场景和数据业务的产生、仿真流程的控制等。③运行OTcl脚本,生成.nam和.trace文件。④分析.trace文件,得到相关数据结果;⑤运行.nam文件,并利用gnuplot绘图。⑥调整网络拓扑结构和业务量模型等参数,重新进行模拟直至得到满意结果。

2 防御DDoS攻击的网络仿真试验

DDoS攻击是指黑客通过对其控制的大量代理端主机同时发出相同的攻击指令,从而实现对相关目标的攻击[2]。根据上述特点,可以通过对数据包内容相同程度高的检测来发现DDoS攻击,并通过丢弃该类数据包来达到防御DDoS攻击的目标[3]。为了验证上述防御策略是否可行,使用NS2仿真一个具有DDoS攻击的网络环境,设置黑客主机与正常网络主机之间不同的连接参数,进行对抗DDoS攻击的模拟试验,并在试验过程中屏蔽黑客通信,最后检验分析该防御的效果。

2.1试验方案

图1 仿真网络结构

仿真网络结构[4]如图1所示。E1和E2是边界路由器,S1和S2是2个网络上的主机,其中S1表示发动DDoS攻击的网络黑客,S2表示正常的网络主机,Host表示被攻击的目标主机。

当S1发起DDoS攻击时,S1会向其代理端发送攻击指令,这些攻击指令是相同的,因此在S1到E1之间建立CBR联机,用相同长度的封包模拟黑客发出的攻击数据包;S2模拟正常网络主机,在S2到E1之间建立起相同速率、封包大小随机的NBR联机,在NS2中没有这类联机,需要向NS2中添加该联机NBR模块。对于边界路由器E1和E2,采用WRED队列管理机制和TSW2CM数据包标记策略。通过设置E1到E2等链路的不同带宽和S1、S2到E1的不同连接时间,对S1产生的CBR封包进行标注并进行丢弃,从而仿真实现防御DDoS攻击的目标。

2.2试验过程

1)添加NBR联机 首先编写NBR模块的代码,用以产生相同速率、大小随机的NBR封包,然后将此模块添加到NS2中。

2)编写Otcl脚本,在NS2中执行 该步骤的相关代码如下:

#产生一个仿真的对象

set ns [new Simulator]

#打开一个trace文件,用来记录封包传递的过程

set nd [open tsw2cm.tr w]

$ns trace-all $nd

#设置TSWTCM的参数,在本试验中使用的是TSW2CM

#设置第一个分组的CIR为1500000 bps

#设置第二个分组的CIR为 500000 bps

set cir0 1500000

set cir1 1000000

…………

#设置NBR和CBR数据传送开始和结束的时间

$ns at 0.0 “$nbr start”

$ns at 0.0 “$cbr start”

$ns at $testTime “$nbr stop”

$ns at $testTime “$cbr stop”

$ns at [expr $testTime + 1.0] “finish”

…………

3)吞吐量分析 通过分析CBR封包吞吐量来仿真DDoS攻击数据包被检测及丢弃的情况,测量CBR封包吞吐量的awk程序如下:

#measure-cbr.awk

#测量CBR封包平均吞吐量的awk程序(s2到Host)

BEGIN {

init=0;

……

4)进行吞吐量绘图 进入绘图模式:$startxwin.bat;执行gnuplot进行绘图:

$gnuplot

gnuplot>

gnuplot>set yrange[0:3000]

gnuplot>plot “nbr” with linespoints 1,“cbr” with linespoints 2

3 仿真结果分析

图2 吞吐量图

吞吐量绘图结果如图2所示。从图2可以看出,执行TSW2CM.tcl后,正常网络主机产生的网络通信数据包——NBR封包传输速率为10Mbps,小于程序中给定的CIR值,该封包不受影响。黑客的DDoS攻击数据包——CBR封包传输速率为10Mbps,其CIR值为5Mbps,边界路由器E1到E2的带宽为10Mbps,因而在执行10s左右后,当E1到E2的队列长度超过临界值时CBR封包被丢弃。可见,通过对网络通信中高相同度的数据包的检测,能够发现这类数据包并进行截获。当网络黑客发动DDoS攻击时,由于攻击指令数据包具有高相同度的特点,通过对网络通信中高相同度的数据包进行检测,能够发现并截获该类数据包,从而达到防御DDoS攻击的目的。

4 结 语

随着Internet的广泛应用和网络技术的快速发展,网络安全威胁的危害日益严重,网络安全研究愈发重要。作为通用的网络测试和仿真平台,NS2在网络安全研究中具有应用灵活、能够仿真网络形态和事件多样性的特点,因而在网络安全研究中的应用将会更加广泛。

[1]刘昌鑫,彭嵩松,吴兰英.基于NS2网络仿真的实现[J].井冈山学院学报(综合版),2007,28(6):26-28.

[2]韩竹,范磊,李建华.基于源端检测的DDoS防御机制[J].计算机工程,2007,33(19):150-151,157.

[3]李金良,王文国,何裕友.一种基于历史信任数据的DDoS防御模型[J].计算机技术与发展,2007,17(7):160-162,199.

[4]柯志亨,程荣祥,谢锡望,等.计算机网络实验——以NS2仿真工具实作[M].台北:学贯行销股份有限公司,2005.

10.3969/j.issn.1673-1409(N).2012.07.039

TP393.08

A

1673-1409(2012)07-N114-03

2012-04-12

王伟(1974-),男,1997年大学毕业,硕士,讲师,现主要从事网络安全、网络工程方面的教学与研究工作。

[编辑] 李启栋

猜你喜欢
联机封包吞吐量
多联机安装施工技术探讨
中药封包在急诊老年急性胃肠炎患者中的临床应用
护肤 巧用保鲜膜
无冲突规则校园网络安全系统的设计
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
高温多联机空调系统的控制方式研究
CALIS联机合作编目中的授权影印书规范著录
NAP客户联机VPN测试