許曉明
(中冶交通建設集團有限公司 北京 100011)
不同安全級別的網絡之間的安全防護措施通常是物理隔離[1]。但是這種防護措施的靈活性不夠,難以實現被隔離網絡之間的信息實時交換。因此基于可信數據過濾的網絡隔離技術逐漸受到重視,并成為研究熱點[2~3]。
基于可信數據過濾的網絡隔離是網絡安全防護的一種新思路,部署在內外網之間的網絡安全設備,將內外網內外的安全等級劃分為不同的信任域,形成不同安全等級的網絡通信系統,在實現網絡隔離的基礎上達到可信信息實時交換的目的[4~6]。
目前基于雙網隔離的網絡安全技術還處于發展過程中,在架構和功能上并無行業統一的規范,這也使得市場上此類網絡安全設備的架構和功能上差別較大[7~8]。目前網絡隔離技術主要有物理通道隔離,通過專用的通信硬件和專有的安全協議隔離,采用加密認證機制和認證技術等[9~10]。文獻[11]提出一種基于智能卡的硬件隔離技術。該技術通過設計嵌入式安全模塊為終端系統提供數據加密和解密的安全服務。文獻[12]提出一種基于數據轉發的網絡隔離技術。該技術基于DES算法構建數據加密通信系統,實現隔離網絡的動態、實時的數據安全轉發。
通過對上述研究成果的分析,基于雙網有效隔離情況下實現可信數據安全交換的考慮,本文設計開發了一種基于硬件隔離的網絡安全設備。該設備采用基于硬件隔離技術和數據報文處理技術,通過信息內容過濾技術實現外部網絡內部網絡之間的安全通信。
基于安全隔離和信息交換的網絡安全設備主要由硬件隔離單元、內聯網信息處理單元、外聯網信息處理單元和邏輯控制單元組成。硬件隔離單元主要提供數據包分組過濾以及基于交換分區的硬件隔離功能。內聯網信息處理單元和外聯網信息處理單元主要是對網絡中的三層數據包中負載數據進行還原,對數據包中的上層協議進行解析,并進行相關的安全審計和將審計數據傳送給邏輯控制單元。網絡連接的請求方所在的安全區域的信息處理單元負責相應的數據包處理。設備功能配置信息、審計服務主要由邏輯控制單元提供。邏輯控制單元還對設備各個單元數據流提供重定向服務。硬件隔離、內外網數據的高層協議轉換以及重定向處理功能都是通過網絡安全設備的不同控制接口實現的。網絡安全設備還提供外部審計控制接口,外部終端可通過審計接口接入系統獲取審計數據并進行相關配置。
網絡安全設備的網絡隔離的控制邏輯FPGA芯片實現。系統設計框架如圖1所示。

圖1 系統架構
本文所設計的網絡安全設備具有如下優點。首先可以從網絡外的多個硬件安全,硬件預處理與隔離單元的相互隔離一方面可以配置分區,不允許區域間交換;另一方面,可以記錄數據包的來源。如果預先配置的過濾器被觸發,將導致數據包被拒絕轉發。其次該網絡安全設備從硬件和軟件兩方面確保內部網絡與外部網絡之間數據交換的安全性,設備內部單元之間采用私有協議通信,使得內部通信的安全性得到可靠保證。此外,信息處理單元沒有采用通用的協議棧路徑,基于自主捕獲和發送數據的路徑,大大降低了數據在發送過程被劫持和控制的可能。最后基于模塊化的設計保證了良好的系統可擴展性,為設備升級提供了空間[13]。
基于硬件的信息隔離與交換的主要邏輯操作有消息過濾、網絡隔離、訪問控制和協議轉換。其邏輯流程如圖2所示。

