• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      軟件定義網(wǎng)絡(luò)環(huán)境下DoS 攻防實驗設(shè)計

      2021-04-06 01:08:58楊章靜
      實驗技術(shù)與管理 2021年2期
      關(guān)鍵詞:隱藏式流表交換機

      陳 鐳,楊章靜,黃 璞

      (1. 南京審計大學(xué) 信息工程學(xué)院,江蘇 南京 211815;2. 南京大學(xué) 計算機軟件新技術(shù)國家重點實驗室,江蘇 南京 210232)

      軟件定義網(wǎng)絡(luò)(software defined networking,SDN)作為一種新型的網(wǎng)絡(luò)架構(gòu)[1-2],把網(wǎng)絡(luò)控制平面與數(shù)據(jù)平面進行分離。其中控制平面擁有網(wǎng)絡(luò)全局視圖,集中管控網(wǎng)絡(luò)資源,數(shù)據(jù)平面只轉(zhuǎn)發(fā)數(shù)據(jù),大大簡化了網(wǎng)絡(luò)的配置和管理。SDN 這一顛覆性的理念被認為將對未來網(wǎng)絡(luò)產(chǎn)生革命性的影響,在很大程度上代表了未來網(wǎng)絡(luò)的發(fā)展方向,因此將SDN 引入計算機網(wǎng)絡(luò)教學(xué)是必然趨勢。計算機網(wǎng)絡(luò)課程教學(xué),十分注重實踐教學(xué),通過各種不同的組網(wǎng)實驗,讓學(xué)生理解和掌握計算機網(wǎng)絡(luò)的基本原理。

      目前大多高校SDN 教學(xué)實驗中普遍存在實體硬件設(shè)備不足及實驗場地的限制,很難大規(guī)模開展SDN實體設(shè)備教學(xué)實驗。學(xué)生在SDN 的學(xué)習(xí)上操作受限,難以深入理解SDN 實驗教學(xué)的原理和內(nèi)涵。虛擬仿真實驗具有成本低、效率高、功能全、靈活等優(yōu)點,是高等教育信息化建設(shè)和實驗教學(xué)的重要手段,在SDN教學(xué)實驗中可以發(fā)揮重要的作用[3-6]。

      本文詳細介紹了SDN 的背景知識;對比展示了SDN環(huán)境下幾種不同的DoS攻擊場景[7],包括控制平面、數(shù)據(jù)平面及網(wǎng)絡(luò)主機遭受洪范式或隱藏式拒絕服務(wù)(denial of service,DoS)攻擊的不同特點;采用輕量級網(wǎng)絡(luò)仿真平臺Mininet 搭建SDN 網(wǎng)絡(luò),使用Floodlight控制器軟件和sFlow 流量監(jiān)控軟件,設(shè)計并實現(xiàn)了SDN環(huán)境下的洪范式和隱藏式DoS 攻擊和防御仿真實驗[8]。

      1 SDN 背景知識

      1.1 SDN 三層架構(gòu)

      開放式網(wǎng)絡(luò)基金會(ONF)提出的OpenFlow 協(xié)議,初步實現(xiàn)了SDN 的核心思想,如圖1 所示,SDN架構(gòu)從底向上分別是基礎(chǔ)設(shè)施層、控制層和應(yīng)用層。

      基礎(chǔ)設(shè)施層由支持OpenFlow 協(xié)議的交換機組成,負責(zé)數(shù)據(jù)包的匹配和轉(zhuǎn)發(fā)。控制層獲取底層交換機的信息,實時維護網(wǎng)絡(luò)拓撲和狀態(tài),并為應(yīng)用層提供服務(wù)接口。應(yīng)用層包含各種業(yè)務(wù)和應(yīng)用,通過控制層提供的接口調(diào)用、編排網(wǎng)絡(luò)資源。底層網(wǎng)絡(luò)設(shè)備只負責(zé)數(shù)據(jù)轉(zhuǎn)發(fā),控制層集中掌控網(wǎng)絡(luò)資源,通過應(yīng)用程序就可以完成SDN 全局網(wǎng)絡(luò)的管理。這種架構(gòu)大大降低了網(wǎng)絡(luò)的復(fù)雜度和搭建成本,加速了網(wǎng)絡(luò)部署周期,提高了網(wǎng)絡(luò)管理的靈活性。

      圖1 SDN 三層架構(gòu)圖

      1.2 OpenFl ow 流表

      流表是交換機數(shù)據(jù)轉(zhuǎn)發(fā)功能的核心。OpenFlow1.0協(xié)議中規(guī)定每個流表項由3 部分組成:包頭域、計數(shù)器和動作。

      包頭域用于數(shù)據(jù)包的包頭內(nèi)容進行匹配,共有12個匹配項,如表1 所示。包含了傳統(tǒng)網(wǎng)絡(luò)2 層到4 層的尋址信息(Mac、IP、端口)。OpenFlow 交換機可以看成是一種廣義的轉(zhuǎn)發(fā)設(shè)備,同時具備了傳統(tǒng)網(wǎng)絡(luò)交換機、路由器、防火墻的功能。

      計數(shù)器用于統(tǒng)計匹配到的數(shù)據(jù)包信息,可以對交換機中的每個數(shù)據(jù)流、端口、隊列、流表分別統(tǒng)計。

      動作是指對匹配到的數(shù)據(jù)包的后續(xù)處理方式。OpenFlow 交換機如果沒有定義動作,默認情況下數(shù)據(jù)包被丟棄。常見的動作有:轉(zhuǎn)發(fā)、丟棄、排隊等。

      表1 流表包頭域

      1.3 SDN 工作流程

      當主機h1 與主機h2 進行通信時,如圖2 所示,大致包含以下步驟[9]:

      步驟1 主機h1 向交換機s1 發(fā)送到主機h2 的數(shù)據(jù)包;交換機s1 查詢流表,若s1 的流表中有匹配項,則轉(zhuǎn)到步驟4。

      步驟2 s1 流表中無匹配項,則s1 通過Packet-In消息將數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器。

      步驟3 控制器收到s1 的請求信息后,生成相應(yīng)的應(yīng)答策略,并通過Packet-Out 消息下發(fā)至s1。

      步驟4 s1 執(zhí)行流表中的應(yīng)答策略,將數(shù)據(jù)包轉(zhuǎn)發(fā)至交換機s2。當交換機s2 收到數(shù)據(jù)包以后,若s2 的流表中有匹配項,則轉(zhuǎn)到步驟7;若s2 的流表中無匹配項,則轉(zhuǎn)到步驟5。

      步驟5 與步驟2 相似,s2 流表中無匹配項,則s2 通過Packet-In 消息將數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器。

      步驟6 與步驟3 相似,控制器收到s2 的請求信息后,生成相應(yīng)的應(yīng)答策略,并通過Packet-Out 消息下發(fā)至s2。

      步驟7 s2 執(zhí)行流表中的應(yīng)答策略,將數(shù)據(jù)包轉(zhuǎn)發(fā)至主機h2。

      圖2 基于OpenFlow 的SDN 工作流程

      2 SDN 環(huán)境下DoS 攻擊場景

      DoS 攻擊通過在短時間內(nèi)向目標網(wǎng)絡(luò)或主機發(fā)送大量的數(shù)據(jù)包,占滿帶寬和服務(wù)資源。當正常用戶進行網(wǎng)絡(luò)通信時,就會出現(xiàn)請求異?;蚍?wù)出錯。DoS攻擊簡單有效,對正常的網(wǎng)絡(luò)通信造成嚴重影響,是網(wǎng)絡(luò)安全領(lǐng)域關(guān)注的重點。

      2.1 對控制器的DoS 攻擊

      (1)控制器洪范式攻擊[10]。當一個數(shù)據(jù)包沒有匹配到任何流表項時,若交換機緩存未滿,交換機將緩存報文內(nèi)容,并將報文頭封裝在Packet-In 消息中轉(zhuǎn)發(fā)給控制器;一旦交換機緩存滿了,交換機會直接將整個報文都封裝在Packet-In 消息中轉(zhuǎn)發(fā)給控制器,這種方式會大大加重控制器的負擔。此外,控制器有一個路徑計算模塊,當大量偽造的數(shù)據(jù)包到來時,控制器無法計算出完整的路徑信息,會占用控制器大量計算資源,導(dǎo)致控制器無法提供正常服務(wù)。

      (2)控制器隱藏式攻擊[11]??刂破鞯耐負浒l(fā)現(xiàn)機制會受到一種隱藏式DoS 攻擊影響??刂破髦芷谛缘叵蛩薪粨Q機下發(fā)封裝有LLDP(鏈路層發(fā)現(xiàn)協(xié)議)幀的Packet-Out 消息。攻擊者在探測LLDP 幀周期的基礎(chǔ)上,對交換機之間鏈路發(fā)起DoS 攻擊,造成LLDP幀連續(xù)丟失,使得控制器誤以為該鏈路斷開,無法準確獲取網(wǎng)絡(luò)拓撲信息。

      2.2 對交換機的DoS 攻擊

      (1)交換機洪范式攻擊[12]。OpenFlow 交換機流表的存儲能力通常有限,攻擊者針對交換機發(fā)起洪范式DoS 攻擊,短時間內(nèi)產(chǎn)生大量的虛假流請求,出現(xiàn)大量的無用流表項,這些規(guī)則將填滿交換機流表,從而導(dǎo)致合法流量被丟棄。

      (2)交換機隱藏式攻擊[13]。SDN 將數(shù)據(jù)層的控制能力完全抽離,數(shù)據(jù)層完全失去了主動監(jiān)管網(wǎng)絡(luò)流量的可能性,因此,數(shù)據(jù)層隱藏式DoS 攻擊變得可行。數(shù)據(jù)層隱藏式DoS 攻擊通過在流表中產(chǎn)生長期存在的流表規(guī)則,從而達到占用流表的攻擊目的。

      2.3 對網(wǎng)絡(luò)主機的DoS 攻擊

      當攻擊者的目標是網(wǎng)絡(luò)主機時,會操縱僵尸網(wǎng)絡(luò)向目標主機發(fā)送大量并發(fā)攻擊流,從控制器和交換機的角度看,這些流量是正常流量,因為都是合法主機發(fā)送的合法數(shù)據(jù)流,但這些流量最終在目標主機處聚合,形成總量很大的異常流量[14],導(dǎo)致目標主機工作癱瘓。

      2.4 無法判斷的攻擊

      當網(wǎng)絡(luò)流量壓力比較大,而又無法確認當前流量是否為攻擊流時,可以采用通過流表項將大量的流量轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中的監(jiān)控設(shè)備(例如防火墻),以此轉(zhuǎn)移交換機的壓力,也可以設(shè)置IP 地址的黑白名單,實現(xiàn)對數(shù)據(jù)流的輔助處理(見表2)。

      表2 SDN 環(huán)境下DoS 攻擊特點及應(yīng)對方法

      3 SDN 環(huán)境下DoS 攻防實驗

      3.1 軟硬件環(huán)境

      硬件環(huán)境:Intel(R) Core(TM) i5-8500U CPU @3.00 GHz 處理器,8 GB DDR4 內(nèi)存,240 GB SSD 硬盤。

      軟件環(huán)境:Ubuntu14.04 64 位操作系統(tǒng),JDK1.7,Mininet 2.2.1,Open vSwith2.0.2,OpenFlow1.0 協(xié)議,F(xiàn)loodlight 0.9 版本控制器,sFlow-rt 2.0。

      3.2 構(gòu)建網(wǎng)絡(luò)拓撲

      Mininet 是一套擴展性很強的網(wǎng)絡(luò)仿真實驗平臺,除了可以用于SDN 網(wǎng)絡(luò)實驗,還可以用于傳統(tǒng)網(wǎng)絡(luò)實驗。Mininet 能夠在一臺單獨的計算機上虛擬出網(wǎng)絡(luò)主機、網(wǎng)絡(luò)鏈路和交換設(shè)備等,組成一個完整的虛擬網(wǎng)絡(luò)。Floodlight 控制器是一個模塊化、高可用、支持OpenFlow 協(xié)議的控制器。sFlow 是一款實時監(jiān)測網(wǎng)絡(luò)流量的監(jiān)控軟件。sFlow 有Agent 和Collector 兩個模塊,Agent 內(nèi)嵌于網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備(如交換機、路由器),獲取設(shè)備接口的統(tǒng)計信息,將信息封裝成報文發(fā)送給Collector,Collector 對報文分析、匯總、生成流量報告。

      (1)啟動Floodligh 控制器。

      進入 floodlight 目錄,輸入命令 java -jar target/floodlight.jar

      (2)創(chuàng)建網(wǎng)絡(luò)拓撲,連接控制器。

      mn --controller=remote,ip=192.168.1.1,port=6633 --topo single,3 --switch ovsk,protocols=OpenFlow10

      (3)瀏覽器訪問Floodlight。

      打開Floodlight 控制器的管理地址:http://localhost:8080/ui/index.html。從圖形界面可看到,Mininet 成功連接到Floodlight,并可以看到Mininet 生成的網(wǎng)絡(luò)拓撲。

      (4)配置sFlow Agent。

      先要在虛擬交換機端口處配置 Agent,這樣Collector 才能對收集到的流量信息進行分析和呈現(xiàn)。切換到交換機s1 窗口,開啟OvS 的sFlow 功能,配置Agent 的命令如下:

      ovs-vsctl -- --id=@sflow create sflow agent=eth0 target="192.168.1.1:6343" header=128 sampling=10 polling=1 -- set bridge s1 sflow=@sflow

      參數(shù)說明:agent,監(jiān)控 eth0 網(wǎng)卡產(chǎn)生的流量;target,sFlow-rt 的ip,默認端口6343;bridge,需要開啟sFlow 的網(wǎng)橋;sampling,采樣率,表示每隔多少個Packet 取樣一次;polling,輪詢時間,每隔多少秒輪詢一次。

      (5)配置sFlow-rt Collector。

      保持Mininet 運行的終端,再打開一個新的終端窗口,進入sFlow-rt 安裝目錄,輸入./start.sh 命令,啟動 sFlow-rt。sFlow Collector 的默認監(jiān)聽端口為6343,通過瀏覽器輸入http://localhost:8008 打開監(jiān)控頁面。Agent 配置成功后,可以通過對其WebUI 中的Agents選項卡中192.168.1.1條目的網(wǎng)絡(luò)流量進行查看。

      最終本文實驗網(wǎng)絡(luò)拓撲如圖3 所示。網(wǎng)絡(luò)中一共有1 臺虛擬交換機s1,s1 上連接3 臺客戶機,分別為h1、h2、h3,為了方便測試網(wǎng)絡(luò)連通性,在Mininet平臺中對網(wǎng)絡(luò)執(zhí)行指令pingall,可測試出主機間能夠相互通信。同時,s1 的其他端口分別連接Floodlight控制器和sFlow Collector 端。

      圖3 SDN 環(huán)境下DoS 攻防實驗網(wǎng)絡(luò)拓撲圖

      3.3 洪范式DoS 攻防實驗

      (1)模擬發(fā)起洪范式DoS 攻擊。

      在Mininet 終端中執(zhí)行,h1 ping -f h2,-f 參數(shù)的意思是Ping Flood,模擬Flood Attack。可以看到,監(jiān)測流量迅速飆升,如圖4 中第1 階段所示。在系統(tǒng)終端執(zhí)行top 命令,查看到CPU 占用率也會突然增高。

      圖4 洪范式DoS 攻防實驗效果圖

      (2)控制器向SDN 交換機增加流表規(guī)則。

      通過Floodlight 控制器提供的RESTful 接口向交換機s1 下發(fā)流表,丟棄攻擊流量。在Floodlight 控制器中增加流表的命令如下:

      curl -d "{"switch": "00:00:00:00:00:00:00:01","name":"flow-drop","cookie":"0","priority":"32768",in_port":"1","active":"true","eth_type":"0x0800","ip_proto":"0x01","idle_timeout":"0","actions":"output=no-forwar d"}" http://192.168.1.1:8080/wm/staticflowpusher/json

      參數(shù)說明:name,給流表命名;cookie,流表規(guī)則標識;priority,優(yōu)先級;in_port,入端口;active,是否激活;eth_type,以太網(wǎng)類型;ip_proto,協(xié)議類型;idle_timeout,存活時間;actions,動作。

      上述流表下發(fā)到s1 以后,監(jiān)測流量迅速下降,如圖4 中第2 階段所示。所有經(jīng)過交換機1 號端口的ICMP 流量都不會被轉(zhuǎn)發(fā)出去,其他類型的流量(如HTTP)則可以正常轉(zhuǎn)發(fā),即h1 向h2 發(fā)送的Flood Attack 數(shù)據(jù)包迅速地被完全Drop 掉了,成功實現(xiàn)了對洪范式DoS 攻擊的防御。

      (3)刪除SDN 交換機中流表規(guī)則。

      為證明確實是因為添加了"flow-drop"流表項,阻斷了Dos 攻擊流量,最后通過Floodlight 控制器提供的RESTful 接口向交換機s1 下發(fā)刪除流表命令:

      curl -X DELETE -d "{"name":"flow-drop"}"http://192.168.1.1:8080/wm/staticflowpusher/json

      上述流表下發(fā)到s1 以后,監(jiān)測到流量又迅速飆升,如圖4 中第3 階段所示,從而可以證明SDN 交換機中的流表項擁有管控流量的能力。

      3.4 隱藏式DoS 攻防實驗

      默認的流表規(guī)則采用空閑超時機制,即在規(guī)定時間內(nèi),如果沒有數(shù)據(jù)包匹配,則該流表規(guī)則超時被刪除;如果有數(shù)據(jù)包匹配,則重新更新存活時間,該機制使得一種數(shù)據(jù)層隱藏式DoS 攻擊變得可行,從而達到長期占用流表的目的。

      一條流表規(guī)則的基本字段主要有:cookie,流表規(guī)則標識;priority,優(yōu)先級,范圍為0-65535,值越大,優(yōu)先級越高;match,匹配規(guī)則;action,動作;packets,流表已匹配包數(shù);bytes,流表已匹配字節(jié)數(shù);age,流表已存在時間;timeout,存活時間,沒有數(shù)據(jù)包匹配,流表會在到達給定時間后被自動刪除。

      (1)模擬隱藏式DoS 攻擊。

      因timeout 時間默認設(shè)置為5 s,所以在Mininet終端中執(zhí)行指令,h1 ping –i 4 h2,-i 參數(shù)模擬每隔4 s從h1 主機(1 號端口)向h2 主機(2 號端口)發(fā)送ping 指令數(shù)據(jù)包。

      (2)周期性查詢流表規(guī)則。

      周期性的通過Floodlight 控制器的UI 界面查詢交換機s1 中的流表規(guī)則如圖5 所示。從圖5 中可看出,在timeout 為5 s 的情況下,當一條流表規(guī)則age 時間很長,而且匹配的packets 相對不多的情況下,很有可能是針對SDN 交換機的隱藏式DoS 攻擊造成的。

      圖5 OpenFlow1.0 交換機中端口和流表項

      (3)刪除長期存在的流表規(guī)則。

      對被懷疑為隱藏式DoS 攻擊的流表規(guī)則,通過Floodlight 控制器提供的RESTful 接口向交換機s1 下發(fā)刪除流表命令進行刪除:curl -X DELETE -d"{"cookie":"90071992524740992"}" http://192.168.1.1:8080/wm/staticflowpusher/json。

      4 結(jié)語

      SDN 可以對網(wǎng)絡(luò)流量進行實時監(jiān)控、提取、分析,及時調(diào)整流量。本文采用網(wǎng)絡(luò)仿真平臺Mininet 搭建SDN 網(wǎng)絡(luò),使學(xué)生在SDN 的學(xué)習(xí)中不受硬件條件的限制,降低了學(xué)習(xí)門檻,提高了學(xué)生實踐的靈活性。結(jié)合使用Floodlight 控制器軟件和sFlow 流量監(jiān)控軟件,展示了拓撲創(chuàng)建、主機間聯(lián)通測試、流表下發(fā)、流量監(jiān)測等過程,最后以SDN 環(huán)境下的洪范式和隱藏式DoS 攻防案例進行實驗教學(xué),使學(xué)生能夠深入理解SDN 網(wǎng)絡(luò)的機理和內(nèi)涵。

      猜你喜歡
      隱藏式流表交換機
      關(guān)于消除隱藏式把手功能故障的研究
      汽車電器(2022年11期)2022-12-28 08:04:54
      隱藏式字幕助聽障觀眾輕松看電影
      基于時序與集合的SDN流表更新策略
      一種新型老年代步車的設(shè)計與研究
      轎車隱藏式車門把手試驗臺的設(shè)計與開發(fā)
      基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
      電子測試(2018年21期)2018-11-08 03:09:34
      修復(fù)損壞的交換機NOS
      簡析yangUI流表控制
      軟件定義網(wǎng)絡(luò)中一種兩步式多級流表構(gòu)建算法
      使用鏈路聚合進行交換機互聯(lián)
      汾阳市| 屯留县| 安徽省| 马龙县| 舞阳县| 龙泉市| 读书| 文化| 扶沟县| 张北县| 昆山市| 余庆县| 延长县| 涞源县| 临海市| 长泰县| 商河县| 铅山县| 潼南县| 年辖:市辖区| 土默特左旗| 稷山县| 商都县| 台湾省| 广河县| 定远县| 海口市| 阿克| 兖州市| 杂多县| 轮台县| 观塘区| 海盐县| 江华| 高尔夫| 林周县| 长汀县| 平阳县| 莒南县| 朝阳区| 陵川县|