DDos攻擊實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
DDos 是一種非常常見的網(wǎng)絡(luò)攻擊手段,為了能夠更好地研究和分析DDos 攻擊的過程,動(dòng)態(tài)地掌握DDos 攻擊過程不同階段對網(wǎng)絡(luò)數(shù)據(jù)帶寬、網(wǎng)絡(luò)性能的影響,往往需要建立DDos 攻擊實(shí)驗(yàn)平臺(tái)。
然而DDos 攻擊實(shí)驗(yàn)對網(wǎng)路帶寬和網(wǎng)絡(luò)性能都有極大的危害。在普通的網(wǎng)絡(luò)環(huán)境中開展DDos 攻擊實(shí)驗(yàn)會(huì)對正常的網(wǎng)絡(luò)通信造成極大的危害。而且在現(xiàn)實(shí)的互聯(lián)網(wǎng)環(huán)境中,各種路由器、防火墻等設(shè)備都對DDos 攻擊進(jìn)行了相應(yīng)的防范,因此在互聯(lián)網(wǎng)環(huán)境中如果缺乏足夠的前期準(zhǔn)備工作,也很難開展真正有效的DDos 攻擊。而且由于互聯(lián)網(wǎng)的開放性,使得在互聯(lián)網(wǎng)上開展DDos 攻擊實(shí)驗(yàn)過程具有攻擊范圍和攻擊過程以及攻擊后果難以有效控制等問題,因此亟需開發(fā)和設(shè)計(jì)一種針對DDos 攻擊的實(shí)驗(yàn)平臺(tái)。
由于DDos 攻擊過程是一種非常常見的攻擊過程,因此針對DDos 攻擊的相關(guān)研究也比較多。通過對現(xiàn)有DDos攻擊實(shí)驗(yàn)平臺(tái)的研究成果分析表明,當(dāng)前對DDos 攻擊實(shí)驗(yàn)平臺(tái)的研究主要朝兩個(gè)方向發(fā)展,一種是基于本地網(wǎng)絡(luò)的DDos 攻擊實(shí)驗(yàn)環(huán)境,另一種是基于虛擬機(jī)的DDos 攻擊實(shí)驗(yàn)環(huán)境?;诒镜鼐W(wǎng)絡(luò)的DDos 攻擊實(shí)驗(yàn)環(huán)境,是模擬互聯(lián)網(wǎng)的各種網(wǎng)絡(luò)設(shè)備,包括路由器、服務(wù)器、PC 終端等設(shè)備,采用實(shí)際的網(wǎng)絡(luò)硬件設(shè)備搭建一個(gè)與互聯(lián)網(wǎng)功能類似的小型網(wǎng)絡(luò),在該網(wǎng)絡(luò)上開展DDos 攻擊實(shí)驗(yàn)。這種實(shí)驗(yàn)環(huán)境以真是的計(jì)算機(jī)和網(wǎng)絡(luò)設(shè)備來模擬互聯(lián)網(wǎng)通信過程具有很強(qiáng)的真實(shí)性。然而由于互聯(lián)網(wǎng)規(guī)模非常的龐大,因此在本地建立的模擬實(shí)驗(yàn)網(wǎng)絡(luò)很難真正模擬出互聯(lián)網(wǎng)大數(shù)量、大規(guī)模的特性,同時(shí)這種模擬的方式也需要耗費(fèi)大量的硬件基礎(chǔ)設(shè)施,實(shí)現(xiàn)代價(jià)較高。另一種是基于虛擬環(huán)境的攻擊實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn)方法。這種實(shí)現(xiàn)方法通過在高性能的計(jì)算機(jī)或服務(wù)器上虛擬出互聯(lián)網(wǎng)中的路由器、PC終端以及互連設(shè)備等等。這種采用虛擬方式建立的攻擊實(shí)驗(yàn)網(wǎng)絡(luò)實(shí)現(xiàn)成本低,能夠在短時(shí)間內(nèi)構(gòu)造一個(gè)規(guī)模相對較大的互聯(lián)網(wǎng)絡(luò),然而完全基于虛擬環(huán)境的實(shí)驗(yàn)網(wǎng)絡(luò)對實(shí)際的網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)通信性能等模擬不夠完善,因此在這種純虛擬環(huán)境下開展的攻擊實(shí)驗(yàn)平臺(tái)得到的攻擊效果和攻擊過程與真實(shí)的環(huán)境仍然有較大的差異。文中針對當(dāng)前DDos 攻擊實(shí)驗(yàn)平臺(tái)的研究發(fā)展現(xiàn)狀和趨勢,提出了基于虛擬環(huán)境和實(shí)際網(wǎng)絡(luò)硬件設(shè)備相結(jié)合的DDos 攻擊實(shí)驗(yàn)平臺(tái),該實(shí)驗(yàn)平臺(tái)采用實(shí)際的網(wǎng)絡(luò)互連設(shè)備建立一個(gè)真實(shí)的網(wǎng)絡(luò)環(huán)境,同時(shí)在網(wǎng)絡(luò)環(huán)境中的各個(gè)終端上采用虛擬化技術(shù)構(gòu)建多個(gè)網(wǎng)絡(luò)終端,擴(kuò)大網(wǎng)絡(luò)互連的規(guī)模,以此解決目前DDos 攻擊實(shí)驗(yàn)平臺(tái)中網(wǎng)絡(luò)環(huán)境真實(shí)性與網(wǎng)絡(luò)環(huán)境搭建代價(jià)之間的矛盾。
1 實(shí)驗(yàn)平臺(tái)的組成結(jié)構(gòu)
文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)在物理結(jié)構(gòu)上仍然保持傳統(tǒng)的互聯(lián)網(wǎng)結(jié)構(gòu)。如圖1 所示,給出了DDos 攻擊實(shí)驗(yàn)平臺(tái)的組成結(jié)構(gòu)。在該拓?fù)浣Y(jié)構(gòu)中,處于中心位置的是DDos 攻擊實(shí)驗(yàn)平臺(tái)的服務(wù)器,該服務(wù)器負(fù)責(zé)模擬互聯(lián)網(wǎng)上常見的網(wǎng)絡(luò)應(yīng)用服務(wù)。
服務(wù)器通過路由器、交換機(jī)等網(wǎng)絡(luò)互連設(shè)備與各個(gè)實(shí)驗(yàn)終端相連。所有實(shí)驗(yàn)終端和服務(wù)器組成一個(gè)本地網(wǎng)絡(luò),可以完成正常的網(wǎng)絡(luò)數(shù)據(jù)通信功能。在文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)硬件結(jié)構(gòu)的基礎(chǔ)上,對所有的網(wǎng)絡(luò)實(shí)驗(yàn)終端進(jìn)行了虛擬化的設(shè)計(jì),即在一個(gè)客戶機(jī)的終端上可以虛擬出多個(gè)網(wǎng)絡(luò)終端以及虛擬的網(wǎng)絡(luò)互連設(shè)備。所有的網(wǎng)絡(luò)互連終端既可以通過虛擬的網(wǎng)絡(luò)互連設(shè)備形成一個(gè)本地的局域網(wǎng),也可以通過客戶機(jī)的硬件網(wǎng)絡(luò)接口與遠(yuǎn)程的網(wǎng)絡(luò)建立連接。因此在圖1 所示的DDos 攻擊實(shí)驗(yàn)平臺(tái)拓?fù)浣Y(jié)構(gòu)中,有路由器、服務(wù)器以及其他網(wǎng)絡(luò)通信設(shè)備所組成的互聯(lián)網(wǎng)絡(luò),相當(dāng)于互聯(lián)網(wǎng)中的骨干網(wǎng)絡(luò),承擔(dān)著整個(gè)虛擬環(huán)境中各個(gè)本地網(wǎng)絡(luò)的數(shù)據(jù)互聯(lián)互通。在攻擊實(shí)驗(yàn)平臺(tái)中的客戶機(jī)上面虛擬出來的所有虛擬終端以及由這些虛擬終端所連接的網(wǎng)絡(luò),形成一個(gè)個(gè)相對獨(dú)立的本地網(wǎng)絡(luò),所有本地網(wǎng)絡(luò)可以通過攻擊實(shí)驗(yàn)平臺(tái)中的骨干網(wǎng)絡(luò)進(jìn)行相互連接,實(shí)現(xiàn)數(shù)據(jù)通信。因此,文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)在拓?fù)浣Y(jié)構(gòu)上相當(dāng)于是一個(gè)分層次的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),既有屬于上層的骨干網(wǎng)絡(luò),也有屬于本地的局域網(wǎng)絡(luò)。
用戶利用文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)開展DDos 攻擊實(shí)驗(yàn)的時(shí)候,既可以以單個(gè)客戶機(jī)為實(shí)驗(yàn)環(huán)境進(jìn)行本地小型化的DDos 攻擊實(shí)驗(yàn),同時(shí)也可以選取若干個(gè)客戶機(jī),利用客戶之間的互聯(lián)網(wǎng)絡(luò)形成一個(gè)小規(guī)模的網(wǎng)絡(luò),在該環(huán)境中進(jìn)行DDos 攻擊實(shí)驗(yàn),也可以以整個(gè)DDos 攻擊實(shí)驗(yàn)平臺(tái)作為實(shí)驗(yàn)環(huán)境,以上層的骨干網(wǎng)絡(luò)作為數(shù)據(jù)通信的承載網(wǎng),以各個(gè)客戶機(jī)所組成的本地網(wǎng)絡(luò)作為DDos 攻擊的本地區(qū)域,利用整個(gè)DDos 攻擊實(shí)驗(yàn)平臺(tái)開展DDos攻擊實(shí)驗(yàn)將具有很強(qiáng)的真實(shí)網(wǎng)絡(luò)模擬特性,能夠模擬出互聯(lián)網(wǎng)中骨干網(wǎng)和本地網(wǎng)不同流量、不同帶寬等服務(wù)性能。
由于文中設(shè)計(jì)的實(shí)驗(yàn)平臺(tái)主要應(yīng)用于DDos 攻擊實(shí)驗(yàn),而根據(jù)DDos 的攻擊實(shí)驗(yàn)實(shí)現(xiàn)的方式和常見的攻擊過程,當(dāng)用戶在網(wǎng)絡(luò)中針對某一目標(biāo)發(fā)起DDos 攻擊的時(shí)候,很有可能會(huì)造成從發(fā)起源到攻擊目標(biāo)之間通信鏈路的擁塞,甚至有可能對整個(gè)模擬網(wǎng)絡(luò)中的數(shù)據(jù)通信造成擁塞。因此文中的DDos 攻擊實(shí)驗(yàn)平臺(tái)在開展實(shí)驗(yàn)過程中同樣會(huì)出現(xiàn)不同程度的數(shù)據(jù)擁塞,而作為一個(gè)攻擊實(shí)驗(yàn)平臺(tái),除了需要能夠模擬和產(chǎn)生攻擊過程中所需要的所有數(shù)據(jù),更重要的還需要能夠?yàn)橛脩籼峁〥Dos 攻擊的全過程分析環(huán)境和觀測環(huán)境,一旦DDos 攻擊實(shí)驗(yàn)平臺(tái)發(fā)生嚴(yán)重的數(shù)據(jù)擁塞,有可能使得用戶無法對實(shí)驗(yàn)網(wǎng)絡(luò)中的遠(yuǎn)程數(shù)據(jù)線路傳輸性能進(jìn)行檢測。因?yàn)楫?dāng)網(wǎng)絡(luò)上出現(xiàn)嚴(yán)重?fù)砣臅r(shí)候,所有控制數(shù)據(jù)也無法通過網(wǎng)絡(luò)環(huán)境傳輸?shù)奖O(jiān)視終端上來。為此文中在設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)中專門設(shè)計(jì)了另外一組通信鏈路,用于網(wǎng)絡(luò)性能的檢測,該通信鏈路不參與正常的網(wǎng)絡(luò)數(shù)據(jù)通信,而僅僅負(fù)責(zé)各個(gè)節(jié)點(diǎn)的處理性能、網(wǎng)絡(luò)擁塞程度等指標(biāo)進(jìn)行檢測,并及時(shí)將采集的數(shù)據(jù)通過專用的線路反饋給數(shù)據(jù)監(jiān)控終端,實(shí)現(xiàn)對DDos 攻擊的全過程監(jiān)控和分析。整個(gè)攻擊實(shí)驗(yàn)平臺(tái)中的監(jiān)控通信網(wǎng)絡(luò)在圖1 中用虛線表現(xiàn)出來,是DDos 攻擊實(shí)驗(yàn)平臺(tái)中的一個(gè)重要組成部分。
2 DDos 攻擊數(shù)據(jù)的產(chǎn)生
利用文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái),各個(gè)客戶機(jī)上的虛擬終端都可以向?qū)嶒?yàn)平臺(tái)中心的服務(wù)器發(fā)起DDos 攻擊。然而在攻擊過程中,如何快速有效地產(chǎn)生DDos 攻擊數(shù)據(jù),是本實(shí)驗(yàn)平臺(tái)在設(shè)計(jì)過程需要解決的一個(gè)關(guān)鍵性技術(shù)實(shí)驗(yàn)難題。在傳統(tǒng)的互聯(lián)網(wǎng)環(huán)境下,用戶發(fā)起DDos 攻擊一般是在各個(gè)攻擊終端上部署攻擊程序,由攻擊程序?qū)崿F(xiàn)DDos攻擊數(shù)據(jù)的產(chǎn)生。而且在真實(shí)的網(wǎng)絡(luò)互連環(huán)境中,為了提高DDos 攻擊數(shù)據(jù)的迷惑性,從各個(gè)攻擊終端產(chǎn)生的DDos攻擊數(shù)據(jù)往往不是簡單的隨機(jī)數(shù)據(jù),甚至可以通過模擬一些真實(shí)環(huán)境下的網(wǎng)絡(luò)數(shù)據(jù),以避免DDos 攻擊數(shù)據(jù)被目標(biāo)端的防護(hù)軟件所攔截[7]。
結(jié)合實(shí)際的互聯(lián)網(wǎng)中的DDos 攻擊過程,文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)在各個(gè)虛擬終端上也提供了形式多樣的DDos 攻擊數(shù)據(jù)產(chǎn)生方式,如圖2所示。根據(jù)用戶需要的DDos 攻擊數(shù)據(jù)不一樣,文中在虛擬網(wǎng)路終端上運(yùn)行了虛擬操作系統(tǒng),在虛擬操作系統(tǒng)上層提供了VC 編譯環(huán)境、WinPcap 開發(fā)驅(qū)動(dòng)、WinSocket 庫函數(shù)以及用戶自定義庫函數(shù)等功能模塊,通過這些功能模塊可以為客戶開發(fā)和產(chǎn)生靈活多樣的DDos 攻擊數(shù)據(jù)提供支持。如果客戶需要的DDos 攻擊數(shù)據(jù),當(dāng)用戶需要的DDos 攻擊數(shù)據(jù)比較規(guī)整時(shí),符合特定的網(wǎng)絡(luò)協(xié)議規(guī)范,此時(shí)可以采用WinPcap開發(fā)驅(qū)動(dòng)快速地產(chǎn)生DDos攻擊數(shù)據(jù)。
如果客戶需要的DDos 攻擊數(shù)據(jù)結(jié)構(gòu)相對復(fù)雜,比如用戶通過模擬正常的網(wǎng)絡(luò)通信環(huán)境中的通信數(shù)據(jù),則可以利用WinSocket 的庫函數(shù)以及用戶所開發(fā)的自定義庫函數(shù)。在VC 編譯環(huán)境下,產(chǎn)生靈活多樣的DDos 攻擊數(shù)據(jù)。尤其是通過用戶自定義的庫函數(shù),用戶可以將平時(shí)開發(fā)的DDos 攻擊數(shù)據(jù)產(chǎn)生功能進(jìn)行模塊化的設(shè)計(jì),將一些常用的DDos 攻擊數(shù)據(jù)結(jié)構(gòu)定義為標(biāo)準(zhǔn)的庫函數(shù),使得用戶在虛擬的終端上能夠快速靈活地產(chǎn)生各種有針對性的DDos 攻擊數(shù)據(jù)。
3 可視化的攻擊過程實(shí)現(xiàn)
DDos攻擊實(shí)驗(yàn)平臺(tái)除了需要模擬DDos攻擊實(shí)驗(yàn)所需要的各種軟硬件環(huán)境,為用戶提供開展DDos攻擊的實(shí)驗(yàn)操作平臺(tái),更重要的是需要為用戶提供DDos 攻擊過程的實(shí)時(shí)監(jiān)控和數(shù)據(jù)分析的環(huán)境。文中設(shè)計(jì)的DDos 攻擊實(shí)驗(yàn)平臺(tái)為了能夠讓用戶實(shí)時(shí)地掌握DDos 攻擊的實(shí)驗(yàn)效果,設(shè)計(jì)了DDos 攻擊過程的監(jiān)測子系統(tǒng)。
DDos 監(jiān)測子系統(tǒng)設(shè)計(jì)上也是采用分部式的部署方式,其實(shí)現(xiàn)原理是通過在DDos 攻擊實(shí)驗(yàn)平臺(tái)各個(gè)主要通信節(jié)點(diǎn)上部署相應(yīng)的監(jiān)測軟件和監(jiān)測設(shè)備,對DDos 攻擊實(shí)驗(yàn)平臺(tái)中網(wǎng)絡(luò)互連設(shè)備及設(shè)備之間的通信延時(shí)進(jìn)行監(jiān)測。然而由于DDos 攻擊過程中本身會(huì)對網(wǎng)絡(luò)性能帶來極大的影響,如果監(jiān)控軟件智商運(yùn)行在被攻擊的網(wǎng)絡(luò)設(shè)備或網(wǎng)絡(luò)環(huán)境中,當(dāng)發(fā)起比較嚴(yán)重的DDos 攻擊時(shí),可能會(huì)使得目標(biāo)網(wǎng)絡(luò)和目標(biāo)設(shè)備無法正常工作,而此時(shí)必然會(huì)導(dǎo)致進(jìn)行網(wǎng)絡(luò)性能監(jiān)控的軟硬件設(shè)備也無法正常工作。
監(jiān)控過程中所采集到的目標(biāo)設(shè)備狀態(tài)信息也無法及時(shí)地傳回到監(jiān)控端,因此當(dāng)進(jìn)行比較嚴(yán)重的DDos攻擊實(shí)驗(yàn)時(shí),網(wǎng)絡(luò)監(jiān)控子系統(tǒng)可能會(huì)失效。
為了解決這一問題,目前常用的解決方式主要有兩種。一種方式是對DDos 攻擊過程進(jìn)行實(shí)時(shí)監(jiān)測,采用DDos 攻擊效果性能預(yù)測的檢測模式,即對整個(gè)DDos 攻擊實(shí)驗(yàn)平臺(tái)各個(gè)網(wǎng)絡(luò)設(shè)備和通信帶寬等資源進(jìn)行劃分。比如劃分出80%的計(jì)算和通信為用戶進(jìn)行DDos 攻擊實(shí)驗(yàn)使用,另外20%作為系統(tǒng)正常運(yùn)行和系統(tǒng)監(jiān)測所使用。當(dāng)用戶對整個(gè)攻擊環(huán)境所占用的資源達(dá)到80%之后,即認(rèn)為該目標(biāo)網(wǎng)絡(luò)或目標(biāo)設(shè)備失去正常的服務(wù)功能,使用這種性能預(yù)測的解決方案,可以再DDos 攻擊實(shí)驗(yàn)平臺(tái)性能崩潰之前,即發(fā)出DDos 攻擊效果預(yù)警信息,同時(shí)對每個(gè)時(shí)刻的攻擊狀態(tài)和攻擊過程進(jìn)行監(jiān)測和顯示。然而這種基于性能預(yù)測的攻擊過程、監(jiān)視方法并不能夠真正地體現(xiàn)DDos 的攻擊效果,實(shí)際上是對網(wǎng)絡(luò)性能的一種模擬和預(yù)測,因此另外一種更為真實(shí)的可視化攻擊實(shí)驗(yàn)過程是在現(xiàn)有的DDos 攻擊實(shí)驗(yàn)環(huán)境中建立一套輔助的DDos 攻擊過程監(jiān)視子系統(tǒng),該監(jiān)視子系統(tǒng)所使用的監(jiān)視設(shè)備、監(jiān)視通信線路都與提供正常網(wǎng)絡(luò)通信的網(wǎng)絡(luò)設(shè)備和通信線路不一樣,采用相對獨(dú)立的一套網(wǎng)絡(luò)監(jiān)測子系統(tǒng)來實(shí)現(xiàn)可視化的攻擊過程監(jiān)測。
文中在設(shè)計(jì)過程中采取了這種基于網(wǎng)絡(luò)監(jiān)測子系統(tǒng)的可視化攻擊過程實(shí)現(xiàn)方案?;谡麄€(gè)可視化的攻擊過程實(shí)現(xiàn)管理過程如圖3 所示。在每個(gè)通信終端上面通過運(yùn)行虛擬機(jī)環(huán)境,在虛擬機(jī)環(huán)境下運(yùn)行網(wǎng)絡(luò)編程接口、網(wǎng)絡(luò)通信管理模塊、操作系統(tǒng)平臺(tái)以及通信驅(qū)動(dòng)等功能模塊。這些功能模塊可以為通信數(shù)據(jù)包的產(chǎn)生提供相應(yīng)的支持,同時(shí)也為網(wǎng)絡(luò)性能監(jiān)測提供相應(yīng)的支持。在整個(gè)子系統(tǒng)中,實(shí)現(xiàn)網(wǎng)絡(luò)性能監(jiān)測的是心跳數(shù)據(jù)包監(jiān)測模塊。心跳數(shù)據(jù)包監(jiān)測子模塊是通過部署在各個(gè)虛擬終端上的一個(gè)特定程序,定時(shí)地與其他通信終端發(fā)起數(shù)據(jù)連接,并交換虛擬終端性能參數(shù)的功能模塊。整個(gè)心跳數(shù)據(jù)包傳輸?shù)耐ㄐ啪€路與正常網(wǎng)絡(luò)的通信線路不一樣,從而避免在DDos攻擊的過程中實(shí)現(xiàn)數(shù)據(jù)監(jiān)測的管理數(shù)據(jù)也被擁塞。通過文中設(shè)計(jì)的這種采用相對獨(dú)立的監(jiān)測子系統(tǒng)實(shí)現(xiàn)可視化攻擊過程的監(jiān)控方案,能夠確保DDos攻擊實(shí)驗(yàn)平臺(tái)在任意的攻擊狀態(tài)下都能夠?qū)崟r(shí)地采集和監(jiān)測到攻擊過程的數(shù)據(jù),從而為用戶分析DDos 攻擊過程和攻擊效果提供強(qiáng)有力的支持。
4 結(jié)語
開展DDos 攻擊實(shí)驗(yàn)對相應(yīng)的實(shí)驗(yàn)環(huán)境要求比較高,而單純采用虛擬化技術(shù)DDos攻擊實(shí)驗(yàn)平臺(tái)又不能夠很好地模擬真實(shí)的網(wǎng)絡(luò)環(huán)境。文中通過設(shè)計(jì)基于真是的互聯(lián)網(wǎng)絡(luò)基礎(chǔ)設(shè)施,采用終端虛擬化的技術(shù),構(gòu)建了一個(gè)功能完善、DDos攻擊數(shù)據(jù)靈活多樣的實(shí)驗(yàn)環(huán)境,而且采用獨(dú)立的監(jiān)測子系統(tǒng)可以實(shí)現(xiàn)DDos攻擊過程的全稱監(jiān)測和數(shù)據(jù)分析等功能。