1. 應(yīng)用軟件開發(fā)
1.1. 不同的軟件類型
源程序由各種計算機語言編制而成,計算機語言可分為機器語言(machine language)、匯編語言(assembly language)、過程化語言(procedure language)和非過程化語言(non procedure language)。
軟件由程序、過程(函數(shù))、處理規(guī)則以及相應(yīng)的文檔構(gòu)成。軟件可分為系統(tǒng)軟件(system software)和應(yīng)用軟件(application software),系統(tǒng)軟件用于管理計算機資源并為應(yīng)用軟件提供各種基本的和高級的運算支持,應(yīng)用軟件則是為解決特定問題而編寫的程序。
系統(tǒng)軟件包括操作系統(tǒng)(operating system)、數(shù)據(jù)庫管理系統(tǒng)(database management system)、語言轉(zhuǎn)換程序(1anguage translator)、實用程序(utility program)、中間件(middleware)等。磁盤工具(disk utility)是一種實用程序。大多數(shù)刪除程序只是刪除文件的指針,并不實際刪除文件所包含的數(shù)據(jù)塊,而磁盤工具則可以保證將數(shù)據(jù)塊中的數(shù)據(jù)也一并抹去。
程序根據(jù)其運行的方式可分為可直接執(zhí)行程序和可解釋執(zhí)行程序。
直接執(zhí)行(executable)程序包含二進制機器語言,可由CPU直接運行。編譯器(compiler)將高級過程化語言程序轉(zhuǎn)換成目標(biāo)代碼(objective program),匯編器(assembler)將匯編語言程序轉(zhuǎn)換成目標(biāo)代碼程序,鏈接器(1inker)將多個目標(biāo)代碼程序鏈接成可執(zhí)行程序(executive program)。動態(tài)鏈接庫(DDL:dynamic link libraries)是一種特殊的執(zhí)行程序文件,它在需要時才由主執(zhí)行文件調(diào)入內(nèi)存并執(zhí)行。
解釋執(zhí)行(interpretative)程序包含的是一種中間代碼,不能由CPU直接運行,而需要由解釋程序?qū)⑵滢D(zhuǎn)換成二進制機器語言后再由CPU執(zhí)行。解釋器(interpreter)將高級語言程序轉(zhuǎn)換成中間代碼,并逐行解釋執(zhí)行。宏(macro)程序是解釋運行的程序之一,通常用于記錄重復(fù)執(zhí)行的命令或擊鍵,使用戶能減少擊鍵的次數(shù)。
1.2. 系統(tǒng)開發(fā)方法
隨著信息技術(shù)的發(fā)展,信息系統(tǒng)的開發(fā)越來越成為一個龐大的系統(tǒng)工程,對內(nèi)它涉及組織的內(nèi)部結(jié)構(gòu)、管理模式、業(yè)務(wù)運營、數(shù)據(jù)的收集與處理的各個方面,對外它涉及與其他系統(tǒng)的互聯(lián)與數(shù)據(jù)交換,面對一個大型、復(fù)雜的組織機構(gòu)和管理系統(tǒng),需要有一個系統(tǒng)的開發(fā)方法學(xué)來指導(dǎo)人們進行應(yīng)用軟件開發(fā),并在使用與維護過程中進行有效的管理,以保證應(yīng)用系統(tǒng)的機密性、完整性與可用性。
生命周期法(system life cycle)是一種自頂向下的結(jié)構(gòu)化開發(fā)方法,它把系統(tǒng)生命周期分為六個階段:項目定義(project definition)、系統(tǒng)分析(systems analysis)、系統(tǒng)設(shè)計(design)、編程(programming)、實施(implementing)和后續(xù)維護(post implementation)。對每一個階段的任務(wù)、承擔(dān)人員、職責(zé)、各階段成果及其相互關(guān)系進行了嚴(yán)格的定義,并制定了嚴(yán)密的文檔編制規(guī)范。生命周期法具有系統(tǒng)性、規(guī)范性、嚴(yán)密性等優(yōu)點,其缺點則是開發(fā)周期長、難以適應(yīng)系統(tǒng)需求的快速變化。生命周期法對系統(tǒng)分析的要求極高,一旦系統(tǒng)分析出現(xiàn)偏差,則整個系統(tǒng)開發(fā)過程就可能要推倒重來。
原型法(prototyping)首先根據(jù)用戶的最基本需求迅速開發(fā)一個實驗?zāi)P徒唤o用戶使用,啟發(fā)用戶提出進一步需求,然后對原型進行修改,再使用,再修改,如此反復(fù),直至滿足用戶需求。原型法的優(yōu)點是用戶可以更好地參與系統(tǒng)的需求分析和設(shè)計過程,并在應(yīng)用過程中不斷完善,因此用戶滿意度高,開發(fā)速度較快。但由于原型法需要經(jīng)常根據(jù)用戶的需要迅速修改系統(tǒng),對系統(tǒng)開發(fā)技術(shù)和工具要求極高。通常開發(fā)者只有在擁有并掌握了強大的計算機輔助開發(fā)工具時才有可能應(yīng)用原型開發(fā)方法,因此,原型法又稱為快速原型法或快速應(yīng)用開發(fā)(rapid application development)方法??焖僭头ㄍǔ7帜K創(chuàng)建系統(tǒng)直至整個系統(tǒng)完成,因此往往在系統(tǒng)的整體性和文檔的嚴(yán)密性上不如生命周期法。
面向?qū)ο蟮拈_發(fā)方法認(rèn)為世界是由各種各樣的對象組成,每種對象都有各自的內(nèi)部狀態(tài)和運動規(guī)律,不同對象之間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng)。當(dāng)我們設(shè)計和實現(xiàn)一個客觀系統(tǒng)時,如能在滿足需求的條件下把系統(tǒng)設(shè)計成由一些不可變(相對固定)部分組成的最小結(jié)合,這個設(shè)計就是的。因為它把握了事件的本質(zhì),因而不再會被周圍環(huán)境(物理環(huán)境和管理模式)的變化及用戶不斷變化的需求所左右,而這些不變的部分就是所謂的對象。
1.1. 系統(tǒng)開發(fā)的各項活動
系統(tǒng)分析是對需要用信息系統(tǒng)解決的問題的分析,包括用戶需求分析和系統(tǒng)可行性研究。系統(tǒng)分析工作由系統(tǒng)分析員完成,因此系統(tǒng)分析員是信息系統(tǒng)部門和其他業(yè)務(wù)部門聯(lián)系的主要橋梁。系統(tǒng)分析階段的成果是《系統(tǒng)需求分析規(guī)格書》。能力計劃(capacity planning)是《系統(tǒng)需求分析規(guī)格書》的一個重要組成部分,包括系統(tǒng)能力的設(shè)計目標(biāo)、現(xiàn)有的設(shè)備能力清單以及對未來需求的預(yù)測,它可以確保系統(tǒng)能滿足現(xiàn)有及未來的性能需求,同時避免設(shè)備的浪費。如對于一項網(wǎng)絡(luò)工程,就必須在網(wǎng)絡(luò)實施前考慮程序的重新設(shè)置,并根據(jù)預(yù)期工作流量設(shè)計合適的網(wǎng)絡(luò)改造方案。
系統(tǒng)設(shè)計是按照系統(tǒng)分析的要求來具體設(shè)計系統(tǒng)的過程,通常可分為邏輯設(shè)計和物理設(shè)計。系統(tǒng)設(shè)計階段的成果是《系統(tǒng)設(shè)計規(guī)格書》。
編程是把設(shè)計規(guī)格書轉(zhuǎn)化成計算機軟件代碼的過程。
測試:對所有編好的程序都必須進行詳盡徹底的測試以確定系統(tǒng)是否能產(chǎn)生正確的結(jié)果。為確保系統(tǒng)測試的成功,開發(fā)小組與用戶應(yīng)共同作出一個系統(tǒng)的測試計劃。測試包括:模塊測試(unit testing/program testing)(也叫程序測試)、系統(tǒng)測試(system testing)、驗收測試(acceptance testing)。
轉(zhuǎn)換是用新系統(tǒng)替代老系統(tǒng)的過程。轉(zhuǎn)換策略包括:平行轉(zhuǎn)換策略(parallel strategy)、直接轉(zhuǎn)換策略(direct cutover strategy)、試點轉(zhuǎn)換策略(pilot study strategy)、分階段的轉(zhuǎn)換策略(phased approach strategy)。
運行與維護是為了保障生產(chǎn)系統(tǒng)的正常運營,并解決系統(tǒng)中可能存在的不足,不斷完善系統(tǒng)的功能。
1.2. 數(shù)據(jù)處理方式
根據(jù)處理的時間分為:
¡ 批處理(batch processing):適用于有大量相似數(shù)據(jù)且可以間隔一定時間進行集中處理的數(shù)據(jù)。
¡ 在線處理(on-line processing):適用于需要實時處理的數(shù)據(jù)。
根據(jù)處理的地點分為:
¡ 集中處理(centralized processing):所有處理都在處理中心進行,遠(yuǎn)程終端沒有處理能力。便于加強控制。
¡ 分散處理(decentralized processing):數(shù)據(jù)處理在各個遠(yuǎn)程節(jié)點獨立進行,每個節(jié)點都有自己的獨立處理能力。用戶與系統(tǒng)數(shù)據(jù)最接近。
分布處理(distributed processing):根據(jù)需要決定部分?jǐn)?shù)據(jù)集中處理、部分?jǐn)?shù)據(jù)分配到遠(yuǎn)程節(jié)點共同處理,與分散處理的區(qū)別是:在分布式處理方式下,數(shù)據(jù)更新需要各節(jié)點協(xié)調(diào)進行,并增加了數(shù)據(jù)備份需求。其優(yōu)點是具有弱化保護(fail-soft protection)功能,即某一個節(jié)點發(fā)生故障,其他節(jié)點仍可以照常工作。
1.1. 常用計算機審計技術(shù)
¡ 測試數(shù)據(jù)(test data):審計人員設(shè)計測試數(shù)據(jù)來檢查被審計單位計算機信息系統(tǒng)是否按預(yù)期要求運行。
¡ 平行模擬(parallel simulation):審計人員設(shè)計一種與被審計單位計算機信息系統(tǒng)功能相同的模擬系統(tǒng),將數(shù)據(jù)在被審計單位的信息系統(tǒng)和模擬系統(tǒng)上平行運行,比較兩者運行的結(jié)果是否一致。
¡ 集成測試設(shè)施(integrated test facility):審計人員虛構(gòu)一些公司的數(shù)據(jù)并與被審計單位的真實數(shù)據(jù)一起處理,分析處理結(jié)果。這種方法可以對被審計單位的信息系統(tǒng)進行持續(xù)測試,但其缺點是測試數(shù)據(jù)可能進入被審計單位的真實數(shù)據(jù)環(huán)境。
¡ 嵌入式審計模塊(embedded audit module):在應(yīng)用系統(tǒng)的各個環(huán)節(jié)嵌入審計專用模塊,特點是能對被審計事項進行連續(xù)監(jiān)督。
應(yīng)用計算機審計技術(shù)可以大大提高內(nèi)部審計的效率與效果。如電腦化賬務(wù)處理可以自動平賬,減少了大量人工查找核對的工作。
1.2. 變更控制
變更控制是指計算機系統(tǒng)的任何變動只有經(jīng)過管理層的批準(zhǔn)后才能進行,包括硬件變更控制和程序(軟件)變更控制。
程序變更必須經(jīng)過全面測試并保存文檔,以留下何人、何時、做了何事的線索。良好的變更控制程序可以將擅自編輯生產(chǎn)程序、工作控制語言和操作系統(tǒng)軟件的可能性降到最低限度,減少修改程序給系統(tǒng)帶來的風(fēng)險。例如,若對負(fù)責(zé)系統(tǒng)安裝與維護的程序員缺乏必要的監(jiān)督,該程序員就有可能利用系統(tǒng)的工具軟件對生產(chǎn)程序進行變更,并且不留下任何審計線索。
1.3. 終端用戶計算(終端用戶開發(fā))
指系統(tǒng)的終端用戶在沒有或只有很少技術(shù)專家正式協(xié)助的條件下,自行完成系統(tǒng)開發(fā)的一種開發(fā)策略。這存在一定的風(fēng)險,包括:系統(tǒng)整體分析功能常被忽略,難以和其他系統(tǒng)集成和共享數(shù)據(jù);系統(tǒng)內(nèi)會產(chǎn)生一些專用的信息系統(tǒng);缺乏標(biāo)準(zhǔn)和文檔,使用及維護都嚴(yán)重地依賴開發(fā)者;由于缺乏監(jiān)督,致使相同的信息可能被以不同的方式處理,失去了信息的一致性,這也是終端用戶開發(fā)的系統(tǒng)中最難發(fā)現(xiàn)的缺陷。
對應(yīng)用終端用戶計算的審計包括:確定終端用戶計算的應(yīng)用程序、對應(yīng)用程序風(fēng)險進行排列、對控制情況進行文件處理和測試等。
為降低終端用戶計算的風(fēng)險,內(nèi)部審計師可以建議:在組織內(nèi)部成立以咨詢服務(wù)為主要職能的“信息中心”;制定相應(yīng)的政策、規(guī)章制度來管理用戶開發(fā)。
1.1. 應(yīng)用系統(tǒng)用戶認(rèn)證
用戶認(rèn)證是一種從數(shù)據(jù)庫到操作系統(tǒng)等各類軟件中都很常見的安全防范技術(shù),應(yīng)用系統(tǒng)用戶認(rèn)證從概念上來說是非常簡單的:系統(tǒng)的每一位用戶都被分配了一個的用戶名。對關(guān)聯(lián)該用戶名的資源或功能的訪問都要接受特定口令的保護。用戶認(rèn)證機制的主要優(yōu)點是它可以為創(chuàng)造出更復(fù)雜的授權(quán)方案提供選擇。所謂的認(rèn)證(authentication)是證明用戶身份的過程,而授權(quán)(authorization)則是標(biāo)識認(rèn)證用戶可訪問資源的過程。
在特殊情況下,用戶認(rèn)證類型有可能采用多種復(fù)合認(rèn)證技術(shù),基本上分為:
¡ 只有你知道的事情,如賬號和密碼;
¡ 只有你擁有的東西,如身份證、工作證;
只有你具有的特征,如指紋、聲音、虹膜。
1.1. 不同的軟件類型
源程序由各種計算機語言編制而成,計算機語言可分為機器語言(machine language)、匯編語言(assembly language)、過程化語言(procedure language)和非過程化語言(non procedure language)。
軟件由程序、過程(函數(shù))、處理規(guī)則以及相應(yīng)的文檔構(gòu)成。軟件可分為系統(tǒng)軟件(system software)和應(yīng)用軟件(application software),系統(tǒng)軟件用于管理計算機資源并為應(yīng)用軟件提供各種基本的和高級的運算支持,應(yīng)用軟件則是為解決特定問題而編寫的程序。
系統(tǒng)軟件包括操作系統(tǒng)(operating system)、數(shù)據(jù)庫管理系統(tǒng)(database management system)、語言轉(zhuǎn)換程序(1anguage translator)、實用程序(utility program)、中間件(middleware)等。磁盤工具(disk utility)是一種實用程序。大多數(shù)刪除程序只是刪除文件的指針,并不實際刪除文件所包含的數(shù)據(jù)塊,而磁盤工具則可以保證將數(shù)據(jù)塊中的數(shù)據(jù)也一并抹去。
程序根據(jù)其運行的方式可分為可直接執(zhí)行程序和可解釋執(zhí)行程序。
直接執(zhí)行(executable)程序包含二進制機器語言,可由CPU直接運行。編譯器(compiler)將高級過程化語言程序轉(zhuǎn)換成目標(biāo)代碼(objective program),匯編器(assembler)將匯編語言程序轉(zhuǎn)換成目標(biāo)代碼程序,鏈接器(1inker)將多個目標(biāo)代碼程序鏈接成可執(zhí)行程序(executive program)。動態(tài)鏈接庫(DDL:dynamic link libraries)是一種特殊的執(zhí)行程序文件,它在需要時才由主執(zhí)行文件調(diào)入內(nèi)存并執(zhí)行。
解釋執(zhí)行(interpretative)程序包含的是一種中間代碼,不能由CPU直接運行,而需要由解釋程序?qū)⑵滢D(zhuǎn)換成二進制機器語言后再由CPU執(zhí)行。解釋器(interpreter)將高級語言程序轉(zhuǎn)換成中間代碼,并逐行解釋執(zhí)行。宏(macro)程序是解釋運行的程序之一,通常用于記錄重復(fù)執(zhí)行的命令或擊鍵,使用戶能減少擊鍵的次數(shù)。
1.2. 系統(tǒng)開發(fā)方法
隨著信息技術(shù)的發(fā)展,信息系統(tǒng)的開發(fā)越來越成為一個龐大的系統(tǒng)工程,對內(nèi)它涉及組織的內(nèi)部結(jié)構(gòu)、管理模式、業(yè)務(wù)運營、數(shù)據(jù)的收集與處理的各個方面,對外它涉及與其他系統(tǒng)的互聯(lián)與數(shù)據(jù)交換,面對一個大型、復(fù)雜的組織機構(gòu)和管理系統(tǒng),需要有一個系統(tǒng)的開發(fā)方法學(xué)來指導(dǎo)人們進行應(yīng)用軟件開發(fā),并在使用與維護過程中進行有效的管理,以保證應(yīng)用系統(tǒng)的機密性、完整性與可用性。
生命周期法(system life cycle)是一種自頂向下的結(jié)構(gòu)化開發(fā)方法,它把系統(tǒng)生命周期分為六個階段:項目定義(project definition)、系統(tǒng)分析(systems analysis)、系統(tǒng)設(shè)計(design)、編程(programming)、實施(implementing)和后續(xù)維護(post implementation)。對每一個階段的任務(wù)、承擔(dān)人員、職責(zé)、各階段成果及其相互關(guān)系進行了嚴(yán)格的定義,并制定了嚴(yán)密的文檔編制規(guī)范。生命周期法具有系統(tǒng)性、規(guī)范性、嚴(yán)密性等優(yōu)點,其缺點則是開發(fā)周期長、難以適應(yīng)系統(tǒng)需求的快速變化。生命周期法對系統(tǒng)分析的要求極高,一旦系統(tǒng)分析出現(xiàn)偏差,則整個系統(tǒng)開發(fā)過程就可能要推倒重來。
原型法(prototyping)首先根據(jù)用戶的最基本需求迅速開發(fā)一個實驗?zāi)P徒唤o用戶使用,啟發(fā)用戶提出進一步需求,然后對原型進行修改,再使用,再修改,如此反復(fù),直至滿足用戶需求。原型法的優(yōu)點是用戶可以更好地參與系統(tǒng)的需求分析和設(shè)計過程,并在應(yīng)用過程中不斷完善,因此用戶滿意度高,開發(fā)速度較快。但由于原型法需要經(jīng)常根據(jù)用戶的需要迅速修改系統(tǒng),對系統(tǒng)開發(fā)技術(shù)和工具要求極高。通常開發(fā)者只有在擁有并掌握了強大的計算機輔助開發(fā)工具時才有可能應(yīng)用原型開發(fā)方法,因此,原型法又稱為快速原型法或快速應(yīng)用開發(fā)(rapid application development)方法??焖僭头ㄍǔ7帜K創(chuàng)建系統(tǒng)直至整個系統(tǒng)完成,因此往往在系統(tǒng)的整體性和文檔的嚴(yán)密性上不如生命周期法。
面向?qū)ο蟮拈_發(fā)方法認(rèn)為世界是由各種各樣的對象組成,每種對象都有各自的內(nèi)部狀態(tài)和運動規(guī)律,不同對象之間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng)。當(dāng)我們設(shè)計和實現(xiàn)一個客觀系統(tǒng)時,如能在滿足需求的條件下把系統(tǒng)設(shè)計成由一些不可變(相對固定)部分組成的最小結(jié)合,這個設(shè)計就是的。因為它把握了事件的本質(zhì),因而不再會被周圍環(huán)境(物理環(huán)境和管理模式)的變化及用戶不斷變化的需求所左右,而這些不變的部分就是所謂的對象。
1.1. 系統(tǒng)開發(fā)的各項活動
系統(tǒng)分析是對需要用信息系統(tǒng)解決的問題的分析,包括用戶需求分析和系統(tǒng)可行性研究。系統(tǒng)分析工作由系統(tǒng)分析員完成,因此系統(tǒng)分析員是信息系統(tǒng)部門和其他業(yè)務(wù)部門聯(lián)系的主要橋梁。系統(tǒng)分析階段的成果是《系統(tǒng)需求分析規(guī)格書》。能力計劃(capacity planning)是《系統(tǒng)需求分析規(guī)格書》的一個重要組成部分,包括系統(tǒng)能力的設(shè)計目標(biāo)、現(xiàn)有的設(shè)備能力清單以及對未來需求的預(yù)測,它可以確保系統(tǒng)能滿足現(xiàn)有及未來的性能需求,同時避免設(shè)備的浪費。如對于一項網(wǎng)絡(luò)工程,就必須在網(wǎng)絡(luò)實施前考慮程序的重新設(shè)置,并根據(jù)預(yù)期工作流量設(shè)計合適的網(wǎng)絡(luò)改造方案。
系統(tǒng)設(shè)計是按照系統(tǒng)分析的要求來具體設(shè)計系統(tǒng)的過程,通常可分為邏輯設(shè)計和物理設(shè)計。系統(tǒng)設(shè)計階段的成果是《系統(tǒng)設(shè)計規(guī)格書》。
編程是把設(shè)計規(guī)格書轉(zhuǎn)化成計算機軟件代碼的過程。
測試:對所有編好的程序都必須進行詳盡徹底的測試以確定系統(tǒng)是否能產(chǎn)生正確的結(jié)果。為確保系統(tǒng)測試的成功,開發(fā)小組與用戶應(yīng)共同作出一個系統(tǒng)的測試計劃。測試包括:模塊測試(unit testing/program testing)(也叫程序測試)、系統(tǒng)測試(system testing)、驗收測試(acceptance testing)。
轉(zhuǎn)換是用新系統(tǒng)替代老系統(tǒng)的過程。轉(zhuǎn)換策略包括:平行轉(zhuǎn)換策略(parallel strategy)、直接轉(zhuǎn)換策略(direct cutover strategy)、試點轉(zhuǎn)換策略(pilot study strategy)、分階段的轉(zhuǎn)換策略(phased approach strategy)。
運行與維護是為了保障生產(chǎn)系統(tǒng)的正常運營,并解決系統(tǒng)中可能存在的不足,不斷完善系統(tǒng)的功能。
1.2. 數(shù)據(jù)處理方式
根據(jù)處理的時間分為:
¡ 批處理(batch processing):適用于有大量相似數(shù)據(jù)且可以間隔一定時間進行集中處理的數(shù)據(jù)。
¡ 在線處理(on-line processing):適用于需要實時處理的數(shù)據(jù)。
根據(jù)處理的地點分為:
¡ 集中處理(centralized processing):所有處理都在處理中心進行,遠(yuǎn)程終端沒有處理能力。便于加強控制。
¡ 分散處理(decentralized processing):數(shù)據(jù)處理在各個遠(yuǎn)程節(jié)點獨立進行,每個節(jié)點都有自己的獨立處理能力。用戶與系統(tǒng)數(shù)據(jù)最接近。
分布處理(distributed processing):根據(jù)需要決定部分?jǐn)?shù)據(jù)集中處理、部分?jǐn)?shù)據(jù)分配到遠(yuǎn)程節(jié)點共同處理,與分散處理的區(qū)別是:在分布式處理方式下,數(shù)據(jù)更新需要各節(jié)點協(xié)調(diào)進行,并增加了數(shù)據(jù)備份需求。其優(yōu)點是具有弱化保護(fail-soft protection)功能,即某一個節(jié)點發(fā)生故障,其他節(jié)點仍可以照常工作。
1.1. 常用計算機審計技術(shù)
¡ 測試數(shù)據(jù)(test data):審計人員設(shè)計測試數(shù)據(jù)來檢查被審計單位計算機信息系統(tǒng)是否按預(yù)期要求運行。
¡ 平行模擬(parallel simulation):審計人員設(shè)計一種與被審計單位計算機信息系統(tǒng)功能相同的模擬系統(tǒng),將數(shù)據(jù)在被審計單位的信息系統(tǒng)和模擬系統(tǒng)上平行運行,比較兩者運行的結(jié)果是否一致。
¡ 集成測試設(shè)施(integrated test facility):審計人員虛構(gòu)一些公司的數(shù)據(jù)并與被審計單位的真實數(shù)據(jù)一起處理,分析處理結(jié)果。這種方法可以對被審計單位的信息系統(tǒng)進行持續(xù)測試,但其缺點是測試數(shù)據(jù)可能進入被審計單位的真實數(shù)據(jù)環(huán)境。
¡ 嵌入式審計模塊(embedded audit module):在應(yīng)用系統(tǒng)的各個環(huán)節(jié)嵌入審計專用模塊,特點是能對被審計事項進行連續(xù)監(jiān)督。
應(yīng)用計算機審計技術(shù)可以大大提高內(nèi)部審計的效率與效果。如電腦化賬務(wù)處理可以自動平賬,減少了大量人工查找核對的工作。
1.2. 變更控制
變更控制是指計算機系統(tǒng)的任何變動只有經(jīng)過管理層的批準(zhǔn)后才能進行,包括硬件變更控制和程序(軟件)變更控制。
程序變更必須經(jīng)過全面測試并保存文檔,以留下何人、何時、做了何事的線索。良好的變更控制程序可以將擅自編輯生產(chǎn)程序、工作控制語言和操作系統(tǒng)軟件的可能性降到最低限度,減少修改程序給系統(tǒng)帶來的風(fēng)險。例如,若對負(fù)責(zé)系統(tǒng)安裝與維護的程序員缺乏必要的監(jiān)督,該程序員就有可能利用系統(tǒng)的工具軟件對生產(chǎn)程序進行變更,并且不留下任何審計線索。
1.3. 終端用戶計算(終端用戶開發(fā))
指系統(tǒng)的終端用戶在沒有或只有很少技術(shù)專家正式協(xié)助的條件下,自行完成系統(tǒng)開發(fā)的一種開發(fā)策略。這存在一定的風(fēng)險,包括:系統(tǒng)整體分析功能常被忽略,難以和其他系統(tǒng)集成和共享數(shù)據(jù);系統(tǒng)內(nèi)會產(chǎn)生一些專用的信息系統(tǒng);缺乏標(biāo)準(zhǔn)和文檔,使用及維護都嚴(yán)重地依賴開發(fā)者;由于缺乏監(jiān)督,致使相同的信息可能被以不同的方式處理,失去了信息的一致性,這也是終端用戶開發(fā)的系統(tǒng)中最難發(fā)現(xiàn)的缺陷。
對應(yīng)用終端用戶計算的審計包括:確定終端用戶計算的應(yīng)用程序、對應(yīng)用程序風(fēng)險進行排列、對控制情況進行文件處理和測試等。
為降低終端用戶計算的風(fēng)險,內(nèi)部審計師可以建議:在組織內(nèi)部成立以咨詢服務(wù)為主要職能的“信息中心”;制定相應(yīng)的政策、規(guī)章制度來管理用戶開發(fā)。
1.1. 應(yīng)用系統(tǒng)用戶認(rèn)證
用戶認(rèn)證是一種從數(shù)據(jù)庫到操作系統(tǒng)等各類軟件中都很常見的安全防范技術(shù),應(yīng)用系統(tǒng)用戶認(rèn)證從概念上來說是非常簡單的:系統(tǒng)的每一位用戶都被分配了一個的用戶名。對關(guān)聯(lián)該用戶名的資源或功能的訪問都要接受特定口令的保護。用戶認(rèn)證機制的主要優(yōu)點是它可以為創(chuàng)造出更復(fù)雜的授權(quán)方案提供選擇。所謂的認(rèn)證(authentication)是證明用戶身份的過程,而授權(quán)(authorization)則是標(biāo)識認(rèn)證用戶可訪問資源的過程。
在特殊情況下,用戶認(rèn)證類型有可能采用多種復(fù)合認(rèn)證技術(shù),基本上分為:
¡ 只有你知道的事情,如賬號和密碼;
¡ 只有你擁有的東西,如身份證、工作證;
只有你具有的特征,如指紋、聲音、虹膜。