宋 賀,王曉鋒
(江南大學 物聯網工程學院,江蘇 無錫 214122)
隨著物聯網和移動終端設備的快速發展,當今社會正經歷著信息化發展帶來的巨大變革,信息網絡技術與網絡安全問題已滲透到國家發展和社會生活的各方面,網絡環境也由單一互聯網發展到了泛在網絡空間[1]。在這樣復雜的網絡環境下,網絡對抗形式日趨嚴峻,攻擊者利用新興物聯網和移動終端設備安全系數低的特點,將其組織成大規模僵尸主機群并向Internet發起各種安全威脅挑戰。其中,通過合法或偽造請求占用網絡或設備資源,進而造成網絡或系統癱瘓的拒絕服務攻擊是現代網絡面臨的嚴重安全威脅之一。
在眾多的拒絕服務攻擊方式中,針對BGP會話的低速率分布式拒絕服務(Low-rate Distributed Denial-of-Service,LDDoS)攻擊可避開BGP的安全防御機制,對選定的BGP鏈路實施數據平面的拒絕服務攻擊,給BGP安全帶來了嚴重風險[2]。LDDoS攻擊基于DoS攻擊原理,根據BGP運行在TCP之上的事實,利用TCP超時重傳機制中的安全漏洞,采用分布式攻擊的方式,周期性地發送短暫攻擊流,造成大規模長時間的網絡癱瘓[3]。因此,針對此類LDDoS攻擊的研究成為了當前的熱點。文獻[4]提出的ZMW攻擊利用BGP控制平面和數據平面共享相同物理傳輸信道的特點,通過擁塞其數據平面,進而造成控制平面擁塞,導致BGP會話重置并使目標網絡不可達。文獻[5]基于文獻[4]提出了CXPST攻擊,它在Internet核心網絡中選取多條關鍵BGP會話同時發起ZMW攻擊,使整個Internet核心網絡癱瘓。文獻[6]設計并實現了一款RouterTest軟件,用于模擬Update報文,使路由器進行大量路由計算,消耗CPU資源,進而實現對BGP路由器拒絕服務攻擊的模擬。文獻[7]基于CXPST攻擊,提出了一種攻擊流規劃方法,以增強攻擊的有效性和僵尸網絡資源的利用率。文獻[8]利用互相關算法協調攻擊脈沖提高攻擊性能。文獻[9]提出了一種僵尸主機分時復用的增強LDoS攻擊的方法。文獻[10]提出了合法流量與非法流量的分類模型用于檢測LDDoS。文獻[11]提出了一種多特征自適應融合的LDDoS檢測方法。
本文基于Docker容器技術,融合虛實互聯技術,提出基于輕量級虛擬化的LDDoS仿真方法,并對該仿真方法的體系架構、仿真過程和關鍵技術進行詳細描述,分別從逼真性、擴展性和仿真規模3個方面對所提仿真方法進行實驗驗證。
為了更好地支撐LDDoS攻擊技術的研究并驗證相應的防御策略,有必要構建高逼真、大規模的仿真實驗場景。目前,大規模網絡仿真主要有實物測試床、離散事件網絡模擬和網絡仿真3種方法。
對于實物測試床方法,文獻[4]通過真實的商業路由器和PC機搭建測試床,驗證了ZMW攻擊的巨大危害。然而,基于真實設備的測試床受到資源和客觀條件的限制,在進行大規模網絡場景復現時所需成本過高,所以不能完成大規模網絡拓撲下的攻擊驗證與分析。
對于網絡模擬方法,文獻[5]用離散事件模擬器模擬實現了大規模網絡下的CXPST攻擊驗證。文獻[8]用NS2模擬器創建啞鈴型拓撲,并驗證其互相關算法協調攻擊脈沖的可行性。文獻[9]用OMNet++離散事件模擬器創建小規模拓撲,并評測了增強LDoS攻擊的效果。文獻[12]采用GTNetS離散事件模擬器模擬了1 001個路由節點的網絡拓撲,并評測了改進的CXPST攻擊效果。離散事件網絡模擬技術可有效滿足大規模LDDoS仿真場景的需求,但難以保證網絡節點的逼真度以及真實網絡行為的加載,且難以與實物網絡互通以構建高逼真仿真場景。
對于網絡仿真方法,基于虛擬化技術的網絡仿真成為一種趨勢,文獻[13]用GNS3創建小規模冗余拓撲,驗證帶寬1.2 Mb/s下的ZMW攻擊。文獻[14]基于輕量級虛擬化技術設計實現了一個網絡協議仿真平臺。文獻[15]融合輕量級虛擬化和全虛擬化技術設計實現了一個網絡安全教育實訓平臺。文獻[16]結合虛擬化技術和軟件路由技術,提出了一種虛擬化的路由仿真平臺設計方法。但目前尚未有針對LDDoS攻防行為的大規模仿真場景。
基于Docker容器構建的輕量級虛擬化LDDoS仿真體系,可以很好地滿足LDDoS仿真對逼真性、靈活性的需求。借助Docker中的namespaces環境隔離技術[17-18],拓撲中的每個虛擬節點由Docker容器產生并相互獨立,且占用非常少的系統資源。LDDoS仿真體系架構如圖1所示。

