劉勇生
(東莞理工學院 網(wǎng)絡與教育技術中心,東莞 523808)
近些年來隨著個人數(shù)據(jù)通信的發(fā)展,功能強大的便攜式數(shù)據(jù)終端以及多媒體終端得到了廣泛的應用。為了實現(xiàn)使用戶能夠在任何時間、任何地點均能實現(xiàn)數(shù)據(jù)通信的目標,要求傳統(tǒng)的計算機網(wǎng)絡由有線向無線、由固定向移動、由單一業(yè)務向多媒體發(fā)展,另外由于無線局域網(wǎng)的安裝方便、快捷 、費用低、網(wǎng)絡擴展性好 等優(yōu)勢,無線局域網(wǎng)技術得到了快速的發(fā)展。 由于目前大多數(shù)企業(yè)都在內(nèi)部部署了無線局域網(wǎng)。
而隨著網(wǎng)絡攻擊手段的日趨復雜,攻擊模型分布式、協(xié)同化趨勢的日益突顯,以及海量存儲和高帶寬傳輸技術的快速發(fā)展,集中式安全審計系統(tǒng)已無法承擔高速、大型分布式網(wǎng)絡環(huán)境下的安全審計任務。在這種情況下,動態(tài)、分布式的安全審計技術成為安全審計技術發(fā)展的突破口。
另外根據(jù)資料分析,現(xiàn)在企業(yè)中安裝的計算機,只有40%的計算能力被利用,甚至更低,而其余70%的實際上是被閑置的,這些閑置的計算機資源和計算能力具有相當大的開發(fā)潛力。
云計算[1]是對分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網(wǎng)格計算(Grid Computing)及分布式數(shù)據(jù)庫的改進處理,在互聯(lián)網(wǎng)寬帶技術和虛擬化技術高速發(fā)展后萌生出云計算。利用云計算將計算資源集中、統(tǒng)一管理、調(diào)度可以大大提高資源的使用效率,減少資源浪費。
綜合以上的情況,本文首先介紹當前分布式安全審計系統(tǒng)的研究情況,并針對當前分布式安全審計系統(tǒng)研究面臨的數(shù)據(jù)分析問題,提出改進方法,在無線網(wǎng)絡的基礎上結合云計算的方法設計了基于剩余計算機資源利用的機制,并給出了一種改進的分布式安全審計系統(tǒng)模型。
在分布式安全審計技術方面已經(jīng)開展了較多的研究工作[2],并實現(xiàn)了多種類型的驗證系統(tǒng)。這些分布式安全審計系統(tǒng)通常由多個模塊組成,這些模塊一般分布在網(wǎng)絡的不同位置,分別完成數(shù)據(jù)收集、分析和人機交互等功能。根據(jù)分布式安全審計系統(tǒng)是否配有控制中心模塊,可將它們分為兩類:
這類系統(tǒng)的主要特點是:分布式的數(shù)據(jù)采集與集中式的數(shù)據(jù)分析相結合。它通常由基于Agent機制的數(shù)據(jù)采集器、集中式的數(shù)據(jù)存儲中心、集中式的數(shù)據(jù)分析中心和用戶管理界面構成。數(shù)據(jù)采集代理是獨立運行的軟件實體,它負責審計數(shù)據(jù)的采集,并將審計數(shù)據(jù)發(fā)送到數(shù)據(jù)存儲中心;數(shù)據(jù)存儲中心負責審計數(shù)據(jù)的存儲與維護,并在必要時向數(shù)據(jù)分析中心提供審計數(shù)據(jù);信息分析中心負責對采集到的原始審計數(shù)據(jù)進行綜合分析,通過分析來發(fā)現(xiàn)可疑的操作;用戶界面為用戶提供配置系統(tǒng)參數(shù)和察看分析結果的平臺。
這種系統(tǒng)的主要特點是:分布式的數(shù)據(jù)采集,相互協(xié)作分析復雜的審計數(shù)據(jù)。它通常是由安全審計代理和通信代理組成。
目前,分布式安全審計系統(tǒng)的設計大多采用具有控制中心的分布式安全審計模型,并將研究的重點放在數(shù)據(jù)挖掘技術、多智能體技術和規(guī)則關聯(lián)等技術[3]與該模型的結合上。
剩余資源利用的無線分布式審計模型設計的中心思想是將基于控制中心的分布式安全審計系統(tǒng)中的數(shù)據(jù)分析中心的計算壓力分流到無線網(wǎng)絡中的各個閑置計算資源中。
根據(jù)上述分析,基于閑置資源利用的無線分布式審計模型設計的主要解決的問題體現(xiàn)在如下3個方面:
1)如何有效的判斷和分配閑置資源,確保在不影響用戶正常使用的同時,還能參與分析審計數(shù)據(jù)。
2)如何保護審計數(shù)據(jù)的安全,原始審計數(shù)據(jù)中往往會包含一些私人信息,而這些原始審計如果放在閑置的計算機上分析計算,有可能導致計算機用戶隱私信息的泄露或者被攻擊者竊聽。
3)如何保證在無線網(wǎng)絡中各個工作單元頻繁的進行協(xié)同和數(shù)據(jù)交換的情況下,不會明顯增加網(wǎng)絡負載。
2.2.1 MapReduce[4]的分布式處理技術
基于閑置資源利用的無線分布式審計模型的核心技術采用MapReduce的分布式處理技術,MapReduce是云計算廣泛采用的分布式處理技術,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算,也是簡化的分布式編程模式,適合用來處理大量數(shù)據(jù)的分布式運算,用于解決問題的程序開發(fā)模型。
MapReduce模式的思想是將要執(zhí)行的問題拆解成Map(映射)和Reduce(化簡)的方式,先通過Map程序?qū)?shù)據(jù)切割成不相關的區(qū)塊,分配(調(diào)度)給大量計算機處理達到分布運算的效果,Map之后還會有shuffle的過程,對于提高Reduce的效率以及減小數(shù)據(jù)傳輸?shù)膲毫τ泻艽蟮膸椭T偻ㄟ^Reduce程序?qū)⒔Y果匯整,輸出開發(fā)者需要的結果。
2.2.2 基于Hadoop[5]架構
基于閑置資源利用的無線分布式審計模型采用Hadoop框架,Hadoop框架用于實現(xiàn)MapReduce算法,能夠把應用程序分割成許多很小的工作單元,每個單元可以在任何集群節(jié)點上執(zhí)行或重復執(zhí)行。
此外,Hadoop框架提供一個分布式文件系統(tǒng)HDFS(Hadoop Distributed File System[6]),它是一個可擴展、結構化、具備日志的分布式文件系統(tǒng),支持大型、分布式大數(shù)據(jù)量的讀寫操作,其容錯性較強,分布式文件系統(tǒng)HDFS是Hadoop框架的核心。
圖1 Hadoop構架
Hadoop框架還包含一個分布式數(shù)據(jù)庫(HBase)類似GOOGLE的BigTable是一個有序、稀疏、多維度的映射表,HBase數(shù)據(jù)庫使用了和Bigtable非常相似的數(shù)據(jù)模型。用戶在表格里存儲許多數(shù)據(jù)行。每個數(shù)據(jù)行都包括一個可排序的關鍵字,和任意數(shù)目的列。表格是稀疏的,所以同一個表格里的行可能有非常不同的列,只要用戶喜歡這樣做。HBase有良好的伸縮性和高可用性,非常適合用來將數(shù)據(jù)存儲或部署到各個計算節(jié)點上。
包含HDFS和HBase的Hadoop 框架具有高容錯性、對數(shù)據(jù)讀寫的高吞吐率、自動處理失敗節(jié)點等云計算的核心要素。在架構中MapReduce API提供Map和Reduce處理、HDFS分布式文件系統(tǒng)和HBase分布式數(shù)據(jù)庫提供數(shù)據(jù)存取?;贖adoop框架可以非常輕松和方便完成處理海量數(shù)據(jù)的分布式并行程序,并運行于大規(guī)模計算集群上。
2.2.3 系統(tǒng)模型結構組成
基于閑置資源利用的無線分布式審計模型由兩部分組成:分布式中間件和節(jié)點軟件。
分布式中間件安裝在審計系統(tǒng)的數(shù)據(jù)分析中心內(nèi),分布式中間件負責資源管理、任務管理等工作。資源管理負責均衡地使用資源節(jié)點,檢測節(jié)點的故障并試圖恢復或屏蔽之,并對資源的使用情況進行監(jiān)視統(tǒng)計;任務管理負責執(zhí)行用戶或應用提交的任務,包括完成任務映象(Image)的部署和管理、任務調(diào)度、任務執(zhí)行、任務生命期管理等等;
節(jié)點軟件被安裝在擁有閑置資源的計算機內(nèi),通過無線網(wǎng)絡與分布式中間件建立連接,判斷本機的閑置狀態(tài)提交分布式中間件,接受分布式中間件的計算任務和調(diào)度工作,并將分析結果提交分布式中間件。
為確保數(shù)據(jù)安全和降低網(wǎng)絡負荷,審計數(shù)據(jù)在傳送到節(jié)點前都經(jīng)過壓縮和加密處理。由于審計數(shù)據(jù)是基于XML格式存儲,系統(tǒng)使用XQzip[7]技術針對XML格式數(shù)據(jù)進行壓縮,XQzip技術有以下特征:1)達到一個好的壓縮率和一個好的壓縮/解壓縮時間;2)支持在XML壓縮數(shù)據(jù)上的有效的檢索處理;3)支持有表達力的檢索語言。在壓縮過程中XQzip將數(shù)據(jù)壓縮成能分別解壓縮的塊的序列,同時允許利用XML數(shù)據(jù)的通用性達到好的壓縮,從而避免了整體解壓縮。XQzip也通過為XML數(shù)據(jù)已解壓的塊設置一個緩沖區(qū)有效地減少檢索中的解壓縮開銷。能夠大幅度提高系統(tǒng)資源的使用效率。審計數(shù)據(jù)壓縮完畢后會再使用3DES加密算法加密壓縮后的數(shù)據(jù),確保數(shù)據(jù)安全保密。
圖2 系統(tǒng)模型結構流程圖
如圖2基于閑置資源利用的無線分布式審計模型的執(zhí)行過程包括以下步驟。
1)將要執(zhí)行的數(shù)據(jù)分析程序復制到Hadoop框架中的Master和每一臺無線節(jié)點中。
2)Master選擇由哪些無線節(jié)點來執(zhí)行Map程序與Reduce程序。
3)分配所有的數(shù)據(jù)區(qū)塊到執(zhí)行Map程序的無線節(jié)點中進行Map(切割成小塊數(shù)據(jù))。
4)將Map后的數(shù)據(jù)交給數(shù)據(jù)程序分析并將結果保存到無線節(jié)點的本地磁盤。
5)執(zhí)行Reduce程序的無線節(jié)點,遠程讀取每一份Map結果,進行混合、匯整與排序,同時執(zhí)行Reduce程序。
6)將結果返回到數(shù)據(jù)分析中心。
在過程中為了保證計算和存儲等操作的完整性,充分利用MapReduce的分布和可靠特性,在數(shù)據(jù)上傳和下載過程中根據(jù)各無線節(jié)點在指定時間內(nèi)反饋的信息判斷節(jié)點的狀態(tài)是正常還是死亡,若節(jié)點死亡則將其負責的任務分配給別的節(jié)點,確保數(shù)據(jù)的完整性。
為了實現(xiàn)充分利用閑置的計算資源,分擔大規(guī)模分布式網(wǎng)絡環(huán)境下的安全審計中的數(shù)據(jù)分析壓力,本文提出了基于閑置資源利用的無線分布式審計模型,給出了系統(tǒng)的結構設計。該模型基于Hadoop架構并結合了MapReduce的分布式處理技術,通過該模型的架構可以使擁有閑置資源的無線節(jié)點協(xié)同完成數(shù)據(jù)分析工作,采用的壓縮和加密技術大大降低了通信的網(wǎng)絡負載并保證了數(shù)據(jù)的安全。由于這一模型設計從目前來講屬于全新的設計,因此還有很多的具體問題需要進一步的驗證和改進,并在系統(tǒng)的實現(xiàn)過程中不斷完善。
[1] 陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009,9:2562-2567.
[2] 張世永.信息安全審計技術的發(fā)展和應用[J].電信科學,2003,12:125-128.
[3] 江偉,陳龍,王國胤.用戶行為異常檢測在安全審計系統(tǒng)中的應用[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.