《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 借助Petri網(wǎng)進(jìn)行流程審計(jì)
借助Petri網(wǎng)進(jìn)行流程審計(jì)
來源:微型機(jī)與應(yīng)用2012年第16期
胡記兵,,黃作明,柳巧玲
(南京審計(jì)學(xué)院 信息科學(xué)學(xué)院 信息系統(tǒng)審計(jì)實(shí)驗(yàn)中心,,江蘇 南京210029)
摘要: 信息的使用者往往關(guān)注保存在介質(zhì)上的信息而忽視處理信息的程序,。由于保存在介質(zhì)上的信息有多個(gè)操作入口,,即使處理信息的程序真實(shí)地反映了組織的業(yè)務(wù)流程,也難保證信息使用者所獲得的信息是正確的,,也就是說對(duì)于訪問數(shù)據(jù)的程序,,存在外部干擾。引入數(shù)據(jù)庫中的審計(jì)表功能,,協(xié)助信息系統(tǒng)審計(jì)人員識(shí)別信息系統(tǒng)中數(shù)據(jù)的形成是否遵循了既定的業(yè)務(wù)流程,。由于Petri網(wǎng)是描述流程的有力工具,對(duì)于復(fù)雜的業(yè)務(wù)流程,,引入Petri網(wǎng)對(duì)流程進(jìn)行審計(jì)是必要的,。
Abstract:
Key words :

摘  要: 信息的使用者往往關(guān)注保存在介質(zhì)上的信息而忽視處理信息的程序。由于保存在介質(zhì)上的信息有多個(gè)操作入口,,即使處理信息的程序真實(shí)地反映了組織的業(yè)務(wù)流程,,也難保證信息使用者所獲得的信息是正確的,也就是說對(duì)于訪問數(shù)據(jù)的程序,,存在外部干擾。引入數(shù)據(jù)庫中的審計(jì)表功能,,協(xié)助信息系統(tǒng)審計(jì)人員識(shí)別信息系統(tǒng)中數(shù)據(jù)的形成是否遵循了既定的業(yè)務(wù)流程,。由于Petri網(wǎng)是描述流程的有力工具,對(duì)于復(fù)雜的業(yè)務(wù)流程,,引入Petri網(wǎng)對(duì)流程進(jìn)行審計(jì)是必要的,。
關(guān)鍵詞: 業(yè)務(wù)流程;審計(jì),;Petri網(wǎng)

    工作流是業(yè)務(wù)流程的抽象,,可以將孤立的信息串起來,并賦予信息特定的含義,。不同的使用者對(duì)信息的理解可能是不同的,,信息使用者的角色決定了該信息的主觀涵義。為了保證信息系統(tǒng)的正確性,,必須使得信息的客觀涵義與信息的主觀涵義一致,,這是在信息系統(tǒng)不能高度自動(dòng)化時(shí)必須達(dá)到的要求。如稅務(wù)人員必須保證正確地獲得信息系統(tǒng)中的表,。信息系統(tǒng)中的表決定了信息的主觀涵義,,表中數(shù)據(jù)的形成過程決定了表中信息的客觀涵義,只要二者一致,,信息系統(tǒng)出錯(cuò)的可能性就被降低,。
    本文只關(guān)注信息被賦予的客觀涵義,信息的主觀涵義與客觀涵義的一致性可以采用以下方法來保證:將信息系統(tǒng)中的特定數(shù)據(jù)遠(yuǎn)程連接到信息使用者并實(shí)時(shí)傳送,,這個(gè)實(shí)時(shí)信息定義主觀涵義,,在實(shí)時(shí)接收端嚴(yán)格防止增刪改等寫操作,,只能讀取。