圖2 硬件隔離邏輯流程
圖2中網絡隔離是實現基于硬件的信息隔離與交換的主要邏輯操作,它由分布在不同信任域網絡中的多個端口組成了網絡之間數據緩存和信息交換的單獨網絡。數據緩存指的是對應發起網絡通信方的隔離端口對所接受的數據進行阻塞和存儲。外聯網絡和外聯網絡對應不同的交換端口,端口之間數據依據信任域之間的訪問控制和數據包過濾規則進行交換。在硬件隔離單元中,端口的按照功能分為兩類。第一類端口是內網與外網交換端口,此類端口的數據通信由包過濾模塊控制,只有符合過濾規則的數據包才能在端口之間交換。第二類端口是控制模塊和內外網端口之間的端口。這類端口傳輸的數據主要是數據交換的日志數據包,業務數據是不能在此類端口上進行交換的。隔離網絡支持對所連接的內外網進行優先級配置,優先級低的網絡在過濾規則中默認拒絕。
報文安全過濾處理是對于不同安全域之間的數據包,依據數據通信源接口的不同,進行過濾處理,包括依據基于ACL的轉發策略、狀態檢測、關鍵字過濾,并決定是否進行轉發[14~15]。數據報文的過濾處理邏輯主要有四個。首先是地址轉換(NAT)邏輯。根據NAT規則進行對應的地址以及端口轉換。其次是對連接狀態進行檢測,判斷當前連接是否是處于正常協議狀態,并依據狀態檢測的結果決定其包過濾與轉發決策邏輯。如果判定當前連接狀態異常則進行規則處理,并創建異常狀態表項。隨后是對數據報文進行規則處理。基于網絡層數據分組的控制字節信息,與配置的ACL進行匹配,并安裝匹配結果對數據分組進行相應處理。最后是包過濾與轉發決策。前述邏輯處理對三層數據報文的處理結果有兩個:非法報文則直接丟棄;要進行隔離交換的數據報文,則首先檢測流量統計信息,如果超過配置流量則丟棄,如未超,則確定進行下一步轉發處理。對確定轉發的數據報文首先進行內部格式封裝后發送至隔離交換單元,如果與隔離交換單元中接口配置有沖突,則丟棄,并將同時形成對應的審計日志。
內聯網信息處理單元和外聯網信息處理單元都是基于網絡層數據報文包壓縮和私有協議封裝處理機制的安全性,兩個處理單元的數據處理邏輯都基于信息處理軟件實現。信息處理軟件由控制模塊、安全策略模塊,數據報文壓縮和訪問控制模模塊,數據預處理和隔離交換接口模塊以及網絡協議棧和驅動模塊組成,如圖3所示。

圖3 信息處理軟件
控制模塊提供對信息處理功能模塊進行配置的服務,并將其配置信息寫入對應的策略庫。控制單元的配置信息包括管理初始化審計配置信息、數據包過濾規則配置信息以及安全審計策略等。安全策略模塊的主要功能是接收控制模塊發送的安全策略配置命令,對安全策略進行插入、刪除、修改、查詢等操作。日志管理模塊接收控制模塊發送的審計信息以及日志數據,并對日志數據進行調用、插入、刪除操作。
基于數據包還原的ACL以及數據包處理模塊、數據預處理和隔離交換接口模塊模塊以及協議棧和驅動模塊完成數據處理邏輯流程上最重要功能。其中,單元之間共享信息和通信支持庫支持兩個內外網信息處理單元之間的通信,提供共享信息私有協議封裝、解封裝以及通信握手的需要。網絡層數據包處理模塊對接受的數據包進行IP層和TCP/UDP層的解析,剔除數據包的頭部信息,取得業務層數據。根據訪問控制規則和內容過濾策略對業務層數據進行檢測,形成審計日志發送對應的處理模塊。審計日志處理模塊為每個檢測線程保留數據緩存區。私有協議處理和檢查在網絡層數據包處理流程中實現,對可能存在承載業務層數據的私有協議進行檢查,不同的協議對應不同的處理流程,并維護不同的數據緩沖區。對緩沖區分段的數據包,信息處理單元可判定數據段序列的最后一個數據段,如果非最后一個分段數據,則進行硬件隔離交換,否則對完整數據包進行安全檢查,通過檢查則進行對應的交換操作[16~17]。
管理控制單元的主要功能由控制模塊和審計模塊實現,其中控制模塊實現對設備各單元的數據同步和操作控制,為數據的隔離交換提供協調控制,對硬件隔離交換單元的數據流提供重定向服務,對硬件隔離交換單元內部的各種路由表、ACL、關鍵字過濾表等進行維護。邏輯控制單元的組成模塊如圖4所示。