圖1 LDDoS仿真體系架構Fig.1 LDDoS emulation architecture
由圖1可知,LDDoS仿真體系架構主要包含鏡像管理、網絡拓撲構建、攻擊場景配置和采集與分析,具體分析如下:
1)鏡像管理:鏡像是容器的靜態存在,每個Docker容器都是由鏡像構成的虛擬系統。因此,鏡像管理模塊通過在原生鏡像中添加路由軟件Quagga,自動化構建大規模拓撲下BGP以及自動化實現BGP報文采集和路由表采集的代碼解決方案,制作出LDDoS仿真路由鏡像。通過在原生鏡像中添加可控的攻擊數據包產生模塊和自動化設定主機網關的代碼解決方案制作LDDoS仿真主機鏡像,并使用Docker中的image服務存儲制作LDDoS路由鏡像和主機鏡像。
2)網絡拓撲構建:依據LDDoS仿真場景的網絡拓撲結構,生成包含虛擬網絡、虛擬路由、虛擬主機配置信息的部署文件。各部署節點首先解析虛擬網絡配置信息并調用Docker容器的Network服務創建虛擬網絡,然后解析虛擬路由配置信息,利用鏡像管理模塊中制作的路由鏡像,調用Docker容器的Container服務創建出虛擬路由節點并完成BGP配置,最后解析虛擬主機配置信息,利用鏡像管理模塊中制作的主機鏡像,創建虛擬主機節點并完成主機網關設置,從而完成網絡拓撲構建,實現整個網絡拓撲互通。
3)攻擊場景配置:為實現LDDoS攻擊仿真,基于構建的網絡拓撲,選擇LDDoS攻擊的目標鏈路,針對該目標鏈路設置僵尸網絡(包括攻擊主機和目標靶機),以保證其僵尸網絡間的通信鏈路包含選定的目標鏈路。依據預設的攻擊信息為僵尸網絡中的攻擊主機設置攻擊參數,包括攻擊流持續時間、攻擊流間斷時間、脈沖強度等。
4)采集與分析:為驗證LDDoS仿真的有效性,采集拓撲中虛擬路由節點路由表和整個網絡中的BGP update報文,通過Docker容器的volume服務獲取虛擬節點中的采集數據,解析數據包并統計update報文數,解析路由表信息并統計實時路由表抖動次數,將數據分析結果繪制為以時間序列為橫坐標的直觀分析圖,展示實驗效果。
本文以Docker容器平臺為基礎,調用Docker的鏡像(image)服務、網絡(network)服務、容器(container)服務與存儲(volume)服務構建LDDoS仿真場景網絡拓撲,基于構建的網絡拓撲加載LDDoS仿真攻擊參數信息,下發啟動指令后真實模擬LDDoS攻擊行為,并對相關實驗數據進行實時采集與結果分析。
LDDoS仿真場景的構建主要是網絡拓撲構建。BGP是運行于自治系統(Autonomous System,AS)間的域間路由協議,所以針對真實互聯網的網絡拓撲結構特征,需構建AS級網絡連接關系圖。由于AS級網絡拓撲規模較大,因此需要將各AS節點和AS節點間的網絡連接劃分到多臺物理服務器上,并針對各物理服務器所應部署的網絡拓撲,設置如表1所示的拓撲配置信息,并生成拓撲部署文件。

