丁 霞 江 飛
(1.海軍指揮學院信息戰研究系 南京 211800)(2.國防信息學院信息化建設系 武漢 430010)
基于移動Agent技術的隔離網閘內容檢查機制研究*
丁 霞1江 飛2
(1.海軍指揮學院信息戰研究系 南京 211800)(2.國防信息學院信息化建設系 武漢 430010)
隔離網閘為不同信任域網絡之間的安全隔離與信息交換提供了技術支持,而處于內、外網處理單元中的內容檢查機制顯得尤為重要。論文在對移動Agent技術研究的基礎上,將其應用于隔離網閘當中,提高了內容檢查模塊的過濾效率。
隔離網閘;內容檢查;移動代理
Class NumberTP391
隔離網閘為不同信任域網絡之間的安全隔離與信息交換提供了技術支持,滿足了許多對安全性要求較高的政府部門、企業和軍事單位的安全需求。隔離網閘技術能實現內部網絡與外部網絡的物理斷開,以保證內部網絡數據的安全,但同時又能與外部網絡適度地交換數據。隨著用戶對安全性要求的不斷增加,隔離網閘內容檢查模塊的設計也在不斷發展、更新,引入了一些新的技術來進一步完善其過濾功能。本文引入了移動Agent技術,利用它的移動性、自主性來增強內容檢查模塊的工作性能,提高過濾效率。
隔離網閘系統是由兩套各自獨立的內、外網處理單元,分別連接著內部可信網絡和外部不可信網絡,兩套處理單元之間是一個類似“網閘”的裝置,分時地使用兩套系統中的數據通路進行數據交換,達到隔離與交換的目的。為了保障數據交換的安全性,需要在內、外網處理單元中添加內容檢查模塊實現數據的內容檢查。如圖1所示。
對于在內部網絡處理單元中所添加的內容檢查模塊來說,其過濾規則的設置是為了防止內部網絡中的涉密信息或敏感數據的泄露;而對于外網處理單元中所添加的內容檢查模塊來說,其過濾規則的設置則是為了阻止外部網絡中的非法信息、惡意代碼侵入到內部網絡,對內部網絡造成嚴重的破壞或者產生不良的影響[1~2]。

圖1 隔離網閘的體系結構
3.1 移動Agent的基本概念
移動Agent[2~3]是一種代替人或者其它程序執行某種任務的程序,它可以自主地在異構的網絡上按照一定的規程移動,尋找合適的計算資源、信息資源或軟件資源,利用與這些資源處于同一主機或網絡的優勢,就近處理或使用這些資源,代表用戶完成特定的任務。
從軟件Agent的角度來看,移動Agent是軟件Agent家族中的一員。根據是否具有移動屬性,軟件Agent可以被分為兩類:移動Agent和靜態Agent。靜態Agent一直駐留在其開始執行的位置,通過通信機制與外界交換信息、交互協作,而移動Agent在其生命周期內,可以在不同的網絡節點之間移動。在執行過程中,移動Agent可以從一個執行環境遷移,掛起執行線程,把自己的程序代碼和執行狀態傳送到另一個執行環境,并在其中恢復執行。因此,在具備軟件Agent特性的基礎上,移動Agent有兩個最重要的特性:
1)移動性(mobility):將自己連同自己的狀態數據一起移動到另一網絡結點,并繼續執行的特性。這是它和一般Agent的根本區別所在。
2)自主性(autonomy):在沒有外界直接干涉和指導下持續運行,并能控制其內部狀態和動作的特性。Agent的移動一般是自主決定的。
3.2 移動Agent系統結構
移動Agent系統[3~5]由移動Agent和移動A-gent服務設施(或稱移動Agent服務器)兩部分組成。移動Agent服務設施基于Agent傳輸協議(Agent Transfer Protocol,ATP)實現Agent在主機間的遷移,并為其分配執行環境和服務接口。它還要實現容錯策略、安全控制策略、通信機制、基本服務設施等功能。Agent在服務設施中執行,通過Agent通信語言(Agent Communication Language,ACL)相互通信并接受服務設施提供的服務。
如圖2所示,移動Agent的結構包含以下相互關聯的模塊:安全代理、環境交互、任務求解、知識庫、內部狀態集、約束條件和路由策略。

