丁 霞 江 飛
(1.海軍指揮學院信息戰(zhàn)研究系 南京 211800)(2.國防信息學院信息化建設系 武漢 430010)
基于移動Agent技術的隔離網(wǎng)閘內(nèi)容檢查機制研究*
丁 霞1江 飛2
(1.海軍指揮學院信息戰(zhàn)研究系 南京 211800)(2.國防信息學院信息化建設系 武漢 430010)
隔離網(wǎng)閘為不同信任域網(wǎng)絡之間的安全隔離與信息交換提供了技術支持,而處于內(nèi)、外網(wǎng)處理單元中的內(nèi)容檢查機制顯得尤為重要。論文在對移動Agent技術研究的基礎上,將其應用于隔離網(wǎng)閘當中,提高了內(nèi)容檢查模塊的過濾效率。
隔離網(wǎng)閘;內(nèi)容檢查;移動代理
Class NumberTP391
隔離網(wǎng)閘為不同信任域網(wǎng)絡之間的安全隔離與信息交換提供了技術支持,滿足了許多對安全性要求較高的政府部門、企業(yè)和軍事單位的安全需求。隔離網(wǎng)閘技術能實現(xiàn)內(nèi)部網(wǎng)絡與外部網(wǎng)絡的物理斷開,以保證內(nèi)部網(wǎng)絡數(shù)據(jù)的安全,但同時又能與外部網(wǎng)絡適度地交換數(shù)據(jù)。隨著用戶對安全性要求的不斷增加,隔離網(wǎng)閘內(nèi)容檢查模塊的設計也在不斷發(fā)展、更新,引入了一些新的技術來進一步完善其過濾功能。本文引入了移動Agent技術,利用它的移動性、自主性來增強內(nèi)容檢查模塊的工作性能,提高過濾效率。
隔離網(wǎng)閘系統(tǒng)是由兩套各自獨立的內(nèi)、外網(wǎng)處理單元,分別連接著內(nèi)部可信網(wǎng)絡和外部不可信網(wǎng)絡,兩套處理單元之間是一個類似“網(wǎng)閘”的裝置,分時地使用兩套系統(tǒng)中的數(shù)據(jù)通路進行數(shù)據(jù)交換,達到隔離與交換的目的。為了保障數(shù)據(jù)交換的安全性,需要在內(nèi)、外網(wǎng)處理單元中添加內(nèi)容檢查模塊實現(xiàn)數(shù)據(jù)的內(nèi)容檢查。如圖1所示。
對于在內(nèi)部網(wǎng)絡處理單元中所添加的內(nèi)容檢查模塊來說,其過濾規(guī)則的設置是為了防止內(nèi)部網(wǎng)絡中的涉密信息或敏感數(shù)據(jù)的泄露;而對于外網(wǎng)處理單元中所添加的內(nèi)容檢查模塊來說,其過濾規(guī)則的設置則是為了阻止外部網(wǎng)絡中的非法信息、惡意代碼侵入到內(nèi)部網(wǎng)絡,對內(nèi)部網(wǎng)絡造成嚴重的破壞或者產(chǎn)生不良的影響[1~2]。
圖1 隔離網(wǎng)閘的體系結構
3.1 移動Agent的基本概念
移動Agent[2~3]是一種代替人或者其它程序執(zhí)行某種任務的程序,它可以自主地在異構的網(wǎng)絡上按照一定的規(guī)程移動,尋找合適的計算資源、信息資源或軟件資源,利用與這些資源處于同一主機或網(wǎng)絡的優(yōu)勢,就近處理或使用這些資源,代表用戶完成特定的任務。
從軟件Agent的角度來看,移動Agent是軟件Agent家族中的一員。根據(jù)是否具有移動屬性,軟件Agent可以被分為兩類:移動Agent和靜態(tài)Agent。靜態(tài)Agent一直駐留在其開始執(zhí)行的位置,通過通信機制與外界交換信息、交互協(xié)作,而移動Agent在其生命周期內(nèi),可以在不同的網(wǎng)絡節(jié)點之間移動。在執(zhí)行過程中,移動Agent可以從一個執(zhí)行環(huán)境遷移,掛起執(zhí)行線程,把自己的程序代碼和執(zhí)行狀態(tài)傳送到另一個執(zhí)行環(huán)境,并在其中恢復執(zhí)行。因此,在具備軟件Agent特性的基礎上,移動Agent有兩個最重要的特性:
1)移動性(mobility):將自己連同自己的狀態(tài)數(shù)據(jù)一起移動到另一網(wǎng)絡結點,并繼續(xù)執(zhí)行的特性。這是它和一般Agent的根本區(qū)別所在。
2)自主性(autonomy):在沒有外界直接干涉和指導下持續(xù)運行,并能控制其內(nèi)部狀態(tài)和動作的特性。Agent的移動一般是自主決定的。
3.2 移動Agent系統(tǒng)結構
移動Agent系統(tǒng)[3~5]由移動Agent和移動A-gent服務設施(或稱移動Agent服務器)兩部分組成。移動Agent服務設施基于Agent傳輸協(xié)議(Agent Transfer Protocol,ATP)實現(xiàn)Agent在主機間的遷移,并為其分配執(zhí)行環(huán)境和服務接口。它還要實現(xiàn)容錯策略、安全控制策略、通信機制、基本服務設施等功能。Agent在服務設施中執(zhí)行,通過Agent通信語言(Agent Communication Language,ACL)相互通信并接受服務設施提供的服務。
如圖2所示,移動Agent的結構包含以下相互關聯(lián)的模塊:安全代理、環(huán)境交互、任務求解、知識庫、內(nèi)部狀態(tài)集、約束條件和路由策略。
圖2 移動Agent的系統(tǒng)結構
移動Agent結構的最外層是安全代理,作為Agent與外界環(huán)境通信的中介,執(zhí)行Agent的安全策略,阻止外界環(huán)境對Agent的非法訪問。Agent通過環(huán)境交互模塊感知外部環(huán)境并作用于外部環(huán)境。環(huán)境交互模塊實現(xiàn)ACL的語義,保證使用相同ACL的Agent和服務設施之間的正確通信,而通信內(nèi)容的語義與ACL無關。Agent的任務求解模塊包括Agent的運行模塊,以及與Agent任務相關的推理方法和規(guī)則。知識庫是Agent所感知的世界和自身模型,并保存在移動過程中獲取的知識和任務求解結構。內(nèi)部狀態(tài)集是Agent執(zhí)行過程中的當前狀態(tài),能夠影響Agent的任務求解過程,同時Agent的任務求解又作用于內(nèi)部狀態(tài)。約束條件是Agent創(chuàng)建者為保證Agent的行為和性能而作出的約束,如返回時間、站點停留時間及任務完成度等,一般只有創(chuàng)建者擁有對約束條件的修改權限。路由策略決定Agent的移動路徑,路由策略可能是靜態(tài)的服務設施列表,或者是基于規(guī)則的動態(tài)路由,前者適用于簡單、明確的任務求解過程,后者能夠滿足復雜和非確定性任務的求解。
服務設施為移動Agent提供基本服務(包括創(chuàng)建、傳輸、執(zhí)行等),移動Agent的移動和任務求解能力很大程度上決定于服務設施所提供的服務。一般來講,服務設施應包括以下基本服務。
·生命周期服務:實現(xiàn)Agent的創(chuàng)建、移動、持久化存儲和執(zhí)行環(huán)境分配。
·事件服務:包括Agent傳輸協(xié)議和Agent通信協(xié)議,實現(xiàn)Agent間的事件傳遞。
·目錄服務:提供定位Agent的信息,形成路由選擇。
·安全服務:提供安全的Agent執(zhí)行環(huán)境。
·應用服務:是任務相關的服務,在生命周期服務的基礎上提供面向特定任務的服務接口。
本文提出的基于移動Agent的內(nèi)容檢查模型系統(tǒng)不僅可以防止內(nèi)部網(wǎng)絡涉密信息的外泄,同時也可以對非法入侵的外部網(wǎng)絡信息進行過濾,防止其對內(nèi)部網(wǎng)絡造成破壞[6,9~10]?;谝苿覣gent的內(nèi)容檢查工作模型如圖3所示。
圖3 基于移動Agent的內(nèi)容檢查工作模型
基于移動Agent的內(nèi)容檢查模塊只要系統(tǒng)在運行狀態(tài),它就會處在不斷地挖掘過程中,譬如對“法輪功”、“大法”等關鍵詞進行挖掘。一旦系統(tǒng)運行,挖掘模塊將會對所有的網(wǎng)址進行不斷的挖掘,如果在網(wǎng)頁的內(nèi)容中發(fā)現(xiàn)有這方面的內(nèi)容,那么就會使系統(tǒng)返回該網(wǎng)頁的網(wǎng)址,然后系統(tǒng)就會以文檔的形式把這些網(wǎng)址放入數(shù)據(jù)庫中,以便于在監(jiān)控用戶使用的時候進行比較。
內(nèi)容檢查系統(tǒng)的數(shù)據(jù)庫由關鍵詞庫、URL庫、文檔庫等組成,是一個分布式的數(shù)據(jù)庫,分為本地數(shù)據(jù)庫和全局數(shù)據(jù)庫。平時挖掘模塊把挖掘下來的信息保存在本地數(shù)據(jù)庫中,本地數(shù)據(jù)庫定期地把數(shù)據(jù)傳到全局數(shù)據(jù)庫進行數(shù)據(jù)庫的更新。數(shù)據(jù)庫部分主要是實現(xiàn)對各種關鍵詞和URL的管理、傳遞、監(jiān)控,對有關挖掘、過濾過程中所需要的,以及產(chǎn)生的各類數(shù)據(jù)進行存取、增刪、查詢、修改、更新。數(shù)據(jù)庫是系統(tǒng)集成的重要信息資源,是整個系統(tǒng)設計的基礎部分。
一般情況下,當內(nèi)部的用戶通過關鍵詞搜索網(wǎng)絡時,內(nèi)容檢查模塊就會根據(jù)它要搜索的關鍵詞內(nèi)容,與數(shù)據(jù)庫(保存了大量的關鍵詞的庫)進行比較,看關鍵詞是否被禁止,如果發(fā)現(xiàn)要搜索的關鍵詞被禁止搜索,那么系統(tǒng)將切斷用戶對該關鍵詞進行查詢,返回不能查詢的結果。反之,如果沒有對該關鍵詞禁止,那么內(nèi)容檢查模塊將不對該次搜索進行干預,直接把搜索的結果返回給用戶。同理,用戶對URL進行訪問的時候。檢查模塊也會把該URL和數(shù)據(jù)庫中預先保存的URL庫進行比較,看是否允許用戶對該URL進行訪問。如果允許則不對用戶進行任何的限制。反之,就告訴用戶不能對該網(wǎng)址進行訪問。
網(wǎng)絡管理員不定期對內(nèi)部用戶的訪問信息進行統(tǒng)計查看,如果發(fā)現(xiàn)用戶對某些原來不能訪問的關鍵詞進行搜索,或者對某些不合法、不健康的網(wǎng)址進行了瀏覽,但是在數(shù)據(jù)庫中沒有對這方面的關鍵詞或者網(wǎng)址加以限制,那么管理員就會把這方面的關鍵詞添加到相應的數(shù)據(jù)庫中,這樣當內(nèi)部用戶下一次對相同的內(nèi)容進行訪問的時候,內(nèi)容檢查模塊就會對這些關鍵詞或者網(wǎng)址進行相應的處理。使之不能進行訪問或查詢。
5.1 隔離網(wǎng)閘中NetFilter框架分析
Linux內(nèi)核[7~8]版本升級到2.4的時候,Rusty Russell提出了NetFilter框架機制,它提供了一個抽象、通用化的框架,和內(nèi)核緊密結合在一起,具有以往版本框架都沒有的強大功能。NetFilter框架定義的一個子功能的實現(xiàn)就是數(shù)據(jù)包過濾子系統(tǒng),但是并不能實現(xiàn)內(nèi)容檢查功能。因此需要利用NetFilter框架良好的可擴充性,將內(nèi)容檢查模塊添加進去,實現(xiàn)對數(shù)據(jù)流的高效過濾。
當數(shù)據(jù)報流過協(xié)議框架中五個檢查點的時候嵌入鉤子函數(shù)是NetFilter框架的重要組成部分,它保證了調(diào)用用戶函數(shù)對數(shù)據(jù)報進行處理,從而實現(xiàn)包過濾功能。圖4顯示了這幾個檢查點和它們相應地在函數(shù)中的位置,以及該函數(shù)所在文件名稱。
圖4 NetFilter框架
當一個數(shù)據(jù)報在通過NetFilter框架的時候,它將經(jīng)過上圖所示的流程,從上圖可以看到,Net-Filter框架共有五個鉤子函數(shù),分別是:
[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 隔離網(wǎng)閘中內(nèi)容檢查模塊的實現(xiàn)
利用NetFilter框架對網(wǎng)絡中的信息內(nèi)容進行過濾,需要從網(wǎng)絡數(shù)據(jù)包中還原出原始數(shù)據(jù),再通過內(nèi)容檢查算法對原始數(shù)據(jù)進行判斷。系統(tǒng)利用NetFilter框架捕獲數(shù)據(jù)包,并直接在內(nèi)核態(tài)下對數(shù)據(jù)包進行重組,還原出原始數(shù)據(jù),再將原始數(shù)據(jù)送給內(nèi)容檢查模塊。根據(jù)已有的過濾規(guī)則,通過內(nèi)容檢查模塊就可以直接對原始數(shù)據(jù)進行分析處理。
為了進一步提高不同信任域網(wǎng)絡之間的安全性,在NetFilter框架中加入內(nèi)容檢查模塊,對IP數(shù)據(jù)包的數(shù)據(jù)內(nèi)容進行檢查。圖5就是添加了內(nèi)容檢查模塊的NetFilter框架結構。
圖5 添加內(nèi)容檢查模塊NetFilter模型
如圖5所示,在NetFilter框架的原有模型中添加了內(nèi)容檢查模塊、修正特征庫、輸入驅(qū)動A和輸出驅(qū)動B。圖中顯示了三種不同數(shù)據(jù)流的流向。
1)在圖中的[2]、[3]、[5]三個檢查點分別添加內(nèi)容檢查模塊提供內(nèi)容過濾功能。
2)修正特征庫子系統(tǒng)提供關鍵詞詞頻數(shù)組,關鍵詞詞頻數(shù)組是內(nèi)容檢查模塊進行過濾的依據(jù)。
3)輸入驅(qū)動A輸入關鍵詞詞頻數(shù)組,而輸出驅(qū)動B輸出內(nèi)容過濾的結果。
NetFilter框架處于Linux內(nèi)核中,而修正特征庫子系統(tǒng)處于Linux用戶空間,輸入驅(qū)動A和輸出驅(qū)動B為處于用戶空間的修正特征庫和處于內(nèi)核的內(nèi)容檢查模塊之間提供了特征詞詞頻數(shù)組交換的接口。輸入驅(qū)動A負責關鍵詞詞頻數(shù)組的輸入,輸出驅(qū)動B負責網(wǎng)絡內(nèi)容過濾結果的輸出。
內(nèi)容檢查模塊在NetFilter框架的鉤入點和包過濾模塊鉤入點是一樣的,分別是[2]、[3]、和[5]三個檢查點,三個過濾模塊剛好覆蓋所有的待過濾數(shù)據(jù)包,而且不會有重復過濾的現(xiàn)象出現(xiàn),這樣的設置方式是基于下面兩點考慮:
1)效率:先進行包過濾,如果數(shù)據(jù)包沒有能通過包過濾則不必進行內(nèi)容過濾,提高了過濾的效率。從NetFilter框架可以看出一個數(shù)據(jù)包只能而且必須經(jīng)過這三個過濾點中的一個,所以所有的數(shù)據(jù)包,正好被過濾一次,避免重復過濾,也提高了過濾的效率。
2)模塊自身的安全:進入的數(shù)據(jù)包通過包過濾之后,才可以進行內(nèi)容過濾,包過濾對內(nèi)容檢查模塊起到了保護的作用。
隔離網(wǎng)閘為不同信任域網(wǎng)絡之間的安全隔離與信息交換提供了技術支持,而內(nèi)容檢查機制在內(nèi)外網(wǎng)主機之間的安全機制中所處的地位是至關重要的。因此本文通過對移動Agent技術的分析研究,并將之引入到隔離網(wǎng)閘中,利用它的移動性和自主性,可以很好地完成對內(nèi)、外網(wǎng)之間交換數(shù)據(jù)信息檢查的工作。移動Agent技術的引入,不僅滿足了信息過濾準確性的要求,同時也保證了信息過濾的實時性。
[1]萬平國.網(wǎng)絡隔離與網(wǎng)閘(國家信息化安全教育認證(ISEC)系列教材)[M].北京:機械工業(yè)出版社,2004:1-20.
[2]張妹璞,周安民,吳少華.一種改進的安全隔離網(wǎng)閘實現(xiàn)研究[J].微計算機信息,2008,24(1-3):45-47.
[3]黃慧敏.基于移動Agent的數(shù)據(jù)挖掘技術研究[D].重慶:重慶交通大學碩士學位論文,2011:19-26.
[4]孫超,陳鋼.基于agent技術的統(tǒng)一身份認證系統(tǒng)[J].計算機應用研究,2005,22(3):138-140.
[5]李鈺.多Agent系統(tǒng)結構及Agent間交互的研究[D].成都:電子科技大學碩士學位論文,2003:12-43.
[6]任曉明,楊大鑒.移動代理的體系結構分析[J].計算機工程與應用,2001,27(1):62-64.
[7]岳紅梅,石冬雪,徐詠梅,等.基于嵌入式LINUX的網(wǎng)絡隔離系統(tǒng)研究與實現(xiàn)[J].計算機工程與應用,2005,(5):141-143.
[8]周永明.網(wǎng)絡隔離與安全交換原型研究[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日
丁霞,男,碩士,講師,研究方向:信息安全。江飛,男,碩士,講師,研究方向:網(wǎng)絡與信息安全。