一、我国企业会计电算化和管理信息系统
我国企业会计电算化和管理信息系统的发展与我国会计软件的发展是基本同步的。从1979年我国在长春一汽开始进行会计电算化系统开发探索始,我国的会计软件应用发展大致经历了非商品化的开发过程、单一模型会计软件阶段、核算型会计软件、管理型会计软件、ERP会计软件(战略型会计软件)这五个阶段。从目前应用的广泛性和前景看,后三种软件较为人们所关注。
电子审计轨迹分析
(一)核算型会计软件
随着电算化的普及,财务软件也从帐务、工资等单项处理,过渡到深入全面的会计核算,如往来、存货、成本等,形成了以核算为体系的会计软件。目前国内主要会计软件,都具有这些功能。但核算型会计软件缺乏管理思想,很难与企业管理信息系统(MIS)融为一体。
(二)管理型会计软件
为适应经济和提高企业自身管理水平,许多企业迫切需要会计软件能具有资金管理、核算、项目管理核算、财务分析、辅助决策的功能,这就形成了管理型会计软件,管理型会计软件突破了会计软件只局限于会计核算的界限,向全面参予管理决策发展。
(三)ERP会计软件(战略型会计软件)
随着我国企业从重视内部管理,以提高生产效率、降低成本为核心的生产管理时代,到面向市场的,以建立全面竞争优势为核心的新管理时代,会计软件从管理型发展到战略型、实现企业内部物流、资金流与信息流的一体化管理,实现管理与决策有机统一,并将适应在Internet/Intranet/Extranet上,实现与外部资源的统一,会计软件从离散的部门级应用走向整体的企业级应用。企业信息化建设的一个重要阶段是建设企业核心的业务管理和应用系统阶段。而在这个阶段最有代表性的是企业内部的资源计划系统ERP。ERP是一种科学管理思想的计算机实现,他对产品研发和设计、作业控制、生产计划、投入品采购、市场营销、销售、库存、财务和人事等方面以及相应的模块组成部分,采取集成优化的方式进行管理。ERP不是机械的适应企业现有的流程,而是对企业流程中不合理的部分提出改进和优化建议,并可能导致组织机构的重新设计和业务流程重组。
从实际应用分析,我国企业电子化的水平不一,有的企业尚未电子化,有的还处于或者单一模型会计软件阶段或者核算型会计软件阶段。另外,同样是在ERP级的企业,其应用水平也有较大差异,有的只是部分甚至单一模块的应用,有的只是将其作为原有信息管理系统的补充,有的网络管理相当薄弱。但是,企业电子化发展的趋势是不可逆转的,现在只要有企业要建设信息化系统,他就会超越会计软件发展的低级阶段,而将瞄准其最新的研究成果上,也就是说,一旦企业进行电子化的再造,其涉及的领域将空前广泛,不仅仅是会计电算化,而是产、供、销、设备、仓储、运输、设计、质量乃至人教劳资等企业管理的各个领域。目前越来越多的企业在加紧企业管理信息系统的建设,这从我国财务及企业管理软件开发供应商的规模上也可反映出来。我国财务及企业管理软件开发供应商已涌现出了包括用友、金蝶、安易等一大批公司,据用友公司介绍,仅用友截止2000年年初,其地区分、子公司50余家,代理商500余家,客户服务中心100余家,行业覆盖率100%,用户数约20万家,除此之外,还有大量上规模的企业在自行开发应用。由此可见,企业电子审计的环境已逐步形成,且其电子化的色彩将伴随着电子商务的产生和发展而变得越来越浓。
二、现行电子审计轨迹分析
审计轨迹,是指在经济业务和会计制度核算中通过编码、交叉索引和连接帐户余额与原始交易数据的书面资料所提供的一连串的信息企业的会计系统应为每笔业务、每项经济活动提供一个完整的审计轨迹。审计轨迹对企业管理当局和审计人员都很重要,企业管理当局可使用审计轨迹来答复客户对有关资料的询问或质疑,审计人员可使用审计轨迹来验证和追查经济活动。没有审计轨迹,审计工作将难以开展。在电子环境下,那些原来审计人员常见的记帐凭证、明细帐表、科目汇总表、有个性的笔迹等有的已消失,有的发生了变化,变得更加隐藏、更加复杂,从而加大了审计工作的难度。当前,我国会计软件的开发正处于从起步到形成产业的阶段,由于考虑到会计处理系统的效率和研制成本等原因,软件开发在设计开发中,对如何充分保留并提供审计轨迹却未给予足够重视。换句话说,更加详细地描述审计轨迹的会计软件的开发还需进一步努力补缺。因此,国家有关部门应尽快出台有关制度、标准,使设计者有章可循,审计人员有标准可依。
(一)应用软件层
目前由国内企业开发的知名财务软件产品包括金蝶、用友和安易、新中大等,其软件产品也较丰富,一种较为流行的审计轨迹安排就是上机日志。各系统随时对各个产品或模块的每个操作员的上下机时间、操作的具体功能等情况都进行登记,形成上机日志,以便使所有的操作都有所记录、有迹可寻。由于上机日志数量庞大,为了便于审计人员有重点地进行选择,迅速发现问题,通常系统还会提供过滤功能,这样,审计人员就可以选择那些在符合性测试中发现的较薄弱的内部控制环节进行有重点的实质性测试,提高工作效率。另外,系统还提供了从报表到凭证和从凭证到报表的双向查询功能,从而建立了一条应用程序内的审计轨迹。
(二)数据库层
1、Microsoft SQL Server2000
Microsoft Sql Server是企业信息管理系统中应用较为广泛的一种数据库管理系统,从版本上看,其产品主要有SYBASE SQL SERVER, Microsoft SQL SERVER4,Microsoft SQL SERVER6,Microsoft SQL SERVER6.5,Microsoft SQL SERVER7.0,Microsoft SQL SERVER2000。微软公司最新推出的关系型数据库管理系统Microsoft SQL SERVER2000是一个面向下一代的数据库和数据分析系统,具有很高的可靠性、可伸缩性、可用性、可管理性等特点。Microsoft SQL SERVER2000是一种典型的具有客户机/服务器体系结构的关系型数据库管理系统,他使用TRANS-ACT-SQL语句在客户机和服务器之间传送请求和回应。Microsoft SQL SERVER2000带有的常用工具包括SQL SERVER ENTERPRISE MANAGER、SQL SERVER OUERY ANALYZER、各类向导工具和SQLSERVER PROFILER。其中我们在创建审计轨迹中可以利用的工具是SQL SERVER PROFILER。
设计者开发SQL SERVER PROFILER工具的目的是为了捕捉系统的活动,用于分析、诊断和审计系统的性能。可以利用其跟踪事件的功能,通过适当的设置来安排我们的审计轨迹。为了使用这一工具,必须创建一个跟踪定义,一旦定义了跟踪,我们就可以启动、停止、暂停和继续运行跟踪。当其运行时,SQL SERVER PROFILER监测指定服务器上的SQL SERVER事件,并且为所选的事件捕捉满足过滤条件的指定数据。当这种跟踪数据被捕捉时可以交互显示,并且将跟踪结果存储在指定的表或文件中。例如,我们可以在TRACE PROPERTIES窗口的GENERAL选项卡中指定跟踪服务器的名称(应当将其设置成财务软件运行的数据库服务器名),跟踪文件保存的地点(应当是一个相对安全的地点),跟踪失效的时间点等;在EVENTS选项卡中指定希望使用该跟踪捕捉的事件(如将TSQL事件分类中的STMTCOMPLETED事件选入,则将对已经完成的TRANSACT-SQL语句进行捕捉):在DATA COLUMNS选项卡中设置需要捕捉的数据列(如将DATABASENAME,STARTTIME,ENDTIME,TEXT,LOGINNAME,OBJECTNAME等选入数据列,则将对语句正在其中运行的数据库名、事件开始的时间、事件结束的时间、当前指定的对象名、用户登录系统的名称、捕捉到跟踪中的事件类的文本值等进行捕捉)。
一旦设置完成,就可以运行跟踪了。跟踪可以是持续运行的,为了不影响系统的性能,我们应当及时将相应的跟踪文件备份。当然,审计人员应当根据被审计方的实际情况作出运行跟踪最佳时间的职业判断以便提高系统的运行效率。
SQL SERVER PROFIIER提供了由用户定义跟踪事件数据的功能,但这一功能是有限的。一个更可行更灵活的方案是利用Microsoft SQL SERVER2000提供的触发器技术。
2、ORACLE8
ORACLE8数据库从其安全性考虑,设有多个安全层,并且可以对各层进行审计,利用ORACLE8自带的这种审计功能,我们可以安排所需的财务审计轨迹。ORACLE8具有审计发生在其内部所有动作的能力,审计记录可以写入SYS.AUD$的审计踪迹,可以被审计的三种不同的操作类型包括:注册企图、对象访问和数据库操作,利用其中的对对象的数据交换操作审计功能,就可以获得相应的审计轨迹。
首先我们使数据库允许审计,必须在INIT.ORA文件中的AUDITTRAIL值设为DB(允许审计,并将审计结果写入SYS.AUD$表),对于特定的表(如ACCOUNT表),我们所需要的审计轨迹主要是插入(INSERT、删除(DELETE)和更新 (UPDATE)操作,可以利用以下的语句来进行:AUDIT INSERT ON ACCOUNT BY ACCESS;AUDIT UPDAT E ON ACCOUNT BY ACCESS;AUDIT DELETE ON ACCOUNT BY ACCESS;上述语句指定了一个审计记录在每次插入、删除和更新ACCOUNT表时写入,审计记录结果可以通过对DBA-AUDIT-OBJECT视图的查询进行显示。
如果在SYS.AUD$上储存信息,就必须先保护该表,否则用户可通过非法操作来删除审计踪迹,由于SYS.AUD$是存在数据库内的,可通过以下命令来保护该表:AUDIT ALL ON SYSAUD$ BY ACCESS;而且对该表的操作只能由具有CONNECT INTERNAL能力的用户来删除(例如,在DBA组中)。
另外,ORACLE8的触发器功能也是较强大的,如可以建立A和B两个触发器来对TABI表设置审计轨迹,并将轨迹记录在TAB2、TAB3表中。
CREAT TRIGGER A
AFTER INSERT OR UPDATE OR DELETE ON TAB1
DECLARE
STATEMENTTYPE CHAR(1);
BEGIN
IF INSERTING THEN
STATEMENTTYPE:=‘I’;
ELSIF UPDATING THEN
STATEMENTTYPE:=‘U’;
ELSE
STATEMENTTYPE:‘D’;
END IF;
INSERT INTO TAB2
VALUES(SYSDATE,STATEMENTTYPE, USER);
END A;
CREAT TRIGGER B
BEFORE INSERT OR UPDATE OR DELETE ON TAB1
FOR EACH ROW
BEGIN
INSERT INTO TAB3
VALUES(SYSDATE,USER,
NEW.ID,: NEW.RECORDER,:OLD.ID,:OLD,RECORDER);
END B;
3、其他数据库
ACCESS、FOXPRO等数据库可以通过设置密码等方式来限制访问,但直接利用数据库本身来设置审计轨迹是很困难的。
(三)操作系统层
1、Windows2000操作系统
Windows2000是微软最近推出的操作系统,其覆盖的用户面之广是史无前例的:从家庭用户、商业用户、笔记本用户、工作组服务器、部门服务器到提供企业计算和安全环境的高级服务器到可以提供全球联机电子交易服务的数据中心服务器。尽管可以分为四个版本:PROFESSIONAL(专业版)、SERVER(服务器版)、ADVANCED SERVER(高级服务器版)和DATACENTER SERVER(数据中心服务器版),然而内核和界面是一样的,区别仅在于支持的CPU数量和某些高级功能和服务。作为单用户多任务的内置网络功能操作系统,Windows2000拥有一个健全的用户帐户和工作环境,利用其固有的安全机制,可以安排我们的审计轨迹。
Windows2000使用“本地安全设置”更精确地管理工作组中的用户和资源,它将安全策略地分成两类:帐户策略和本地策略。其中,本地策略包括审核策略、用户权利指派和安全选项,其中的审核策略就是用来指定要记录的事件类型,这些类型涉及从系统范围的事件(例如用户登录)到指定事件(例如某用户试图读取某个特定文件),这些事件包括成功事件、不成功事件或兼而有之。审核记录写入计算机的安全日志,通过“事件查看器”我们可以获得部分审计轨迹。
为了控制各种审计轨迹文件的数量,同时为了保护重要文件(包括审计踪迹文件)不被非法删除、修改,Windows2000新的“加密文件系统”(EFS提供了一种核心文件加密技术,该技术用于在NTFS文件系统卷上存储已加密文件。对已加密的文件的用户,加密是透明的。但是,试图访问已加密文件的入侵者将被禁止这些操作。具体操作时既可以通过为文件设置加密属性,也可以用命令行功能CIPHER加密文件。当然,利用Windows2000的文件和文件夹权限设置功能,也可以控制各种审计轨迹文件的数量。
2、UNIX操作系统
从安全性来讲,普遍的观点是UNIX操作系统的安全性能高于Windows操作系统,正因为如此,UNIX操作系统也为我们提供了获取更多,更精确的审计轨迹的可能性。UNIX能自动生成很多日志文件,这些日志文件可以形成我们的审计轨迹。
UNIX的日志分为三类:
(1)连接时间日志——由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/Utmp,login等程序更新wtmp和utmp文件,使我们能够跟踪谁在何时登录到系统。
(2)进程统计——由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录,进程统计的目的是为系统中的基本服务提供命令使用统计。
(3)错误日志——由syslogd执行。各种系统守护进程、用户程序和内核通过syslog向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志,像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
这三类日志中,连接时间日志是我们从中发现审计轨迹的最重要的一类,其中的utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键——保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中:登录进入和退出纪录在文件wtmp中:最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中,所有的纪录都包含时间戳。
另外,一旦启动进程统计子系统,UNIX可以跟踪每个用户运行的每条命令,从中也可以建立我们的审计轨迹。
(四)网络环境(网络安全)
电子数据是通过计算机网络进行传输的,传输的数据是否准确和安全,涉及计算机网络技术的可靠性和网络系统的安全管理问题。计算机网络技术已经基本成熟,但网络上的数据传递的安全仍然是一个重要的问题,需要审计人员关注的是系统数据的安全评价问题。
对等网络虽然具有廉价、易于建立、运行和维护等优点,但对于企业级的联网选择来说,这绝对不是一个最佳选择,由于网络中每台计算机地位均等,要对整个网络进行管理就缺乏手段,同样要设置有效的审计轨迹就较为困难了。
对企业来说,客户机一服务器网络是一种较好的选择,通过服务器上的网络管理软件或应用软件,是可以设置审计轨迹的。另外,利用网络的其他外部设备,如路由器,也可以安排相应的审计轨迹。
三、
电子审计轨迹标准的设想
(一)
应用软件层
首先,应设置相应的安全访问控制,记录各种访问,尤其是数据更改、删除和新增的记录必须保留。其次,从报表审计角度,必须提供从凭证到报表数据和从报表数据到凭证以及凭证与凭证之间的查询工具。最后,各种电子凭证必须具备防抵赖、防伪造和可追溯性,如可采用可靠的电子签名来代替原有的手签。
(二)数据库层、操作系统层和
网络环境
在这些层面,主要是考虑安全访问控制,必须严禁各种非法的未经授权的数据访问,必须记录数据更改、删除和新增的操作,同时应能自动保护记录审计轨迹的文件。
(三)保护审计轨迹
1、从硬件上保护审计轨迹
一旦系统投入运行,如出于某种原因需要对某些设备更换、更改布局、更改设置或升级,必须将其对审计轨迹的
影响纳入产品选择或更改的考核范围。
2、从软件上保护审计轨迹
必须进行系统开发审计,系统开发审计是对被审单位的
会计电算化系统的开发、修改及日常维护过程的审计。对系统开发进行审计的主要目的是确保开发经过授权,开发过程遵循正确的标准,修改部分在使用前经过充分的测试和记录。系统开发审计的
内容:系统开发审计包括应用程序开发审计、程序修改审计和系统维护及记录审计。其中,应将审计轨迹的保护作为审计的一项重要内容。
3、从网络应用上保护审计轨迹
应加强网络安全管理,保护审计轨迹。安全管理是网络管理中极其重要的内容,它涉及法规、人事、设备、技术、环境等诸多因素,是一项难度很大的工作;单就技术性方面的管理而言,依据OSI安全体系结构,可分为:系统安全管理、安全服务管理和特定的安全机制管理。其中,后两类管理分别是针对涉及某种特定、具体的安全服务与安全机制的管理;而系统安全管理则又包括总体安全策略的管理(维护与修改)、事件处理管理、安全审计管理、安全恢复管理以及与其他两类安全管理的交互和协调。
(四)内部控制制度
1、职责分离
除传统的业务执行、记录、批准职能分离外,程序设计、系统维护、业务操作和内部审计各类职责也应分离。
2、内部审计
除传统审计业务外,还应设置系统安全审计、系统开发审计等岗位。
3、制定各种规章制度
包括数据接触制度、数据储存、备份与更改制度、程序设计与更改制度、系统管理与维护制度和各种内部审计制度。
展望未来,随着
计算机技术在各个领域的广泛应用,应该说电子审计是大势所趋,电子审计轨迹是我们必须面对的一大课题。建立、保护、再现审计轨迹是我们每一个审计工作者的职责,而消除、破坏、隐藏审计轨迹又是每一个企图提供虚假信息者必须考虑的手段,这一对矛盾的
发展,必将推动对电子审计轨迹的
研究。众所周知,可以用日新月异来描绘计算机技术的发展,因此,对电子审计轨迹的研究也将是一项不断发展的工作,有待于我们持续地研究。