圖2 移動Agent的系統結構
移動Agent結構的最外層是安全代理,作為Agent與外界環境通信的中介,執行Agent的安全策略,阻止外界環境對Agent的非法訪問。Agent通過環境交互模塊感知外部環境并作用于外部環境。環境交互模塊實現ACL的語義,保證使用相同ACL的Agent和服務設施之間的正確通信,而通信內容的語義與ACL無關。Agent的任務求解模塊包括Agent的運行模塊,以及與Agent任務相關的推理方法和規則。知識庫是Agent所感知的世界和自身模型,并保存在移動過程中獲取的知識和任務求解結構。內部狀態集是Agent執行過程中的當前狀態,能夠影響Agent的任務求解過程,同時Agent的任務求解又作用于內部狀態。約束條件是Agent創建者為保證Agent的行為和性能而作出的約束,如返回時間、站點停留時間及任務完成度等,一般只有創建者擁有對約束條件的修改權限。路由策略決定Agent的移動路徑,路由策略可能是靜態的服務設施列表,或者是基于規則的動態路由,前者適用于簡單、明確的任務求解過程,后者能夠滿足復雜和非確定性任務的求解。
服務設施為移動Agent提供基本服務(包括創建、傳輸、執行等),移動Agent的移動和任務求解能力很大程度上決定于服務設施所提供的服務。一般來講,服務設施應包括以下基本服務。
·生命周期服務:實現Agent的創建、移動、持久化存儲和執行環境分配。
·事件服務:包括Agent傳輸協議和Agent通信協議,實現Agent間的事件傳遞。
·目錄服務:提供定位Agent的信息,形成路由選擇。
·安全服務:提供安全的Agent執行環境。
·應用服務:是任務相關的服務,在生命周期服務的基礎上提供面向特定任務的服務接口。
本文提出的基于移動Agent的內容檢查模型系統不僅可以防止內部網絡涉密信息的外泄,同時也可以對非法入侵的外部網絡信息進行過濾,防止其對內部網絡造成破壞[6,9~10]。基于移動Agent的內容檢查工作模型如圖3所示。

圖3 基于移動Agent的內容檢查工作模型
基于移動Agent的內容檢查模塊只要系統在運行狀態,它就會處在不斷地挖掘過程中,譬如對“法輪功”、“大法”等關鍵詞進行挖掘。一旦系統運行,挖掘模塊將會對所有的網址進行不斷的挖掘,如果在網頁的內容中發現有這方面的內容,那么就會使系統返回該網頁的網址,然后系統就會以文檔的形式把這些網址放入數據庫中,以便于在監控用戶使用的時候進行比較。
內容檢查系統的數據庫由關鍵詞庫、URL庫、文檔庫等組成,是一個分布式的數據庫,分為本地數據庫和全局數據庫。平時挖掘模塊把挖掘下來的信息保存在本地數據庫中,本地數據庫定期地把數據傳到全局數據庫進行數據庫的更新。數據庫部分主要是實現對各種關鍵詞和URL的管理、傳遞、監控,對有關挖掘、過濾過程中所需要的,以及產生的各類數據進行存取、增刪、查詢、修改、更新。數據庫是系統集成的重要信息資源,是整個系統設計的基礎部分。
一般情況下,當內部的用戶通過關鍵詞搜索網絡時,內容檢查模塊就會根據它要搜索的關鍵詞內容,與數據庫(保存了大量的關鍵詞的庫)進行比較,看關鍵詞是否被禁止,如果發現要搜索的關鍵詞被禁止搜索,那么系統將切斷用戶對該關鍵詞進行查詢,返回不能查詢的結果。反之,如果沒有對該關鍵詞禁止,那么內容檢查模塊將不對該次搜索進行干預,直接把搜索的結果返回給用戶。同理,用戶對URL進行訪問的時候。檢查模塊也會把該URL和數據庫中預先保存的URL庫進行比較,看是否允許用戶對該URL進行訪問。如果允許則不對用戶進行任何的限制。反之,就告訴用戶不能對該網址進行訪問。
網絡管理員不定期對內部用戶的訪問信息進行統計查看,如果發現用戶對某些原來不能訪問的關鍵詞進行搜索,或者對某些不合法、不健康的網址進行了瀏覽,但是在數據庫中沒有對這方面的關鍵詞或者網址加以限制,那么管理員就會把這方面的關鍵詞添加到相應的數據庫中,這樣當內部用戶下一次對相同的內容進行訪問的時候,內容檢查模塊就會對這些關鍵詞或者網址進行相應的處理。使之不能進行訪問或查詢。
5.1 隔離網閘中NetFilter框架分析
Linux內核[7~8]版本升級到2.4的時候,Rusty Russell提出了NetFilter框架機制,它提供了一個抽象、通用化的框架,和內核緊密結合在一起,具有以往版本框架都沒有的強大功能。NetFilter框架定義的一個子功能的實現就是數據包過濾子系統,但是并不能實現內容檢查功能。因此需要利用NetFilter框架良好的可擴充性,將內容檢查模塊添加進去,實現對數據流的高效過濾。
當數據報流過協議框架中五個檢查點的時候嵌入鉤子函數是NetFilter框架的重要組成部分,它保證了調用用戶函數對數據報進行處理,從而實現包過濾功能。圖4顯示了這幾個檢查點和它們相應地在函數中的位置,以及該函數所在文件名稱。

圖4 NetFilter框架
當一個數據報在通過NetFilter框架的時候,它將經過上圖所示的流程,從上圖可以看到,Net-Filter框架共有五個鉤子函數,分別是:
[1] NF_IP_PRE_ROUTING
[2] NF_IP_LOCAL_IN
[3] NF_IP_FORWARD
[4] NF_IP_POST_ROUTING
[5] NF_IP_LOCAL_OUT
5.2 隔離網閘中內容檢查模塊的實現
利用NetFilter框架對網絡中的信息內容進行過濾,需要從網絡數據包中還原出原始數據,再通過內容檢查算法對原始數據進行判斷。系統利用NetFilter框架捕獲數據包,并直接在內核態下對數據包進行重組,還原出原始數據,再將原始數據送給內容檢查模塊。根據已有的過濾規則,通過內容檢查模塊就可以直接對原始數據進行分析處理。
為了進一步提高不同信任域網絡之間的安全性,在NetFilter框架中加入內容檢查模塊,對IP數據包的數據內容進行檢查。圖5就是添加了內容檢查模塊的NetFilter框架結構。