1 相關(guān)研究
    目前,,關(guān)于流程審計(jì)的研究受到了理論界與實(shí)務(wù)界的廣泛關(guān)注,。其中具有代表性的研究成果有:Huang Shiming等人針對(duì)利用計(jì)算機(jī)輔助審計(jì)技術(shù)和工具所進(jìn)行的審計(jì)的缺陷,建立了一種業(yè)務(wù)流程差距檢測(cè)機(jī)制,,該機(jī)制能夠自動(dòng)檢測(cè)信息系統(tǒng)流程與企業(yè)內(nèi)部控制流程之間的差距,,幫助解決數(shù)據(jù)質(zhì)量問題,提高系統(tǒng)的安全性[1],。李國棟等人采用組件化的方法,,通過Petri網(wǎng)對(duì)工作流過程模型進(jìn)行了組件形式的建模,并以建立網(wǎng)絡(luò)科技信息資源加工審核系統(tǒng)模型為例,,闡述了組件化建立工作流網(wǎng)的過程,,并通過基于不變量的方法對(duì)工作流網(wǎng)的活性和有界性進(jìn)行了分析,驗(yàn)證了模型的可行性[2],。丁志軍等人利用時(shí)序Petri網(wǎng)對(duì)審計(jì)緩沖區(qū)管理的實(shí)現(xiàn)方案進(jìn)行建模,,進(jìn)而對(duì)系統(tǒng)的安全性和活性進(jìn)行了分析和驗(yàn)證[3]。王保云等人根據(jù)有色Petri網(wǎng)原理提出了安全審計(jì)事件可視化模型,,并基于該模型,,以文件類操作的安全審計(jì)事件為主線,給出了一種安全審計(jì)事件時(shí)空邏輯關(guān)系可視化實(shí)現(xiàn)框架[4],。李博文等人針對(duì)計(jì)算機(jī)審計(jì)工作,,結(jié)合工作流和Petri網(wǎng)方法,建立了一套審計(jì)工作流模型,,并通過化簡,,對(duì)模型進(jìn)行了正確性驗(yàn)證[5]。劉志磊在研究Petri net工作流的基礎(chǔ)上,,將其應(yīng)用于審計(jì)管理系統(tǒng)中,,并且所設(shè)計(jì)的管理系統(tǒng)已經(jīng)在某商業(yè)銀行審計(jì)管理項(xiàng)目中得到應(yīng)用,取得較好效果[6],。楊雯等人給出了面向?qū)ο蠊ぷ髁骶W(wǎng)的定義,,分析了它的特點(diǎn),并以其為工具建立了審計(jì)業(yè)務(wù)流程模型[7],。張衛(wèi)祥在Petri網(wǎng)和工作流網(wǎng)定義的基礎(chǔ)上,,把流程挖掘技術(shù)引入到安全審計(jì)中,并借鑒現(xiàn)有安全審計(jì)常用分析方法,,提出了對(duì)流程挖掘和針對(duì)工作流領(lǐng)域異常的分析手段和方法[8],。
2 流程的Petri網(wǎng)表示法
2.1 Petri網(wǎng)

    Petri網(wǎng)是一種圖形化描述過程的強(qiáng)有力工具,可以非常直觀地描述一個(gè)工作流過程,,由庫所和變遷組成,,用圓圈表示庫所,,矩形表示變遷,庫所和變遷由有向弧相連接[9],。變遷是Petri網(wǎng)中的主動(dòng)元素,,通常表示事件、操作,、轉(zhuǎn)換或傳輸,。通過實(shí)施變遷,過程從一個(gè)狀態(tài)轉(zhuǎn)變到另一個(gè)狀態(tài),。庫所是Petri網(wǎng)中的被動(dòng)元素,,它們不能改變網(wǎng)的狀態(tài),通常表示媒介,、地理位置,、階段、狀態(tài),、條件等,。變遷的實(shí)施就是從每個(gè)輸入庫所中獲得標(biāo)記(每個(gè)輸入庫所中都要有標(biāo)記,這也是條件),,然后放到每個(gè)輸出庫所中,。如圖1所示,從輸入庫所Claim中獲取標(biāo)記,,然后放到輸出庫所Under Consideration中。實(shí)施時(shí),,變遷消耗掉來自輸入庫所的標(biāo)記,,并為每個(gè)輸出庫所產(chǎn)生標(biāo)記。

