劉勇生
(東莞理工學院 網絡與教育技術中心,東莞 523808)
近些年來隨著個人數據通信的發展,功能強大的便攜式數據終端以及多媒體終端得到了廣泛的應用。為了實現使用戶能夠在任何時間、任何地點均能實現數據通信的目標,要求傳統的計算機網絡由有線向無線、由固定向移動、由單一業務向多媒體發展,另外由于無線局域網的安裝方便、快捷 、費用低、網絡擴展性好 等優勢,無線局域網技術得到了快速的發展。 由于目前大多數企業都在內部部署了無線局域網。
而隨著網絡攻擊手段的日趨復雜,攻擊模型分布式、協同化趨勢的日益突顯,以及海量存儲和高帶寬傳輸技術的快速發展,集中式安全審計系統已無法承擔高速、大型分布式網絡環境下的安全審計任務。在這種情況下,動態、分布式的安全審計技術成為安全審計技術發展的突破口。
另外根據資料分析,現在企業中安裝的計算機,只有40%的計算能力被利用,甚至更低,而其余70%的實際上是被閑置的,這些閑置的計算機資源和計算能力具有相當大的開發潛力。
云計算[1]是對分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網格計算(Grid Computing)及分布式數據庫的改進處理,在互聯網寬帶技術和虛擬化技術高速發展后萌生出云計算。利用云計算將計算資源集中、統一管理、調度可以大大提高資源的使用效率,減少資源浪費。
綜合以上的情況,本文首先介紹當前分布式安全審計系統的研究情況,并針對當前分布式安全審計系統研究面臨的數據分析問題,提出改進方法,在無線網絡的基礎上結合云計算的方法設計了基于剩余計算機資源利用的機制,并給出了一種改進的分布式安全審計系統模型。
在分布式安全審計技術方面已經開展了較多的研究工作[2],并實現了多種類型的驗證系統。這些分布式安全審計系統通常由多個模塊組成,這些模塊一般分布在網絡的不同位置,分別完成數據收集、分析和人機交互等功能。根據分布式安全審計系統是否配有控制中心模塊,可將它們分為兩類:
這類系統的主要特點是:分布式的數據采集與集中式的數據分析相結合。它通常由基于Agent機制的數據采集器、集中式的數據存儲中心、集中式的數據分析中心和用戶管理界面構成。數據采集代理是獨立運行的軟件實體,它負責審計數據的采集,并將審計數據發送到數據存儲中心;數據存儲中心負責審計數據的存儲與維護,并在必要時向數據分析中心提供審計數據;信息分析中心負責對采集到的原始審計數據進行綜合分析,通過分析來發現可疑的操作;用戶界面為用戶提供配置系統參數和察看分析結果的平臺。
這種系統的主要特點是:分布式的數據采集,相互協作分析復雜的審計數據。它通常是由安全審計代理和通信代理組成。
目前,分布式安全審計系統的設計大多采用具有控制中心的分布式安全審計模型,并將研究的重點放在數據挖掘技術、多智能體技術和規則關聯等技術[3]與該模型的結合上。
剩余資源利用的無線分布式審計模型設計的中心思想是將基于控制中心的分布式安全審計系統中的數據分析中心的計算壓力分流到無線網絡中的各個閑置計算資源中。
根據上述分析,基于閑置資源利用的無線分布式審計模型設計的主要解決的問題體現在如下3個方面:
1)如何有效的判斷和分配閑置資源,確保在不影響用戶正常使用的同時,還能參與分析審計數據。
2)如何保護審計數據的安全,原始審計數據中往往會包含一些私人信息,而這些原始審計如果放在閑置的計算機上分析計算,有可能導致計算機用戶隱私信息的泄露或者被攻擊者竊聽。
3)如何保證在無線網絡中各個工作單元頻繁的進行協同和數據交換的情況下,不會明顯增加網絡負載。
2.2.1 MapReduce[4]的分布式處理技術
基于閑置資源利用的無線分布式審計模型的核心技術采用MapReduce的分布式處理技術,MapReduce是云計算廣泛采用的分布式處理技術,用于大規模數據集(大于1TB)的并行運算,也是簡化的分布式編程模式,適合用來處理大量數據的分布式運算,用于解決問題的程序開發模型。
MapReduce模式的思想是將要執行的問題拆解成Map(映射)和Reduce(化簡)的方式,先通過Map程序將數據切割成不相關的區塊,分配(調度)給大量計算機處理達到分布運算的效果,Map之后還會有shuffle的過程,對于提高Reduce的效率以及減小數據傳輸的壓力有很大的幫助。再通過Reduce程序將結果匯整,輸出開發者需要的結果。
2.2.2 基于Hadoop[5]架構
基于閑置資源利用的無線分布式審計模型采用Hadoop框架,Hadoop框架用于實現MapReduce算法,能夠把應用程序分割成許多很小的工作單元,每個單元可以在任何集群節點上執行或重復執行。
此外,Hadoop框架提供一個分布式文件系統HDFS(Hadoop Distributed File System[6]),它是一個可擴展、結構化、具備日志的分布式文件系統,支持大型、分布式大數據量的讀寫操作,其容錯性較強,分布式文件系統HDFS是Hadoop框架的核心。

