CISA注册信息系统审计师学习笔记:第三章——信息系统采购、开发和实施

写程序来测试授权中的冲突是一个检测职责分离的可行的方案。

双路市电是解决电力中断的预防措施。

当传输数据时,将一个序列号及/或时间戳加入消息中来使其(该消息)变得具有唯一性,从而使得接受者能够确定消息在传输工程中没有被拦截和重放。这既是公认的重放预防(Replay Protection),可以用来确认一个支付指令不是被复制的。使用密码学的哈希算法来处理整个消息可以确保(传输过程中的)数据完整性。使用发送者的密钥来加密消息摘要,即对(收到的)消息时,这保证了该消息只能来自于对应的发送者。这个对发送者进行认证的过程保证了不可抵赖性。

由于未建立业务案例,所以应用程序开发外包的业务理由、风险和风险管理缓解策略可能都无法得到高层管理人员的全面评估和正式批准。这种情况给组织带来的风险最大。业务案例需指明项目意义、成本、风险等信息,是项目方向的总体指导。技术经理关注技术实现的问题,而不是项目的意义和价值。项目期限估算技术:CPM,某任务增添人手,加强工期约束,可能引起关键路径(比如零松弛时间)的变化。从风险管理的角度来看,分阶段部署实施是最可靠的。

可行性分析需研究技术可行性、成本,而不是技术细节(比如通讯协议)。

为了正确的检查一个局域网的实施,信息系统审计师应该首先核实网络图和确认批准。核实节点列表的节点应该在网络图后,接着检查接受测试报告,然后是用户列表。网络设备没有修改默认密码最危险。保证web应用的可用性和保密性,需要对服务器进行加固。

组织达到软件CMM(能力成熟度模型)最高级别五级,最优化,需要做到持续优化,以便达到纠正措施或预防措施。量化的质量目标只能达到四级以下;文档化流程在三级和更低级执行:为某一特殊项目定制的流程只能达到二级或更低级。CMM的主要目的还是为了保障开发出的产品质量可靠。CMM建立起软件开发项目的标准流程。

用户对系统的接受程度、也就是组织整体环境对软件实施影响最大。用户对最终的结果进行审查,而不对技术细节负责。用户对项目交付成果有决定权。定期评价交付有助于评估项目偏离度。

PERT方法(项目评审技术/项目期限估算技术)的工作原理是基于项目事件的三种可能情形(最好、最坏、正常)下获得的项目的时间表,时间表由事先定义的公式计算,并识别关键路径,识别出的关键活动必须是最优先的。EVA(挣值分析法)是跟踪项目成本和项目成果的技术,但对任务优先级排序没有帮助,甘特图是一个简单的项目管理工具,并对于优先级排序需求有帮助,但是它没有PERT更有效。FPA(功能点分析法)评估输入和输出的复杂性,间接测量项目复杂度和大小,但对于项目活动优先级排序没有帮助。项目期限估算技术:时间盒子管理,设置具体的时间和成本的界限。非常适用于原型和RAD,集成系统和用户验收测试,但不能消減对质量流程的需要。

没有通过软件基线管理系统(软件基线是系统的设计和开发阶段的调整点)需求将会导致一系列的风险,其中最大的风险就是范围蔓延。软件功能性是基于现有功能属性和他们的特定属性的属性设置,功能性是安全说明或隐含的需求,功能性是已有的功能性清单和它们得具体内容。软件离岸开发最重要的是规范。

业务流程重建(BPR)之后的结果(业务流程重建后的业务流程图)是审计师最关注的,BPR步骤包含业务流程重建计划、持续改进和监控计划。

项目指导委员会,提供一个ERP实施项目的总体方向,负责审查项目的进展,以确保实现预期的结果的负责。项目的发起人通常是负责被应用支持的主要业务单位的管理者。发起人为项目提供资金,并与项目经理监督关键成功因素和标准。发起人不负责审查项目的进度。SDPT(系统开发项目团队)与用户组有效的沟通完成项目经理分配的任务。SDPT不负责审查项目的进度。UPT(用户项目组)与开发组有效的沟通完成项目经理分配的任务。UPT不负责审查项目的进度。RAD(快速应用程序开发)是一种管理技术用于组织快速开发战略上的重要系统,在减少开发成本和确保项目的质量情况下,更注重知识管理和传承。基于组件的开发方法能够结合多种开发语言开发组成一个系统。