圖4 邏輯控制單元的模型組成
邏輯控制單元各個模塊的的主要功能為命令處理模塊對本地輸入命令進行定義和解析;接口管理模塊對以太網接口的工作模式進行管理和配置;配置管理模塊對歷史輸入操作命令進行緩存,以供查詢和快捷執行;規則管理模塊對數據流規則匹配過程的策略進行配置管理;控制命令模塊對接受到配置命令進行解碼并將控制命令分配給對應的對象;本地預處理模塊將不同的配置信息分別發送內外網信息處理單元,各個單元將處理結果返回給配置用戶;私有協議處理模塊對私有協議封裝的數據包進行解包,對特殊協議進行協議轉換處理;硬件表管理模塊對硬件隔離交換單元相關的路由表、ACL、關鍵字過濾表等進行動態維護,并通過API向外部提供管理接口,為實現防火墻、IDS聯動安全控制提供擴展空間[18~19]。
審計模塊對審計網絡安全設備的數據通信進行監控、配置管理,并對數據操作和系統維護進行日志級別的審計。審計模塊提供C/S服務界面,其軟件架構由用戶端、服務器端和管理端組成。瀏覽器端給終端用戶提供設備遠程配置、實時管理和相關審計的服務。服務器端基于Liunx系統開發,對用戶端的操作動作進行響應,提供相關的設備配置、數據控制的命令,實現用戶的配置、管理和審計等功能。管理端通過管理接口通訊,對設備的物理接口、遠程接入配置、日志信息、狀態信息以及數據表等進行配置,使得設備能夠處于最符合網絡環境和用戶需求的工作狀態。
使用vhdl語言完成實現雙網隔離的網絡安全設備的設計。實現和設計測試在Altera的Quartus 8.1網絡版環境中完成。另外,在Altera開發板DE2上進行了設計硬件驗證,該開發板DE2包含FPGA芯片Cyclone II EP2C35F672C6,這是一種低成本的FPGA芯片。在硬件測試期間使用SDRAM 8MB內存作為緩沖區。
仿真功能測試分為兩個部分。首先是對設備的數據交換能力進行測試。由于雙網隔離的網絡安全設備的數據交換建立在網絡層數據包解析和重組的基礎上,因此對數據包解析和重組功能進行仿真測試能夠直接反映設備數據交換的效率。
在FPGA芯片中創建了簡單的IP包生成器。它是通過使用FPGA芯片的內部ROM存儲器實現的,其內容填充了向分段塊發送的幾個有效IP數據包的值。單元本身被放置在SDRAM內存中的適當位置。通過檢查SDRAM位置的內容,并通過觀察邏輯分析儀上的信號,驗證硬件隔離單元的數據包解析的正確工作。測試數據如表1所示。
以類似的方式對數據包重組功能進行測試。在SDRAM存儲器中寫入了幾個IP分組,并且重組塊被認為是讀取每個分組的單元并重構原始IP分組內容。將重建的內容與放置在FPGA芯片的內部ROM存儲器中的期望值進行比較。這樣我們驗證了硬件隔離單元重組功能的正確工作。測試數據如表2所示。

表1 解析測試的數據

表2 重組測試的數據
由表1和表2可以看出,數據包分組長度有3個值:256、512和1024。從表1和表2可以看出,隨著單元更小,所使用的FPGA工作頻率更好。但是,分組越小,每個IP數據包傳輸的頭部字節就越多,因此有效負載的使用量越來越小,會導致網絡安全設備的性能下降。在決定網絡安全設備的通信速度時,應該考慮這兩個對立的要求之間的妥協。
其次是利用網絡壓力測試軟件對網絡安全設備的安全性能進行仿真測試。測試環境如圖5所示。

