基于移动Agent的计算机审计系统模型研究,本文主要内容关键词为:模型论文,计算机论文,系统论文,Agent论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、网络环境下的计算机审计系统模型特点
目前的计算机审计普遍采用一种“数据集中和专家找问题”方式,即要求将一些分布存储在被审计单位各种业务、财务系统中的数据收集到一个集中的地方,然后由审计专家在这些集中的数据里查找问题。随着被审计单位的交易日益频繁,这种模式无法做到实时审计和在线审计,而且这种审计模式要求企业有高速的数据通信网络。然而,虽然目前网络带宽在增加,但还是比不上企业数据增长的速度,结果导致通过有限的网络带宽来移动分布存储的大容量的数据。审计流程中强调专家的个人能力,即要求审计小组由审计组长牵头制订审计流程和确定集中采集哪些数据。但是,这种依赖于个人能力和经验的操作方式往往需要多次反复集中收集数据,这在要求实时审计和在线审计条件下是“不可思议”的。同时,这种方式也破坏了数据的私有性和安全性。在这种审计方式下,被审计单位的业务数据、资金往来数据“暴露无遗”,无疑给被审计单位的经济情报等方面的保护工作带来巨大的威胁。在某些情况下,系统安全意味着用户使用一些不能离开本站点的敏感数据,这也让目前的审计方式无法做到。因此,被审计数据的分布式存储、数据的私有性与安全性、实时审计和在线审计等方面的要求迫切需要我们深入分布式环境下的计算机审计技术。
分布式审计是适应经济的新发展、提高稽核监督的工作效率、保证企业实时动态地被审计监控,保障企业的业务及资金流动的合理有序,提高企业资金的风险灵敏度,更有效地把信用风险、市场风险和操作风险降到最低。分布式审计系统是一个复杂的分布式大系统,同时,随着审计项目日益繁杂,网络环境下的分布式审计系统模型应该具有以下特点:(1)模块化设计,保证系统中不同模块可以根据需要进行灵活的增减和配置以及分布式审计系统的持续可用。(2)灵活审计,满足分布式审计系统的多层次用户的需要。(3)分布式移动审计,支持审计算法的移动性。(4)知识共享,采用通用的知识表示方式(或标准)实现各个业务系统上分布式审计以及审计系统与其他系统的信息交互。(5)平台无关,保证各个系统上的审计算法,全局审计算法,以及系统功能模块能够完成不同平台上的数据处理和通讯任务。(6)安全保证,满足被审计单位数据安全的需要。
二、Agent可能带来的改善及应用可行性
Agent研究是当前人工智能研究的热点问题之一。普遍认为Agent是具有拟人的智能特性的客观世界中的实体,可以是软件、硬件或人等。而移动Agent是一种自治的软件实体,在需要的时候可以中断执行而把自己传输到网络上的另一台主机,在新近驻留的主机上从它中断的地方继续执行。移动Agent技术将服务请求Agent动态地移到服务器端执行,它直接与服务代理或服务器上的其他资源交互以完成任务,从而避免大量数据的网络传送。同时,移动Agent可以由用户创建并异步地在不同的主机上运行,待任务完成后再将结果传送给用户,从而形成并行分布式求解的能力。因此,在分布式审计模型中引入Agent技术的意义主要表现为:
(一)由于Agent是独立的功能实体,在一个移动Agent系统中,单个功能Agent可增加到系统中或者从系统中删除,并且可对某个Agent进行重新配置,而不会影响到系统的其他部分,因而较好解决了目前审计软件系统模块化不足等问题,满足系统设计的模块化要求。
(二)在一个由移动Agent组成的分布式审计系统中,单个Agent的失效只会影响到该Agent和与之协作的部分Agent,系统的其他部分仍能正常工作。如果能将审计系统的功能合理地分配给各个Agent,就能大大减少系统瘫痪的风险。
(三)移动Agent具有均衡负载、节省网络带宽、提高响应速度、有效利用各主机资源等特性。移动Agent可以迁移到主机上,并与之进行本地高速通信,直接面对要访问的主机资源,这种本地通信不占用网络资源,大大降低了系统对网络带宽的依赖。同时,Agent的移动性为实现分布式移动审计提供了保证。
(四)提高效率和快速响应能力。审计是一个多阶段的过程,而且这些阶段又是相互作用和不断反复的。采用了Agent技术,可以将不同阶段不同任务由不同的Agent来完成,而且这些Agent之间可以并行分布式地协作完成。这样,大大提高了效率和快速响应能力。
(五)通过在被审计单位的业务系统服务器上驻留移动Agent,可以随时分析异常情况,并实时传递到审计监控中心,保证了整个系统的实时性。同时,采用移动Agent系统,改变了以前被动收集信息的方式,可以随时收集任意业务数据,体现了系统的主动性。这样,本系统就可以实现在线审计和事中审计。同时,审计任务由移动Agent在数据站点上或数据站点之间进行完成,只需要少量的或没有业务、财务数据的移动,这样审计工作能够满足被审计单位业务、财务数据安全性的要求。
技术的不断成熟保证了基于移动Agent分布式审计系统的实现。面向Agent的程序设计方(Agent-Oriented Programming,AOP)和Java语言的发展为我们实现基于Agent技术的分布式审计系统提供了技术保证。
三、基于移动Agent技术的分布式审计系统
针对网络环境下计算机审计系统模型特点,本文采用移动Agent技术,提出了一种基于移动Agent的分布式审计模型。如图1所示,整个模型由三部分组成:人机界面、审计子系统和被审计单位子系统。这里,首先概要介绍这三部分的功能,然后着重分析审计子系统组成结构和相应Agent功能特点以及审计Agent的特点等。
图1 基于移动Agent的分布式计算机审计模型
(一)系统组成
1.人机界面。人机界面是用户与计算机审计系统互操作的渠道,完成用户的审计输入和审计结果的显示。例如,用户可以选择审计模型(审计算法)、数据源、审计初始流程;用户可以完成系统中Agent的知识和规则的更新,弥补系统知识的不足;也可以输入一些基本信息,如,在不同时期,针对不同性质的被审计单位,可以设定进行资金流审计的最低额度等等;用户还可以选择最终的结果的可视化形式。同时,人机界面显示审计子系统中“智能用户Agent”提交的审计结果信息。
2.审计子系统。审计子系统是分布式审计系统的核心。其中,协调 Agent负责协调控制整个审计任务的执行,为不同的审计任务或同一审计任务创建多个并行协同工作的移动Agent,并负责Agent之间的协作和信息交互,是该子系统的“信息交换中枢和决策控制中心”;智能用户Agent将用户提交的审计任务转变成协调Agent可接受的“审计任务”,并负责将审计结果按照用户指定的可视化形式提交给用户或保存在自身的知识库中以待用户查询;审计算法Agent管理审计算法的注册维护等,并将已注册的审计算法信息提交给协调Agent,以便协调Agent根据审计任务选择最佳的审计算法;分析Agent采用数据挖掘算法,根据数据环境的变化自动生成、更新检测模型及运行参数,是体现该系统自适应的核心部件;审计Agent运用分析Agent分配的检测模型或审计算法Agent提供的审计算法完成具体的审计任务,并为分析Agent提供异常数据;数据站点管理Agent主要负责被审计单位Agent服务器的基本信息,如Agent服务器的启动、停止状态信息、位置信息以及数据源信息等;审计Agent管理器负责管理所有审计Agent的相关信息。
3.被审计单位子系统。被审计单位子系统包括Agent服务器、业务部子系统和数据站点三部分组成的。其中,Agent服务器保存有本地数据站点的有关信息,如本地数据的形式、数据库管理系统、业务数据库表结构、数据范围等。每个Agent服务器向数据站点管理Agent注册,并及时更新数据站点管理Agent中的有关内容以便协调Agent有效地规划审计任务。同时,Agent服务器为审计Agent提供服务设施和提供移动管理器、运行管理器、通信管理器和安全管理器等。这里,Agent服务器和业务部子系统运行在指定被审计单位的专用服务器上。
(二)审计子系统
上面介绍了分布式审计模型中的三个主要部分的内部结构功能等,本部分着重分析该模型的核心部分——审计子系统中各组成Agent的功能及它们之间的协作关系。如图1所示,审计子系统由协调Agent、审计Agent、智能用户Agent、审计算法Agent、分析Agent和数据站点管理Agent组成。这些Agent协调一致地工作,它们的功能以及它们之间的协作关系分析如下:
1.智能用户Agent。该Agent代表用户向审计子系统提出审计请求。只需要用户提出相应的要求或者做一系列的选择,智能用户Agent就可以将用户要求转化为协调Agent能够识别的命令并提交给协调Agent进行任务的计划分配;智能用户Agent还负责处理通过人机接口输入的系统更新信息等,如审计特定算法参数,Agent知识和规则等。该Agent除了处理用户输入的信息外,它还需要能够保存审计子系统的审计结果等输出信息或直接提交这些信息给用户拥有的人机接口。
2.协调Agent。它主要完成下列三项任务:(1)任务规划优化,主要完成审计任务的规划,并选择最优的规划方案。它与审计算法Agent、分析Agent、审计Agent管理器和数据站点管理Agent交互,得到审计算法效率功能特点、异常数据模型、系统中审计Agent的功能状态、数据站点数据集大小以及数据变化趋势等信息来确定相应的审计方案以尽可能满足用户需要。该Agent具有实时规划能力以满足因某个移动Agent的失效而进行任务的重新规划;(2)依据规划结果,协调Agent创建并命名多个并行协同工作的装载有审计算法或审计模型的移动审计Agent,并将这些移动Agent的基本信息注册到审计Agent管理器中;(3)审计整个过程的协作协调,主要协调审计过程的各个Agent以及维护系统当前的运行状态信息等。它得到一个有关系统状态信息的参考点。它可以看成是分布式审计任务的一个描述各Agent的操作基点的动态目录。同时,协调Agent也是系统中Agent信息交换中心,负责维护Agent之间信息的交互传递等。
3.审计Agent。该Agent是移动Agent,由协调Agent创建,并移动到协调器指定的数据站点进行数据分析,并将自身的位置信息和状态信息传递给审计Agent管理器,将审计分析反馈给协调器以进行数据结果的融合。审计Agent运用自身携带的审计模型、审计算法或请求协调Agent得到的审计模型等完成具体的审计子任务,并为分析Agent提供异常数据。
4.审计Agent管理器。负责管理所有审计Agent的相关信息,这样各种Agent通过与管理Agent交互便可以动态获取其他Agent的属性信息(位置、功能等),从而与其他Agent进行交互,以获取所需要的信息。它是实现系统分布式透明性的关键,主要用于收集、管理、统计、查询各种Agent信息资源,按其功能分类或建立Agent联盟。同时,它也担当可信任的安全认证中心,保证各Agent之间的安全通信机制。
5.审计算法Aeent。审计算法Agent主要负责维护审计分析算法。用户可以注册审计分析算法。当算法注册到系统中,算法Agent登记算法的元知识信息及其特点(比如,名字、版本、输入参数、操作环境描述和输出格式等)。同时,算法Agent将这些信息反馈给协调Agent。
6.数据站点管理Agent。数据站点管理Agent主要负责被审计单位Agent服务器的基本信息,如Agent服务器的启动、停止状态信息、位置信息以及数据源信息等。当Agent服务器及时将其启动、停止信息注册到数据站点管理器以便协调器合理规划审计任务,但在进行实时在线审计中,Agent服务器不能关闭。为了维护Agent服务器和防止Agent服务器出现故障,往往在被审计单位提供同步工作的Agent服务器。
7.分析Agent。分析Agent采用数据挖掘算法,根据审计Agent提供的异常数据自动生成、更新审计模型及运行参数,是体现审计子系统自适应的核心部件。它主要包括异常信息传递模块和自适应模式产生机构。
审计子系统由7类功能各异协同工作的Agent组成,当接受到用户提交的具体审计任务后,系统自动有条不紊地对被审计单位的财务数据进行审计,及时发现问题并以多种形式向审计单位监控中心提交审计结果,达到规范经营活动和金融风险预警等目的。其中,审计Agent是审计任务执行的关键,下面简要介绍本模型中审计Agent的组成结构。
(三)审计Agent
审计Agent是一种移动Agent,每个审计Agent都是一个相对独立的审计单元,利用其自带的审计算法和知识库信息等执行审计任务;还可以不断地从分析Agent中获取最新的知识用于审计。审计Agent封装了描述其状态的属性以便当Agent移动到另一主机上重新开始工作和向审计Agent管理器返回信息。图2给出了一个审计Agent的内部结构,该结构包含下列模块:
图2 审计Agent结构
1.接口模块:主要将审计Agent的内部机制与外界隔离,所有信息交流都通过该接口。该模块包含与协调Agent和Agent服务器进行交互接口和消息的传递接口以及与数据源的联接接口。该Agent交流的信息包括控制信息、异常信息、算法更新模式信息、审计数据等。
2.安全控制模块:对移动Agent自身提供保护;防止外部环境对审计Agent的非法访问,以保证数据的正确性和合法性;完成对数据的加/解密、数字签名等任务。
3.审计模块:首先对业务、财务审计数据进行规范化,然后依据审计算法和审计模型来对已经规范化的数据进行分析,确定这些数据中是否包含不符合操作规程的行为数据或异常情况。最后,将分析得到异常数据上传给协调Agent,以便做进一步综合分析。
4.知识库:由协调Agent进行初始化,主要存放审计算法、审计模型和其他一些分析审计需要的知识。
标签:审计软件论文; 分布式算法论文; 用户研究论文; 审计计划论文; 审计流程论文; 数据单位论文; 功能分析论文; 用户分析论文; 算法论文;