表1 拓撲配置信息Table 1 Topology configuration information
為保證網絡拓撲各節點的IP地址分配和節點間直連鏈路的二層數據交換,各物理服務器首先解析部署文件中的網絡配置信息并創建虛擬網絡。若連接在相同虛擬網絡下的拓撲節點分布在同一物理服務器中,則在本物理服務器中創建該虛擬網絡;若連接在相同虛擬網絡下的拓撲節點分布在不同物理服務器中,則在各物理服務器中均創建該虛擬網絡,并通過vxlan技術實現不同物理服務器中各虛擬節點的跨宿主機通信。
基于創建的虛擬網絡,各物理服務器依據解析的路由配置信息創建虛擬路由節點,并關聯自身所在虛擬網絡獲取網卡IP,然后虛擬節點內部依據配置信息中的AS鄰居關系,完成BGP自動化配置,使得網絡拓撲各節點進行路由學習,實現三層路由轉發。
為給LDDoS攻擊配置模塊提供僵尸主機,各物理服務器解析主機配置信息并創建虛擬主機節點,依據創建的虛擬網絡為主機節點分配IP地址,將各主機節點的網關地址修改為其直連路由網卡IP,以實現僵尸節點間的互通。
LDDoS仿真場景拓撲構建過程如圖2所示。

圖2 仿真場景構建過程Fig.2 Process of emulation scene construction
基于搭建的仿真網絡拓撲進行LDDoS攻擊行為仿真時,攻擊場景配置模塊負責生成攻擊參數信息,采集與分析模塊負責生成采集參數信息以及采集數據的收集與處理,控制下發模塊負責參數下發與實驗啟停控制。實驗相關參數配置信息如表2所示。