圖5 測試環境
利用外網的攻擊終端對內網的被攻擊主機發起網絡壓力測試軟件模擬的網絡攻擊,檢測網絡安全設備的完全隔離能力。
安裝在攻擊終端上的網絡壓力測試軟件配置為對被攻擊終端進行基于TCP的半連接攻擊,詳細配置參數如圖6所示。
啟動攻擊線程后,在被攻擊終端上運行數據包抓取程序。程序的抓包結果如圖7所示。

圖6 網絡壓力測試軟件的配置
由圖7可以看出,攻擊終端所發送的數據包被網絡安全設備全部過濾了,被攻擊終端上沒有抓取到任何攻擊數據。
本文設計了一種基于雙網隔離的網絡安全設備。該設計基于硬件隔離和基于網絡層數據包過濾的信息過濾技術,實現了內聯網絡和外聯網絡之間的安全通信。該設備的設計對相關的網絡安全設備設計和開發具有借鑒價值。
參考文獻
[1]王濤,陳鴻昶,程國振.軟件定義網絡及安全防御技術研究[J].通信學報,2017(11):133-160.
[2]王鵬,馬錫坤,吳艷君.基于防火墻的網絡安全技術在醫院網絡中的應用[J].電子設計工程,2017,25(21):189-193.
[3]海小娟.計算機網絡安全入侵檢測系統的設計與應用研究[J].自動化與儀器儀表,2017(10):142-143.
[4]賀曉春.CERNET網絡安全管理成熟度模型的研究與構建[J].計算機系統應用,2017,26(07):24-29.
[5]陳瀅生.計算機網絡訪問隔離控制方法研究[J].微電子學與計算機,2017,34(06):141-144.
[6]陶靜,沈文,陳磊,鄧輝.基于雙PON口的光網絡單元業務隔離設計[J].電子設計工程,2017,25(07):75-77,82.
[7]紀元,婁征.基于安全代理的數據交換在電力系統中的研究與應用[J].通信技術,2017,50(02):365-369.
[8]嚴立宇,祖立軍,葉家煒,周雍愷,吳承榮.云計算網絡中多租戶虛擬網絡隔離的分布式實現研究[J].計算機應用與軟件,2016,33(11):93-98.
[9]鄭顯義,史崗,孟丹.系統安全隔離技術研究綜述[J].計算機學報,2017,40(05):1057-1079.
[10]張凱,裘曉峰,朱新寧.基于SDN的網絡虛擬化平臺及其隔離性研究[J].電信科學,2016,32(09):125-131.
[11]何寧,石磊,王長周,晉世仲.發電企業內外網隔離技術研究與應用[J].電力信息與通信技術,2016,14(09):33-37.
[12]吳歡,詹靜,趙勇,陶政,楊靜.一種高效虛擬化多級網絡安全互聯機制[J].山東大學學報(理學版),2016,51(03):98-103,110.
[13]孫偉峰,張琳,林少鋒,楊燕,陶波.一種增強型VPN安全隔離網關設計與實現[J].中國電子科學研究院學報,2015,10(06):628-631,651.
[14]汪強,徐小蘭,張劍.一種新的智能變電站通信業務安全隔離技術的研究[J].電力系統保護與控制,2015,43(17):139-144.
[15]林蘇蓉,黃秋岑,林靖穎.新型電力內外網視頻安全隔離技術的研究[J].電力信息與通信技術,2014,12(10):120-123.
[16]趙釗.基于VPN技術的校園網絡安全體系構建[J].自動化與儀器儀表,2014(01):158-160.
[17]宋慶帥,薛麗敏,陳濤.一種基于雙單向傳輸通道的網絡隔離方案[J].信息網絡安全,2014(01):34-37.
[18]孫慶和,劉道群.網絡隔離技術在3G移動辦公中的應用探討[J].計算機科學,2013,40(S1):381-383.
[19]趙毅.終端設備物理隔離技術策略研究[J].計算機與現代化,2013(01):149-152,157.