圖1 Hadoop構架
Hadoop框架還包含一個分布式數據庫(HBase)類似GOOGLE的BigTable是一個有序、稀疏、多維度的映射表,HBase數據庫使用了和Bigtable非常相似的數據模型。用戶在表格里存儲許多數據行。每個數據行都包括一個可排序的關鍵字,和任意數目的列。表格是稀疏的,所以同一個表格里的行可能有非常不同的列,只要用戶喜歡這樣做。HBase有良好的伸縮性和高可用性,非常適合用來將數據存儲或部署到各個計算節點上。
包含HDFS和HBase的Hadoop 框架具有高容錯性、對數據讀寫的高吞吐率、自動處理失敗節點等云計算的核心要素。在架構中MapReduce API提供Map和Reduce處理、HDFS分布式文件系統和HBase分布式數據庫提供數據存取。基于Hadoop框架可以非常輕松和方便完成處理海量數據的分布式并行程序,并運行于大規模計算集群上。
2.2.3 系統模型結構組成
基于閑置資源利用的無線分布式審計模型由兩部分組成:分布式中間件和節點軟件。
分布式中間件安裝在審計系統的數據分析中心內,分布式中間件負責資源管理、任務管理等工作。資源管理負責均衡地使用資源節點,檢測節點的故障并試圖恢復或屏蔽之,并對資源的使用情況進行監視統計;任務管理負責執行用戶或應用提交的任務,包括完成任務映象(Image)的部署和管理、任務調度、任務執行、任務生命期管理等等;
節點軟件被安裝在擁有閑置資源的計算機內,通過無線網絡與分布式中間件建立連接,判斷本機的閑置狀態提交分布式中間件,接受分布式中間件的計算任務和調度工作,并將分析結果提交分布式中間件。
為確保數據安全和降低網絡負荷,審計數據在傳送到節點前都經過壓縮和加密處理。由于審計數據是基于XML格式存儲,系統使用XQzip[7]技術針對XML格式數據進行壓縮,XQzip技術有以下特征:1)達到一個好的壓縮率和一個好的壓縮/解壓縮時間;2)支持在XML壓縮數據上的有效的檢索處理;3)支持有表達力的檢索語言。在壓縮過程中XQzip將數據壓縮成能分別解壓縮的塊的序列,同時允許利用XML數據的通用性達到好的壓縮,從而避免了整體解壓縮。XQzip也通過為XML數據已解壓的塊設置一個緩沖區有效地減少檢索中的解壓縮開銷。能夠大幅度提高系統資源的使用效率。審計數據壓縮完畢后會再使用3DES加密算法加密壓縮后的數據,確保數據安全保密。

圖2 系統模型結構流程圖
如圖2基于閑置資源利用的無線分布式審計模型的執行過程包括以下步驟。
1)將要執行的數據分析程序復制到Hadoop框架中的Master和每一臺無線節點中。
2)Master選擇由哪些無線節點來執行Map程序與Reduce程序。
3)分配所有的數據區塊到執行Map程序的無線節點中進行Map(切割成小塊數據)。
4)將Map后的數據交給數據程序分析并將結果保存到無線節點的本地磁盤。
5)執行Reduce程序的無線節點,遠程讀取每一份Map結果,進行混合、匯整與排序,同時執行Reduce程序。
6)將結果返回到數據分析中心。
在過程中為了保證計算和存儲等操作的完整性,充分利用MapReduce的分布和可靠特性,在數據上傳和下載過程中根據各無線節點在指定時間內反饋的信息判斷節點的狀態是正常還是死亡,若節點死亡則將其負責的任務分配給別的節點,確保數據的完整性。
為了實現充分利用閑置的計算資源,分擔大規模分布式網絡環境下的安全審計中的數據分析壓力,本文提出了基于閑置資源利用的無線分布式審計模型,給出了系統的結構設計。該模型基于Hadoop架構并結合了MapReduce的分布式處理技術,通過該模型的架構可以使擁有閑置資源的無線節點協同完成數據分析工作,采用的壓縮和加密技術大大降低了通信的網絡負載并保證了數據的安全。由于這一模型設計從目前來講屬于全新的設計,因此還有很多的具體問題需要進一步的驗證和改進,并在系統的實現過程中不斷完善。
[1] 陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009,9:2562-2567.
[2] 張世永.信息安全審計技術的發展和應用[J].電信科學,2003,12:125-128.
[3] 江偉,陳龍,王國胤.用戶行為異常檢測在安全審計系統中的應用[J].計算機應用,2006,26(7):1637-1639.
[4] Ralf Lammel, Google's MapReduce programming model— Revisited,Data Programmability Team, Microsoft Corp.,Redmond,WA, USA,18.July 2007.
[5] http://hadoop.apache.org/common/docs/current/hdfs_design.html.
[6] http://hadoop.apache.org/.
[7] J.Cheng, and W.Ng, "XQzip: Querying Compressed XML using Structural Indexing," In EDBT 2004, LNCS 2992,2004.