表2 參數配置信息Table 2 Parameter configuration information
在仿真過程中需要3個模塊的協作與配合,其運行控制過程如下:
步驟1攻擊場景配置模塊依據網絡拓撲和攻擊信息執行3.2節的攻擊配置策略,生成攻擊參數信息,并將參數信息傳遞至控制下發模塊。
步驟2采集與分析模塊依據采集信息生成采集參數信息,并將參數信息傳遞至控制下發模塊。
步驟3控制下發模塊解析攻擊參數信息與采集參數信息并將參數信息下發到仿真節點中,同時下發LDDoS仿真啟動指令。
步驟4控制下發模塊仿真啟動指令執行后,采集與分析模塊的采集模塊負責LDDoS仿真過程中的路由表與update報文采集。
步驟5仿真時間到期或控制下發模塊下發仿真停止指令后,采集與分析模塊收集路由表與update采集數據。
步驟6采集與分析模塊分析采集數據,并給出直觀分析圖。控制下發模塊下發實驗數據清空指令,清空相關數據,完成一次LDDoS仿真。
基于上述仿真框架,針對BGP會話的LDDoS攻擊仿真主要包括仿真場景網絡拓撲的快速構建、攻擊參數的有效設置以及仿真結果的收集與處理分析這3個方面。
針對大規模LDDoS仿真場景的構建,需要解決網絡拓撲快速靈活部署問題,為此提出如下LDDoS場景部署策略并應用于2.2節LDDoS仿真場景構建過程中。
1)場景拓撲分布式部署:為實現目標網絡的快速部署,增強部署節點內部的連通性,降低部署節點間的連通性,保證各部署節點承擔網絡拓撲的均衡性,依據拓撲信息和部署需求,利用當前的METIS多層圖切分技術將場景拓撲圖節點進行K路劃分,從而部署到K臺安裝了Docker服務的物理服務器節點上,并依據拓撲節點間的直連網絡關系是否處在相同物理服務器上將其劃分為宿主機內網絡和跨宿主機網絡。其中處于同一物理服務器上的節點間的直連網絡關系劃分為宿主機內網絡,處在不同物理服務器上的節點間的直連網絡關系劃分為跨宿主機網絡。根據上述劃分結果,為場景拓撲分配部署節點,針對不同的部署節點生成部署配置文件,協同啟動部署指令,實現各部署節點的并發性處理,節省部署時間。
2)目標網絡自動化配置:根據場景拓撲連接信息和劃分結果,針對不同的部署節點自動生成網絡配置信息、路由配置信息和主機配置信息。具體的配置信息如表1所示,配置信息以標準json形式下發,各部署節點依據收到的部署信息和部署指令,生成目標網絡。
3)路由協議共享式植入:根據路由配置信息中的路由節點所屬AS域和路由節點BGP鄰居AS屬性信息生成BGP配置文件,采用宿主機與容器共享BGP配置文件的形式,將配置文件植入路由容器中,路由容器節點解析BGP信息,并依據路由軟件和自動配置BGP代碼解決方案完成BGP路由協議配置與路由計算。
攻擊部署策略作為仿真體系中最重要的部分,是LDDoS研究的熱點。為了使LDDoS攻擊造成的網絡拓撲遭受的影響最大,就需要使拓撲中發生路由抖動的路由器個數最多,因此,需要選擇相對核心的鏈路作為目標鏈路。同時,在針對每條目標鏈路分配僵尸網絡時,需要保證多條目標鏈路間的僵尸網絡盡可能地互不影響,進而確保攻擊數據流可以準確匯聚到目標鏈路。同時,為了在成功攻擊目標鏈路時盡可能地逃避檢測,為每個攻擊主機提供了如下可配置參數:攻擊流持續時間,攻擊流間斷時間,攻擊仿真總時間,攻擊流脈沖強度,數據包長度和目的IP。由于BGP一般是根據最短路由優先的原則進行路由路徑計算,因此利用這一特點,通過廣度優先遍歷和回溯法計算連通圖中所有節點間的最短路徑,進而確定出仿真場景拓撲的所有路由路徑,然后再選擇其中相對核心的路徑作為攻擊測試的目標鏈路,分配僵尸網絡設置攻擊參數。具體攻擊部署策略實現過程如下:
步驟1初始化相關信息,包括預設定的目標鏈路個數T、攻擊主機個數A,讀取拓撲連接信息和攻擊參數等。
步驟2根據拓撲連接信息創建連通圖G。
步驟3通過廣度優先遍歷生成某一節點i的前驅關系,再通過回溯方式獲得節點i到其任一前驅節點j的最短路徑。
步驟4循環操作步驟3,保存圖G中任意節點對(i,j)間產生的最短路徑(包括多條最短路徑)。
步驟5遍歷所有最短路徑,統計每一條直連鏈路m->n或n->m出現的次數。
步驟6根據所有直連鏈路的出現次數進行排序,并選取頻次最高的T條直連鏈路作為目標鏈路。
步驟7對于圖G中的任意節點對(i,j),若其最短路徑中出現且僅出現一條目標鏈路,則節點i和j可以作為部署僵尸網絡的節點,分別分配1臺僵尸攻擊主機和1臺僵尸目標主機,并為攻擊主機配置攻擊參數。對圖G中所有節點對進行搜索,并完成配置。
步驟8輸出配置好的僵尸網絡信息,以及僵尸攻擊主機節點對應的攻擊參數信息。
因此,針對BGP的LDDoS攻擊能夠造成目標鏈路頻繁中斷與恢復,從而導致目標鏈路兩端的路由器重新計算最佳路徑并更新路由表,然后通過發送BGP update報文通知鄰居路由器更新路由,這種更新會觸發拓撲中其他路由器產生一系列的路由更新。因此,目標鏈路的頻繁中斷與恢復會導致拓撲中的大部分路由器出現頻繁的路由表變化,即出現路由表抖動現象,并伴隨產生大量的BGP update報文。因此,路由表抖動情況和update報文數量是衡量針對BGP會話的LDDoS攻擊效果的關鍵指標。
路由表和update報文的準確高效采集是衡量針對BGP會話的LDDoS攻擊效果的基礎,對采集數據的合理化分析直接影響著攻擊效果的直觀展示。同時,采集的啟動延時和采集數據的效率也會導致展示結果存在一定誤差。為盡可能地減小這些誤差損耗,本文采用多節點多線程并行啟動虛擬容器節點內部采集模塊的方式,減小啟動延時,通過掛載數據卷的方式將容器中采集數據直接傳入宿主機節點采集數據分析模塊,在保證網絡隔離性的前提下,不占用虛擬節點本身的網絡通信接口傳輸采集數據,在提高采集數據收集效率的同時,保證了仿真場景鏈路中流量的真實性。
在數據分析時,采用依據時間序列分析的方式,對update數據包進行個數統計,對路由表進行抖動次數統計,并給出兩種數據分析圖。其中,對采集到的路由表進行統計分析時,若當前路由表與上一次采集到的路由表不同,表明該時刻發生了路由抖動,將此時間點路由表變化情況加1。對BGP update報文進行統計分析時,由于BGP傳輸層端口為179端口,因此首先解析采集數據端口為179的數據包,又因為BGP update報文類型為2,所以再從179端口數據包中解析出Type值為2的數據包,并依據數據包中的時間統計各時間點update報文個數。LDDoS仿真效果實現架構如圖3所示。