2.2 路由
    擴(kuò)展的Petri網(wǎng)主要由4種路由結(jié)構(gòu)組成:順序路由,、并行路由,、選擇路由、循環(huán)路由,。如圖2~圖5所示,。

2.3 審計(jì)需要在Petri網(wǎng)中的反映
    一個(gè)流程可以用Petri網(wǎng)來表示,這樣可以用Petri網(wǎng)的理論對(duì)流程進(jìn)行分析,。本文引入Petri網(wǎng)以便對(duì)流程的執(zhí)行情況進(jìn)行審計(jì),。為了便于審計(jì),要求循環(huán)路由只發(fā)生一次,,這種情況下需要對(duì)流程的Petri網(wǎng)稍作更改,。
3 流程審計(jì)
    本文采用收款流程來描述對(duì)流程的審計(jì)[10]。為不失一般性,,此處考慮任意的收款流程,,即本例只反映收款流程的主要元素,,這樣做的目的是使對(duì)流程審計(jì)的方法適用于任意流程的審計(jì)工作。如果收款流程是通過計(jì)算機(jī)實(shí)現(xiàn)的,,則需要系統(tǒng)分析員和軟件工程師介入,系統(tǒng)分析員對(duì)收款流程系統(tǒng)的分析結(jié)果如圖6所示。

    軟件工程師在系統(tǒng)分析員的指導(dǎo)下工作,。軟件工程師為開發(fā)出可用的收款流程系統(tǒng),,根據(jù)需要在數(shù)據(jù)庫中設(shè)計(jì)表格,如表1~表4所示,。

 

 

    為了完成審計(jì)工作,,必須對(duì)數(shù)據(jù)庫系統(tǒng)中的所有表格進(jìn)行審計(jì),即驗(yàn)證在每個(gè)表格上的操作是否違反了流程,。如果操作違反了流程,,需要將違反流程的操作找出來,合規(guī)的流程由系統(tǒng)分析員在軟件需求方的指導(dǎo)下定義,。存在流程被違反的可能性是因?yàn)閿?shù)據(jù)庫操作入口不是唯一的,,操作可以通過對(duì)軟件的操作來進(jìn)行,也可以進(jìn)入數(shù)據(jù)庫進(jìn)行更改,。
    先來看對(duì)SKDWJB的審計(jì),。審計(jì)人員要了解在SKDWJB上有哪些操作,可以看出,,如果忽略SKDWJB與ZZB和YSKB的聯(lián)系,,在SKDWJB上的操作有insert和update兩種。
    對(duì)于SKDWJB上的insert操作O1,,如果O1沒有違反規(guī)則,,則要求在SKDJB上有與該操作對(duì)應(yīng)的insert操作O2和delete操作O3。例如,,O1是insert into dbo.SKDWJB(ContractID,,RecordPerson,TotalAmount,,AmountOnContract,,Amount) values(1,'zhang san',,1 000,,5 000,1 000),。
    在SQL Server 2008中為每張表格建立審計(jì)表,,以反映表格內(nèi)容的變更[11]。O1操作將在審計(jì)表dbo.Audit中產(chǎn)生一條記錄,通過該記錄的PrimaryKey字段找到O1操作涉及的主鍵,,這里是1,,通過SQLStatement字段找到O1涉及的金額,這里是1 000,,用sql語句Select * from dbo.Audit where TableName=′dbo.SKDJB′ and Operation=′i′ and SQLStatement like ′%(1,1000%′在dbo.Audit表中查找在SKDJB上與O1對(duì)應(yīng)的insert操作O2,,用sql語句Select * from dbo.Audit where TableName=′dbo.SKDJB′ and Operation=′d′ and SQLStatement like ′% ID=1%′在dbo.Audit表中查找在SKDJB上與O1對(duì)應(yīng)的delete操作O3。O2可能是insert into dbo.SKDJB(ContractID,Amount,AmountOnContract,ID) values(1,1 000,5 000,1),,O3可能是delete from dbo.SKDJB where ID=1,。
    對(duì)于SKDWJB上的update操作O4,如果O4沒有違反流程,,則要求在SKDJB上有與該操作對(duì)應(yīng)的insert操作O5和delete操作O6,。例如,O4是update dbo.SKDWJB set RecordPerson=′li si′,TotalAmount=3 500,Amount=2 500 where ContractID=1,,O4操作將在審計(jì)表dbo.Audit中產(chǎn)生一條記錄,,通過該記錄的PrimaryKey字段找到O4操作涉及的主鍵,這里是1,,通過SQLStatement字段找到O4涉及的金額,,這里是2 500,用sql語句Select * from dbo.Audit where TableName=′dbo.SKDJB′and Operation=′i′ and SQLStatement like ′%(1,2 500%′在dbo.Audit表中查找在SKDJB上與O4對(duì)應(yīng)的insert操作O5,,用sql語句Select * from dbo.Audit where TableName=′dbo.SKDJB′ and Operation=′d′ and SQLStatement like ′% ID=6%′在dbo.Audit表中查找在SKDJB上與O4對(duì)應(yīng)的delete操作O6,。O5可能是insert into dbo.SKDJB(ContractID,Amount,AmountOnContract,ID) values(1,2 500,5 000,6),O6可能是delete from dbo.SKDJB where ID=6,。
    以上審計(jì)比較容易用計(jì)算機(jī)程序?qū)崿F(xiàn),,但是對(duì)ZZB和YSKB的審計(jì)卻不那么簡單,因?yàn)閷?duì)ZZB和YSKB的操作需要共享SKDWJB中的資源,,這與SKDJB和SKDWJB的簡單一對(duì)一關(guān)系不一樣,。為了降低對(duì)ZZB和YSKB的審計(jì)難度,用Petri網(wǎng)來描述幾個(gè)表之間的資源使用關(guān)系,,如圖7所示,,同時(shí)流程系統(tǒng)軟件按照該P(yáng)etri網(wǎng)進(jìn)行設(shè)計(jì),。

    圖7中的兩張表SKDWJB1和SKDWJB2是為了方便審計(jì)工作而增加的,。從圖7中可以看到,在SKDWJB上的insert操作有兩類,,一類是輸入過程引發(fā)的,,另一類是轉(zhuǎn)帳過程引發(fā)的。前文已經(jīng)描述了對(duì)輸入過程引發(fā)的在SKDWJB上的insert操作的審計(jì),,現(xiàn)在要考慮SKDWJB和ZZB的關(guān)系,,將SKDWJB上的insert操作的審計(jì)修改為以下內(nèi)容:
    對(duì)于SKDWJB上的insert操作O1,如果O1沒有違反規(guī)則,則要求在SKDJB上有與該操作對(duì)應(yīng)的insert操作O2和delete操作O3(設(shè)該條件表示為C1),;或者要求在SKDWJB和SKDWJB1上都有相應(yīng)的delete操作(設(shè)該條件表示為C2),。下面提供按照這條規(guī)則可以找出所有違規(guī)操作的簡要證明:
    令O1→C1∪C2表示:如果任意O1合乎流程,那么C1和C2必然有一個(gè)被滿足,。
    反證:O1→C1∩C2,,假設(shè)存在某一個(gè)在SKDWJB上的insert操作O1違規(guī),那么必然在SKDJB上與O1對(duì)應(yīng)的insert操作O2和delete操作O3至少缺一個(gè)(即C1),,并且要求SKDWJB上相應(yīng)的delete操作O4和在SKDWJB1上相應(yīng)的delete操作O5至少缺一個(gè)(即C2),。只要操作是按照上面的Petri網(wǎng)進(jìn)行,以上假設(shè)是不可能的,,即不可能存在違規(guī)操作O1,。即只要違規(guī)操作O1存在,就一定可以按照上面的規(guī)則將其找出,。
    在圖7所示的Petri網(wǎng)中,,轉(zhuǎn)帳這個(gè)變遷實(shí)施的前提條件是SKDWJB和SKDWJB1中同時(shí)有一個(gè)標(biāo)記,這個(gè)條件可被輸入變遷滿足,。從圖7可看出,,當(dāng)輸入變遷實(shí)施時(shí),給SKDWJB和SKDWJB1各輸入一個(gè)標(biāo)記,,從而滿足轉(zhuǎn)帳變遷實(shí)施的條件,。轉(zhuǎn)帳變遷實(shí)施后,給SKDWJB輸入一個(gè)標(biāo)記,,這個(gè)標(biāo)記是記帳變遷實(shí)施的條件之一,,記帳變遷實(shí)施的另一個(gè)條件是SKDWJB2中存在標(biāo)記,這個(gè)條件被輸入變遷的實(shí)施滿足,。
    本文研究得出如下結(jié)論:(1)流程為服務(wù)所導(dǎo)向,。服務(wù)需要在變化,服務(wù)質(zhì)量要求在提高,,因此流程是不斷在變化的,。有潛在審計(jì)需求的信息系統(tǒng)需要在系統(tǒng)分析中盡早考慮審計(jì)需要,考慮越早,,需要做的工作越少,。(2)Petri網(wǎng)的作用在于確定為滿足審計(jì)需要增加的表。在圖7中,,SKDWJB1和SKDWJB2都是為了滿足審計(jì)需要增加的表,,如果不是為了審計(jì),這兩張表都是不必要的,。(3)從審計(jì)過程中看到,,選擇路由是難于審計(jì)的,,順序或并行路由是易于審計(jì)的。在流程中,,一張表格被多個(gè)過程使用,,如果不采取增加表的措施,將產(chǎn)生混亂,。所以,,流程設(shè)計(jì)者如果考慮審計(jì)需要,就必須盡量避免選擇路由出現(xiàn)在流程中,,如此,,可以為信息系統(tǒng)審計(jì)人員減少不必要的工作。(4)流程審計(jì)今后或許可以向更加智能化,、自動(dòng)化的方向發(fā)展,,如開發(fā)出比較智能的算法來完成信息系統(tǒng)審計(jì)工作。
