王 偉
(安徽水利水電職業(yè)技術(shù)學(xué)院電子系,安徽 合肥 231603)
基于NS2網(wǎng)絡(luò)仿真防御DDoS攻擊研究
王 偉
(安徽水利水電職業(yè)技術(shù)學(xué)院電子系,安徽 合肥 231603)
對(duì)NS2在網(wǎng)絡(luò)安全研究中的應(yīng)用進(jìn)行了分析,并基于NS2仿真平臺(tái)進(jìn)行了防御DDoS攻擊的試驗(yàn)。結(jié)果表明,使用NS2網(wǎng)絡(luò)仿真工具可以實(shí)現(xiàn)網(wǎng)絡(luò)安全攻防試驗(yàn)的場(chǎng)景設(shè)置和效果模擬,能夠?yàn)榫W(wǎng)絡(luò)安全防御技術(shù)方案的設(shè)計(jì)提供模擬效果驗(yàn)證。
NS2;網(wǎng)絡(luò)仿真;DDoS;網(wǎng)絡(luò)安全
隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展與應(yīng)用,網(wǎng)絡(luò)安全性日益重要。國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心(CNCERT/CC)發(fā)布的2011年互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)綜述顯示,DDoS攻擊呈現(xiàn)頻率高、規(guī)模大和轉(zhuǎn)嫁攻擊的特點(diǎn),應(yīng)對(duì)此類威脅是網(wǎng)絡(luò)安全領(lǐng)域的重要研究?jī)?nèi)容。為了抵御DDoS攻擊,需要對(duì)網(wǎng)絡(luò)系統(tǒng)安全配置、攻防技術(shù)和安全防御效果等方面進(jìn)行試驗(yàn)。但是,在真實(shí)網(wǎng)絡(luò)環(huán)境下進(jìn)行上述試驗(yàn)可能會(huì)導(dǎo)致目標(biāo)網(wǎng)絡(luò)被攻擊和網(wǎng)絡(luò)節(jié)點(diǎn)癱瘓等。使用NS2網(wǎng)絡(luò)仿真工具可以實(shí)現(xiàn)網(wǎng)絡(luò)安全攻防試驗(yàn)的場(chǎng)景設(shè)置和效果模擬,能夠?yàn)榫W(wǎng)絡(luò)安全防御技術(shù)方案的設(shè)計(jì)提供模擬效果驗(yàn)證。為此,筆者基于NS2網(wǎng)絡(luò)仿真對(duì)防御DDoS攻擊的問題進(jìn)行了研究。
1.1NS2簡(jiǎn)介
NS2(Network Simulator version 2)是由UC Berkeley開發(fā)的開源、免費(fèi)的軟件仿真平臺(tái),可以用于實(shí)現(xiàn)對(duì)各種不同IP網(wǎng)絡(luò)的仿真。NS2的架構(gòu)遵循OSI/RM,使用C++和OTcl作為開發(fā)語言,網(wǎng)絡(luò)仿真使用TCL語言進(jìn)行定義,編寫OTcl腳本來定義網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、配置網(wǎng)絡(luò)信息流量的產(chǎn)生和接收以及收集統(tǒng)計(jì)數(shù)據(jù)。NS2主要工作在Unix(Linux)和Windows系統(tǒng)中。
NS2能夠仿真多種網(wǎng)絡(luò)業(yè)務(wù)類型,實(shí)現(xiàn)對(duì)LAN、Intranet、無線網(wǎng)絡(luò)以及混合拓?fù)涞亩喾N網(wǎng)絡(luò)的仿真。仿真的層次主要集中在數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層,集成了多種網(wǎng)絡(luò)協(xié)議和路由算法等,支持多種路由排隊(duì)管理機(jī)制和組播業(yè)務(wù)。
1.2NS2網(wǎng)絡(luò)仿真基本過程
使用NS2進(jìn)行網(wǎng)絡(luò)仿真的基本過程如下[1]:①添加NS2組件。將新的協(xié)議或解決問題的方案用C++實(shí)現(xiàn),以組件的形式整合到NS2平臺(tái)中去。②編寫OTcl腳本,由此實(shí)現(xiàn)模擬仿真場(chǎng)景的設(shè)定、運(yùn)動(dòng)場(chǎng)景和數(shù)據(jù)業(yè)務(wù)的產(chǎn)生、仿真流程的控制等。③運(yùn)行OTcl腳本,生成.nam和.trace文件。④分析.trace文件,得到相關(guān)數(shù)據(jù)結(jié)果;⑤運(yùn)行.nam文件,并利用gnuplot繪圖。⑥調(diào)整網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和業(yè)務(wù)量模型等參數(shù),重新進(jìn)行模擬直至得到滿意結(jié)果。
DDoS攻擊是指黑客通過對(duì)其控制的大量代理端主機(jī)同時(shí)發(fā)出相同的攻擊指令,從而實(shí)現(xiàn)對(duì)相關(guān)目標(biāo)的攻擊[2]。根據(jù)上述特點(diǎn),可以通過對(duì)數(shù)據(jù)包內(nèi)容相同程度高的檢測(cè)來發(fā)現(xiàn)DDoS攻擊,并通過丟棄該類數(shù)據(jù)包來達(dá)到防御DDoS攻擊的目標(biāo)[3]。為了驗(yàn)證上述防御策略是否可行,使用NS2仿真一個(gè)具有DDoS攻擊的網(wǎng)絡(luò)環(huán)境,設(shè)置黑客主機(jī)與正常網(wǎng)絡(luò)主機(jī)之間不同的連接參數(shù),進(jìn)行對(duì)抗DDoS攻擊的模擬試驗(yàn),并在試驗(yàn)過程中屏蔽黑客通信,最后檢驗(yàn)分析該防御的效果。
2.1試驗(yàn)方案
圖1 仿真網(wǎng)絡(luò)結(jié)構(gòu)
仿真網(wǎng)絡(luò)結(jié)構(gòu)[4]如圖1所示。E1和E2是邊界路由器,S1和S2是2個(gè)網(wǎng)絡(luò)上的主機(jī),其中S1表示發(fā)動(dòng)DDoS攻擊的網(wǎng)絡(luò)黑客,S2表示正常的網(wǎng)絡(luò)主機(jī),Host表示被攻擊的目標(biāo)主機(jī)。
當(dāng)S1發(fā)起DDoS攻擊時(shí),S1會(huì)向其代理端發(fā)送攻擊指令,這些攻擊指令是相同的,因此在S1到E1之間建立CBR聯(lián)機(jī),用相同長(zhǎng)度的封包模擬黑客發(fā)出的攻擊數(shù)據(jù)包;S2模擬正常網(wǎng)絡(luò)主機(jī),在S2到E1之間建立起相同速率、封包大小隨機(jī)的NBR聯(lián)機(jī),在NS2中沒有這類聯(lián)機(jī),需要向NS2中添加該聯(lián)機(jī)NBR模塊。對(duì)于邊界路由器E1和E2,采用WRED隊(duì)列管理機(jī)制和TSW2CM數(shù)據(jù)包標(biāo)記策略。通過設(shè)置E1到E2等鏈路的不同帶寬和S1、S2到E1的不同連接時(shí)間,對(duì)S1產(chǎn)生的CBR封包進(jìn)行標(biāo)注并進(jìn)行丟棄,從而仿真實(shí)現(xiàn)防御DDoS攻擊的目標(biāo)。
2.2試驗(yàn)過程
1)添加NBR聯(lián)機(jī) 首先編寫NBR模塊的代碼,用以產(chǎn)生相同速率、大小隨機(jī)的NBR封包,然后將此模塊添加到NS2中。
2)編寫Otcl腳本,在NS2中執(zhí)行 該步驟的相關(guān)代碼如下:
#產(chǎn)生一個(gè)仿真的對(duì)象
set ns [new Simulator]
#打開一個(gè)trace文件,用來記錄封包傳遞的過程
set nd [open tsw2cm.tr w]
$ns trace-all $nd
#設(shè)置TSWTCM的參數(shù),在本試驗(yàn)中使用的是TSW2CM
#設(shè)置第一個(gè)分組的CIR為1500000 bps
#設(shè)置第二個(gè)分組的CIR為 500000 bps
set cir0 1500000
set cir1 1000000
…………
#設(shè)置NBR和CBR數(shù)據(jù)傳送開始和結(jié)束的時(shí)間
$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攻擊數(shù)據(jù)包被檢測(cè)及丟棄的情況,測(cè)量CBR封包吞吐量的awk程序如下:
#measure-cbr.awk
#測(cè)量CBR封包平均吞吐量的awk程序(s2到Host)
BEGIN {
init=0;
……
4)進(jìn)行吞吐量繪圖 進(jìn)入繪圖模式:$startxwin.bat;執(zhí)行g(shù)nuplot進(jìn)行繪圖:
$gnuplot
gnuplot>
gnuplot>set yrange[0:3000]
gnuplot>plot “nbr” with linespoints 1,“cbr” with linespoints 2
圖2 吞吐量圖
吞吐量繪圖結(jié)果如圖2所示。從圖2可以看出,執(zhí)行TSW2CM.tcl后,正常網(wǎng)絡(luò)主機(jī)產(chǎn)生的網(wǎng)絡(luò)通信數(shù)據(jù)包——NBR封包傳輸速率為10Mbps,小于程序中給定的CIR值,該封包不受影響。黑客的DDoS攻擊數(shù)據(jù)包——CBR封包傳輸速率為10Mbps,其CIR值為5Mbps,邊界路由器E1到E2的帶寬為10Mbps,因而在執(zhí)行10s左右后,當(dāng)E1到E2的隊(duì)列長(zhǎng)度超過臨界值時(shí)CBR封包被丟棄??梢姡ㄟ^對(duì)網(wǎng)絡(luò)通信中高相同度的數(shù)據(jù)包的檢測(cè),能夠發(fā)現(xiàn)這類數(shù)據(jù)包并進(jìn)行截獲。當(dāng)網(wǎng)絡(luò)黑客發(fā)動(dòng)DDoS攻擊時(shí),由于攻擊指令數(shù)據(jù)包具有高相同度的特點(diǎn),通過對(duì)網(wǎng)絡(luò)通信中高相同度的數(shù)據(jù)包進(jìn)行檢測(cè),能夠發(fā)現(xiàn)并截獲該類數(shù)據(jù)包,從而達(dá)到防御DDoS攻擊的目的。
隨著Internet的廣泛應(yīng)用和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)安全威脅的危害日益嚴(yán)重,網(wǎng)絡(luò)安全研究愈發(fā)重要。作為通用的網(wǎng)絡(luò)測(cè)試和仿真平臺(tái),NS2在網(wǎng)絡(luò)安全研究中具有應(yīng)用靈活、能夠仿真網(wǎng)絡(luò)形態(tài)和事件多樣性的特點(diǎn),因而在網(wǎng)絡(luò)安全研究中的應(yīng)用將會(huì)更加廣泛。
[1]劉昌鑫,彭嵩松,吳蘭英.基于NS2網(wǎng)絡(luò)仿真的實(shí)現(xiàn)[J].井岡山學(xué)院學(xué)報(bào)(綜合版),2007,28(6):26-28.
[2]韓竹,范磊,李建華.基于源端檢測(cè)的DDoS防御機(jī)制[J].計(jì)算機(jī)工程,2007,33(19):150-151,157.
[3]李金良,王文國(guó),何裕友.一種基于歷史信任數(shù)據(jù)的DDoS防御模型[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(7):160-162,199.
[4]柯志亨,程榮祥,謝錫望,等.計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)——以NS2仿真工具實(shí)作[M].臺(tái)北:學(xué)貫行銷股份有限公司,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年大學(xué)畢業(yè),碩士,講師,現(xiàn)主要從事網(wǎng)絡(luò)安全、網(wǎng)絡(luò)工程方面的教學(xué)與研究工作。
[編輯] 李啟棟