999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenFlow與sFlow的DDoS攻擊防御方法

2019-03-27 08:32:02董風雷秦存強
無線電工程 2019年4期
關鍵詞:檢測

董風雷,秦存強

(1.山東聯通信息化部,山東 濟南 250001; 2.中國人民解放軍66295部隊,河北 涿州 072750)

0 引言

隨著網絡技術的發展,當前網絡應用程序大部分都是實時處理的,如何快速地響應用戶請求非常重要。當網絡被DDoS攻擊[1]時,系統會被阻塞,用戶請求得不到很好地響應,甚至造成整個網絡癱瘓[2]。此前對DDoS攻擊的研究主要在檢測方面,沒有很好的防御方法,并且檢測速度比較慢,不能實時發現攻擊[3]。

軟件定義網絡(Software Defined Network,SDN)是由斯坦福大學提出的一種新型網絡架構,目的是通過軟件的方式來控制網絡[4-5]。OpenFlow作為SDN的南向接口協議,通過實現SDN控制器與交換機的交互,實現數據的控制與轉發分離[6-7]。已有一些研究試圖基于OpenFlow協議解決DDoS攻擊[8-9]。

Yao[10]等人提出了虛擬源地址驗證(VAVE)來解決spoofed IPs,但首先,假設使用的是OpenFlow設備而不是SAVI設備,文獻指出雖然SAVI設備能夠很好地檢測出欺騙的IPs,但每個SAVI設備獨立工作,相互沒有通信,不能進行信息共享,導致每個設備都要重復計算。Mousavi[11]研究了使用控制器的攻擊檢測方法,控制器作為SDN控制器的重要部分,如果以spoofed IP數據包來對控制器進行攻擊,那么控制器資源將被攻擊所消耗,最終導致服務停止,使得SDN架構崩潰。Jun-Sang Park[12]提出了一種基于SNMP的快速、輕量級的攻擊檢測算法,最小化檢測時間的同時還能保證較高的檢測率。這種方法雖然可以檢測DDoS攻擊,但會消耗大量資源,效率不高。

以上解決方案可以有效地檢測DDoS攻擊,但是仍具有一定的缺陷。首先是對網絡性能影響較大,其次只能檢測特定的攻擊。因此,本文提出了一種新的解決方案,結合OpenFlow和sFlow,快速、自動地檢測和防御DDoS攻擊。

1 網絡攻擊防御相關研究

1. 1 DDoS攻擊

DDoS攻擊是DoS攻擊的加強版,傳統的DoS攻擊只是利用單臺服務器進行攻擊,攻擊力度較小,而DDoS攻擊則會利用分布在各地的“僵尸主機”(被攻擊者入侵從而被控制的主機)向要攻擊的主機發送大量偽造的數據包,使得網絡阻塞乃至服務器癱瘓。DDoS攻擊相比DoS攻擊具有更大的破壞力[13-14]。

1. 2 OpenFlow協議

OpenFlow是SDN標準的南向接口協議,OpenFlow通過流表來控制數據的轉發,流表的生成和下發則完全由控制器控制,這樣控制器便擁有了數據控制的能力[15]。經過多年發展,OpenFlow已有了1. 0,1. 3,1. 5等多個版本。在OpenFlow網絡中用戶可以根據實際需求來對網絡進行定制,而不需要受限于硬件設施和路由協議的制約,極大地增強了靈活性[16]。

1. 3 sFlow技術

sFlow是一種基于采樣的網絡監測技術。sFlow系統的基本原理為:sFlow Agent內嵌在交換機的ASIC芯片中,把數據封裝為sFlow數據報然后源源不斷地傳送給遠端sFlow Collector,采集器接收到sFlow數據包后進行解析,從而可以獲得實時豐富的、全網范圍的傳輸流視圖[17-18]。sFlow采樣有2種方式:Flow采樣是在指定接口上按照特定的采樣比采集網絡數據包;Counter采樣是在指定接口上周期性地獲取流量的統計信息。

Flow采樣和Counter采樣是2類不同的采樣方式,之間不會相互影響,對信息的關注點也不同。Flow方式關注流量的詳細信息,更專注于具體流的分析,可以監控和分析網絡上的流動行為,而Counter采樣則關注接口流量的統計信息,一般2種方式交換機都會啟用。

2 攻擊防御系統設計