圖5 添加內容檢查模塊NetFilter模型
如圖5所示,在NetFilter框架的原有模型中添加了內容檢查模塊、修正特征庫、輸入驅動A和輸出驅動B。圖中顯示了三種不同數據流的流向。
1)在圖中的[2]、[3]、[5]三個檢查點分別添加內容檢查模塊提供內容過濾功能。
2)修正特征庫子系統提供關鍵詞詞頻數組,關鍵詞詞頻數組是內容檢查模塊進行過濾的依據。
3)輸入驅動A輸入關鍵詞詞頻數組,而輸出驅動B輸出內容過濾的結果。
NetFilter框架處于Linux內核中,而修正特征庫子系統處于Linux用戶空間,輸入驅動A和輸出驅動B為處于用戶空間的修正特征庫和處于內核的內容檢查模塊之間提供了特征詞詞頻數組交換的接口。輸入驅動A負責關鍵詞詞頻數組的輸入,輸出驅動B負責網絡內容過濾結果的輸出。
內容檢查模塊在NetFilter框架的鉤入點和包過濾模塊鉤入點是一樣的,分別是[2]、[3]、和[5]三個檢查點,三個過濾模塊剛好覆蓋所有的待過濾數據包,而且不會有重復過濾的現象出現,這樣的設置方式是基于下面兩點考慮:
1)效率:先進行包過濾,如果數據包沒有能通過包過濾則不必進行內容過濾,提高了過濾的效率。從NetFilter框架可以看出一個數據包只能而且必須經過這三個過濾點中的一個,所以所有的數據包,正好被過濾一次,避免重復過濾,也提高了過濾的效率。
2)模塊自身的安全:進入的數據包通過包過濾之后,才可以進行內容過濾,包過濾對內容檢查模塊起到了保護的作用。
隔離網閘為不同信任域網絡之間的安全隔離與信息交換提供了技術支持,而內容檢查機制在內外網主機之間的安全機制中所處的地位是至關重要的。因此本文通過對移動Agent技術的分析研究,并將之引入到隔離網閘中,利用它的移動性和自主性,可以很好地完成對內、外網之間交換數據信息檢查的工作。移動Agent技術的引入,不僅滿足了信息過濾準確性的要求,同時也保證了信息過濾的實時性。
[1]萬平國.網絡隔離與網閘(國家信息化安全教育認證(ISEC)系列教材)[M].北京:機械工業出版社,2004:1-20.
[2]張妹璞,周安民,吳少華.一種改進的安全隔離網閘實現研究[J].微計算機信息,2008,24(1-3):45-47.
[3]黃慧敏.基于移動Agent的數據挖掘技術研究[D].重慶:重慶交通大學碩士學位論文,2011:19-26.
[4]孫超,陳鋼.基于agent技術的統一身份認證系統[J].計算機應用研究,2005,22(3):138-140.
[5]李鈺.多Agent系統結構及Agent間交互的研究[D].成都:電子科技大學碩士學位論文,2003:12-43.
[6]任曉明,楊大鑒.移動代理的體系結構分析[J].計算機工程與應用,2001,27(1):62-64.
[7]岳紅梅,石冬雪,徐詠梅,等.基于嵌入式LINUX的網絡隔離系統研究與實現[J].計算機工程與應用,2005,(5):141-143.
[8]周永明.網絡隔離與安全交換原型研究[D].上海:同濟大學碩士學位論文,2006:13-49.
[9]WANG Hai-yan,WANG Ru-chuan.Two-step mobile agent based authentication architecture:towards effective grid authencation[J].Trans of Nanjing University of Aeronautics and Astronautics,2008,25(1):61-66.
[10]YANG Li.Application research of digital gas fields production management information system based on mobile agent[J].Application Research of Computers,2006,23(7):172-175.
Mechanism of Content Checkingof the Gap Based on Mobile Agent Technology
DING Xia1JIANG Fei2
(1.Department of Information Warfare Studies,Naval Command College,Nanjing 211800)(2.Department of Informationized Construction,Academy of National Defense Information,Wuhan 430010)
The gap provides technical sustain for secure isolation and information exchange between the non-trusted network and trusted network,and the mechanism of content checking is very important among the mechanisms of inner and outer network host computer.This paper applies the study of mobile agent technology in gap,and highly improves filter-efficiency of the module of content checking.
gap,content checking,mobile agent
TP391DOI:10.3969/j.issn.1672-9730.2015.11.027
2015年5月4日,
2015年6月25日
丁霞,男,碩士,講師,研究方向:信息安全。江飛,男,碩士,講師,研究方向:網絡與信息安全。