摘 要:針對普通審計策略在網格環境下實施的各種問題,以及網格環境下審計系統設計和實現的困難,提出了一種基于移動代理的網格安全審計策略,介紹了該策略的基本結構和實現過程,通過在實驗平臺下實施該策略并與普通審計策略進行比較,證明了基于移動代理的網格安全審計策略的可行性和高效性。
關鍵詞:網格;審計;移動代理;安全
中圖分類號:TP309;TP393 文獻標志碼:A
文章編號:1001-3695(2008)07-2152-03
Audit policy for grid security based on mobile agent
LONG Tao1, HONG Fan1, SUN Lingli2
(1.Dept of Information Security, College of Computer Science Technology, Huazhong University of Science Technology, Wuhan430074, China; 2.Institute of Seismology, China Earthquake, Wuhan430071,China)
Abstract:
Facing the problems of the general audit policies being enforced in grid environment, and the difficulty about grid audit system designment and implementation,this paper poposed a mobile agent based audit policy for grid security. It described the structure of the policy,and the enforcement method in detail. Realized in a laboratory grid environment, and comparing with a general audit mechanism, the mobile agent based audit policy for grid security was proved to be feasible and efficient.
Key words: grid;audit;mobile agent;security
隨著網格技術研究的不斷深入和網格應用的不斷推廣,網格安全問題成為業界日益關注的焦點。資源的廣泛共享、開放的網絡協議和多域的異構環境,使網格安全面臨著嚴重挑戰,直接影響了網格技術的商業化進程。身份鑒別、訪問控制和通信加密等技術的應用,為網格環境構筑了一道道安全防線[1]。然而,僅有上述安全措施是不夠的。作為現代安全計算機系統必不可少的組成部分,審計也是保障網格安全的重要手段。
審計是在網格系統中用來監視、記錄和控制網格用戶活動的一種機制,它通過檢測非法用戶對網格系統的入侵,記錄合法用戶的對網格資源的關鍵操作,使影響網格系統安全的訪問和訪問企圖留下線索。通過對審計記錄的分析,可以有效阻止這些訪問或在事后進行分析和追查。審計系統在身份鑒別、訪問控制、數據加密等多種安全措施的基礎上,進一步提高了系統的安全性[2]。當所有安全防線均被攻克時,只有通過審計系統才能對入侵行為進行事后追查,因此在一定程度上具有威懾作用。在網格環境中監視、記錄和控制網格用戶對節點資源的使用,其必要性體現在以下三個方面:
a) 保障網格計算環境安全。網格環境下同樣存在惡意用戶攻擊網格節點或越權訪問網格資源的問題,需要依靠審計系統記錄這些攻擊行為,為事后追查或分析系統弱點提供線索。
b) 分析網格節點利用率,提高網格運行效率。如何使各節點資源得到均衡利用,提高系統的整體效率,是網格系統追求的目標之一。通過審計記錄,可以了解各個網格節點的使用情況,從側面反映節點資源的利用率。
c)實現網格系統商業化。網格系統走向成熟的商業應用,必然要解決用戶計費,評估節點貢獻率等問題,完善的審計系統是解決這類問題的最佳途徑。
在網格這樣的復雜環境下實施審計并不是件容易的事。動態變化的虛擬組織和多域的異構環境,以及不確定的網絡延時等特性,使得網格審計日志的收集和分析變得相當困難,傳統的集中式安全審計系統已無法承擔網格環境下的安全審計任務。因此,有必要研究一種能適應網格環境的可靠、高效的審計策略,解決分布式異構環境下的安全審計問題。
1 網格審計技術的現狀
作為一種分布式計算環境,大部分網格系統沿用或發展了分布式系統的審計策略[3]。根據分布式安全審計系統是否配有控制中心模塊,可將這些策略分為兩類,即無控制中心的分布式安全審計系統和有控制中心的分布式安全審計系統。
1)無控制中心的分布式安全審計系統
這種系統通常由分布在網絡關鍵節點上的安全審計代理和通信代理組成。安全審計代理引擎是基本的審計單元,承擔主要的審計和分析任務,有獨立的數據源;通信代理引擎負責為各節點的安全審計代理之間提供安全的通信通道。安全審計代理與本地通信代理組成一個工作單元。安全審計代理利用通信代理與其他節點的安全審計代理進行通信,協同完成對入侵行為的審計分析。
無控制中心的審計系統特點是可靠性高,不存在單點失效問題;擴展性好,能滿足網絡動態變化的要求;效率高,各個審計代理共同分擔審計數據的處理工作,避免集中分析的瓶頸。
無控制中心的審計系統雖然具有比較明顯的優點,但是也有難以克服的問題。首先,這種協作分析的工作模式需要各節點的安全審計代理之間相互交換審計數據,維持頻繁的網絡信息交互,容易造成巨大的網絡負載;其次,安全審計代理之間的協同工作方案尚無具體的標準,當前的應用還僅限于讓各個安全審計代理獨立工作,當發現無法確定是否危險的可疑記錄時,仍然需要一個對入侵行為分辨能力更強的集中分析中心;最后,如果系統的某個節點被入侵者所控制,入侵者就有可能獲取其他節點上的審計數據。
2)有控制中心的分布式安全審計系統
這類系統通常由分布在網絡節點上的多個審計數據采集器和一個集中式的數據存儲中心,集中式的數據分析中心和用戶管理界面構成。數據采集器是獨立運行的軟件實體,它負責審計數據的采集,并將審計數據發送到數據存儲中心;數據存儲中心負責審計數據的存儲與維護;分析中心負責對采集到的原始審計數據進行綜合分析,通過分析來發現可疑操作;用戶界面為用戶提供配置系統參數和查看分析結果的平臺。
有控制中心的審計系統的優點是數據采集器不需要參與分析工作,節點的運算負載大大降低;此外,單獨的數據采集器的失效不會造成整個審計系統功能的失效,而僅僅會影響單個節點審計數據的采集;取自多種來源的審計數據可以相互補充和進行關聯,幫助用戶從多角度來分析審計數據。
當然這種模型結構的缺點也是很明顯的。首先,是存在集中安全審計的瓶頸問題,在高速、大規模的網絡環境下,來自于各個節點的審計信息可能會匯集成海量數據,使得信息的存儲和處理面臨巨大的壓力;其次,數據存儲中心和數據分析中心很可能成為入侵者的攻擊重點,只要這兩個服務器中的任意一個被入侵者控制或破壞,均會導致整個審計系統的失效。
目前,由于無控制中心的分布式安全審計系統設計復雜,實現困難,對網絡帶寬要求較高,現實中多數分布式應用仍采用有控制中心的審計系統[4]。對網格來說,動態變化的節點狀態和異構的網絡環境,很難提供一個高速、可靠的網絡平臺以便節點之間交換審計數據,保證節點之間有效地合作完成審計數據的分析和處理。加之未來商業收費的要求,因此不宜采用無控制中心的分布式審計模式。然而,在網格計算環境下采用有控制中心的分布式審計模式,必須解決集中安全審計的瓶頸問題和數據中心的安全問題。為了解決上述問題,需要提高數據采集器處理能力,對節點的原始數據進行初步篩選以減少無用日志信息的傳輸;此外,可利用身份鑒別和數據加密技術提高數據采集器和數據中心交換過程的安全性,并通過有效手段處理網絡阻塞和擁堵情況,保障節點審計數據在傳送過程中不泄漏、不丟失、不被竄改。
2 基于移動代理的網格安全審計策略
發展于20世紀70年代的分布式人工智能領域的移動代理技術,為解決網格環境下的安全審計問題提供了新的思路。移動代理是一種能在網絡節點間自主遷移的軟件實體,通常是一段包含代碼和數據的程序,它可以在運行中掛起,并在異構的網絡中從一個主機遷移到另一臺主機,再從掛起的斷點處開始運行,代表用戶完成預定的任務[5]。移動代理技術強調軟件的移動性、分布性、自主性、智能性、協同性和社會性等,通常用來構建大規模的分布式軟件系統[6]。它具有兩個突出優點:
a)減輕了網絡負載。對網絡的延時和抖動不敏感,甚至無須持續網絡連接。移動代理進入目標主機后,其主要工作均在本地完成,無須實時向服務器傳送數據。
b)可以封裝專有協議。容易適應多變的網絡環境,在不兼容系統之間協調和互操作;移動代理之間可以通過指定的協議進行通信。
2.1 基于移動代理的網格安全審計系統結構
基于移動代理的網格安全審計系統由位于審計中心和網格節點的移動代理運行平臺、運行于平臺內的移動代理以及分布在網格節點附近的代理塢組成。其邏輯結構如圖1所示。
在該系統中,移動代理運行平臺是移動代理賴以執行的環境,并且負責接收和發送移動代理;移動代理塢是代理在網格節點移動時的臨時停靠點,用來解決目標主機由于網絡故障無法到達或系統故障無法進入而設立的,通常和網格節點在同一個局域網絡中,可以根據需要設立多個移動代理塢;移動代理由審計中心創建并發送,在各網格節點間復制或移動,負責完成日志的收集和初步的處理。
2.2 移動代理運行平臺結構
移動代理運行平臺由通信模塊、安全管理模塊和移動代理運行上下文組成,如圖2所示。移動代理在運行上下文環境中處理審計日志采集、日志過濾和日志格式化工作,通過感知運行環境中的條件狀態變化。
移動代理運行平臺的核心功能部件是移動代理運行上下文環境,負責移動代理的管理和調度,包括移動代理的產生、掛起、恢復、遷徙和銷毀。其中還包括代理持久化和串行化管理等功能。代理持久化是為了處理系統停機或重啟而將代理程序進行本地保存的技術;代理串行化是為了便于將移動代理對象傳送和保存而將其轉變成中間碼的技術。
通信模塊的主要作用是完成移動代理系統間的通信任務。包括移動代理中間碼的傳輸和接收,移動代理之間、移動代理與上下文對象之間消息交互等環節。
安全管理模塊可提供移動代理之間以及移動代理和運行環境之間信任關系的認證,檢驗移動到網格節點的代理是否合法根據移動代理的權限檢查對系統資源訪問的合法性。
2.3 移動代理塢
除了不提供移動代理運行環境,移動代理塢也具備了通信模塊、安全模塊以及移動代理串行化和持久化模塊。其結構如圖3所示。移動代理在網格節點間移動時,如果出現異常暫時無法進入主機,可以根據配置策略尋找并進入附近的移動代理塢。
3 基于移動代理的網格安全審計系統的實現
實現基于移動代理的網格信息處理系統必須克服以下難點:
a)設計和開發困難。
移動代理是一個動態組件,它的移動性和自治特性使其難以設計和實現。比如,開放環境下移動代理的動態路由線路的不確定性及其優化難以設計;實現移動代理功能時很難全面考慮在不可預測的異構環境下同其他代理或對象的交互模式。
b)測試與排錯困難。
開發移動代理系統過程中,易于產生漏洞和留下脆弱點,而使用傳統的(黑白盒)測試方法很難找出這些脆弱點。
c)安全控制困難。
由于移動代理的移動性和分布性,難以對移動代理進行充分的認證和安全控制。移動代理的自治特性類似蠕蟲病毒,不易得到駐留節點的信任。此外,移動代理攜帶數據移動,而其執行環境與執行過程完全受主機控制,一旦主機被敵手掌握容易失密。
d)缺少基礎設施。
目前,移動代理的使用缺少一個普遍存在的基礎設施。
3.1 移動代理平臺實現框架
考慮到網格環境下移動代理的跨平臺要求,Java無疑是實現該系統的最佳語言。在本文中,筆者選擇基于Java的IBM Aglets作為移動代理開發平臺。一方面,由于Java語言跨平臺的特性,有利于用戶程序的開發和部署;另一方面,IBM Aglets提供了移動代理有效的編程模型與代理之間動態的通信機制。此外,通過Aglets系統提供的上下文環境,Aglets能夠管理移動代理的行為,并通過相關的開發包,實現了代理的安全管理和代理間的互操作。利用Aglets實現的網格安全審計系統,節點移動代理平臺的實現框架如圖4所示。
其中,Aglets是移動代理的實現平臺,運行于Java虛擬機內,通過Aglets安全管理模塊和代理監視器模塊管理移動代理上下文環境,移動上下文環境負責代理的接收、移動、啟動等生存期維護,并通過代理傳輸協議ATP處理模塊負責和其他移動代理或上下文之間的通信。
移動代理是實現本地審計日志收集和初步處理的對象實體,通過繼承com.ibm.aglet.Aglet抽象類實現。移動代理從操作系統日志、應用程序日志、網絡系統日志等收集各類審計記錄。為了減少網絡傳輸開銷,可根據審計策略過濾掉和安全無關的日志信息,并形成統一的XML審計文檔,這些核心功能在方法run()中實現。
3.2 審計系統工作流程
基于移動代理的網格安全審計系統通過周期性地向各網格節點發送移動代理完成審計數據的收集工作。其具體步驟如下:
a)審計中心根據自己要完成的審計目標,對移動代理的審計策略進行定義,并設置移動代理最長運行時間、每個節點的停留時間、節點搜索范圍、經由節點的最大數目,節點附近的移動代理塢以及移動代理要訪問的路由表。
b)審計中心移動代理上下文實例化代理對象,并調用安全管理模塊對其進行加密和數字簽名,最后通過通信模塊,利用ATP發送到路由指定節點。如果指定節點無法訪問,則移動到節點附近的代理塢中,等待節點可訪問時繼續移動。如果代理塢亦不可訪問,則嘗試下一個路由節點。
c)如果節點可訪問,則通過節點上運行的Aglets平臺進入移動代理上下文環境,首先完成移動代理的解密和簽名認證,以防偽造移動代理的攻擊。移動代理同時驗證節點身份,以防攻擊者冒充網格節點,從而完成雙向身份認證。
d)移動代理完成本地日志信息的收集和整理工作,形成XML格式的審計文檔。如果一次信息處理的時間小于設置的停留時間,移動代理則休眠一段時間后再進行一次日志收集整理工作,如此循環。在此期間,上下文環境需要定時對移動代理進行持久化,如果主機出現故障,可在故障解決后恢復運行。
e)移動代理在網格節點主機上停留的時間達到設置的最大值后,將會進入休眠狀態,上下文環境將會對其進行串行化處理,通過ATP模塊發送到下一個網格節點。
f)重復執行步驟c)~e),直到各網格節點審計數據收集完成。移動代理將從最后一個網格節點返回到審計中心,結束其生命周期。
3.3 性能測試
筆者在計算網格實驗環境中開發了基于移動代理的網格審計系統,實現了本文所述的網格審計策略。計算網格基于Globus Toolkit 4.1實現,移動代理平臺采用Aglets2.02構建,利用Tahiti 2.0應用服務器作為Aglets容器。基于移動代理的網格安全審計系統效率是系統實用化需要關注的重點。在五臺主機(配置均為C4 2.66 GHz CPU, 512 MB內存, 80 GB硬盤)搭建的模擬網格環境中,筆者對審計系統進行了基本性能測試。五臺主機中的三臺作為網格節點,另外兩臺分布作為審計中心節點和移動代理塢服務器。在審計策略上,設置各節點停留時間為0,即移動代理處理一次日志信息后立刻移動到下一節點。為了與普通有控制中心的分布式審計系統進行比較,單獨開發了節點與審計中心之間通過socket直接通信的模擬審計程序。考慮到實際網格運行條件,通過第三方網管軟件限制節點的通信速率和網絡聯通狀態,以仿真不穩定的網絡連接環境。審計日志僅采集Windows XP下的操作系統日志(即位于%WINDIR%\\system32\\config目錄下的evt文件),監控審計中心的工作情況,記錄測試結果如表1所示。
可以看出,采用基于移動代理的網格安全審計策略時,審計中心的通信流量明顯小于普通審計策略,不過在審計時間上略長于后者。此外,若審計策略采用前者,主機CPU使用率只會在移動代理返回審計中心時達到峰值;采用后者,CPU幾乎始終處于較繁忙的狀態。
4 結束語
資源的廣泛共享、開放的網絡協議和多域的異構環境,對網格的安全性提出了巨大的挑戰。作為網格安全的重要環節,審計系統是建立網格安全環境不可或缺的內容。本文提出的基于移動代理的網格安全審計策略,借鑒了分布式人工智能領域的移動代理思想,可以有效解決普通網格審計系統網絡依賴度高、受網絡性能影響大、審計中心處理負擔重等問題,比較適合負責的網格應用環境。
盡管基于移動代理的網格安全審計系統在實驗環境下運行良好,在大規模的復雜實際網格應用環境中還有許多問題有待解決,如代理的動態路由、代理塢的可用性等。在下一步工作中,針對更復雜的網格應用環境,結合多代理技術的移動代理網格審計策略將是研究的重點。
參考文獻:
[1]WELCHV, SIEBENISTF, FOSTERI, et al. Security for grid services[C]//Proc ofthe 12th IEEE International Symposium on High Performance Distributed Computing. 2003:48-57.
[2]BAHARINK N, DINN M, et al. Third party security audit procedure for network environment[C]//Proc of the 4th National Conference on Telecommunication Technology. 2003:26-30.
[3]ZHANGWeide,VECCHIO D,WASSON G,et al. Flexible and secure logging of grid data access[C]//Proc of the 7th IEEE/ACM International Conference on Grid Computing. 2006:80-87.
[4]HUANG Y,CHENYangcheng,LI Shenglei,et al. Research on network secure auditing system using distributed agents[C]//Proc of IEEE TECCON’02.2002:391-395.
[5]NEWMANB H, LEGRAND C I. A distributed agentbased architecture for dynamic services[C]//Proc of International Conference on Computing in High Energy and Nuclear Physics. 2001:672-675.
[6]張云勇. 移動agent技術[M]. 北京:清華大學出版社, 2003.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”