本文設計的實時網絡入侵防御方案采用sFlow-RT接收sFlow Agent發送的數據,通過解析數據,實時查看網絡流量狀況;控制程序通過分析sFlow-RT收到的正常環境下的網絡流量,向sFlow-RT設定網絡流量閥值,超出閥值的設定為異常流量;sFlow-RT一旦發現異常流量,會上報到控制程序,控制程序采用數據包長度與IP地址作為流量特征為DDoS攻擊提供判斷依據,對超過sFlow閥值的異常流量進行進一步的判斷;若判斷為攻擊流量,則會通過SDN控制器下發相應的OpenFlow流表項,使得交換機丟棄匹配的數據包從而阻斷異常流量,使網絡恢復到正常水平。

系統主要包含3部分:網絡監控、網絡管理和DDoS攻擊防御,如圖1所示。

圖1 DDoS攻擊防御系統設計

2. 1 網絡監控

此模塊用于網絡流的實時監控和管理,是 DDoS檢測的先決條件。本文采用sFlow技術進行流量的采集。首先在交換機上配置sFlow,將報文發送到指定sFlow Collector進行分析。sFlow系統結構如圖2所示。

圖2 sFlow系統結構

sFlow-RT作為一個sFlow Collector會持續接收sFlow Agent中發送過來的數據并轉化為易于操作的數據,在瀏覽器中輸入Collector的IP地址可以實時查看網絡流量詳細情況。同時提供REST APIs來對數據進行操作,可以輕松地對流進行定義和管理。其中,sFlow-RT通過Counter采樣獲得流量的統計信息,上報到控制程序來確定流量閥值;通過Flow采樣來判斷和上報異常流量信息,并為控制程序提供正常網絡流量的判斷依據。

2. 2 網絡管理

網絡管理模塊主要負責管理網絡流,并處理攻擊流。本文采用OpenDayLight(ODL)作為SDN控制器。ODL是一個使用Java開發的開源SDN控制器,具有模塊化、可擴展及支持多協議等特點[19]。ODL提供了豐富的REST API對網絡進行多方面的控制。本方案主要通過ODL來對OpenFlow流表進行管理,相比于傳統交換機,其對數據包的處理方式更加靈活。

2. 3 DDoS攻擊檢測與防御

本模塊是整個系統最關鍵的部分,負責對DDoS攻擊進行實時檢測及處理。方案主要分為檢測和防御2個步驟。

2. 3. 1 攻擊檢測

攻擊檢測的目的是當網絡中出現DDoS攻擊時可以實時檢測出來,攻擊檢測流程如圖3所示。主要通過內嵌在交換機中的sFlow Agent進行流量采集,然后將流量封裝后發送到sFlow Collector進行分析。

圖3 攻擊檢測流程

流量分析主要有以下幾步:

(1) 定義流

Curl -H"Content-Type:application/json"-X PUT -data"{keys:'ipsource,ipdestination',value:'frame',filter:'sourcegroup=external&destinationgroup=internal'}" http:∥localhost:8080/flow/incoming/json

(2) 定義閾值

curl -H "Content-Type:application/json" -X --data "{metric:ddos,value:1000}" http:∥localhost:8080/threshold/incoming/json

(3) 查看閾值事件

[{"agent":"192. 168. 32. 131","dataSource":"4","eventID":5,"metric"}:"ddos","threshold":1000,"thresholdID":"ddos","timestamp":150806382000,"value":1531. 14941883324]

(4) 查看流信息

