張昭俊,韓 俐
(天津理工大學(xué) 計算機科學(xué)與工程學(xué)院,天津 300384)
近年來,新型網(wǎng)絡(luò)威脅呈現(xiàn)出全球蔓延態(tài)勢,新型攻擊更隱蔽、手段更先進(jìn)、持續(xù)性更強,要求網(wǎng)絡(luò)安防系統(tǒng)的響應(yīng)時間更短。傳統(tǒng)防護(hù)手段,如防火墻、安全網(wǎng)關(guān)、安全軟件等靜態(tài)被動式防御手段,具有對威脅感知天然的滯后性和局限性,只有當(dāng)網(wǎng)絡(luò)攻擊已經(jīng)或正在發(fā)生才能采取防范行動,難以應(yīng)對大規(guī)模有組織、有意圖的突發(fā)性攻擊。當(dāng)前網(wǎng)絡(luò)環(huán)境中,安全防御所需的花費與攻擊者攻破網(wǎng)絡(luò)的努力嚴(yán)重不對等。防御者需要花費大量的資源為系統(tǒng)添加各種安全防御手段,而攻擊者只需找到系統(tǒng)中存在的某一個漏洞,就能發(fā)動有效的攻擊,使得防御者始終處于不利地位。為應(yīng)對傳統(tǒng)網(wǎng)絡(luò)安全防護(hù)的被動局面,移動目標(biāo)防御(moving target defense,MTD)[1]作為一種顛覆性的安全防御理念,嘗試改變游戲規(guī)則的主動防御機制被提出。MTD的思想是通過動態(tài)改變基礎(chǔ)設(shè)施屬性,持續(xù)地改變攻擊面,使網(wǎng)絡(luò)配置具備隨機性和動態(tài)性。MTD包含多種實現(xiàn)方式,其中包括對軟件多樣性的實現(xiàn)[2]、底層指令的變化[3]和網(wǎng)絡(luò)層的移動目標(biāo)防御[4]等,能自動地改變一個或多個系統(tǒng)屬性,從而使系統(tǒng)攻擊面對攻擊者是不可預(yù)測的。攻擊者必須調(diào)用大量的資源,分析、探測不斷變化的攻擊面來獲取有用信息,且探測和分析難度隨著時間的推移而增大。這無疑增加了攻擊者對網(wǎng)絡(luò)信息獲取的復(fù)雜度,增加攻擊者的攻擊難度和代價,打破了現(xiàn)有攻防雙方信息的不對稱性,使攻防天平向防御方傾斜,讓攻擊者和防御者處于同等地位,有效提升網(wǎng)絡(luò)空間安全性。
軟件定義網(wǎng)絡(luò)(software defined network,SDN)[5]是斯坦福大學(xué)Clean slate實驗室提出的一種新型的基于軟件定義的網(wǎng)絡(luò)架構(gòu)及技術(shù)。SDN的設(shè)計理念是將網(wǎng)絡(luò)的控制平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面進(jìn)行分離,邏輯上的集中控制層面具備網(wǎng)絡(luò)全局視角,進(jìn)行資源的全局調(diào)配和優(yōu)化,提升網(wǎng)絡(luò)控制的便捷性。SDN重構(gòu)傳統(tǒng)網(wǎng)絡(luò)架構(gòu)及安全體系,可以實現(xiàn)高效網(wǎng)絡(luò)管控和資源調(diào)度,其控制與轉(zhuǎn)發(fā)平面分離、集中控制、開放可編程、流表轉(zhuǎn)發(fā)等特性,有利于提升安全防護(hù)靈活性、智能性和協(xié)同性,推動網(wǎng)絡(luò)能力便捷調(diào)用,支持網(wǎng)絡(luò)業(yè)務(wù)創(chuàng)新,給網(wǎng)絡(luò)安全領(lǐng)域的發(fā)展帶來了新機遇。
SDN架構(gòu)雖然有很多優(yōu)點,但其所面臨的安全性問題成為限制SDN廣泛應(yīng)用的關(guān)鍵因素,數(shù)據(jù)平面的網(wǎng)絡(luò)設(shè)備只是簡單的轉(zhuǎn)發(fā)元素,容易引發(fā)諸多安全問題[6-7]。在OpenFlow協(xié)議[8]中,轉(zhuǎn)發(fā)設(shè)備需要在控制平面下發(fā)流規(guī)則前進(jìn)行數(shù)據(jù)緩存,因此容易受到存儲器飽和攻擊。在遭受DoS攻擊時,流表存儲空間迅速耗盡,后續(xù)數(shù)據(jù)流被丟棄,導(dǎo)致拒絕服務(wù)。對OpenFlow交換機的竊聽和篡改攻擊,非法篡改控制器下發(fā)的流規(guī)則,導(dǎo)致流規(guī)則不一致,喪失可靠性,使網(wǎng)絡(luò)不穩(wěn)定。偽交換機長期存在網(wǎng)絡(luò)中,可以竊聽用戶通信數(shù)據(jù),截獲用戶口令,錯誤或拒絕執(zhí)數(shù)據(jù)流處理規(guī)則,造成拒絕服務(wù)攻擊。
端口跳變是一種典型的移動目標(biāo)防御技術(shù)[9],傳統(tǒng)的端口跳變技術(shù)往往是通過算法不斷地改變用戶數(shù)據(jù)報協(xié)議(user datagram protocol,UDP)/傳輸控制協(xié)議(transmission control protocol,TCP)的端口號,通信雙方不斷地通過新端口建立連接,使攻擊者無法探測到網(wǎng)絡(luò)通信雙方實時有效的通信端口,導(dǎo)致攻擊失效。但是這種防御方式只能應(yīng)對針對終端主機的攻擊,對交換機的攻擊(如非法交換機的接入)不具備任何防御能力。
該文將MTD和SDN技術(shù)優(yōu)勢有機結(jié)合,提出基于OpenFlow交換機端口動態(tài)混淆的移動目標(biāo)防御機制,增強網(wǎng)絡(luò)設(shè)備配置參數(shù)的隨機性和動態(tài)性,實現(xiàn)數(shù)據(jù)在SDN網(wǎng)絡(luò)架構(gòu)下的通信安全,增加攻擊者的實施難度,降低攻擊成功率。
針對計算機網(wǎng)絡(luò)信息面臨巨大的安全威脅,端口跳變技術(shù)應(yīng)運而生。Jajodia等[10]定義了移動目標(biāo)防御中攻擊面的相關(guān)概念,并提出了空間隨機化、指令集隨機化、數(shù)據(jù)隨機化等多種攻擊面移動方法。Hong等[11]總結(jié)了3種移動目標(biāo)防御策略,包括混亂化、多樣化和冗余化。Kampanakis等[12]提出了SDN架構(gòu)下針對網(wǎng)絡(luò)映射和偵察的解決方法。該方法通過對惡意數(shù)據(jù)報文進(jìn)行檢測,并對這些惡意數(shù)據(jù)報文進(jìn)行隨機化處理操作。但是該方法建立在有效識別出惡意數(shù)據(jù)報文的基礎(chǔ)之上,如果沒有識別出攻擊者的惡意數(shù)據(jù)報文,那么該方法將不會產(chǎn)生任何有效的防御效果。G.Badishi等[13]為緩解DoS攻擊,提出了隨機端口跳變(RPH)算法,其主要思想是通信雙方之間存在兩條通信鏈路,一條用于雙方的數(shù)據(jù)通信,另一條用于傳遞通知進(jìn)行端口跳變的ACK消息,此方法中用于跳變同步的ACK消息暴露在通信鏈路中,容易被攻擊者截獲和篡改,導(dǎo)致跳變不同步,造成通信中斷。Kousaburou Hari[14]通過分析ACK消息丟失或被截獲等不同情況,提出了改進(jìn)的RHP算法,在通信雙方部署兩套隨機端口跳變策略,其中一套策略遭受攻擊后,通信雙方仍能通過備用端口進(jìn)行通信。范曉詩等[15]提出了可變時隙端口跳變算法,通過在正常傳輸條件下延長端口傳輸時隙,減少端口跳變造成的通信開銷,當(dāng)發(fā)現(xiàn)可疑入侵行為時則加快跳變的頻率,達(dá)到抵抗攻擊的效果。Lee等[9]為了緩解DoS/DDoS攻擊所帶來的危害,提出了一種端口跳變技術(shù),其主要思想是服務(wù)器和交換機之間共享一個秘密,保證合法數(shù)據(jù)流的服務(wù)質(zhì)量水平在可接受范圍內(nèi)的前提下,服務(wù)器通信所使用的TCP/UDP端口號隨時間和共享秘密的變化而變化。唐秀存等[16]將移動目標(biāo)防御中的端口跳變技術(shù)應(yīng)用到SDN網(wǎng)絡(luò)中的DoS攻擊防御中,將服務(wù)端的端口跳變模塊前移到SDN控制器,SDN控制器作為DoS攻擊的過濾網(wǎng)關(guān),檢查網(wǎng)絡(luò)連接是否符合當(dāng)前時隙開放端口,控制數(shù)據(jù)流進(jìn)入網(wǎng)絡(luò),抵御DoS攻擊。胡毅勛等[17]提出了基于OpenFlow的網(wǎng)絡(luò)層移動目標(biāo)防御方案,其主要思想是域內(nèi)通信的網(wǎng)絡(luò)流量在所經(jīng)鏈路上的每一跳交換機都進(jìn)行源和目的IP地址的改變,實現(xiàn)網(wǎng)絡(luò)地址的邏輯移動。域間通信流量使用端口跳變,實現(xiàn)跨域通信節(jié)點的隱藏。
基于上述事實,SDN與MTD相結(jié)合能夠有效地防御外部攻擊者對網(wǎng)絡(luò)的攻擊和破壞,但是對于SDN內(nèi)部數(shù)據(jù)轉(zhuǎn)發(fā)層的核心設(shè)備——OpenFlow交換機的安全防御卻相對較少,SDN內(nèi)部OpenFlow交換機的安全問題日益突出。該文提出的基于OpenFlow交換機端口混淆的移動目標(biāo)防御機制,能有效防范偽交換機接入網(wǎng)絡(luò)造成的破壞。
控制器與OpenFlow交換機初次連接時進(jìn)行端口變換值和端口變換值生存時間的初始化??刂破骱徒粨Q機建立連接時,雙方在握手過程中通過系統(tǒng)預(yù)設(shè)的值對端口變換值及端口變換值生存時間進(jìn)行初始化,同時將真實端口號和變換后的端口號及其生存時間存儲在端口變換表中,端口變換表結(jié)構(gòu)如表1所示,以保證控制器和交換機進(jìn)行端口混淆的同步性和數(shù)據(jù)轉(zhuǎn)發(fā)端口的一致性。
端口變換表主要包含4部分:交換機ID(dpid)、真實端口號(port)、端口變換值(tport)和端口變換值生存時間(pst)。交換機真實端口號是交換機創(chuàng)建時系統(tǒng)默認(rèn)端口號,端口變換值是通過端口混淆算法生成的混淆端口值,用于在流表項中顯示的output端口號。端口變換值生存時間是當(dāng)前生成的端口變換值的存在時間,決定是否對當(dāng)前端口變換值進(jìn)行新一輪混淆。
控制器每次處理Packet_in消息進(jìn)行規(guī)則生成時,根據(jù)正確的數(shù)據(jù)轉(zhuǎn)發(fā)端口在端口變換表中查找對應(yīng)的端口變換值,隨后生成相應(yīng)的流規(guī)則,下發(fā)到交換機。同時,相應(yīng)端口號的生存時間衰減。OpenFlow交換機端接收到控制器下發(fā)的流規(guī)則后,根據(jù)流規(guī)則中的變換端口號在端口變換表查找到對應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)端口,并執(zhí)行流規(guī)則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)處理,同時將端口的生存時間衰減。當(dāng)控制器和交換機端口的生存時間為零,則依據(jù)剛處理的數(shù)據(jù)報文中的相應(yīng)信息,調(diào)用端口混淆算法生成新的端口變換值并存儲在端口變換表中,端口變換值的生存時間也一并更新。隨后對端口混淆前相應(yīng)流規(guī)則進(jìn)行刪除,確保數(shù)據(jù)流能根據(jù)混淆后的端口信息進(jìn)行正確轉(zhuǎn)發(fā),保證網(wǎng)絡(luò)通信正常。控制器端和交換機端處理流程如下所示。
控制器端處理流程:
(1)接收到Packet_in消息。
(2)查找端口變換表,根據(jù)正確轉(zhuǎn)發(fā)端口確定變換端口。
(3)端口生存時間衰減,判斷其是否為零,不為零跳轉(zhuǎn)到步驟(7)。
(4)提取數(shù)據(jù)流信息,流規(guī)則生成并設(shè)置超時時間,通過flow_mod消息下發(fā)到交換機。
(5)調(diào)用2.3節(jié)端口混淆算法生成新的端口變換值。
(6)更新端口變換表,跳轉(zhuǎn)到步驟(8)。
(7)流規(guī)則生成并通過flow_mod消息下發(fā)到交換機。
(8)結(jié)束。
交換機端處理流程:
(1)接收到控制器下發(fā)的flow_mod消息。
(2)端口變換表中查找相應(yīng)的端口號。
(3)根據(jù)查找到的端口號執(zhí)行相應(yīng)的流規(guī)則,端口生存時間衰減。
(4)判斷端口生存時間是否為零,不為零則跳轉(zhuǎn)到步驟(9)。
(5)提取數(shù)據(jù)流緩存信息,調(diào)用2.3節(jié)端口混淆算法生成新的端口變換值。
(6)更新端口變換表。
(7)刪除過期流表項。
(8)流規(guī)則超時刪除對應(yīng)流表項。
(9)結(jié)束。
端口混淆對控制器和交換機之間混淆同步性要求較高,控制器和交換機之間必須使用相同的混淆算法和混淆規(guī)律,以及在進(jìn)行混淆時使用的種子信息,從而保證網(wǎng)絡(luò)通信正常。否則很容易造成控制器下發(fā)的流規(guī)則失效,網(wǎng)絡(luò)通信中斷。
傳統(tǒng)的端口跳變技術(shù)中主要有嚴(yán)格的時間同步機制[9]、ACK報文同步機制[12]和使用基于時間戳的同步方式[18]。嚴(yán)格的時間同步機制在網(wǎng)絡(luò)擁塞狀態(tài)和高時延狀態(tài)下將失去作用,導(dǎo)致跳變不同步,網(wǎng)絡(luò)通信異常。ACK報文同步機制將同步信息封裝在ACK報文中,ACK報文易丟失或被攻擊者截獲。Zhang等[19]提出了基于端口跳變的SDN環(huán)境中DoS緩解機制(PHS-DM),利用時間戳反饋機制實現(xiàn)端口的同步跳變,但此方法部署難度大,實現(xiàn)復(fù)雜。
該文提出的端口混淆機制中控制器和交換機之間的同步既沒有使用嚴(yán)格的時間同步機制,也沒使用ACK報文同步機制,而是采用控制器下發(fā)給交換機的流規(guī)則消息flow_mod消息的數(shù)量實現(xiàn)同步問題。
在控制器與交換機在建立連接過程時,雙方通過系統(tǒng)內(nèi)置的默認(rèn)值對相應(yīng)的端口變換值生存時間進(jìn)行初始化??刂破鬟M(jìn)行流規(guī)則生成時,根據(jù)數(shù)據(jù)轉(zhuǎn)發(fā)時交換機的真實端口號查詢端口變換表中的變換端口號,隨后將此端口變換值生存時間減一,并檢查是否為零,如果為零,提取數(shù)據(jù)包中相關(guān)信息,將生成的含有變換端口號的流規(guī)則通過flow_mod消息下發(fā)到對應(yīng)的交換機,調(diào)用端口混淆算法,生成新的端口變換值,更新端口變換表中的端口變換值及其生存時間。交換機接收到控制器下發(fā)的包含流規(guī)則的flow_mod消息后,根據(jù)流規(guī)則中的端口號查找端口變換表,得到真實的端口號,并根據(jù)端口號進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),隨后將端口的生存時間減一,判斷是否為零,如果為零則根據(jù)交換機內(nèi)緩存的數(shù)據(jù)流信息提取端口混淆算法中的種子信息,進(jìn)行端口混淆,更新端口變換表中的端口變換值和生存時間。
該文提出的利用交換機和控制器之間的flow_mod消息實現(xiàn)雙方端口混淆同步方法,省卻了雙方的同步開銷。通信信道內(nèi)只有控制器與交換機間的控制消息,沒有其他的數(shù)據(jù)流干擾,有效降低了flow_mod消息的丟失率。此外,部署與實施更加方便靈活。
控制器和交換機根據(jù)進(jìn)入數(shù)據(jù)流信息生成端口變換值Portupdate。Portupdate=f(IPseed,Portold,Portseed),其中f是偽隨機數(shù)生成算法。Portseed為以數(shù)據(jù)報文中源、目的端口號等信息所生成的端口種子,IPseed為從數(shù)據(jù)報文中提取出的源、目的IP地址等信息所生成的地址種子。其流程圖如圖1所示。
圖1 端口混淆算法流程
對于數(shù)據(jù)報文中源IP地址為IPsrc=192.168.1.X,目的IP地址為IPdst=192.168.2.Y的端口變換過程如下:
(1)計算端口種子Portseed,如式(1)所示,其中Portold為上一次端口變換后的通信端口,Portsrc為此次端口變換的數(shù)據(jù)報文中的源端口號,Portdst為此次端口變換的數(shù)據(jù)報文中的目的端口號。
Portseed=Portold(Portsrc+Portdst)mod65536
(1)
傳統(tǒng)的端口跳變技術(shù)中65 536個可能端口中有1 024個標(biāo)準(zhǔn)端口被占用[20],而交換機端口混淆中不存在這種現(xiàn)象,在端口混淆中的可用端口個數(shù)為65 536個。
(2)計算IP地址種子IPseed,如式(2)所示。
IPseed=(X+Y)(Portsrc+Portdst)mod256
(2)
(3)根據(jù)以上計算的端口種子Portseed和IP種子IPseed計算得出端口變換值Portupdate,如式(3)所示。
Portupdate=(IPseed×Portold+Portseed)mod65536
(3)
(4)端口變換值的檢測。檢測新生成的端口變換值是否已經(jīng)被其他策略使用,如已被使用,則將此端口號作為Portold,重新調(diào)用端口混淆算法進(jìn)行新的端口號的生成,直到不再重復(fù)為止。
端口混淆算法充分利用網(wǎng)絡(luò)中通信雙方的數(shù)據(jù)報文中源、目的IP地址和端口號等信息作為端口混淆的種子信息,交換機每次進(jìn)行端口混淆時種子信息是不確定的,混淆后端口是隨機的,網(wǎng)絡(luò)配置信息動態(tài)化、隨機化變化。
偽交換機非法接入網(wǎng)絡(luò),控制器向交換機下發(fā)流表項時,流表項中包含的動作端口號是經(jīng)過混淆算法計算出來的,偽交換機中不存在端口變換表和端口混淆算法,無法解析出正確的端口進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),攻擊者必須在端口生存時間內(nèi)計算出正確的端口號并進(jìn)行轉(zhuǎn)發(fā)才能長期潛伏在網(wǎng)絡(luò)中造成更大的破壞。假設(shè)攻擊者的計算能力為Sc,n為端口混淆時所有可用端口數(shù)量,端口生存時間為t,待處理數(shù)據(jù)流數(shù)為m,攻擊者計算出真實端口的成功率R,則:
(4)
從式(4)中可以看出,端口的生存時間越短,當(dāng)前網(wǎng)絡(luò)中待處理的數(shù)據(jù)流越多,攻擊者計算出真實端口號的成功率越低。
假設(shè)攻擊者分析第i個端口時的計算開銷為Scali,單個端口的計算開銷為Scal,如果端口混淆算法計算所生成的端口號與交換機的真實端口號對應(yīng)是順序遞增的,則攻擊者的計算開銷最小為:
(5)
如果通過端口混淆算法生成的端口號對應(yīng)的交換機的真實端口號是逆序的,則此時攻擊者的計算開銷最大為:
(6)
綜合式(5)、式(6)可知,攻擊者的總體開銷Ssum為O(n)≤Ssum≤O(n2)。
從系統(tǒng)安全性考慮,可以適當(dāng)減小端口變換值的生存時間,加快端口變換速率,增強系統(tǒng)防御能力。此外,交換機動態(tài)進(jìn)行端口混淆,在不同的時間內(nèi)其轉(zhuǎn)發(fā)端口也是不同的,攻擊者很難確定下次數(shù)據(jù)轉(zhuǎn)發(fā)的端口號,攻擊者需要不停地計算轉(zhuǎn)發(fā)端口,消耗大量資源,降低了攻擊成功率。
使用MATLAB Performance Test測試框架對2.3節(jié)提出的端口混淆算法運行時間性能進(jìn)行測試,解析基于類的測試得到的原始數(shù)據(jù),對每一次算法運行時間繪制折線圖,如圖2所示。
圖2 算法運行時間測試
MATLAB通過測量數(shù)據(jù)集是否達(dá)到統(tǒng)計目標(biāo)決定運行次數(shù),從圖2的結(jié)果中可以看出,一共對算法進(jìn)行了8次性能測試。其中前4次測試結(jié)果是預(yù)備代碼[21],后4次測試結(jié)果是對代碼的正式測試。對測試結(jié)果進(jìn)行3階擬合,可以明顯看出正式測試與預(yù)備代碼在運行時間上有著不同的分布,預(yù)備代碼測試時間明顯高于正式測試,隨著預(yù)備代碼,算法運行時間變短,正式測試代碼運行時間趨于平緩。為避免代碼在運行過程中的編譯和優(yōu)化對代碼測試性能造成影響,剔除預(yù)備代碼測試結(jié)果,對正式測試結(jié)果求均值得到統(tǒng)計意義上的結(jié)果,如圖3所示。可以看出代碼運行時間極短,端口混淆不會增加過多的數(shù)據(jù)處理時延,能有效滿足當(dāng)前數(shù)據(jù)傳輸?shù)男枰?/p>
圖3 算法運行平均時間
為了測試端口混淆主動防御機制的有效性,該文使用Mininet網(wǎng)絡(luò)模擬器[22]模擬并搭建簡易SDN網(wǎng)絡(luò)測試網(wǎng)絡(luò)環(huán)境,采用Ryu[23]作為SDN控制器。網(wǎng)絡(luò)拓?fù)錇閮膳_主機h1、h2連接到同一臺OpenFlow交換機,主機h1和h2進(jìn)行通信。通過Mininet模擬器模擬實驗網(wǎng)絡(luò)環(huán)境,交換機初始化時默認(rèn)使用的端口號為1和2,主機h1與h2通信,主機間能正常通信,查看交換機中流表,其結(jié)果如圖4所示。
圖4 交換機流表項
從圖4中可以看出交換機s1中存在3條流表項,最后一條流表項為漏表項,用于將沒有匹配到流表項的數(shù)據(jù)報文通過Packet_in消息上傳到控制器,由控制器決定轉(zhuǎn)發(fā)策略。前兩條流表項為處理主機h1與h2通信的流規(guī)則,從中可以看出兩條流表項中動作output的端口號均不是1或2,而是交換機中并不存在的端口號,兩條流表項均正確匹配并轉(zhuǎn)發(fā)數(shù)據(jù)報文,兩主機正常通信。
偽交換機加入網(wǎng)絡(luò)后,主機h1和h2通過偽交換機進(jìn)行通信,圖5顯示的是偽交換機中的流表項。偽交換機中只有兩條流表項,第二條為漏表項,第一條是針對主機h2發(fā)往主機h1的應(yīng)答包的流處理規(guī)則,偽交換機不能正確解析出actions中的端口號,不能進(jìn)行正確的轉(zhuǎn)發(fā),從而防止偽交換機對網(wǎng)絡(luò)的破壞。
圖5 偽交換機流表項
從以上實驗結(jié)果可以看出,沒有端口混淆防御機制的偽交換機不能正確解析出控制器下發(fā)的含有混淆端口號的流規(guī)則,無法根據(jù)流表項中的端口號獲取網(wǎng)絡(luò)拓?fù)?,即使攻擊者?gòu)造出流表項將所有通過偽交換機的流量發(fā)往某特定一鏈路或主機進(jìn)行DOS攻擊,由于無法獲取網(wǎng)絡(luò)拓?fù)湎嚓P(guān)信息不能進(jìn)行有效的網(wǎng)絡(luò)攻擊。而部署端口混淆防御機制的交換機能正確解析出流表項中的端口號進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),網(wǎng)絡(luò)通信正常。
針對軟件定義網(wǎng)絡(luò)中所面臨的偽交換機安全問題,提出了通過動態(tài)混淆交換機端口號的方法實現(xiàn)移動目標(biāo)防御的機制,該機制充分利用數(shù)據(jù)報文內(nèi)IP地址和端口號信息作為端口混淆種子信息,使交換機進(jìn)行端口混淆時具有充分的隨機性。交換機和控制器間通過流規(guī)則下發(fā)次數(shù)實現(xiàn)端口混淆同步,不需要嚴(yán)格的時間同步,也不需要發(fā)送額外的同步報文,進(jìn)一步增強了防御機制的安全性,增加了攻擊者獲取網(wǎng)絡(luò)信息的難度,能有效地防范非法交換機對網(wǎng)絡(luò)的攻擊。