QA质量保障不能向项目经理汇报,影响独立性。

网络应用程序参数的恶意更改被称作参数篡改。跨网脚本攻击包括已被入侵的网页重定向用户到入侵者的网站内容。Cookie中毒是指为了冒充用户或者窃取登陆证明而拦截和更改会话Cookies。隐藏区域的使用和Cookies中毒没有关系。隐藏运行命令是通过安装未授权代码的web服务器劫持。当使用隐藏形式可能会增加服务器被入侵的危险,最常见的服务器漏洞包括服务器操作系统或网络服务器的脆弱性。

面向对象编程允许对软件进行常规性重用,并增加了代码的可靠性,封装加固数据安全性。结构化编程是“jumpless”无跳转的编程,通过禁止程序的Jump(跳转),可消除造成错误的诱因,但是这种编码方法主题任务的合适的逻辑结构,这可能花费大量的时间。Microprogramming是在机器级别上的汇编程序,它即花费时间也会产生关键性错误。线性编程是一种优化任务的数学解决方法,比如最大利润或者最小成本,但是要给出一个特定的数学模型才起作用,用于特殊的、范围有限的特定任务。虚拟机(VMs)通常用来优化编程和测试架构。开发环境(VM架构)与生产基础设施(三层物理架构)不同。

由于SaaS依赖互联网进行连接,所以SaaS环境下最可能遇到的风险是速度和可用性问题。SaaS以使用而非许可为基础进行提供;因此,不存在不遵守软件许可协议或许可费方面的风险。此外,开放式设计和互联网连接也让大部分SaaS可以虚拟方式进行,因而不需要硬件。SaaS提供商通常不会为组织提供现场支持。因此,组织及其提供商之间的事故处理流程对于事故的检测、沟通和解决非常重要,包括有效的沟通渠道和上报流程。除非组织的工作站被废弃,否则升级不会成为SaaS模式的一个问题,这是因为大多数作为SaaS运行程序采用了通常的技术,允许用户在不同的设备上运行软件。软件购置费用的降低是SaaS带来的众多好处之一。系统参数配置有误将导致系统不可用,带来的风险最大。

定期更换IT资产是为了减少维护成本。

再造系统是对原有系统的有效性,适应性和扩展性需要进行再造以便维持运行,再造工程是应用程序语言动态整合新功能到现有系统。逆向工程设计机器码得到源程序。原型法是系统开发方法。软件重用是计划过程,分析和使用以前开发的软件组件,重用组件是有规划的集成到当前软件产品中。

元数据的质量(准确性)不好直接导致BI系统的业务价值不能实现,业务数据的完整性对于数据仓库来说至关重要,两系统的数据语义特征相对应才能保证数据完整性。DSS(决策支持系统)支持半结构化的数据分析,强调决策方法的灵活性,无法确定目标和使用模式将导致DSS失去业务价值。

并联运行转换是最安全、最昂贵的方法,由于新老系统的并行运行,导致双重的成本,产生了最大的冗余。直接切换是相当危险的,它不提供“过度期”也没有的后备选择。试点和分阶段的方法是逐步进行,回滚程序难以执行。在项目的数据转换期间,数据所有者主要负责检查和签收数据的完整性和准确性的有效。信息系统审计师应该确保在项目的数据转换期间数据被数据所有者检查和签收。数据库管理员的主要责任是维护数据库的完整性,并使数据库满足用户的使用。

系统刚上线后的评审主要关注控制是否有效(但是最佳时间是需求收集时期)、是否符合用户需求、项目管理过程等内容。用户验收测试(UAT)应在开发阶段执行;审计痕迹应在程序一开始实施的时候就被激活;更新EA图标是最佳实践;实施后,效益分析或投资收益分析用来证明组织的商业利益实现情况。实施过程中最大的风险就是参数配置错误导致系统不可用。

