应用GAIT方法.docx
《应用GAIT方法.docx》由会员分享,可在线阅读,更多相关《应用GAIT方法.docx(20页珍藏版)》请在冰点文库上搜索。
应用GAIT方法
应用GAIT方法
为了帮助你应用GAIT,这一部分分为下表5中的几个部分。
表5:
应用GAIT
标题
内容
参见
GAIT简介
GAIT方法的实质
下文
记录GAIT结果
如何记录GAIT结果
第15页
制定GAIT
如何为组织制定GAIT
第15页
组成GAIT评估团队
应用GAIT需要哪些小组成员
第15页
GAIT方法的步骤
应用GAIT方法的每一个步骤
第16页
GAIT简介
GAIT方法检查财务上重要的所有应用程序,以确定每一层中的ITGC过程的故障是否会威胁到应用程序关键功能的持续运作。
一旦发生故障,GAIT将仔细识别ITGC过程风险和相关的ITGC控制目标,这些目标完成时,可以降低风险。
COBIT和其他方法能够识别关键控制点,以确定ITGC控制目标。
总之,GAIT方法通过依次询问以下三个问题来指导读者:
1.哪些具有财务重要性的应用程序的信息技术功能,对于防止/发现重大错报的企业流程关键控制的正常运作是重要的(例如,关键的信息技术功能是什么)?
2.对每一层的IT过程来讲,是否有这样一种可能性,即一个进程故障会引起关键功能的失败——间接地表现为重大错报风险?
(例如,如果某一层上的进程发生故障,会对关键功能上产生什么影响?
它会引起功能失效,以至于有重大错报风险的可能吗?
)
3.如果这样的ITGC过程风险存在,相关的信息技术控制目标是什么?
(例如,为了确保关键功能的实现,需要达到哪些信息技术控制目标?
)
例如
·风险(在应用层的变更管理过程中):
未测试的应用程序变化会导致关键功能失效。
·控制目标:
所有程序变更都要进行适当的测试,并且在运行前对测试结果进行检验和审批。
·关键控制点:
·程序变更的测试在一个独立的测试环境下进行。
·所有测试结果由一名经理检验和审批
·对所有较大的变更进行使用者测试,且测试结果由一名经理审批。
·由高级IT管理者对突发变更进行检验和审批。
记录GAIT结果
本文提供了两种记录GAIT结果的方法:
如下所述的GAIT矩阵和GAIT模板(参见26页的“GAIT模板”)。
然而,不管选择哪种方法,应该详细记录GAIT结果,以使检查者理解形成该结果的基本原理。
GAIT矩阵(见下表6)描述了这个方法,记录具有财务重要性的应用程序的结果。
你可以在每个空格中记录对某一层的企业流程关键功能是否存在风险的评估,并识别相关的IT控制目标。
表6:
空白GAIT矩阵
层面
变更管理
操作
安全
应用层
数据层
操作系统
网络基础
制定GAIT
GAIT是灵活的。
使用者可以根据专业术语的含义和IT控制框架制定步骤。
尤其是,使用者可以在GAIT矩阵的堆栈中使用自己对ITGC过程和标准的定义——如添加使用者访问和特权访问到现有的变动管理,运作,安全中。
有关堆栈的更多信息,参见“原则3”。
组成GAIT评估小组
经验表明,企业使用者通常不能完全理解屏幕上的IT功能及他们使用的报告,并且IT专家也不能完全理解企业流程及其基础。
GAIT评估应当由一个具备企业和IT知识的内部控制专家组成的小组进行。
GAIT起初是由商务专家执行的自上而下的、基于风险的一种方法。
GAIT基于对关键IT功能的理解,依靠这些功能,可以保证企业流程潜在失败点评估中识别出来的企业流程关键控制点(预防和发现财务重大错报)适当运作。
随着GAIT评估的进行,访问IT基础和IT过程的更多技术方面,IT专家越来越重要。
专家应能充分理解和识别关键IT功能(包括关键的自动化控制、关键报告和其他功能)、相关ITGC过程中的潜在失败点,以及适当的ITGC控制目标和关键控制点。
一个完整的小组应该检验和确认GAIT评估结果,确保其适当性和合理性。
GAIT方法步骤
为了应用GAIT方法,应当遵守下列程序中列示的步骤。
程序1:
应用GAIT方法
第一步识别(必要时核实)关键信息技术的功能。
第二步识别需要测试的ITGC的[重要]应用程序。
第三步识别ITGC过程的风险和相关控制目标。
这是GAIT方法的核心。
第四步识别满足控制目标的关键ITGC。
第五步由“合适人员”进行检验。
步骤1识别(必要时核实)关键信息技术的功能
GAIT方法首先评价关键的人工和自动企业控制点,以及其他关键系统功能。
(下表2说明本步骤及下一步骤)。
对企业流程进行自上而下的评估,需要先识别这些关键的人工和自动控制点。
GAIT通过确定GAIT评估基础的目录,继续这种自上而下的评估过程,并确保所有关键IT功能已识别。
在步骤2中使用此目录去识别具有财务重要性的应用程序,例如,哪些应用程序包括在404条款评估和测试的范围之内。
图表2:
步骤1和2
AS/2
识别控制点,以便及时进行错误或舞弊的预防/发现的测试
步骤1
识别/证实关键IT功能
步骤2
识别需要测试的ITGC(重要)应用程序
程序2:
检查关键手动和自动控制点及关键功能
1、检查公司财务过程中的关键控制点、主要报告和其他功能,并确定哪些是手动的,哪些是自动的。
2、列出所依赖的关键IT功能表。
这里包括自动控制(见下面的第3步)及其他主要的IT功能(见下面的第5步)。
自动控制点包括:
·完全自动的控制点(例如,匹配或更新总分类账中的账户)
·人工控制依赖的应用程序功能。
这个功能中的错误可能不会被发现(参见16页的“关键报告”)。
这些人工控制有时也称为“混合控制”。
比如,为发现重复接收的关键控制可能包括检查系统报告。
控制的人工部分应当能够发现报告中的错误,但无法保证报告的完整性。
因此,关键报告应该确定一个范围。
相反,银行余额调节表可能需要使用企业总分类账系统中的报告,显示当前余额、收入及支出。
然而,余额调节控制的正常运作会及时发现报告中的错误。
所以控制的自动部分不是关键,人工部分才是关键。
3、确定关键的自动控制点:
·检查自动控制点,确保这些控制点是关键的。
由不同部门识别人工和自动过程中的风险和相关控制的组织,尤其是使用清单或其他自上而下方法的组织,可能把本不是关键控制的自动控制点作为关键控制点。
·如果自动控制失败,评估是否至少存在一个重大错误没有被发现的可能性。
有时,一些人工关键控制可以在导致重大错误之前察觉自动控制的失败,或发现对重要数据的未授权变更。
这些人工控制点应确认为关键控制点,并且将这些自动控制点从关键控制点目录中删去。
4、确定在应用程序中是否还有其他关键IT功能没有被确认为关键控制,这可能导致故障没有被发现,从而发生财务报表的重大错报。
许多进行计算和依靠财务事项过程和相关会计记录的应用程序没有严格的控制(参见附录的“控制”定义)。
然而,如果功能失效,关键的人工或自动控制都不能发现重大错误。
因此,你需要将任何这样的程序包括进来,作为关键功能,并考虑其风险。
因此,应当确认所有的关键IT功能为具有财务重要性的应用程序。
步骤2:
识别需要测试的ITGC的[重要]应用程序
一旦确定了关键IT功能,就能识别出具有财务重要性的应用程序。
具有财务重要性的应用程序是具有潜在ITGC过程风险的程序,因为它们包含关键IT功能或数据(参见附录的专有名词)。
财务事项过程中的应用程序——不包括关键IT功能和XX变更的数据(可能导致重大错误)——不在404条款的范围之内;相关的ITGC不需要测试。
程序3:
识别需要测试的ITGC应用程序
1、根据应用程序对关键IT功能进行分类。
具有重要功能的应用程序结果列表是将要评估ITGC过程风险的具有财务重要性的应用程序列表。
2、对基于关键IT功能的财务上不是很重要的应用程序,这是一个附加步骤。
该步骤评估直接对应用程序数据进行未授权的修改,是否会导致不能发现的重大错误(参见“原则1”)。
该步骤确定数据的修改是否绕过正常的程序和控制(有时称为“走后门”),是否导致正常的控制程序不能发现的财务上的重大错误。
如果可能,应当使用GAIT,把应用程序作为具有财务重要性的应用程序来评估。
如果不行,则该应用软件不在考虑范围之内。
应该注意,有些计算和其他功能使用在优先程序中生成的数据。
数据的修改会导致不能发现的重大错误,这种风险可能不仅存在于使用数据的应用程序,而且还存在于其他程序中(例如,生成数据的应用程序及任何其他存储数据的程序,因此具有风险)。
如果在这里没有发现对数据进行的修改,那么那些上游程序可以认为在财务上很重要。
3、具有财务重要性的应用程序继续
要点:
如果应用程序中不存在以下内容,那么,它在财务上不重要,且不能信赖ITGC:
a.关键自动(程序)控制
b.关键报告或其他混合控制(依靠IT功能、屏幕、报告等的人工控制)
c.其他关键IT功能
d.能够导致关键控制失败(可以影响下游控制)或其他重大错误的数据修改(即便只是掠过)。
这些数据可以是处理数据或参考数据(例如,价格、信用额度等)
步骤3识别ITGC过程的风险和相关控制目标。
该步骤主要有两件事:
·获取每个重要应用程序的其他信息
·评估每个重要应用程序的ITGC过程风险:
每层的ITGC过程
下图说明该步骤是如何适应GAIT的。
图3:
步骤3
在自上而下过程中面向企业流程的部分,你会对财务信息处理的每个应用程序有一个广泛的理解。
该步骤要识别企业流程中需要测试的适当控制。
完成相关ITGC过程的每个重要应用程序的风险评估,通常需要其他信息。
程序4:
拓展对范围内的应用程序及其基础的理解
完成GAIT评估所需要的信息分为三类:
应用程序基础、相关ITGC过程和风险指标。
表7:
附加应用软件基础构造和风险信息
类别
内容
应用程序基础
理解和评估应用程序堆栈每一层风险的典型信息如下:
·支持应用程序的基础要素(例如,数据库、操作系统、网络和数据中心)
·自动控制是结构设置而非应用程序代码的结果的程度
·使用的数据库技术。
理解其性质和数据库要素变化的频率,如数据库模式,这对关键的自动控制十分重要
·操作系统(例如,应用程序使用什么操作系统,变化频率如何)
·重要界面及其人工控制。
如果它们未被列为关键控制,你需要将其添加到关键自动控制的列表中,如果其故障没有被正常的关键控制发现,就有可能导致重大错误。
·网络基础及其潜在失败点(例如,应用程序及其关键自动控制需要依靠网络的传递,网络失败或网络安全缺口极有可能导致财务报表中存在未能发现的重大错误)
·应用软件是自己研发的,还是购买的?
·应用软件由自己维护,还是外包?
·如何支持应用软件及其基础:
主要是通过共享服务器还是企业各部门独占服务器?
·数据中心是由自己运作,还是外包?
·哪些网络和技术基础运作由自己运作,哪些外包?
·IT是如何组织的?
它的关键功能是相互独立的吗?
风险指标
某些指标在IT过程中显示高风险。
评估风险时应考虑以下方面:
·404条款测试前期或内部审计期间有多少关键控制失效?
是哪些关键控制?
·应用软件的寿命是多少?
多久进行一次修正?
·程序或数据有已知的问题吗?
·财务上重要的任何应用程序功能有已知的问题吗?
·购买的应用软件在多大程度上进行了修正、定制和安装?
·高优先级变更要求的存储是什么?
·程序问题发生的频率?
·突发变化发生的频率?
·关键职位上的员工流动水平是多少?
·员工有多少经验,以及他们接受过足够的培训吗?
GAIT评估的核心现在开始。
对于每个具有财务重要性的应用程序,GAIT经过堆栈的每一层中的每一个IT过程,并且识别IT过程风险和相关控制目标。
与企业流程中的风险相比,评估这一水平上的风险的挑战,就是ITGC过程仅与财务报表间接相关。
在GAIT中,IT过程风险的评估是基于关键IT功能适当运作的风险的。
影响风险评估的另一个因素是,相对于一般企业流程的失败,ITGC过程中的许多失败更有可能是作为正常运行的一部分被发现。
例如,如果安全措施失效,蠕虫或病毒侵入网络,很有可能立刻显示并使其影响最小化。
因此,事件发生就存在风险。
然而,如果事件的性质是会被及时发现,没有及时发现关键功能失败的风险极小——因此,这不可能成为发生财务报表重大错误的原因。
评估风险应考虑:
·IT过程发生失败的可能性及其潜在影响。
这项评估中包括以下几个步骤:
o在引起关键IT功能失效的方式下,IT程序失败的可能性有多大?
o关键功能失效没有被及时发现、从而导致财务报表出现重大错误,这可能吗?
404条款的目的,主要是在可能导致(通过影响关键IT功能)重大错误,而非任何错误的IT程序失败上。
包括仅在理论上可能但不可行的IT程序风险,也会导致404条款的范围无效。
·错误是舞弊(目的是欺诈或其他破坏)还是过失(偶然的)。
对于舞弊(例如,故意插入未授权的代码,或不经授权修改数据),记住:
404条款关注的风险是至少相当可能发生的风险。
本文不提供评估舞弊风险的指南,但建议使用评估企业流程中的舞弊风险的方法。
换句话说,应当不仅评估舞弊发生的可能性,还要评估是否存在让其成为可能的因素(像流动资源的接近,经理制造虚假事件的动机,以及在评估控制环境时发现的其他风险)。
在这一步骤,你开始完成GAIT矩阵。
然而,在你进入填写GAIT矩阵的步骤前(参见“评估ITGC过程失败的风险”),理解ITGC过序在堆栈的每一层中如何变化是十分重要的:
·“应用层IT常规控制过程”。
见下面。
·“数据库层IT常规控制过程”。
见21页。
·“操作系统层IT常规控制过程”。
见21页。
·“网络基础层IT常规控制过程”。
见22页。
应用程序层IT常规控制过程
下表8描述应用程序层的ITGC过程和应考虑的风险。
表8:
应用软件层IT总控制程序和典型的风险
IT常规控制过程
变更管理
变更管理包括许多潜在的风险领域,包括是否:
·新的或改变了的功能被适当设计和审批
·变更被充分测试,以确保正确运作
·使用者接受变化,需要时证实其功能
·未授权变更被阻止
运作
运作具有潜在风险领域,包括:
·确保应用软件按照预期目标运作的控制(如,按要求的速度运行,使用当前参考文档,处理所有输入文档)
·程序错误和异常情况的及时解决
·关键应用程序和数据文档的备份
·接触的物理安全性。
(注意:
在过去,进入计算机机房里的操作控制台被认为有重大风险。
现在,这种情况变得不再重要,因为更有可能通过网络破坏系统安全性,操纵数据)
安全
安全包括数据风险和应用程序代码风险。
IT常规控制过程主要包括:
应用程序安全、访问权的准予和撤回,以及应用程序代码的访问。
注意:
在实施404条款评估的第一年里,一个普遍的缺陷是,程序员能访问程序的源代码(尤其是网络应用程序)。
理论上,程序员能够进行未授权的变更。
然而,进一步的分析和评估通常指出,这种情况导致重大错误(评估对自动控制的影响之后,等)的风险较低。
程序员通常没有进行未授权变更的动机(例如,他们不能接触流动资产),并且未发现重大错误的可能性较小。
在控制测试前,GAIT允许考虑潜在风险,这是一个更有效的方法:
评估风险和仅对可能发生的风险测试,而不是先测试,再决定风险是否有可能发生。
数据库层IT常规控制过程:
一般来讲,应用层或数据库层确认的风险越低,那么在较低层风险存在的可能性就越小。
例如,当操作层或网络基础层的变更管理缺陷理论上可能会导致自动控制功能损坏时,自动控制失败、导致重大错误的可能性相当小。
下表9描述了数据层的ITGC过程:
表9:
数据库层计算机常规控制程序和典型风险
IT常规控制过程
内容
变更管理
这一层的变更管理考虑的是非数据部分的变更风险(如数据库模式)。
经常忽视或对数据库软件发送数据到应用层的方式进行不正确的变更,会导致不完整或不正确的计算和报告。
操作
该层中的操作风险识别程序和应用层操作风险识别是相同的。
安全
这里提到XX直接获取数据。
当传统的数据安全被视为ITGC中最关键的领域之一时,你就被鼓励运用你对整个企业流程的判断和知识,包括关键人工控制,去识别安全性风险,并关注那些至少有可能发生和导致重大错误没有被发现的风险(直接或间接通过其对关键IT功能的影响)。
操作系统层IT常规控制过程
操作系统层的缺陷不太可能导致重大错误(无论是直接通过对数据的未授权修改,还是间接通过其对关键IT功能正确发挥的影响),因为其影响常常立刻显现出来——以使用损耗或程序处理失败的形式。
然而,许多组织及其审计师对操作层的控制进行记录和测试,好像缺陷对自动控制带来不利影响的风险确实存在一样。
你应当运用你的判断和对技术及关键控制(不仅是在ITGC过程中,而且是在整个企业流程中,包括高层次的监督控制)的广泛理解去检查这一层的风险,以确保适当的404条款关注点。
表10描述了操作层的IT常规控制过程。
表10:
操作层IT常规控制过程和典型风险
IT常规控制过程
内容
变更管理
该层的变更管理考虑的是操作系统环境的变化风险,如修护。
操作
该层中的操作风险识别程序和应用层操作风险识别是相同的。
安全
这里提到XX访问操作系统。
你被鼓励运用你对整个企业流程的判断和知识,包括关键人工控制,去识别安全性风险,并关注那些至少有可能发生和导致重大错误没有被发现的风险(直接或间接通过其对关键IT功能的影响)。
典型的是,操作层面的风险很少延伸到基本权限之外和涉及其他特殊权限。
网络基础层IT常规控制过程
一般来讲,组织在这一层的风险很少。
这一层的问题产生的影响不太直接,因此,也不太可能导致关键控制功能的失效或没有能够发现引起财务报表重大错报的数据的变更。
从其他各层的风险评估所获得的信息将有助于该层的风险评估。
要想对这一层进行恰当的范围划定,就需要对应用程序的技术基础有一定的了解(在第二步中了解),并对企业流程和高层次监督程序中的关键控制强弱有一定的认识。
GAIT建议,风险的识别应尽可能关注ITGC程序的关键控制点。
例如,如果一项高度复杂的应用程序接受并验证信用卡网上支付,那么你就应该识别出潜在的网络失败点,以限制所需测试的范围。
程序5:
评估ITGC程序失败的风险
1、对于每一个具有财务重要性的应用程序,识别具体的ITGC程序风险以及IT基础中每一层的相关控制目标。
简言之,经过GAIT矩阵的每一个单元,回答适当的问题,在下表11中列示。
每个问题的重心都在重大错误风险。
就如早先讨论的,ITGC程序风险并不直接导致财务报表中的重大错误,它们也许会导致关键自动控制的失败和其他一些关键IT功能(例如,关键报告)一如既往地如所要求的那样运行,进而导致不能预防和发现财务报表中的重大错误。
2、记录下GAIT矩阵(参见26页的“GAIT矩阵模板”)或GAIT模板(参见27页的“GAIT模板”)的结果。
在必要的时候利用补充方法,如COBIT,以保证评估的完整性。
表11:
GAIT矩阵每个单元要问的问题
层级
变更管理
操作
安全
应用层
是否存在至少有可能影响关键功能的变更管理失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序代码相关的变更管理控制不在范围之内。
我们认为,这种情况不太可能发生的。
是否存在至少有可能影响关键功能的操作失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应程序代码相关的操作控制不在范围之内。
是否存在至少有可能影响关键功能的安全性失败,以致一种或多种功能失效,以及重大错误没有被发现?
或者说,是否存在至少有可能导致XX进行某个程序中数据的变更的安全性失败,以致财务报表重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序代码相关的安全性控制不在范围之内。
数据库层
是否存在至少有可能影响关键功能的变更管理失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序数据库相关的变更管理控制不在范围之内。
是否存在至少有可能影响关键功能的操作失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序数据库相关的操作控制不在范围之内。
是否存在至少有可能影响关键功能的安全性失败,以致一种或多种功能失效,以及重大错误没有被发现?
或者说,是否存在至少有可能导致XX进行数据和其他部分(如数据库模式)的变更的安全性失败,以致财务报表重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序数据库相关的安全性控制不在范围之内。
操作系统层
是否存在至少有可能影响关键功能的变更管理失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序操作系统相关的变更管理控制不在范围之内。
是否存在至少有可能影响关键功能的操作失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序操作系统相关的操作控制不在范围之内。
是否存在至少有可能影响关键功能的安全性失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序操作系统相关的安全性控制不在范围之内。
网络基础层
是否存在至少有可能影响关键功能的变更管理失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序网络基础相关的变更管理控制不在范围之内。
是否存在至少有可能影响关键功能的操作失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序网络基础相关的操作控制不在范围之内。
是否存在至少有可能影响关键功能的安全性失败,以致一种或多种功能失效,以及重大错误没有被发现?
·如果是,确认风险及相关控制目标。
·如果不是,与应用程序网络基础相关的安全性控制不在范围之内。
步骤4识别满足控制目标的关键ITGC
所有风险和相关IT控制目标确定之后,就能够确定ITGC中的具体关键控制点。
框架结构,例如COBIT,有很大的帮助。
这种GAIT方法论并不延伸到404条款测试的下一步。
我们唯一能够提供的建议就是,每一个ITGC关键控制点都应该与通过GAIT确定的IT控制目标相联系,从而与有风险的关键IT功能的适当操作相联系。
这一部分提供的信息是关于:
·“评估ITGC的存在性”。
见下文。
·“选择可以信赖的关键控制,并测试”。
见30页。
评估ITGC的存在性
ITGC常常被认为很普遍,因为ITGC过程中的控制倾向于影响不止一项自动控制,并且很多控制影响不止一个应用程序。
到了这一步,方法是:
·识别,对于大多数组织,相同风险,当对多个应用程序进行风险评估时。
例如,不同的应用程序可能会使用相同的操作系统或数据库。
·不用识别合计风险,当在多个具有财务重要性的应用程序中的关键IT功能风险受到单个ITGC程序失败的影响时。
那就是说,关键功能的潜在失败可能会累积成很可能发生重大错误的风险。
单个ITGC程序控制的缺陷会影响不同具有财务重要性的应用程序中的关键IT功能或复杂数据库。
尽管单独一个缺陷不会有高风险,但ITGC程序缺陷的累积影响会产生高风险。
GAIT利用之前阶段的结果去引导你进行独立评估。
这个独立评估测试单个ITGC程序或风险是否会影响多个应用程序,以及是否很有可能导致多个关键控制失败,这些失败合计起来至少有可能产生重大错误。
在这些情况下,要把风险加到那些需要识