圖3 數據采集與分析架構Fig.3 Architecture of data acquisition and analysis
運用本文中的仿真驗證方法,設計了以下4組實驗對文中所提方法進行驗證分析:
1)通過針對有冗余鏈路虛實互聯場景下的單目標鏈路攻擊測試,驗證仿真方法的逼真性。
2)利用復雜拓撲下的多目標鏈路攻擊測試,驗證仿真方法的可擴展性。
3)在單臺服務器下開展大規模仿真測試,驗證仿真技術可支撐大規模部署。
4)通過與其他方法對比分析,證明本方法可以為LDDoS研究提供仿真技術基礎。
實驗中設置兩臺DELL R730服務器,eno1網卡用于連接外網,其CPU、內存、硬盤等物理配置,操作系統以及安裝的docker服務版本如表3所示。一臺cisco 4400路由器與一臺H3C E528交換機用于虛實互聯場景測試與逼真性分析。

表3 物理服務器信息Table 3 Physical server information
文獻[16,19]表明虛實網絡融合技術是新型網絡技術驗證、網絡安全技術評估、網絡仿真性能測試的主流方法。所以,虛實網絡融合場景測試是驗證仿真方法與仿真技術逼真性的最可靠方式。因此,本文基于上述實驗環境,構建虛實互聯仿真測試場景,其網絡拓撲場景如圖4所示,其中router2為cisco 4400實物路由器,net_2、net_3和net_5為虛實互聯網絡,其余路由和主機節點為docker容器,虛實互聯的實現原理如圖5所示。將服務器網卡用作中繼模式并與Linux Bridge結合實現實物交換機功能,然后與H3C E528實物交換機相連,通過虛擬局域網的方式實現容器與外部實物路由器的互聯互通。

圖4 虛實融合場景拓撲圖Fig.4 Topological graph of virtual-real fusion scene

圖5 虛實互聯原理圖Fig.5 Schematic diagram of virtual-real interconnection
以router1與router2之間的虛實鏈路為目標鏈路,net_1中主機為攻擊主機,net_3中主機為目標主機,設置目標鏈路帶寬為10 Mb/s,如表4所示設置攻擊主機的攻擊參數,其中攻擊持續時間與間斷時間的和(攻擊周期)設置為200 ms是因為Linux的minRTO默認為200 ms[20]。

表4 攻擊參數Table 4 Attack parameters
由于實物路由器無法直接采集路由表和update報文信息,因此此場景下只采集并分析router1、router3的update報文實時數量信息及路由表抖動情況信息,其測試結果如圖6所示。