參考文獻(xiàn)
[1] Huang Shiming,,YEN D C,,HUNG Y C,et al.A business process gap detecting mechanism between information system process flow an internal control flow[J].Decision Support  Systems,,2009,,47(4):436-454.
[2] 李國棟,宋斌,,柳長安.基于Petri網(wǎng)的組件化工作流模型研究[J].微計(jì)算機(jī)信息,,2009,25(30):104-106.
[3] 丁志軍,,劉海峰,,蔣昌俊.審計(jì)緩沖區(qū)的形式化模型及其驗(yàn)證[J].計(jì)算機(jī)科學(xué),2006,,33(5):98-103.
[4] 王保云,,楊英杰,常德顯,,等.一種安全審計(jì)事件時(shí)空邏輯關(guān)系可視化方法[J].計(jì)算機(jī)工程,,2009,35(2):151-153.
[5] 李博文,,李孝忠.基于Petri網(wǎng)的審計(jì)工作流模型設(shè)計(jì)與驗(yàn)證[J].計(jì)算機(jī)應(yīng)用,,2006,26(Z):242-243.
[6] 劉志磊.Petri Nets工作流及其在審計(jì)管理中的應(yīng)用[D].北京:北京郵電大學(xué),,2008.
[7] 楊雯,,劉厚泉,,劉曼.基于高級(jí)Petri網(wǎng)的審計(jì)業(yè)務(wù)流程建模[J].福建電腦,,2007(11):104-105.
[8] 張衛(wèi)祥.面向工作流系統(tǒng)基于流程挖掘的安全審計(jì)技術(shù)研究與實(shí)現(xiàn)[D].上海:華東師范大學(xué),2007.
[9] AALST V W,HEE K V.工作流管理[M].王建民,,聞立杰,,譯.北京:清華大學(xué)出版社,2004.
[10] 張瑞君,,蔣硯章.會(huì)計(jì)信息系統(tǒng)[M].北京:中國人民大學(xué)出版社,,2009.
[11] NIELSEN R.SQL Server 2008寶典[M].馬振晗,任鴻,,高宇輝,,譯.北京:清華大學(xué)出版社,2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。