一種OpenFlow網(wǎng)絡安全檢測方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及OpenFlow網(wǎng)絡技術(shù)領(lǐng)域,主要適用于OpenFlow網(wǎng)絡安全檢測方法及系統(tǒng)。
【背景技術(shù)】
[0002]OpenFlow網(wǎng)絡是一種可以由軟件定義的新型網(wǎng)絡架構(gòu),它分離了傳統(tǒng)網(wǎng)絡中交換機的控制平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面,由集中式的控制器統(tǒng)一管理網(wǎng)絡中的交換機。參見圖1和圖2,OpenFlow網(wǎng)絡由控制器和交換機組成??刂破骱徒粨Q機之間建立TCP或SSL連接通道,通過OpenFlow協(xié)議進行通信。控制器提供開放的編程接口,抽象了網(wǎng)絡資源和能力,可以實現(xiàn)復雜的應用服務。應用服務通過控制器設置OpenFlow交換機的流表,決定網(wǎng)絡中數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑。交換機接收到數(shù)據(jù)包后,將數(shù)據(jù)包的字段與流表進行匹配,根據(jù)匹配結(jié)果執(zhí)行流表中對應的動作,如修改、轉(zhuǎn)發(fā)和丟棄等。如果沒有匹配項,交換機會把數(shù)據(jù)包上傳到控制器,由控制器決定轉(zhuǎn)發(fā)并配置流表。OpenFlow的中心化控制和可編程性有利于簡化網(wǎng)絡管理,實現(xiàn)網(wǎng)絡能力及資源的靈活控制和調(diào)用。但是,OpenFlow也給網(wǎng)絡帶來了一些新的安全威脅,主要體現(xiàn)在拒絕服務攻擊、非法接入訪問和惡意應用等方面。
[0003]現(xiàn)有的OpenFlow網(wǎng)絡安全監(jiān)控方案主要是通過擴展OpenFlow網(wǎng)絡設備的功能來實現(xiàn)安全防御的,通常和入侵檢測及防御系統(tǒng)等安全設備相配合。但是這種方案缺少對OpenFlow網(wǎng)絡設備本身的監(jiān)控。當網(wǎng)絡中的設備不可信或者已經(jīng)被入侵,入侵者可以通過對流表的操作修改網(wǎng)絡中的路由,控制整個網(wǎng)絡的數(shù)據(jù)包的轉(zhuǎn)發(fā),從而獲取網(wǎng)絡的訪問控制權(quán)限,竊取網(wǎng)絡內(nèi)部的數(shù)據(jù),給網(wǎng)絡安全帶來極大的威脅。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種OpenFlow網(wǎng)絡安全檢測方法及系統(tǒng),它提高了 OpenFlow網(wǎng)絡的安全性。
[0005]為解決上述技術(shù)問題,本發(fā)明提供了一種OpenFlow網(wǎng)絡安全檢測方法,包括:
[0006]采集OpenFlow數(shù)據(jù)包;
[0007]在OpenFlow網(wǎng)絡外,根據(jù)所述OpenFlow數(shù)據(jù)包得到OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系和OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系;
[0008]在OpenFlow網(wǎng)絡外,根據(jù)所述鏈路關(guān)系建立網(wǎng)絡轉(zhuǎn)發(fā)模型;
[0009]在OpenFlow網(wǎng)絡外,將所述網(wǎng)絡轉(zhuǎn)發(fā)模型與預設的安全策略進行比較;
[0010]若比較匹配,則所述OpenFlow網(wǎng)絡安全;
[0011]若比較不匹配,則所述OpenFlow網(wǎng)絡不安全。
[0012]進一步地,所述根據(jù)所述OpenFlow數(shù)據(jù)包得到OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系,包括:
[0013]判斷所述OpenFlow數(shù)據(jù)包是否是LLDP協(xié)議的數(shù)據(jù)包;
[0014]若是,貝U從所述OpenFlow數(shù)據(jù)包中獲取所述OpenFlow網(wǎng)絡中各交換機的ID和端口號,得到所述OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系。
[0015]進一步地,所述根據(jù)所述OpenFlow數(shù)據(jù)包得到OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系,包括:
[0016]從所述OpenFlow數(shù)據(jù)包中獲取各網(wǎng)絡設備的ID和端口號;
[0017]根據(jù)預設的OpenFlow網(wǎng)絡中的交換機的鏈路關(guān)系,判斷所述OpenFlow數(shù)據(jù)包是由OpenFlow網(wǎng)絡中的交換機還是由OpenFlow網(wǎng)絡外的網(wǎng)絡設備發(fā)出的;
[0018]若所述OpenFlow數(shù)據(jù)包是由OpenFlow網(wǎng)絡外的網(wǎng)絡設備發(fā)出的,根據(jù)所述OpenFlow數(shù)據(jù)包中攜帶的MAC層數(shù)據(jù)幀,獲取網(wǎng)絡設備的MAC地址和IP地址,并得到所述網(wǎng)絡設備的接入地址,從而得到OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系。
[0019]進一步地,所述將所述網(wǎng)絡轉(zhuǎn)發(fā)模型與預設的安全策略進行比較;若比較匹配,則所述OpenFlow網(wǎng)絡安全;若比較不匹配,則所述OpenFlow網(wǎng)絡不安全,包括:
[0020]將OpenFlow網(wǎng)絡中的交換機的每條流表項用二叉決策圖表示,結(jié)合設備ID表示數(shù)據(jù)包在網(wǎng)絡中的轉(zhuǎn)發(fā)狀態(tài),使用計算樹邏輯CTL進行符號模型檢測,檢測網(wǎng)絡端到端的可達性,并判斷是否與所述預設的安全策略相沖突;
[0021]若沖突,則所述OpenFlow網(wǎng)絡不安全;
[0022]若不沖突,則所述OpenFlow網(wǎng)絡安全。
[0023]進一步地,還包括:建立OpenFlow網(wǎng)絡連接;所述OpenFlow數(shù)據(jù)包,包括:源IP地址、源端口號、目的IP地址和目的端口號;所述建立OpenFlow網(wǎng)絡連接,包括:
[0024]將由所述源IP地址、所述源端口號、所述目的IP地址和所述目的端口號組成的四元組標識一個會話連接;
[0025]對新獲取的OpenFlow數(shù)據(jù)包,根據(jù)所述四元組計算哈希值,并在哈希值數(shù)據(jù)庫中進行查詢,將哈希值相等的OpenFlow數(shù)據(jù)包歸為同一個會話;
[0026]若在時間閾值內(nèi),沒有收到屬于一個會話的OpenFlow數(shù)據(jù)包或所述OpenFlow數(shù)據(jù)包的FIN位為1,則將所述會話從所述哈希值數(shù)據(jù)庫中刪除。
[0027]本發(fā)明提供的OpenFlow網(wǎng)絡安全檢測系統(tǒng),包括:
[0028]數(shù)據(jù)采集模塊,用于采集OpenFlow數(shù)據(jù)包;
[0029]鏈路獲取模塊,用于在OpenFlow網(wǎng)絡外,根據(jù)所述OpenFlow數(shù)據(jù)包得到OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系和OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系;
[0030]模型建立模塊,用于在OpenFlow網(wǎng)絡外,根據(jù)所述鏈路關(guān)系建立網(wǎng)絡轉(zhuǎn)發(fā)模型;
[0031]安全檢測模塊,用于在OpenFlow網(wǎng)絡外,將所述網(wǎng)絡轉(zhuǎn)發(fā)模型與預設的安全策略進行比較;
[0032]若比較匹配,則所述OpenFlow網(wǎng)絡安全;
[0033]若比較不匹配,則所述OpenFlow網(wǎng)絡不安全。
[0034]進一步地,所述鏈路獲取模塊,包括:第一鏈路獲取單元,用于在所述OpenFlow網(wǎng)絡外,判斷所述OpenFlow數(shù)據(jù)包是否是LLDP協(xié)議的數(shù)據(jù)包;
[0035]若是,則從所述OpenFlow數(shù)據(jù)包中獲取所述OpenFlow網(wǎng)絡中各交換機的ID和端口號,得到所述OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系。
[0036]進一步地,所述鏈路獲取模塊,包括:第二鏈路獲取單元,用于在所述OpenFlow網(wǎng)絡外,從所述OpenFlow數(shù)據(jù)包中獲取各網(wǎng)絡設備的ID和端口號;
[0037]根據(jù)預設的OpenFlow網(wǎng)絡中的交換機的鏈路關(guān)系,判斷所述OpenFlow數(shù)據(jù)包是由OpenFlow網(wǎng)絡中的交換機還是由OpenFlow網(wǎng)絡外的網(wǎng)絡設備發(fā)出的;
[0038]若所述OpenFlow數(shù)據(jù)包是由OpenFlow網(wǎng)絡外的網(wǎng)絡設備發(fā)出的,根據(jù)所述OpenFlow數(shù)據(jù)包中攜帶的MAC層數(shù)據(jù)幀,獲取網(wǎng)絡設備的MAC地址和IP地址,并得到所述網(wǎng)絡設備的接入地址,從而得到OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系。
[0039]進一步地,所述安全檢測模塊,具體用于在所述OpenFlow網(wǎng)絡外,將OpenFlow網(wǎng)絡中的交換機的每條流表項用二叉決策圖表示,結(jié)合設備ID表示數(shù)據(jù)包在網(wǎng)絡中的轉(zhuǎn)發(fā)狀態(tài),使用計算樹邏輯CTL進行符號模型檢測,檢測網(wǎng)絡端到端的可達性,并判斷是否與所述預設的安全策略相沖突;
[0040]若沖突,則所述OpenFlow網(wǎng)絡不安全;
[0041]若不沖突,則所述OpenFlow網(wǎng)絡安全。
[0042]進一步地,還包括:網(wǎng)絡連接建立模塊,用于建立OpenFlow網(wǎng)絡連接;所述OpenFlow數(shù)據(jù)包,包括:源IP地址、源端口號、目的IP地址和目的端口號;所述網(wǎng)絡連接建立模塊,具體用于將由所述源IP地址、所述源端口號、所述目的IP地址和所述目的端口號組成的四元組標識一個會話連接;
[0043]對新獲取的OpenFlow數(shù)據(jù)包,根據(jù)所述四元組計算哈希值,并在哈希值數(shù)據(jù)庫中進行查詢,將哈希值相等的OpenFlow數(shù)據(jù)包歸為同一個會話;
[0044]若在時間閾值內(nèi),沒有收到屬于一個會話的OpenFlow數(shù)據(jù)包或所述OpenFlow數(shù)據(jù)包的FIN位為1,則將所述會話從所述哈希值數(shù)據(jù)庫中刪除。
[0045]本發(fā)明的有益效果在于:
[0046]本發(fā)明提供的OpenFlow網(wǎng)絡安全檢測方法及系統(tǒng),通過采集OpenFlow數(shù)據(jù)包,并在OpenFlow網(wǎng)絡外,根據(jù)采集到的OpenFlow數(shù)據(jù)包得到OpenFlow網(wǎng)絡中各交換機之間的鏈路關(guān)系和OpenFlow網(wǎng)絡外的主機的鏈路關(guān)系,并建立網(wǎng)絡轉(zhuǎn)發(fā)模型,將網(wǎng)絡轉(zhuǎn)發(fā)模型與預設的安全策略進行比較,得出結(jié)果,實現(xiàn)了對OpenFlow網(wǎng)絡的安全檢測,提高了OpenFlow網(wǎng)絡的安全性。
【附圖說明】
[0047]圖1為OpenFlow網(wǎng)絡的結(jié)構(gòu)示意圖;
[0048]圖2為OpenFlow網(wǎng)絡中控制器和交換機之間的交互信令圖;
[0049]圖3為本發(fā)明實施例提供的OpenFlow網(wǎng)絡安全檢測方法的流程圖;
[0050]圖4為本發(fā)明實施例提供的OpenFlow網(wǎng)絡安全檢測系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0051]為進一步闡述本發(fā)明為達成預定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提出的OpenFlow網(wǎng)絡安全檢測方法及系統(tǒng)的【具體實施方式】及工作原理進行詳細說明。
[0052]參見圖3,本發(fā)明實施例提供的OpenFlow網(wǎng)絡安全檢測方法,包括:
[0053]步驟SllO:采集OpenFlow數(shù)據(jù)包;具體地,可以將HUB集線器或者交換機鏡像端口部署在OpenFlow網(wǎng)絡的關(guān)鍵節(jié)點和路徑處,通過數(shù)據(jù)包標識碼的優(yōu)先級重點捕獲與TCP/SSL連接相關(guān)的數(shù)據(jù)包和OpenFl