SDN安全滲透測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-03-30 05:25
自軟件定義網(wǎng)絡(luò)(SDN)這一概念被提出,軟件定義網(wǎng)絡(luò)技術(shù)發(fā)展迅猛,以全新的網(wǎng)絡(luò)架構(gòu)逐步替換傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)。早在2012年,谷歌就將SDN技術(shù)使用在谷歌數(shù)據(jù)中心的內(nèi)部骨干網(wǎng)上,這標(biāo)志著SDN的商用化已經(jīng)開始。但隨著SDN網(wǎng)絡(luò)的高速發(fā)展,SDN的眾多漏洞逐漸暴露出來,SDN網(wǎng)絡(luò)的安全性越來越受到重視。要想構(gòu)建SDN網(wǎng)絡(luò)安全大廈,首先需要知道SDN網(wǎng)絡(luò)都有哪些脆弱點(diǎn)。鑒于業(yè)界至今尚未出現(xiàn)一個(gè)靈活可擴(kuò)展覆蓋整個(gè)SDN的安全性測試工具,本文從已知脆弱性的驗(yàn)證和未知脆弱性的發(fā)現(xiàn)兩個(gè)角度出發(fā),對SDN網(wǎng)絡(luò)安全性進(jìn)行研究,設(shè)計(jì)并實(shí)現(xiàn)了SDN網(wǎng)絡(luò)測試系統(tǒng),并對當(dāng)前SDN做了系統(tǒng)地評估。主要工作如下:(1)研究了當(dāng)前SDN的脆弱性,詳細(xì)描述了30多種脆弱性場景和脆弱性原理,設(shè)計(jì)并實(shí)現(xiàn)了SDN安全已知脆弱性驗(yàn)證測試系統(tǒng),該系統(tǒng)可自動(dòng)化地實(shí)現(xiàn)攻擊場景構(gòu)建,并針對不同的脆弱性測試生成不同的攻擊場景。利用該系統(tǒng)測試了當(dāng)前主流的五種SDN開源控制器:ONOS、OpenDaylight、Floodlight、Ryu和Pox,測試了Open vSwitch交換機(jī),以及對五種控制器所涵蓋的應(yīng)用層和控制層做了安全性評估,對...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:100 頁
【學(xué)位級別】:碩士
【部分圖文】:
核心控制和結(jié)果分析部分目錄
第三章SDN安全已知脆弱性驗(yàn)證測試系統(tǒng)19制器會(huì)監(jiān)聽6653或者6633端口。此時(shí),由于交換機(jī)會(huì)不斷嘗試連接控制器,直到連接上,控制管理模塊會(huì)監(jiān)測連接上控制器的交換機(jī)個(gè)數(shù),如果個(gè)數(shù)和預(yù)設(shè)拓?fù)渲薪粨Q機(jī)的個(gè)數(shù)一致,則說明交換機(jī)全部連接上控制器了,否則,則定時(shí)監(jiān)測,直到超時(shí)或者連接上的個(gè)數(shù)與預(yù)設(shè)一致。如果交換機(jī)全都連接上控制器,則可以開始所選測試案例的測試了,當(dāng)測試結(jié)束便會(huì)開始結(jié)果信息收集與分析,最后停止控制器和網(wǎng)絡(luò)拓?fù)洌Y(jié)束本次測試。具體的測試案例測試流程如圖3-2所示?刂乒芾砟K的目錄結(jié)構(gòu)控制管理模塊的目錄由五部分組成,包括analysis、core、hander、testcase和utils。最外層的Main.java是整個(gè)系統(tǒng)的啟動(dòng)函數(shù)。核心控制部分和結(jié)果分析部分的目錄如圖3-3所示。ResultInfo.java用于存儲(chǔ)一個(gè)測試案例針對七大評判標(biāo)準(zhǔn)的收集到的信息。而ResultAnalyer.java用于綜合分析收集到的信息并給出測試結(jié)果。AgentManager.java用于和用戶交互,執(zhí)行用戶輸入的命令。AttackConductor.java綜合調(diào)用各個(gè)控制工具。Configuration.java用于管理配置信息。AppAgentManager.java用于管理應(yīng)用層。ControllerManager.java用于管理控制器。HostAgentManager.java用于管理基礎(chǔ)設(shè)施層。圖3-3核心控制和結(jié)果分析部分目錄圖3-4控制器管理部分目錄控制器管理部分的目錄如圖3-4所示?刂破鞴芾聿糠职宸N主流的控制器ONOS、OpenDaylight、Floodlight、Ryu和Pox管理。
電子科技大學(xué)碩士學(xué)位論文20測試案例的管理和工具部分的目錄如圖3-5所示。CaseInfo.java用于存儲(chǔ)測試案例信息。TestAdvancedCase.java用于執(zhí)行綜合類測試案例。TestControllerCase.java用于執(zhí)行針對控制器的測試案例。TestSwitchCase.java用于執(zhí)行針對基礎(chǔ)設(shè)施層的測試案例。圖3-5測試案例管理和工具部分目錄控制管理模塊核心接口結(jié)果分析將在每次測試結(jié)束后進(jìn)行,針對七大脆弱性評判標(biāo)準(zhǔn),即控制器異;虮罎ⅰ(yīng)用程序崩潰、內(nèi)部存儲(chǔ)污染、交換機(jī)斷連、交換機(jī)性能下降、主機(jī)間斷連和產(chǎn)生錯(cuò)誤報(bào)文,都有對應(yīng)的檢測接口,最終判是否測試出網(wǎng)元設(shè)備的脆弱性的評判方法是調(diào)用checkResult接口對每個(gè)判斷標(biāo)準(zhǔn)取并集,F(xiàn)整理出結(jié)果分析部分中的關(guān)鍵接口名稱與對應(yīng)功能如表3-1所示。核心控制管理部分提供了一個(gè)用戶交互的終端界面,系統(tǒng)啟動(dòng)后,系統(tǒng)便會(huì)自動(dòng)調(diào)用showMenu接口打印系統(tǒng)LOGO和系統(tǒng)信息,并調(diào)用scpModule接口將相關(guān)控制器管理和基礎(chǔ)設(shè)施層管理所需腳本和Jar包遠(yuǎn)程傳輸?shù)綄?yīng)的虛擬機(jī)。隨后便會(huì)啟動(dòng)一個(gè)Socket服務(wù)器,用于和控制器代理、交換機(jī)代理和主機(jī)代理通信,下發(fā)相關(guān)命令控制測試案例測試流程的進(jìn)行。現(xiàn)整理出核心控制管理部分的關(guān)鍵接口名稱與對應(yīng)功能如表3-2所示。表3-1結(jié)果分析部分中的關(guān)鍵接口名稱與對應(yīng)功能表接口名稱對應(yīng)功能checkCommunication檢測網(wǎng)絡(luò)是否互通checkLatency檢測網(wǎng)絡(luò)延時(shí)checkAppAgentResponse分析惡意應(yīng)用響應(yīng)結(jié)果checkTopoInfo檢測并分析拓?fù)鋍heckControllerState檢測控制器狀態(tài)
【參考文獻(xiàn)】:
期刊論文
[1]軟件定義網(wǎng)絡(luò):安全模型、機(jī)制及研究進(jìn)展[J]. 王蒙蒙,劉建偉,陳杰,毛劍,毛可飛. 軟件學(xué)報(bào). 2016(04)
本文編號:3108948
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:100 頁
【學(xué)位級別】:碩士
【部分圖文】:
核心控制和結(jié)果分析部分目錄
第三章SDN安全已知脆弱性驗(yàn)證測試系統(tǒng)19制器會(huì)監(jiān)聽6653或者6633端口。此時(shí),由于交換機(jī)會(huì)不斷嘗試連接控制器,直到連接上,控制管理模塊會(huì)監(jiān)測連接上控制器的交換機(jī)個(gè)數(shù),如果個(gè)數(shù)和預(yù)設(shè)拓?fù)渲薪粨Q機(jī)的個(gè)數(shù)一致,則說明交換機(jī)全部連接上控制器了,否則,則定時(shí)監(jiān)測,直到超時(shí)或者連接上的個(gè)數(shù)與預(yù)設(shè)一致。如果交換機(jī)全都連接上控制器,則可以開始所選測試案例的測試了,當(dāng)測試結(jié)束便會(huì)開始結(jié)果信息收集與分析,最后停止控制器和網(wǎng)絡(luò)拓?fù)洌Y(jié)束本次測試。具體的測試案例測試流程如圖3-2所示?刂乒芾砟K的目錄結(jié)構(gòu)控制管理模塊的目錄由五部分組成,包括analysis、core、hander、testcase和utils。最外層的Main.java是整個(gè)系統(tǒng)的啟動(dòng)函數(shù)。核心控制部分和結(jié)果分析部分的目錄如圖3-3所示。ResultInfo.java用于存儲(chǔ)一個(gè)測試案例針對七大評判標(biāo)準(zhǔn)的收集到的信息。而ResultAnalyer.java用于綜合分析收集到的信息并給出測試結(jié)果。AgentManager.java用于和用戶交互,執(zhí)行用戶輸入的命令。AttackConductor.java綜合調(diào)用各個(gè)控制工具。Configuration.java用于管理配置信息。AppAgentManager.java用于管理應(yīng)用層。ControllerManager.java用于管理控制器。HostAgentManager.java用于管理基礎(chǔ)設(shè)施層。圖3-3核心控制和結(jié)果分析部分目錄圖3-4控制器管理部分目錄控制器管理部分的目錄如圖3-4所示?刂破鞴芾聿糠职宸N主流的控制器ONOS、OpenDaylight、Floodlight、Ryu和Pox管理。
電子科技大學(xué)碩士學(xué)位論文20測試案例的管理和工具部分的目錄如圖3-5所示。CaseInfo.java用于存儲(chǔ)測試案例信息。TestAdvancedCase.java用于執(zhí)行綜合類測試案例。TestControllerCase.java用于執(zhí)行針對控制器的測試案例。TestSwitchCase.java用于執(zhí)行針對基礎(chǔ)設(shè)施層的測試案例。圖3-5測試案例管理和工具部分目錄控制管理模塊核心接口結(jié)果分析將在每次測試結(jié)束后進(jìn)行,針對七大脆弱性評判標(biāo)準(zhǔn),即控制器異;虮罎ⅰ(yīng)用程序崩潰、內(nèi)部存儲(chǔ)污染、交換機(jī)斷連、交換機(jī)性能下降、主機(jī)間斷連和產(chǎn)生錯(cuò)誤報(bào)文,都有對應(yīng)的檢測接口,最終判是否測試出網(wǎng)元設(shè)備的脆弱性的評判方法是調(diào)用checkResult接口對每個(gè)判斷標(biāo)準(zhǔn)取并集,F(xiàn)整理出結(jié)果分析部分中的關(guān)鍵接口名稱與對應(yīng)功能如表3-1所示。核心控制管理部分提供了一個(gè)用戶交互的終端界面,系統(tǒng)啟動(dòng)后,系統(tǒng)便會(huì)自動(dòng)調(diào)用showMenu接口打印系統(tǒng)LOGO和系統(tǒng)信息,并調(diào)用scpModule接口將相關(guān)控制器管理和基礎(chǔ)設(shè)施層管理所需腳本和Jar包遠(yuǎn)程傳輸?shù)綄?yīng)的虛擬機(jī)。隨后便會(huì)啟動(dòng)一個(gè)Socket服務(wù)器,用于和控制器代理、交換機(jī)代理和主機(jī)代理通信,下發(fā)相關(guān)命令控制測試案例測試流程的進(jìn)行。現(xiàn)整理出核心控制管理部分的關(guān)鍵接口名稱與對應(yīng)功能如表3-2所示。表3-1結(jié)果分析部分中的關(guān)鍵接口名稱與對應(yīng)功能表接口名稱對應(yīng)功能checkCommunication檢測網(wǎng)絡(luò)是否互通checkLatency檢測網(wǎng)絡(luò)延時(shí)checkAppAgentResponse分析惡意應(yīng)用響應(yīng)結(jié)果checkTopoInfo檢測并分析拓?fù)鋍heckControllerState檢測控制器狀態(tài)
【參考文獻(xiàn)】:
期刊論文
[1]軟件定義網(wǎng)絡(luò):安全模型、機(jī)制及研究進(jìn)展[J]. 王蒙蒙,劉建偉,陳杰,毛劍,毛可飛. 軟件學(xué)報(bào). 2016(04)
本文編號:3108948
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3108948.html
最近更新
教材專著