变更管理中的冻结点后的变更需求需进行成本效益评估。数据脱敏会导致不能全面进行功能测试。审计工具包会产生性能问题,故需要执行压力测试。代码签名保证完整性。

Beta测试时测试的最后阶段,通常包括开发领域之外的用户。Beta测试是用户接受测试的一种形式(UAT测试),且通常包括有限外部开发工作用户。Alpha测试是Bata测试之前的一个测试阶段,通常由程序员和业务分析师完成,而不是用户。Alpha测试用来识别bug或者故障,这些bug和故障可以在外部用户开始beta测试之前被修正。白盒测试被用来评估软件程序逻辑的有效性,测试数据被用来确定被测试的程序的程序正确性。换句话说,这只是程序操作的想象方法,不在功能级别上。白盒测试通常不包括外部用户。黑盒测试是一个测试软件模块的动态测试软件模块的工具。回归测试是重新运行一部分测试场景已确定修改或修正没有引入其他错误的过程。换句话说,多次成功的程序修改后运行相同的测试数据以确保一个问题的“补丁”没有破坏程序的其他部分。回归测试不是测试的最后阶段,通常也不包括外部用户。集成测试评估两个或多个组件的连接,这些组件将信息从一个地方传递到另一个地方。目标是利用经过单元测试的模块,并根据设计建立一个集成的结构。接受测试(出现错误对系统实施有最大影响)确定解决方案是否满足业务需求,并且是在系统成员完成最初系统测试以后进行。该测试既包括质量保证测试(QAT),也包括了用户接受测试(UAT),尽管这两种测试没有结合在一起。系统测试包含测试团队或系统维护成员进行的一系列测试以确保修改的程序与其他组件正确的交互,系统测试参考系统的功能需求。单元测试参考系统的详细设计,并使用一组案例来明确程序设计的控制结构以确保程序的内部操作是根据详细说明书来完成的。基础方案系统评估使用测试数据集开发作为全面测试的部分。在验收前它用来检测系统操作的正确性,和定期检验一样。测试数据/层通过真实程序模拟交易。完整性测试在数据库中建立虚构文件同时用实际输入测试交易处理。平行模拟是使用计算机程序模拟应用程序逻辑的数据处理产品。社交类测试的目的是确认一个新的或者经修改过的目标环境里的操作没有对现有的系统造成不利的影响。这应该包括将进行主要应用处理的平台和与其他系统的接口,以及对桌面的变更和基于客户端-服务器或者web开发平台。并行测试时同时输入书库到两个系统,并比较结果。在这种情况,同时操作新旧系统,并进行相同的处理。抽样测试是从一个抽样推广到其他,目的是检测新系统在实施前是令人满意的。接口测试是一种硬件或者软件测试,为了评估信息流通过两个或者更多的组件的连接。目标是为了进一步的单元测试和集成结构。

决策树使用调查问卷来引导用户通过一系列选择直到做出结论。规则是通过条件关系做出的含有定义性的表达。语义网络是由含有具体节点或概念性对象的图标组成,并用弧线描述节点关系,语义网络类似数据流图,充分利用数据继承机制防止数据的重复。

applet是一种通过从服务器经过网络发布的JAVA程序,通过浏览器或者客户机,代码在客户机上运行。由于服务器不运行程序,并且结果输出不通过网络发送,通过使用applet,web服务器和网络性能在服务和客户端的链接大大改善了。由于JVM通常嵌入浏览器,通过web浏览器下载applet运行在web浏览器的客户端上,并不通过web服务器。Web服务有助两个系统之间的信息交流,不受操作系统和编程语言影响。

