摘 要: 新的分布式計算機審計技術(shù)——基于移動 Agent的分布式計算機審計技術(shù)的出現(xiàn)給人們帶來了新的發(fā)展。本文在介紹移動 Agent技術(shù)的基礎(chǔ)上提出了一種應(yīng)用移動 Agent技術(shù)的現(xiàn)代化審計模型。
關(guān)鍵詞: 移動Agent 計算機審計系統(tǒng) 分布式審計系統(tǒng)
一、移動Agent的定義
Agent是指模擬人類行為與關(guān)系、具有一定智能并能夠自主運行和提供相應(yīng)服務(wù)的程序,是面向?qū)ο蠹夹g(shù)向軟件智能化發(fā)展的產(chǎn)物,它的出現(xiàn)將計算機軟件設(shè)計提高到一個更高的抽象層次。人們可以把它看作一個自治的實體,它能夠感知環(huán)境,并且對外界的信息作出一定的判斷與推理,來控制自己的決策與行為,以便完成一定的任務(wù)。
移動Agent(Mobile Agent,簡稱MA)是具有移動性的Agent。移動Agent的概念是20世紀(jì)90年代初由General Magic公司在推出商業(yè)系統(tǒng)Telescript時提出的。簡單地說,移動Agent是一個能在異構(gòu)網(wǎng)絡(luò)中自主地從一臺主機遷移到另一臺主機,并與其他Agent或資源交互的程序。移動的目的是使程序的執(zhí)行盡可能靠近數(shù)據(jù)源,降低網(wǎng)絡(luò)的通信開銷,平衡負(fù)載,提高完成任務(wù)的時效。移動Agent實質(zhì)上是一個封裝代碼、運行狀態(tài)和數(shù)據(jù)的計算實體,是可以在執(zhí)行過程中有目的地、自主地在網(wǎng)絡(luò)中移動,利用與分布資源的局部交互而完成分布任務(wù)的軟件實體。傳統(tǒng)客戶機與服務(wù)器間的交互需要連續(xù)的通信支持;而移動Agent可以遷移到服務(wù)器上,與之進(jìn)行高速的本地通信,這種通信不再占用網(wǎng)絡(luò)資源。
移動Agent是一種新的網(wǎng)絡(luò)計算技術(shù),它能有效地降低分布式計算中的網(wǎng)絡(luò)負(fù)載,提高通信效率,動態(tài)適應(yīng)變化了的網(wǎng)絡(luò)環(huán)境,并具有很好的安全性和容錯能力,為有效地進(jìn)行數(shù)據(jù)庫訪問提供了一種新思路和新方法。
二、移動Agent系統(tǒng)的組成
不同移動Agent系統(tǒng)的體系結(jié)構(gòu)各不相同,但幾乎所有的移動Agent系統(tǒng)都包含移動Agent(MA)和移動Agent服務(wù)設(shè)施(Mobile Agent Equipment,簡稱MAE)兩個部分,如圖1所示。
MAE負(fù)責(zé)為MA建立安全、正確的運行環(huán)境,為MA提供最基本的服務(wù)(包括創(chuàng)建、傳輸、執(zhí)行),實施針對具體MA的約束機制、容錯策略、安全控制和通信機制等。MA的移動性和問題求解能力很大程度上取決于MAE所提供的服務(wù)。
通常情況下,一個MAE只位于網(wǎng)絡(luò)中的一臺主機(Host)上,但如果主機間是以高速網(wǎng)絡(luò)進(jìn)行互聯(lián)的話,一個MAE也可以跨越多臺主機而不影響整個系統(tǒng)的運行效率。MAE利用Agent傳輸協(xié)議(Agent Transfer Protocol,ATP)實現(xiàn)MA在主機間的移動,并為其分配執(zhí)行環(huán)境和服務(wù)接口。MA在MAE中執(zhí)行,通過Agent通信語言(Agent Communication Language,簡稱ACL)相互通信并訪問MAE提供的各種服務(wù)。
在移動Agent系統(tǒng)的體系結(jié)構(gòu)中,MA可以細(xì)分為用戶Agent(User Agent,簡稱UA)和服務(wù)Agent(Server Agent,簡稱SA)。UA可以從一個MAE移動到另一個MAE,它在MAE中執(zhí)行,并通過ACL與其它MA通信或訪問MAE提供的服務(wù)。UA的主要作用是完成用戶委托的任務(wù),它需要實現(xiàn)移動語義、安全控制、與外界的通信等功能。SA不具有移動能力,其主要功能是向本地的MA或來訪的MA提供服務(wù),一個MAE上通常駐有多個SA,分別提供不同的服務(wù)。由于SA是能不移動的,并且只能由它所在MAE的管理員啟動和管理,這就保證了SA不會是“惡意的”。UA不能直接訪問系統(tǒng)資源,只能通過SA提供的接口訪問受控的資源,從而避免惡意Agent對主機的攻擊,這是移動Agent系統(tǒng)經(jīng)常采用的安全策略。
三、移動Agent在審計中的應(yīng)用
(一)網(wǎng)絡(luò)環(huán)境下的計算機審計系統(tǒng)模型特點
目前的計算機審計普遍采用“數(shù)據(jù)集中和專家找問題”方式,即要求將一些分布存儲在被審計單位各種業(yè)務(wù)、財務(wù)系統(tǒng)中的數(shù)據(jù)收集到一個集中的地方,然后由審計專家在這些集中的數(shù)據(jù)里查找問題。隨著被審計單位的交易日益頻繁,這種模式無法做到實時審計和在線審計,而且這種審計模式要求企業(yè)有高速的數(shù)據(jù)通信網(wǎng)絡(luò)。然而,雖然目前網(wǎng)絡(luò)帶寬在增加,但還是比不上企業(yè)數(shù)據(jù)增長的速度,結(jié)果導(dǎo)致通過有限的網(wǎng)絡(luò)帶寬來移動分布存儲的大容量的數(shù)據(jù)。審計流程中強調(diào)專家的個人能力,即要求審計小組由審計組長牽頭制訂審計流程和確定集中采集哪些數(shù)據(jù)。但是,這種依賴于個人能力和經(jīng)驗的操作方式往往需要多次反復(fù)集中收集數(shù)據(jù),這在要求實時審計和在線審計條件下是“不可思議”的。同時,這種方式也破壞了數(shù)據(jù)的私有性和安全性。在這種審計方式下,被審計單位的業(yè)務(wù)數(shù)據(jù)、資金往來數(shù)據(jù)“暴露無遺”,無疑給被審計單位的經(jīng)濟情報等方面的保護(hù)工作帶來巨大的威脅。在某些情況下,系統(tǒng)安全意味著用戶使用一些不能離開本站點的敏感數(shù)據(jù),這也讓目前的審計方式無法做到。因此,被審計數(shù)據(jù)的分布式存儲、數(shù)據(jù)的私有性與安全性、實時審計和在線審計等方面的要求迫切需要我們深入分布式環(huán)境下的計算機審計技術(shù)。
分布式審計能適應(yīng)經(jīng)濟的新發(fā)展,提高稽核監(jiān)督的工作效率,保證企業(yè)實時動態(tài)地被審計監(jiān)控,保障企業(yè)的業(yè)務(wù)及資金流動的合理有序,提高企業(yè)資金的風(fēng)險靈敏度,更有效地把信用風(fēng)險、市場風(fēng)險和操作風(fēng)險降到最低。分布式審計系統(tǒng)是一個復(fù)雜的分布式大系統(tǒng),同時,隨著審計項目日益繁雜,網(wǎng)絡(luò)環(huán)境下的分布式審計系統(tǒng)模型應(yīng)該具有以下特點:(1)模塊化設(shè)計,保證系統(tǒng)中不同模塊可以根據(jù)需要進(jìn)行靈活的增減和配置,以及分布式審計系統(tǒng)的持續(xù)可用。(2)靈活審計,滿足分布式審計系統(tǒng)的多層次用戶的需要。(3)分布式移動審計,支持審計算法的移動性。(4)知識共享,采用通用的知識表示方式(或標(biāo)準(zhǔn))實現(xiàn)各個業(yè)務(wù)系統(tǒng)上分布式審計,以及審計系統(tǒng)與其他系統(tǒng)的信息交互。(5)平臺無關(guān),保證各個系統(tǒng)上的審計算法,全局審計算法,以及系統(tǒng)功能模塊能夠完成不同平臺上的數(shù)據(jù)處理和通訊任務(wù)。(6)安全保證,滿足被審計單位數(shù)據(jù)安全的需要。
(二)使用移動Agent技術(shù)的分布式審計系統(tǒng)
針對網(wǎng)絡(luò)環(huán)境下計算機審計系統(tǒng)模型特點,本文提出了一種使用移動Agent技術(shù)的分布式審計模型。如圖2所示,整個模型由三部分組成:人機界面、審計子系統(tǒng)和被審計單位子系統(tǒng)。
1.人機界面
人機界面是用戶與計算機審計系統(tǒng)互操作的渠道,完成用戶的審計輸入和審計結(jié)果的顯示。例如,用戶可以選擇審計模型(審計算法)、數(shù)據(jù)源、審計初始流程,可以完成系統(tǒng)中Agent的知識和規(guī)則的更新,彌補系統(tǒng)知識的不足,也可以輸入一些基本信息,如,在不同時期,針對不同性質(zhì)的被審計單位,可以設(shè)定進(jìn)行資金流審計的最低額度,等等;用戶還可以選擇最終的結(jié)果的可視化形式。同時,人機界面顯示審計子系統(tǒng)中“智能用戶Agent”提交的審計結(jié)果信息。
2.審計子系統(tǒng)
上面介紹了分布式審計模型中的三個主要部分的內(nèi)部結(jié)構(gòu)功能等,本部分著重分析該模型的核心部分——審計子系統(tǒng)中各組成Agent的功能及它們之間的協(xié)作關(guān)系。如圖2所示,審計子系統(tǒng)由協(xié)調(diào)Agent、審計Agent、智能用戶Agent、審計算法Agent、分析Agent和數(shù)據(jù)站點管理Agent組成。這些Agent協(xié)調(diào)一致地工作,它們的功能和它們之間的協(xié)作關(guān)系分析如下:
(1)智能用戶Agent
該Agent代表用戶向?qū)徲嬜酉到y(tǒng)提出審計請求。只需要用戶提出相應(yīng)的要求或者做一系列的選擇,智能用戶Agent就可以將用戶要求轉(zhuǎn)化為協(xié)調(diào)Agent能夠識別的命令并提交給協(xié)調(diào)Agent進(jìn)行任務(wù)的計劃分配;智能用戶Agent還負(fù)責(zé)處理通過人機接口輸入的系統(tǒng)更新信息等,如審計特定算法參數(shù),Agent知識和規(guī)則等。該Agent除了處理用戶輸入的信息外,還需要能夠保存審計子系統(tǒng)的審計結(jié)果等輸出信息,或直接提交這些信息給用戶擁有的人機接口。
(2)協(xié)調(diào)Agent
它主要完成三項任務(wù):①任務(wù)規(guī)劃優(yōu)化,主要完成審計任務(wù)的規(guī)劃,并選擇最優(yōu)的規(guī)劃方案。它與審計算法Agent、分析Agent、審計Agent管理器和數(shù)據(jù)站點管理Agent交互,得到審計算法效率功能特點、異常數(shù)據(jù)模型、系統(tǒng)中審計Agent的功能狀態(tài)、數(shù)據(jù)站點數(shù)據(jù)集大小和數(shù)據(jù)變化趨勢等信息來確定相應(yīng)的審計方案以盡可能滿足用戶需要。該Agent具有實時規(guī)劃能力以滿足因某個移動Agent的失效而進(jìn)行任務(wù)的重新規(guī)劃。②依據(jù)規(guī)劃結(jié)果,協(xié)調(diào)Agent創(chuàng)建并命名多個并行協(xié)同工作的裝載有審計算法或?qū)徲嬆P偷囊苿訉徲婣gent,并將這些移動Agent的基本信息注冊到審計Agent管理器中。③審計整個過程的協(xié)作協(xié)調(diào),主要協(xié)調(diào)審計過程的各個Agent和維護(hù)系統(tǒng)當(dāng)前的運行狀態(tài)信息等。它得到一個有關(guān)系統(tǒng)狀態(tài)信息的參考點。它可以看作是分布式審計任務(wù)的一個描述各Agent的操作基點的動態(tài)目錄。同時,協(xié)調(diào)Agent也是系統(tǒng)中Agent信息交換中心,負(fù)責(zé)維護(hù)Agent之間信息的交互傳遞等。
(3)審計Agent
該Agent是移動Agent,由協(xié)調(diào)Agent創(chuàng)建,并移動到協(xié)調(diào)器指定的數(shù)據(jù)站點進(jìn)行數(shù)據(jù)分析,并將自身的位置信息和狀態(tài)信息傳遞給審計Agent管理器,將審計分析反饋給協(xié)調(diào)器以進(jìn)行數(shù)據(jù)結(jié)果的融合。審計Agent運用自身攜帶的審計模型、審計算法或請求協(xié)調(diào)Agent得到的審計模型等完成具體的審計子任務(wù),并為分析Agent提供異常數(shù)據(jù)。
(4)審計Agent管理器
負(fù)責(zé)管理所有審計Agent的相關(guān)信息,這樣各種Agent通過與管理Agent交互便可以動態(tài)獲取其他Agent的屬性信息(位置、功能等),從而與其他Agent進(jìn)行交互,以獲取所需要的信息。它是實現(xiàn)系統(tǒng)分布式透明性的關(guān)鍵,主要用于收集、管理、統(tǒng)計、查詢各種Agent信息資源,按其功能分類或建立Agent聯(lián)盟。同時,它也擔(dān)當(dāng)可信任的安全認(rèn)證中心,保證各Agent之間的安全通信機制。
(5)審計算法Agent
審計算法Agent主要負(fù)責(zé)維護(hù)審計分析算法。用戶可以注冊審計分析算法。當(dāng)算法注冊到系統(tǒng)中,算法Agent登記算法的元知識信息及其特點(比如,名字、版本、輸入?yún)?shù)、操作環(huán)境描述和輸出格式等)。同時,算法Agent將這些信息反饋給協(xié)調(diào)Agent。
(6)數(shù)據(jù)站點管理Agent
數(shù)據(jù)站點管理Agent主要負(fù)責(zé)被審計單位Agent服務(wù)器的基本信息,如Agent服務(wù)器的啟動、停止?fàn)顟B(tài)信息、位置信息和數(shù)據(jù)源信息等。Agent服務(wù)器及時將其啟動、停止信息注冊到數(shù)據(jù)站點管理器以便協(xié)調(diào)器合理規(guī)劃審計任務(wù),但在進(jìn)行實時在線審計中,Agent服務(wù)器不能關(guān)閉。為了維護(hù)Agent服務(wù)器和防止Agent服務(wù)器出現(xiàn)故障,往往在被審計單位提供同步工作的Agent服務(wù)器。
(7)分析Agent
分析Agent采用數(shù)據(jù)挖掘算法,根據(jù)審計Agent提供的異常數(shù)據(jù)自動生成、更新審計模型及運行參數(shù),是體現(xiàn)審計子系統(tǒng)自適應(yīng)的核心部件。它主要包括異常信息傳遞模塊和自適應(yīng)模式產(chǎn)生機構(gòu)。
審計子系統(tǒng)由7類功能各異協(xié)同工作的Agent組成,當(dāng)接受到用戶提交的具體審計任務(wù)后,系統(tǒng)自動有條不紊地對被審計單位的財務(wù)數(shù)據(jù)進(jìn)行審計,及時發(fā)現(xiàn)問題并以多種形式向?qū)徲媶挝槐O(jiān)控中心提交審計結(jié)果,達(dá)到規(guī)范經(jīng)營活動和金融風(fēng)險預(yù)警等目的,其中,審計Agent是審計任務(wù)執(zhí)行的關(guān)鍵。
3.被審計單位子系統(tǒng)
被審計單位子系統(tǒng)包括Agent服務(wù)器、業(yè)務(wù)部子系統(tǒng)和數(shù)據(jù)站點三部分。其中,Agent服務(wù)器保存有本地數(shù)據(jù)站點的有關(guān)信息,如本地數(shù)據(jù)的形式、數(shù)據(jù)庫管理系統(tǒng)、業(yè)務(wù)數(shù)據(jù)庫表結(jié)構(gòu)、數(shù)據(jù)范圍等。每個Agent服務(wù)器向數(shù)據(jù)站點管理Agent注冊,并及時更新數(shù)據(jù)站點管理Agent中的有關(guān)內(nèi)容以便協(xié)調(diào)Agent有效地規(guī)劃審計任務(wù)。同時,Agent服務(wù)器為審計Agent提供服務(wù)設(shè)施和提供移動管理器、運行管理器、通信管理器和安全管理器等。這里,Agent服務(wù)器和業(yè)務(wù)部子系統(tǒng)運行在指定被審計單位的專用服務(wù)器上。
4.審計Agent的結(jié)構(gòu)
審計Agent是一種移動Agent,每個審計Agent都是一個相對獨立的審計單元,利用其自帶的審計算法和知識庫信息等執(zhí)行審計任務(wù);還可以不斷地從分析Agent中獲取最新的知識用于審計。審計Agent封裝了描述其狀態(tài)的屬性,以便當(dāng)Agent移動到另一主機上重新開始工作和向?qū)徲婣gent管理器返回信息。圖3給出了一個審計Agent的內(nèi)部結(jié)構(gòu),該結(jié)構(gòu)包含下列模塊:
(1)接口模塊
主要將審計Agent的內(nèi)部機制與外界隔離,所有信息交流都通過該接口。該模塊包含與協(xié)調(diào)Agent和Agent服務(wù)器進(jìn)行交互接口和消息的傳遞接口以及與數(shù)據(jù)源的聯(lián)接接口。該Agent交流的信息包括控制信息、異常信息、算法更新模式信息、審計數(shù)據(jù)等。
(2)安全控制模塊
對移動Agent自身提供保護(hù);防止外部環(huán)境對審計Agent的非法訪問,以保證數(shù)據(jù)的正確性和合法性;完成對數(shù)據(jù)的加/解密、數(shù)字簽名等任務(wù)。
(3)審計模塊
首先對業(yè)務(wù)、財務(wù)審計數(shù)據(jù)進(jìn)行規(guī)范化,然后依據(jù)審計算法和審計模型來對已經(jīng)規(guī)范化的數(shù)據(jù)進(jìn)行分析,確定這些數(shù)據(jù)中是否包含不符合操作規(guī)程的行為數(shù)據(jù)或異常情況。最后,將分析得到異常數(shù)據(jù)上傳給協(xié)調(diào)Agent,以便作進(jìn)一步綜合分析。
(4)知識庫
由協(xié)調(diào)Agent進(jìn)行初始化,主要存放審計算法、審計模型和其它一些分析審計需要的知識。
參考文獻(xiàn):
[1]張云勇等.移動agent及其應(yīng)用[M].清華大學(xué)出版社,2005.
[2]何炎祥.Agent和多Agent系統(tǒng)的設(shè)計與應(yīng)用[M].武漢大學(xué)出版社,2001.
[3]佟強,陳珉,王云.基于Mobile Agent的分布式空間數(shù)據(jù)服務(wù)模型[J].計算機工程,2004,(01).
[4]郭宗文等.計算機審計[M].清華大學(xué)出版社,2005.