圖6 虛實互聯場景實驗結果Fig.6 Experimental results in virtual-real interconnection scene
圖6(a)顯示了拓撲中在某時刻有多少個路由表發生了變化。在190 s和200 s左右有一個路由表發生了變化,表明目標鏈路發生中斷與恢復。同樣在560 s左右也出現了上述現象,與BGP工作原理相符。圖6(b)顯示了拓撲在某時刻產生的update報文數量。圖中190 s和550 s一段時間內出現了update報文,而update報文只有在BGP路由表更新時才會產生,說明這些時間段進行了路徑更新,與路由表采集情況相符。登陸到實物路由器中,通過查看BGP鄰居狀態發現目標鏈路鄰居關系斷開2次,目前處于第3次鄰居關系建立狀態,證明了采集到的路由表信息和update報文信息與真實的BGP鄰居狀態變化一致。
以上實驗結果證明了LDDoS攻擊的有效性,同時此仿真場景與實物路由器結合,支持IPv4協議的標準數據通信,拓撲圖中的BGP控制層面報文與實驗數據流量等數據層面報文穿越宿主機網卡設備在虛擬容器節點與實物節點之間自由傳輸,表明基于輕量級虛擬化的LDDoS仿真技術逼真度極高,不會存在離散事件模擬中事件擁堵造成的內存泄漏等問題,并且與實物設備融合也表明了其具有靈活性和多尺度融合性的優勢。
基于CAIDA AS Rank拓撲數據,依據AS的國家屬性,提取某國家所擁有的AS域和AS域間連接關系,以一個AS域為一個路由節點,劃分網絡拓撲,生成拓撲配置信息并部署網絡拓撲,從而在兩臺服務器上構建一個擁有124個路由節點和255條連接邊的復雜網絡拓撲,并利用上述選路原則選取4條目標鏈路,根據表3設置參數,進行10 min攻擊測試,為準確衡量LDDoS仿真效果,采集了整個網絡拓撲的update報文信息和路由表信息。測試結果如圖7所示,其中圖7(a)為攻擊造成的路由表抖動情況,圖7(b)為鏈路中斷與恢復產生的update報文數量。統計采集數據發現,10 min內路由表共抖動98次,總共產生14 902個BGP update報文,其中每秒最多產生了850個。實驗結果表明,在網絡相對復雜的情況下,一旦有鏈路發生中斷,目標鏈路兩端路由器將重新計算路由,并發送BGP update更新報文告知鄰居路由器更新路由,進而觸發一系列的路由更新,造成拓撲中多臺路由器路由表變化和大量update報文在鏈路中傳輸,路由抖動頻繁。同時在兩臺物理服務器中部署目標網絡拓撲,分布在不同物理服務器中的虛擬容器節點可以通過vxlan技術創建的跨宿主機虛擬網絡進行通信,表明所提仿真方法在保證仿真性能的前提下,可支持在多物理服務器上分布式部署目標網絡進行攻防測試,具有可擴展的優勢。

圖7 多節點分布式場景實驗結果Fig.7 Experimental results in multinode distributed scene
為高效率地利用資源,驗證其可支撐大規模網絡拓撲的需求,在單臺服務器下開啟400個虛擬路由節點,796條虛擬路由鏈路進行壓力測試。選取4條目標鏈路,進行LDDoS攻擊測試,10 min內路由表共抖動325次,總共產生144 710個BGP update報文,其中每秒最多產生了7 022個,采集結果如圖8所示。
通過本次單物理服務器下開啟400個節點的攻擊測試,結合多節點分布式場景測試,可證明在物理服務器資源足夠的情況下,可通過分布式部署的方式在各物理服務器開啟上百個虛擬網絡節點級的目標網絡,組合成更大規模的仿真測試場景,進而可證明本仿真技術支持大規模仿真場景的構建和實驗測試。與文獻[5]模擬25萬節點僵尸行為和文獻[13]單物理服務器模擬1 001個節點拓撲等的離散事件模擬技術相比,本文所提方法規模相對較小(單物理服務器為400個節點),若部署更大規模需要比離散事件模擬方法更多的物理資源,然而,本文采用的輕量級虛擬化技術,具有操作系統真實、應用軟件真實、網絡協議報文真實等的特點,同時可以基于BGP與實物路由器無縫融合仿真,具有高逼真性和擴展性的優勢。而采用離散事件仿真技術雖然規模稍大,但是存在逼真性低的明顯不足。因此,與離散事件仿真技術相比,本文所提方法仿真規模相對較小,但具有高逼真性的優勢。

