(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476100)
隨著國家對“互聯(lián)網(wǎng)+”思想的大力推廣以及互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,在極大地促進高技術(shù)公司和科研院所在數(shù)字化、信息化領(lǐng)域的研究熱潮的同時,也對高校實驗室教學(xué)工作提出了新的要求[1-2]。在互聯(lián)網(wǎng)技術(shù)中,網(wǎng)絡(luò)安全[3-4]作為維護互聯(lián)網(wǎng)系統(tǒng)安全穩(wěn)定運行的重要保證,已經(jīng)成為了國內(nèi)外的研究熱點。為了緊跟時代步伐,保證互聯(lián)網(wǎng)教學(xué)質(zhì)量,全面提升學(xué)生的互聯(lián)網(wǎng)能力,迫切需要建立完善的互聯(lián)網(wǎng)網(wǎng)絡(luò)安全教學(xué)實驗室。
在網(wǎng)絡(luò)安全技術(shù)體系中,防火墻[5]系統(tǒng)用于構(gòu)造內(nèi)部網(wǎng)和外部網(wǎng)之間的保護屏障,在硬件和軟件相結(jié)合的基礎(chǔ)上,保護內(nèi)部網(wǎng)免受非法用戶的入侵和網(wǎng)絡(luò)攻擊的破壞。作為網(wǎng)絡(luò)安全的關(guān)鍵技術(shù),防火墻系統(tǒng)的教學(xué)與實驗平臺需要為學(xué)生提供完備的學(xué)習(xí)與操作功能,從而讓學(xué)生形成完整的網(wǎng)絡(luò)安全知識體系,實現(xiàn)“教”與“學(xué)”的緊密連接,提高學(xué)生解決實際問題的能力。
以防火墻系統(tǒng)為核心的網(wǎng)絡(luò)安全實驗室與以往的教學(xué)平臺建設(shè)相比,由于涉及到安全性這一敏感與重要的問題,因此具有更大的建設(shè)難度,需要借助先進的硬件設(shè)備、軟件平臺、安全算法等,針對網(wǎng)絡(luò)攻擊與網(wǎng)絡(luò)連接的實驗問題,從而為學(xué)生提供完善的實驗環(huán)境。防火墻在實際系統(tǒng)中的大量應(yīng)用使得其平臺的建設(shè)可以充分利用社會上高科技公司的先進技術(shù),同時在高校教師團隊的主導(dǎo)下,建立適應(yīng)高校教學(xué)、實驗與科研的綜合平臺。
為了達到上述目標,提出一種基于軟件定義網(wǎng)絡(luò)(software defined networking,SDN)的防火墻系統(tǒng)設(shè)計方案,從而建立可以在控制器端實現(xiàn)的防火墻邏輯。網(wǎng)絡(luò)安全的發(fā)展趨勢表明,下一代防火墻在策略執(zhí)行方面更有活力,并有能力保護內(nèi)部網(wǎng)絡(luò)。SDN技術(shù)通過集中式防火墻邏輯和分布式防火墻操作,可以實現(xiàn)可疑信息的準確隔離。實驗結(jié)果表明所提的防火墻建設(shè)方案可以大幅度提升網(wǎng)絡(luò)安全性能,從而證明構(gòu)建的教學(xué)平臺具備高網(wǎng)絡(luò)安全性。
在整合學(xué)校實驗室現(xiàn)有資源的前提下,提出圖1所示的高校網(wǎng)絡(luò)實驗室防火墻系統(tǒng)。自下而上,數(shù)據(jù)服務(wù)器群主要用于為實驗過程及防火墻工作過程中產(chǎn)生的大量數(shù)據(jù)集進行存儲;實時通信服務(wù)器群不僅保證防火墻內(nèi)外網(wǎng)的實時通信,還能夠?qū)νㄐ胖械漠惓G闆r進行記錄和分析;認證系統(tǒng)與網(wǎng)絡(luò)服務(wù)器保證了信息通信功能的高可靠性,并為不同用戶的訪問提供了安全路徑;控制器通過與底層交換機之間的信息交互實現(xiàn)網(wǎng)絡(luò)狀態(tài)的實時監(jiān)控;防火墻監(jiān)控服務(wù)器中的先進算法可以大幅度提高整個校內(nèi)網(wǎng)絡(luò)系統(tǒng)的安全性能;貫穿于整個系統(tǒng)的高速寬帶通信網(wǎng)絡(luò)環(huán)境實現(xiàn)了數(shù)據(jù)在系統(tǒng)內(nèi)的快速流動。
圖1 防火墻系統(tǒng)架構(gòu)
軟件定義網(wǎng)絡(luò)(software defined network,SDN)是一種基于Open Flow技術(shù)的新型網(wǎng)絡(luò)架構(gòu)[6-7],其通過將網(wǎng)絡(luò)設(shè)備的控制與數(shù)據(jù)分開,既可以實現(xiàn)網(wǎng)絡(luò)流量靈活控制,又為應(yīng)用創(chuàng)新提供了良好的平臺。連接跟蹤系統(tǒng)柜作為控制器和交換機之間信息交互的核心監(jiān)控設(shè)備,需要借助SDN技術(shù)實現(xiàn)網(wǎng)絡(luò)連接狀態(tài)的高效防護。圖2為連接跟蹤系統(tǒng)的結(jié)構(gòu)圖。
圖2 連接跟蹤系統(tǒng)軟硬件結(jié)構(gòu)
圖2說明了跟蹤連接系統(tǒng)的三層結(jié)構(gòu)。每一層被定義為具有類似屬性和狀態(tài)的流組條目。第一層由控制器及相應(yīng)的流程規(guī)則組成,并以最高優(yōu)先級處理數(shù)據(jù)狀態(tài)交互;中間層用于檢測新的狀態(tài)連接;最下層用于廣義交換機的流量轉(zhuǎn)發(fā)規(guī)則。進入跟蹤連接系統(tǒng)的數(shù)據(jù)將按照從第一到第三流的順序進行比較和分析。
連接跟蹤系統(tǒng)主要用于跟蹤啟動和停止兩個通信連接狀態(tài)[8]。對于連接啟動跟蹤,數(shù)據(jù)包只有在與任何現(xiàn)有的監(jiān)控連接不匹配時才被轉(zhuǎn)發(fā)給控制器,連接跟蹤系統(tǒng)只需確保首個發(fā)起連接的數(shù)據(jù)包被報告即可。對于連接終止跟蹤,使用不同的方法來處理TCP和UDP連接:在UDP連接中,使用超時參數(shù)來檢測流量,因此不存在UDP的連接跟蹤開銷;在TCP連接中,交換機必須連續(xù)發(fā)送數(shù)據(jù)包到控制器以檢查TCP FIN標記,此時存在通信開銷。
連接跟蹤系統(tǒng)由專業(yè)技術(shù)公司設(shè)計并提供,將其輸出的數(shù)據(jù)包頭進行比較,如果不匹配,數(shù)據(jù)包被分類為新的連接發(fā)起數(shù)據(jù)包。對于TCP協(xié)議,連接跟蹤系統(tǒng)通過檢測FIN標志來判斷連接是否終止,同時將數(shù)據(jù)包發(fā)送到目的地;對于UDP協(xié)議,沒有明確的標志來檢測連接拆除,因此需要在流條目中會設(shè)置好截至?xí)r間,在特定的時間之后,如果沒有UDP分組被發(fā)送,則數(shù)據(jù)流將被移除并且結(jié)束連接。
為了提高SDN解決方案的效率,設(shè)計了基于拓撲數(shù)據(jù)的交換機流量表簡化方法:通過在每臺交換機上選擇性地安裝控制流入口,可以達到簡化防火墻的設(shè)置,實現(xiàn)連接交換機的快速檢查[9]。
為了實現(xiàn)連接跟蹤系統(tǒng)三層架構(gòu)的可靠信息交互,提出了一種新型的入站流量高效分類方法:通過將反應(yīng)流和主動流進行混合使用,可以預(yù)先將重要的防火墻控制流部署到相應(yīng)的交換機中,從而保證在連接檢測之后,跟蹤連接得到穩(wěn)定保持且不會有任何額外的延遲。
防火墻構(gòu)建過程包括通過編程實現(xiàn)一些特定的防火墻配置功能。運行于防火墻監(jiān)控服務(wù)器上,如圖3所示。
圖3 防火墻構(gòu)建的軟件實現(xiàn)流程
1)通過REST API接口接收防火墻WEB應(yīng)用模塊上系統(tǒng)管理員下發(fā)的RULE規(guī)則。
2)將流匹配規(guī)則以底層OPENFLOW軟交換機能夠理解的流表形式按OPENFLOW協(xié)議進行封裝。
3)通過安全通道將上述包含新流表信息的控制信息下發(fā)至相關(guān)底層交換機節(jié)點。
采用在GITHUB上獲取最新的RYU的源碼,在UBUNTU 4.15.1-13環(huán)境下進行二次開發(fā)和實驗。
源碼結(jié)構(gòu)如圖4所示。
圖4 源碼結(jié)構(gòu)圖
其中CMD目錄下的代碼是RYU框架的入口程序,它會調(diào)用RYU核心組件的初始化程序,而組件的初始化是在BASE目錄下進行的,TOPOLOGY目錄是有關(guān)拓撲的組件,控制也作為一個組件存在于CONTROLLER目錄中。
拒絕服務(wù)(denial of service,DoS)攻擊通過癱瘓計算機或網(wǎng)絡(luò)提供的正常服務(wù)來達到入侵損害系統(tǒng)的目的,是防火墻系統(tǒng)中需要重點防護的攻擊形式[10-11]。為了減輕控制器DoS的損害,提出一種優(yōu)先級分類與維護的多消息隊列檢測方法:實時監(jiān)視每個特定主機正在進行的連接的峰值數(shù)目,同時借助以前時間段的累計峰值歷史記錄,估算每個主機的峰值連接;如果來自主機的連接請求的數(shù)量超過了某個預(yù)定義值,那么它將被識別為攻擊者,其請求將被放入優(yōu)先級較低的“警告隊列”中,并在處理完“正常隊列”中的所有請求后在對其進行處理[12]。
DoS攻擊的消息隊列處理過程如圖5所示。通信網(wǎng)絡(luò)中由MAC地址標識的主機可以根據(jù)其行為分配一個隊列線程。MAC地址散列使防火墻能夠?qū)碜圆煌鳈C的入站數(shù)據(jù)進行分類,這樣可令控制器在不需要逐個檢查數(shù)據(jù)包的情況下立即丟棄惡意數(shù)據(jù)包。具有不同優(yōu)先級的消息隊列確保優(yōu)先處理來自沒有攻擊歷史的主機的合法請求,來自可疑主機的具有被攻擊歷史或當前正在增加連接數(shù)量的可疑主機的請求僅在普通隊列完全為空之后才被處理。如果沒有優(yōu)先級隊列機制,等待上線的合法數(shù)據(jù)包就會因為有許多惡意數(shù)據(jù)包填滿了隊列而被丟棄。
圖5 DoS攻擊的防火墻處理方法
設(shè)計的防火墻狀態(tài)線程包括:狀態(tài)防火墻系統(tǒng),REST API 服務(wù)系統(tǒng),包過濾系統(tǒng),二次轉(zhuǎn)發(fā)系統(tǒng),DoS緩解系統(tǒng)。
1)狀態(tài)防火墻系統(tǒng):通過控制層來獲取網(wǎng)絡(luò)的狀態(tài)信息,可用于狀態(tài)的跟蹤和監(jiān)測。例如,當?shù)讓咏粨Q機收到的數(shù)據(jù)包中含有惡意數(shù)據(jù),或者網(wǎng)絡(luò)中的鏈路失效時,該系統(tǒng)能及時檢測網(wǎng)絡(luò)的狀態(tài),通過調(diào)整對當前網(wǎng)絡(luò)檢測查詢頻率,利用控制器發(fā)出一系列包過濾規(guī)則以確保網(wǎng)絡(luò)安全。
2)REST API 服務(wù)系統(tǒng):該系統(tǒng)處在控制層中,其功能是實現(xiàn)控制層與應(yīng)用層的連接,實現(xiàn)與狀態(tài)防火墻模塊的通信交互。REST API 服務(wù)系統(tǒng)包含許多可編程接口,它們遵循HTTP系列的協(xié)議規(guī)定。
3)包過濾系統(tǒng):規(guī)定了關(guān)于數(shù)據(jù)包的一系列過濾操作規(guī)則,對接收到的數(shù)據(jù)包執(zhí)行通過或者舍棄決策。包頭中有源和目標的IP地址、源和目標的MAC地址以及通信協(xié)議號等信息,設(shè)置過濾規(guī)則的主要目的是為了匹配包頭中的參數(shù)信息。
4)二次轉(zhuǎn)發(fā)系統(tǒng):該與數(shù)據(jù)轉(zhuǎn)發(fā)層中的信息交互,將有關(guān)數(shù)據(jù)包的信息轉(zhuǎn)發(fā)到數(shù)據(jù)轉(zhuǎn)發(fā)層中。它可以統(tǒng)計數(shù)據(jù)轉(zhuǎn)發(fā)層中的流表項等信息,并將該信息發(fā)送至控制器。
5)DoS緩解系統(tǒng):用于識別網(wǎng)絡(luò)攻擊,并激活DoS檢測與損害緩解功能。
同各國充分整合學(xué)校實驗室現(xiàn)有的硬件資源,建立基于校內(nèi)云存儲、控制器陣列和高速通信網(wǎng)絡(luò)的防火墻系統(tǒng)。
云存儲系統(tǒng)如圖6所示。云存儲服務(wù)器選用10臺WD/西部數(shù)據(jù)My Cloud Pro PR4100 32TB,如圖7所示。并與校內(nèi)現(xiàn)有的分散計算與存儲服務(wù)器進行整合,其功能包括:支持硬盤寄送,海量數(shù)據(jù)快速上傳;基于CIFS協(xié)議配合存儲網(wǎng)關(guān),像讀寫本地數(shù)據(jù)存儲磁盤;支持Bucket鏡像,第三方數(shù)據(jù)無縫遷移;支持多用戶訪問控制、STS臨時授權(quán);支持HTTPS加密傳輸和加密存儲。
圖7 WD/西部數(shù)據(jù)My Cloud Pro PR4100 32TB
控制器陣列(連接跟蹤系統(tǒng))由專業(yè)公司設(shè)計研發(fā),主要由Intel/英特爾8核CPU處理器及其外部電路組成,用于控制防火墻系統(tǒng)運行過程中的數(shù)據(jù)交換過程,并對工程中產(chǎn)生的網(wǎng)絡(luò)攻擊、異常數(shù)據(jù)注入等問題進行實時監(jiān)控,從而實現(xiàn)基于軟件定義網(wǎng)絡(luò)的防火墻核心安全防護。
高速通信網(wǎng)絡(luò)由實驗室網(wǎng)絡(luò)升級改造而來。實驗室現(xiàn)原有網(wǎng)絡(luò)為典型的環(huán)形網(wǎng),采用以太網(wǎng)接口設(shè)備及通信線纜,傳輸速度僅為1 Gbit/s,不僅不利于數(shù)據(jù)的快速傳遞,也會產(chǎn)生通信延時并降低防火墻安全防護處理的功能。通過將實驗室現(xiàn)有網(wǎng)絡(luò)改造為星形網(wǎng),并采用光纖通信技術(shù),使得數(shù)據(jù)通信速度提升至10 Gbit/s,不僅保障了數(shù)據(jù)的高速傳輸,而且降低了功耗,加大了通信距離。此外,借助交換機將實驗室通信網(wǎng)絡(luò)與校園高速寬帶網(wǎng)絡(luò)進行連接,可以實現(xiàn)數(shù)據(jù)在實驗室和校園內(nèi)的快速共享。
DoS攻擊是一種非常常見的網(wǎng)絡(luò)攻擊,為了驗證實驗室建設(shè)的防火墻系統(tǒng)對于網(wǎng)絡(luò)攻擊的堅強性,并為學(xué)生進行相關(guān)實驗做好準備,本文給出了實驗室防火墻系統(tǒng)的實驗結(jié)果與分析。
第一步:模擬DoS攻擊。在正常情況下,主機每個時隙的請求數(shù)量在所有時隙都是靜態(tài)的,通過突然增加和減少攻擊者的時隙請求數(shù)量,用來以模擬TCP SYN洪泛攻擊。攻擊是以脈沖模式進行的,重復(fù)10個正常時隙,然后是10個攻擊時隙,Singe攻擊波時長為5個時隙,數(shù)據(jù)包到達率為10000packets/s,這種攻擊模式如圖8所示,這個實驗的參數(shù)在表3中列出。
圖8 攻擊模式
第二部:實驗與分析。連接跟蹤的DoS緩解功能利用多個具有不同優(yōu)先級的哈希隊列來快速丟棄惡意包,并減少合法用戶的處理延遲。為了測試這個功能,本文將運行多個散列消息隊列的連接跟蹤與單個消息隊列進行比較。緩解時間被定義為從檢測到DoS到控制器隊列中所有惡意數(shù)據(jù)包被丟棄的時間。記錄所有攻擊波的緩解時間。
對于多個哈希隊列,連接跟蹤只需在正常和警告列表中檢查攻擊者的MAC地址對應(yīng)的隊列,并將其全部刪除即可。當使用單個隊列時,連接跟蹤必須檢查每個單獨的數(shù)據(jù)包以匹配攻擊者信息。這些不需要的請求在隊列中出現(xiàn)的時間越長,控制器占用的內(nèi)存資源越多。此外,這些惡意數(shù)據(jù)包的數(shù)量過多會對合法數(shù)據(jù)包產(chǎn)生負面影響,如額外的延遲以及由于溢出隊列而導(dǎo)致丟棄的機會增加。如圖8所示,使用多個哈希隊列的緩解時間范圍僅為0.3~0.85 毫秒。對于單個隊列來說,緩解時間是使用多個哈希隊列緩解時間的10~25倍,使用多個哈希隊列比使用單個消息隊列更能有效緩解DoS攻擊。
圖9 緩解時間對比
圖9為在發(fā)生DoS攻擊的情況下,不同優(yōu)先級隊列對處理合法請求的影響。整個處理時間為來自正常主機請求的總處理時間,總處理時間標志著連接跟蹤在每個時隙處理來自普通主機的所有請求的持續(xù)時間。從圖10中可以看出,使用單個隊列的普通用戶的處理時間大部分是穩(wěn)定的,只是隨著請求總數(shù)的增加而略微增加??梢宰⒁獾剑瑐魅氲臄?shù)據(jù)包以塊形式到達,并且來自一個主機的所有請求數(shù)據(jù)包同時來到,隨后是其他主機的數(shù)據(jù)包。這與本文推測兩個主機之間數(shù)據(jù)包的混合到達不同,這是因為數(shù)據(jù)包在產(chǎn)生以及鏈路傳輸方面有延遲,單個隊列的連接跟蹤本身將處理從一個主機到另一個主機的所有請求。
相反,使用循環(huán)隊列查找的多個哈希隊列允許連接跟蹤依次處理來自兩個主機的請求。因此,在沒有攻擊的時隙內(nèi)正常用戶的處理時間是單個隊列的兩倍。另外,從攻擊期的第二時隙到冷卻期的第一時隙為重復(fù)模式。普通用戶的處理持續(xù)時間大大減少,與單個隊列的持續(xù)時間相匹配。在第二個攻擊時隙(6,16,26,36,46)期間,攻擊者在第一個攻擊時隙被識別并標記為可疑主機,并且所有來自攻擊者的請求包被放入警告隊列。因此,正常隊列中的普通主機的請求首先被處理,這導(dǎo)致處理持續(xù)時間減半。另一方面,在正常時間的第一個時隙(11,21,31,41),由于攻擊者主機仍然有可疑的信譽,請求的數(shù)據(jù)包仍然具有較低的優(yōu)先級,所以正常請求的處理持續(xù)時間不會被接收。在下一個時隙中,攻擊者信譽由于沒有違規(guī)而在下一個時隙正常重置,因此處理持續(xù)時間隨著分組查找而加倍。由以上分析可以得出結(jié)論,連接跟蹤能夠降低違反主機的處理優(yōu)先級,以減少合法請求的延遲和丟棄概率。
圖10 正常主機的處理時間
在網(wǎng)絡(luò)信息安全知識體系中,防火墻實驗室系統(tǒng)的建設(shè)有利于培養(yǎng)學(xué)生系統(tǒng)的網(wǎng)絡(luò)安全知識,激發(fā)學(xué)習(xí)熱情和動手能力,提升軟硬件使用能力。通過整合校內(nèi)已有的計算資源,同時充分利用校企聯(lián)合研發(fā)模式,建立了基于分散式云存儲、控制器陣列和高速通信網(wǎng)絡(luò)的集成化防火墻系統(tǒng),解決了現(xiàn)有系統(tǒng)計算資源不足,通信控制性能較弱,數(shù)據(jù)傳輸速度較慢的問題。此外,提出了極有軟件定義網(wǎng)絡(luò)的新型防火墻安全防防護技術(shù),通過實驗分析了所提技術(shù)的優(yōu)越性,該技術(shù)可以大幅度提高校內(nèi)網(wǎng)絡(luò)安全實驗室的科研水平,在保障學(xué)生完成高質(zhì)量實驗的同時,也可以微笑內(nèi)的教師和科研團隊的進一步創(chuàng)新提供保證。