映射可以确定尚未被测试的具体程序逻辑,还可以在执行期间分析程序以指出程序语句是否已经执行。快照可以记录流经程序的逻辑路径而设计的指定交易。跟踪和标签显示了应用程序指令执行线索,快照对于在执行程序逻辑时观察到的信息拍照。记录是为了将来的审计而记录了特殊活动的任务。SCARF(系统控制审计复合文件)使用预定义的异常情况。必须定义“异常”的结构,以供软件进行捕获。GAS(通用审计软件)是一个不需要预设信息的数据分析工具。集成测试设施测试数据的处理情况,无法用于监控实时交易。

基于web的应用程序代码,黑客通常是利用缓冲区溢出技术,因为缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行名种非法操作。暴力攻击是用来破解密码。分布式拒绝服务攻击只是采用很多台计算机作为向目标发送信息的攻击源头,从而使被攻击者更加难以防范。战争拨号攻击使用扫描工具来破解PBX。没有做代码审查,容易产生编程的漏洞,如sql注入、缓冲溢出、跨站脚本等。

顺序检查涉及将编号升序排列,以及验证凭证是否按顺序进行,从而预防凭证重复输入。范围检查仅作用于某范围内的编号,即使同样的凭证编号出现,它也仍满足条件,因此不适用。置换和替代被用于编码但是并不适用于建立一个唯一的凭证编号。循环冗余校验(CRC)被用于检查网络接收数据的完整性,但是在应用程序代码层面的校验上没有用处。

在ERP系统中,审计痕迹保留了对数据变更的所有信息,如变更的人员、变更的日期、变更值等等。如果交易数据的审计痕迹未被激活,就很难识别出修改的数据和检测出任何未授权的修改,影响系统数据的完整性。

功能确认是标准的EDI(电子数据交换系统)交易,用于告知交易对象已收到他们的电子文件,不同类型的功能确认提供了不同级别的细节,因此能够作为EDI交易的审计痕迹。

自动系统平衡将是最好的方法,确保没有丢失交易由于在总输入和总输出之间的不平衡将用于调查和改正报告。有效性控制和内部可信性检查当然是有效控制,但是没有检测和报告交易的丢失。另外,虽然文书程序能用来总结和比较输入和输出,但是自动化的过程很少受错误影响。

事务日志记在了非法输入的情况,事务日志能够记录所有的事务活动,比较授权原始文档以验证是否有未授权修改。控制台日志比对不是最佳的,因为他并不记录特定中断的活动。自动化的不确定文件列表仅能列出当生产错误的数据编辑时的事务活动。用户错误报告仅能显示输入时的编辑错误。

完整性检查用于确定一个字段是否包含数据和非0或空的。检验数字是数字计算算法确保原始数据不被修改。存在性检查输入数据与预先确定的标准是否一致。合理性检查输入到语言合理的限定或出现的比例表是否匹配。

确保数据在远程站点进行输入验证后传入主处理站点十分重要。远程站点先进行校验,再传至主站。

哈希运算是检测数据处理进程错误的有效手段。自动化的控制例如编辑检查或精心设计的数据输入审查是预防性质的控制。职责分享主要是确保一个人不能同时有创建和批准的权限,这不是检测错误的一种方法,而是一种预防错误的方法。

事务的原子性(完整性)要求所执行的事务要么全部执行要么完全不执行。如果在交易过程中发生错误,所有的变化都必须同滚到事务最初的状态。一致性确保了数据中的数据在不同的交易过程中维持一致的状态。隔离性,确保每一个事务在执行过程中与期货事务是相对隔离的状态,对外是不可见的。持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据连中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。前映像存储技术在转存中断之前转储的最后交易不会更新到数据库。

在EDI中。各方之间的交互是电子的,没有内嵌认证,因此交易的授权是最大的风险。

文件头记录中的内部标签(包含文件头记录的内部标签)为适当的数据文件是被使用并且容许自动检查提供了保证。惯用版本能帮助确保是正确的文件和版本。奇偶校验是数据完整性校验方法,通常被使用在数据传输程序上,可以帮助确认数据和程序文件是被成功转移的。文件安全控制能用于提供保证,未被授权的用户不能非法访问应用程序或者读取、更改数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值