[{"agent":"192. 168. 32. 131","dataSource":"4","metricName":"ddos","metricValue":1582. 939650453271,"topKeys":[{"key":10. 0. 0. 1,10. 0. 0. 2","updateTime":152806433000,"value":1582. 93965044338071}],"updateTime":1552064324321}]

(5) 部署控制

開啟腳本進行實時檢測控制。

(6) 攻擊判斷

當數據流和閾值都定義好后,一旦網絡中的數據流大于定義的閾值就會產生警告信息。控制程序接收到警告信息后,會對警告信息進行分析,判斷是否產生了網絡攻擊。

本文采用數據包的大小和IP地址作為DDoS攻擊發生的流特征指標。由于 DDoS攻擊為多個“僵尸主機”攻擊一臺服務器,會出現IP地址匯聚的現象,因此采用IP地址作為特征指標。在攻擊時,攻擊者通常無視受害者的響應,只是通過攻擊腳本產生攻擊流量,攻擊流量的數據包大小通常是相對固定的,而合法流量由于請求、響應和數據的不同而具有不同的數據包大小,因此采用數據包大小作為特征指標。由于熵表示了系統的混亂程度,可以使用熵值來評估IP地址的混亂程度和數據包大小的一致程度,熵值計算公式如下:

式中,pi為某特征指標出現的概率,例如源IP地址x出現的概率為pi=count(srcIP=x)/packages,packages為統計的所有數據包數量,count(srcIP=x)為統計的數據包中源IP為x的數據包數量。目的IP的計算方法類似。

控制程序通過sFlow定期采集交換機中流量,通過分析正常流量下IP地址和數據包的熵值作為判斷依據。當產生異常流量時對異常流量的IP地址與數據包熵值進行分析,判斷異常流量是否為攻擊流量,判斷流程如下:

① 根據最近N次正常流量的采樣計算源IP地址熵值nsip、目的IP地址熵值ndip、數據包大小的熵值npkg;

② 計算異常流量的源IP地址熵值wsip、目的IP地址熵值wdip、數據包大小的熵值wpkg;

③ 分別比較最近正常流量與異常流量的熵值,若出現wsip

④ 出現wsip

2. 3. 2 DDoS攻擊防御

檢測到網絡流的異常后還需要對異常流量進行過濾。控制程序通過向ODL控制器傳遞主機網絡信息使ODL更新網絡。OpenFlow中的流表項主要包含3部分:匹配域、計數器和動作[20]。而動作主要用于對匹配的數據包進行處理,如轉發、丟棄及排隊等操作。因此當檢測到攻擊時,ODL控制器會下發OpenFlow流表規則指定流表項的動作,丟棄所有IP為攻擊方的數據包。如使用ODL,使用如下API,提交方式為PUT:

http:∥127. 0. 0. 1:8181/restconf/config/opendaylightinventory:nodes/node/openflow:1/table/0/flow/1

并且請求體為:

10. 0. 0. 1/24

表示對于所有匹配到的來源IP地址為10. 0. 0. 1的數據包全部丟棄。這樣就可以阻斷攻擊源從網絡流量恢復到正常水平,有效地解決了DDoS攻擊。

3 實驗及分析

3. 1 實驗環境

使用mininet來模擬SDN網絡環境創建4臺交換機。其中,OpenvSwitch(OVS)作為虛擬交換機,可以提供2層交換功能,很好地控制虛擬網絡中的訪問策略、網絡隔離及流量監控等,同時也支持OpenFlow和sFlow。在另一臺機器上安裝SDN控制器和sFlow-RT。選用開源的OpenDaylight 作為SDN控制器。使用sFlow-RT作為sFlowCollector對sFlow流量進行分析。使用開源的Tfn2k工具進行DDoS攻擊模擬。所有軟件均安裝在Ubuntun 12. 04 LTS環境下,如圖4所示。

圖4 DDoS攻擊檢測系統架構

在OVS中使用如下命令配置sFlow。

sudo ovs-vsctl -- --id=@sflow create sflow agent=s1 target=”192. 168. 32. 131:6343” header=128 sampling=500 polling=20 -set-bridge s1 sflow=@sflow

sFlow agent設置為s1,sFlow collector 的IP地址為192. 168. 32. 131,端口6343。采樣比設置為500,每500個數據包進行一次采樣發送給collector。輪詢間隔設置為10 s,sFlow agent每隔10 s會把數據包發送給sFlow collector。最后,通過設置一個閾值來判斷是否發生DDoS攻擊。

3. 2 實驗流程

sFlow-RT實時監控網絡流量,同時啟動控制腳本,當網絡流量正常情況下不會通知控制器發動控制。一旦檢測到流量超過設定的閾值,控制程序便會進行攻擊檢測,檢測為攻擊流量時,會通過ODL的API發送OpenFlow流表規則,丟棄DDoS攻擊流量,網絡重新恢復到正常水平,如圖5所示。

圖5 DDoS檢測流程

3. 3 實驗結果及分析

通過Tfn2k使用如下命令模擬常見的DDoS攻擊。

./tfn -f ip.txt -c 5 -i 192. 168. 32. 135 -p 8080

DDoS攻擊檢測與解除如圖6所示。從圖6可以看到,從交換機中通過的數據流與設置的閾值1 Mbps。當交換機中通過的數據超過1 Mbps時,將會啟動控制策略,控制器通過下發OpenFlow流表規則來丟棄攻擊數據包,網絡流量恢復到正常水平。

圖6 DDoS攻擊檢測與解除

攻擊檢測和防御時間與流大小、閥值的關系如表1所示。攻擊檢測時間與攻擊流大小成反比,與閾值成正比。閾值大小和攻擊流量大小是相互獨立的,沒有依賴關系。

表1 流檢測與防御時間

如表2所示,通過對不同的流量大小配置不同的sFlow采樣率,可以使得在高速網絡下有更好的檢測性能。

表2 sFlow采樣率設置

DDoS攻擊種類有很多,如Ping Flood,Ping of Death,SYN Flood等都是比較常見的攻擊方式。目前大多數DDoS攻擊檢測方案只關注了攻擊的檢測,卻并沒有一個很好的實時解決方案,也并沒有關注檢測對網絡性能的影響。本文方案和其他解決方案的對比結果如表3所示。

表3 本方案與其他方案對比

解決方案性能影響PingfloodPing ofdeathSYNfloodSpoofIPs防御攻擊VAVE-×××√×Early detection of DDoS√×××√×Kumar extended Open-flow switch[21]√----×Cloud Watcher√----×Light weight DDoS flood-ingattack detection×√√√××本文方案×√√√×√

本系統通過sFlow-RT來異步的監控網絡并統計網絡流量。從表3可以看到本系統相比于其他系統對性能的影響小,且支持Ping Flood,SYN Flood,Ping of Death等多種DDoS攻擊檢測,并對攻擊進行解除。

4 結束語

本文設計了一種SDN環境下結合OpenFlow與sFlow流采樣技術的DDoS攻擊檢測與緩解方案。該方案通過使用sFlow的采樣技術減小高速網絡下采集的數據量,IP地址和數據包大小作為流量分析的特征指標,結合sFlow-RT進行攻擊檢測,最后使用SDN與OpenFlow協議解決DDoS攻擊。不僅適用于低速網絡下,在高速網絡下依然表現良好,并且可以做到自動的實時網絡監控與DDoS攻擊緩解。通過對比,本方案相比于其他方案更有效,可以更好地解決DDoS攻擊,有效地保障網絡安全。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 国产精品手机在线播放| 精品视频一区二区三区在线播| 亚洲国产AV无码综合原创| 欧美日一级片| 亚洲精品无码不卡在线播放| 99久久免费精品特色大片| 欧亚日韩Av| 亚洲最新地址| 鲁鲁鲁爽爽爽在线视频观看| 爆乳熟妇一区二区三区| 久久伊人操| 国产小视频在线高清播放| 国产免费福利网站| 全午夜免费一级毛片| 国产亚洲欧美在线人成aaaa| 日韩激情成人| 欧美色伊人| 亚洲天堂成人在线观看| 国产精品欧美日本韩免费一区二区三区不卡 | 日本精品视频一区二区 | 久久国产精品娇妻素人| 国产午夜福利在线小视频| 小说 亚洲 无码 精品| 九九九精品成人免费视频7| 色婷婷狠狠干| 久久窝窝国产精品午夜看片| 亚洲区欧美区| 亚洲人成亚洲精品| 国产福利在线观看精品| 国产精品美女自慰喷水| 日韩专区欧美| 91福利一区二区三区| 女人毛片a级大学毛片免费| 久热这里只有精品6| 成人福利一区二区视频在线| 亚洲精品无码AⅤ片青青在线观看| 亚洲妓女综合网995久久| 91娇喘视频| 在线看AV天堂| 性视频久久| 2024av在线无码中文最新| 国产乱人乱偷精品视频a人人澡| 69视频国产| 亚洲一级毛片在线观播放| 无码精品国产dvd在线观看9久 | 久久大香香蕉国产免费网站| 国产午夜一级毛片| 中国一级毛片免费观看| 四虎亚洲精品| 中国国产A一级毛片| 日本一区高清| 亚洲天堂网在线播放| 亚洲精品欧美重口| 日韩免费成人| 国产精品嫩草影院av| 亚洲国产精品VA在线看黑人| 91久久夜色精品国产网站| 不卡无码网| 国产91蝌蚪窝| 99久久精品美女高潮喷水| 亚洲欧美成人网| 国产成人三级在线观看视频| 久久国产精品无码hdav| 二级特黄绝大片免费视频大片| 日韩av在线直播| 欧美伦理一区| 手机精品福利在线观看| 91www在线观看| 色综合综合网| 日韩小视频在线播放| 亚洲午夜福利精品无码| 亚洲手机在线| 久久一色本道亚洲| 国产精品不卡永久免费| 无码一区中文字幕| 成年午夜精品久久精品| 国内精自线i品一区202| 91人妻在线视频| 亚洲精品国产日韩无码AV永久免费网| 亚洲毛片一级带毛片基地| AV在线天堂进入| AV不卡在线永久免费观看|