圖8 大規模網絡仿真場景實驗結果Fig.8 Experimental results in large-scale networkemulation scene
此外,當前主流的網絡仿真方法采用KVM等全虛擬化技術[16]。全虛擬化技術需要為每個仿真節點分配固定的足夠滿足仿真需求的硬件資源,導致基于全虛擬化技術的仿真場景存在資源利用率低的不足,而本文的輕量級虛擬化技術通過采用獨立運行多個Unix進程的操作系統級虛擬化解決方案,在保證仿真性能的情況下,具有資源利用充分和仿真規模高的優勢。
為更有效地證明本仿真方法在LDDoS仿真中的優勢,將其與離散事件模擬工具GTNetS[12]和網絡仿真工具GNS3[13]這兩種典型的工具進行對比,這兩種工具均曾用于LDDoS研究。具體地,從是否為真實攻擊流量、是否支持實物節點接入、仿真目標鏈路帶寬和單物理服務器仿真規模4個方面進行比較,對比分析結果如表5所示。

表5 3種方法性能對比Table 5 Performance comparison of three methods
GNS3和本文方法均基于真實的數據包生成攻擊流量,且可基于橋接網絡實現實物節點接入,而GTNetS中的數據包由協議數據單元(PDU)列表組成,數據包不進行真實的轉發,且其通過在某個時間完成相應的事件來實現對相應時間發生動作的模擬,所以其生成的不是真實的攻擊流量,不能與真實的網絡設備進行報文通信,且不支持實物節點接入。在目標鏈路帶寬方面,GTNetS[12]和GNS3[13]均在目標鏈路帶寬為1 Mb/s左右情況下成功實現了LDDoS攻擊行為仿真,而本文方法實現了10 Mb/s下的LDDoS攻擊測試,提升了約10倍左右。在仿真性能上,單物理服務器下,GTNetS通過優化事件數量和部分路由計算節省了CPU與內存消耗,使得其仿真規??梢赃_到1 000多個虛擬路由節點。而GNS3真實加載Cisco IOS操作系統和硬件行為,資源占用較高,所以單物理服務器只可仿真20個路由節點左右規模的網絡拓撲。本文將輕量級虛擬化與路由軟件結合生成虛擬路由系統,單個虛擬節點占用內存非常小,在單物理服務器下可成功啟動400個路由節點規模的LDDoS仿真場景。
綜合考慮上述4個方面,本文提出的輕量級虛擬化LDDoS仿真方法,具有LDDoS仿真的目標鏈路帶寬高、支持真實攻擊流量、支持實物節點接入單物理服務器下可完成數百節點規模仿真并支持多物理節點分布式部署的優勢。相比于GTNeTS和GNS3,本文方法有效兼顧了仿真的逼真性與仿真規模,更適合為LDDoS攻防效果評估提供仿真技術基礎。
虛擬化技術是進行網絡仿真研究的主流支撐技術,本文分析當前LDDoS仿真中存在的不足,基于輕量級虛擬化技術提出了一種針對BGP會話的LDDoS仿真方法,并通過多組實驗證明該仿真方法具有高逼真性、可擴展性和支持大規模仿真的優勢,可解決傳統仿真方法中逼真度低、資源需求高、部署復雜等問題,滿足構建大規模仿真網絡的需求。本文通過協同控制攻擊和節點采集技術進行LDDoS攻擊行為模擬和攻擊效果展示,為LDDoS攻防策略的研究提供了仿真技術基礎。下一步將融合目前主流的云平臺網絡仿真技術,研究面向大規模多尺度融合的LDDoS高逼真網絡仿真方法。