一、信息系统与数据的关系 当前的信息化社会环境下,被审计对象的财务信息、业务信息已经逐渐标准化,在计算机信息系统内统一存储和处理,管理流程、业务流程、内部控制进过优化组合,按照一定的标准规范固化在信息系统中。数据作为信息系统的血液,流程和内控作为信息系统的神经系统,已经融为一体。单从系统和数据两方面来看,信息系统审计若片面强调计算机系统的控制和安全,脱离了财务和业务数据的支持,就会面临无法可依的尴尬;同样,单纯的财务、业务数据审计也是片面的,缺乏系统的支持,一些深层次和隐蔽的问题又难以发现。 采集转换被审计单位的数据,根据财务制度、业务流程和审计经验来分析数据,以审计的视角验证数据的真实性、完整性、合规性,由此来获取审计疑点,这是数据脱离信息系统后的体外循环;另一方面,被审计单位的信息系统包含了应用软件的功能设计、控制流程、逻辑流程和各模块之间的接口,反映了被审计单位的业务特色、内控管理和其他想要实现的意图。体外循环的数据审计并不能完全覆盖系统的处理过程,真实合规的数据不一定能证明信息系统的合规性。需要构造测试数据或其他方法来测评信息系统本身,从而发现软件系统的漏洞、缺陷甚至舞弊功能等深层次问题。 信息系统和数据两者互相依赖,密切关联,从审计质量和效果来看,审计时必须同时关注这两个方面。从审计法律依据来看,信息系统审计的内容和范围还是要以财政收支、财务收支数据为核心,可以适度延伸相关的信息系统和资料,对系统的评价要依赖于数据的真实性、完整性和合法性。 二、信息系统审计的内容和实施步骤 在目前阶段,信息系统审计内容应该是:以财政收支、财务收支及相关业务为核心,用法律法规、数据勾稽关系、业务处理逻辑、内部控制流程、审计经验、外部数据关联关系等建立审计模型,重点对财务业务数据进行采集转换和分析验证,在以上基础上对信息系统进行检测,最后依据有关的法规进行评价和处理。 在目前环境下进行信息系统审计应该以数据审计为重点,信息系统测评为辅助,关键在于审计模型的建立和使用。 信息系统审计项目的开展实施方面,应该按照三个步骤进行。 (一)了解和获取被审计对象基础情况和数据、资料。 根据确立的审计目标,了解被审计对象所执行的会计制度,相关法规、政策性文件,关键的内部控制制度,业务范围和流程,所使用的信息系统(主要包括网络环境、财务和业务应用软件、数据库、操作系统、需要的数据种类和数据量),对应的文档资料(主要包括信息系统的设计开发维护文档、操作文档、用户使用手册、数据字典或数据的结构说明、主要软件系统的配置信息等),信息系统技术支持人员的能力和配合程度等。在了解的基础上,获取以上的文档资料和数据。 (二)组合财务人员和计算机专业人员,对获取的文档、资料和基础数据进行解读,理解业务逻辑、处理流程,辅以审计人员的审计经验,构建审计对象的审计模型,在此基础上对获取的数据进行转换、清理和计算、验证、分析等处理,初步发现和认定部分疑点,并检测和确定业务关键控制点和薄弱点。 (三)在搭建的模拟环境或者审计对象的信息系统上进行测评,主要采取对应用软件的关键处理逻辑、输入输出控制进行观察,输入测试数据验证、采用技术手段跟踪模块的运行逻辑、查阅分析日志操作、阅读部分源代码等手段,验证数据审计的疑点,测试应用软件的逻辑错误、控制风险,进一步发现系统的缺陷和舞弊功能,最终归结到违反有关法规制度上来。 三、审计模型的建立和系统软件的测评 按照以上的步骤进行审计时,重点在于审计模型的建立和信息系统软件的测评。 (一)审计模型的建立 审计模型的建立和对数据的分析解读,这是信息系统审计的关键所在。通过学习审计对象相关法规文档资料和业务流程,构造出业务流程图、资金流程图、数据流程图,把纷繁复杂的业务过程拆分成相对独立的子模块。针对每个具体的业务环节进行建模,常用的方法有: 1. 根据政策法规来建立审计模型。对于特定行业的业务,相关的法律法规一般都规定的非常具体,因此可以依据具体的条文,将法律法规的定量、定性规定具体化为模型中的筛选、分组、计算、统计等条件,对反应具体业务内容的特定字段设定判断、限制等条件,以此来建立审计模型。 2. 根据审计对象的业务逻辑和数据勾稽关系建立审计模型。业务逻辑和数据勾稽关系往往是具体的业务之间固定的关系的直接反应,如汇总关系、比例关系、计算方法等,如个人门诊的医药费和具体的病种、年龄和级别等关系,彩票销售数据和中奖、兑奖数据的关联性等,以此可以建立多个计算模型,对原始数据进行验证。 3. 依据审计对象和其他单位的外部数据关联关系建立审计模型。大多数单位的经济活动都不是完全孤立进行的,总要和其他单位或部门发生财务、业务的往来,比如社保资金收缴时和税务部门的关系,发放时和财政、银行的关系,福彩公益金在彩票机构、财政部门、民政部门之间的流动等,都可以用来建立关联审计模型,并且这种模型利用了外部数据,可以在一定程度上检测该单位数据的真实性和完整性。 4. 利用审计人员的审计经验来建立审计模型。审计人员在长期的对某类问题或某行业的反复审计过程中,往往能摸索、总结出此类问题或此行业的特征,利用这种经验,可以举一反三,触类旁通,比如对现金、银行支出分录中的摘要进行某些关键字词的搜索,有时候可以很快的筛选或锁定一些其他审计模型难以发现的隐蔽问题,从而提供了有力的线索。 使用建立的审计模型,一方面验证数据自身的有效性、完整性和真实性,另一方面对主要业务处理过程和逻辑进行模拟和验证,掌握审计对象关键的业务控制点。 (二)信息系统软件的测评 利用审计模型对数据和业务进行分析验证,在发现线索、疑点或者确定了业务流程关键点、薄弱点的基础上,进一步采取技术方法有针对性的测试软件系统,从而发现问题的根源,发现数据审计之外的问题。 常用的方法是检查软件输入界面控制,在输入数据的同时是否检测数据的有效性和完整性,是否可以临时调整特定重要参数,是否在输入的数据之间进行逻辑关联验证,是否对不同权限人员的操作进行准确的控制等。我们可以根据前期审计发现的疑点问题进行在线数据的查询和取证。 1、黑盒测试 在自行搭建的模拟环境或被审计单位的测试系统上进行数据验证,改动关键计算参数,构造并输入一些边界数据、关键值数据、不合理的数据、逻辑错误的数据,观察输入界面的反应,检查系统对数据的处理过程(比如查看操作处理日志),验证对应输出的数据。在无法直接查看处理模块源程序的时候,通过测试数据的输入输出关联性,判断输入控制的缺陷和猜测处理过程的合规性。 2、白盒测试 为了确定前期所查出问题的根源,有时候需要查看相应的软件设计开发文档,挑选具体模块的源程序进行检查和测试,从而直接发现有问题或者设计错误、有缺陷甚至非法的代码。这样就能在底层发现系统问题和数据无法测试出来的隐藏的舞弊功能代码,判断程序功能是否合法。这种测试法对审计人员的技术水平和被审计单位需要提供的资料都有很高的要求。 3.灰盒测试 被审计对象的基础数据大都存储于商业化标准关系数据库中,应用软件软件的处理逻辑是通过编制好的内部程序流程对输入的数据进行处理,并与后台数据库实时交互,读取、处理、写入相关的数据。通过技术手段,实时跟踪关键业务的软件模块与后台数据库之间的数据连接和处理过程,并得到跟踪返回的代码,主要是sql语句。由此来分析理解软件的处理流程,判断软件的合法合规性。相比较完全不了解系统内部运行机制的黑盒测试法和需要完全了解系统内部程序结构、代码的白盒测试法,这种分析关键处理程序代码(并非源代码)的测试法更实用有效。 比如后台是sql server数据库时,在应用软件的机器上使用“事件探查器”工具,对软件的某一个具体操作进行动作跟踪,查看软件和后台数据库交互的sql语句,在了解软件业务处理内容和后台数据结构的基础上,分析该具体操作的处理逻辑,判断业务处理的合规性。 在对应用软件进行输入控制的测试和处理控制的黑、白、灰盒测试的基础上,可以对信息系统的后台数据库进行检测,主要检测数据库的用户身份认证、数据库的存取控制、数据库的备份恢复控制、数据库的日志等,检测数据库和前台应用软件的关联性,从而从数据库的角度来发现一些信息系统软件的其他问题。
|