审计软件开发-审计大师软件视频
一、应用系统开发审计
(一)业务概述
组织的信息系统开发根据方式不同,通常包括自主开发、外委开发、或者二者兼有的开发方式。组织在进行信息系统开发时,应当根据自身技术力量、资金状况、发展目标等实际情况,选择适合自身的开发方式和合作伙伴。
应用系统开发工作包括需求分析、架构设计、软件实现、系统测试、用户测试、系统试运行、系统验收、系统上线、数据迁移和产品维护等内容。
(二)审计目标和内容
审计目标:通过规范开发程序,提高信息系统开发的可控性、安全性、可靠性和经济性,揭示信息系统开发环节存在的风险及问题,提出完善信息系统开发控制的审计意见和建议,实现组织目标。
审计内容:开发组织机构设置、资源配置情况。开发过程中与业务部门的沟通情况。系统开发全过程的需求分析、架构设计、软件实现、系统测试、用户测试、系统试运行、系统验收、系统上线和数据迁移、产品维护等内容的质量、安全管理情况。
(三)常见问题和风险
组织自主开发方式下的应用系统主要存在以下常见问题及风险:
1.组织未成立专门的开发建设项目组,可能导致信息系统开发建设责任制未落实的风险。
2.信息系统开发工作缺乏必要支持。组织内部无专业技术人员或是缺乏必要的财务支持,导致开发失败的风险。
3.信息系统开发过程没有业务部门人员参与,未定期与业务部门共同审核信息系统的开发建设情况,未及时发现系统不能满足业务的需要,可能导致与业务需求不相符的风险。
4.组织未制定合理的项目生命周期管理方案和符合质量管理标准的质量控制体系,不能有效控制开发质量;开发过程中未进行必要的安全控制,未对源代码进行有效管理和严格审查可能导致的风险。
5.项目需求说明书阐述业务范围及内容不清晰,未能结合需求制定出最优化的技术设计方案的风险。开发环境、测试环境和生产环境未分离,网络未有效隔离,设备未独立于生产系统,开发人员直接接触生产系统,直接使用未经批准并脱敏的生产数据,导致泄密或造成生产系统受损的风险。
6.在开发过程中未根据用户提出的业务需求,制定信息系统变更程序相关制度或变更程序不合理,导致与承建方或第三方产生合同法律纠纷或费用超支、工期延误的风险。
7.信息系统开发工作完成后,未及时进行交付导致系统无法发挥作用的风险,未加强信息系统项目开发设计、源代码、技术使用、运行维护说明书、用户手册等文档管理和文档版本控制导致的开发效率低、不经济的风险。
8.数据继承和迁移:组织在对信息系统升级变更时,未对历史数据的继承和迁移给予足够的重视。未对数据结构进行合理规划,未对数据进行兼容性分析,导致因兼容性不够而造成的历史数据无法使用和继承的风险。
除常见风险外,外委开发项目还应关注下列风险与问题:
1.组织的信息管理部门对外委项目开发未进行有效的管理与控制,导致信息系统开发计划与实际运行不符,信息系统项目无法按时完工的风险。
2.组织未及时与外部受托单位沟通项目开发阶段的计划执行情况,导致实施内容与建设目标偏离,造成开发工作无法满足组织需求的开发风险。
3.组织未对外包开发的技术人员加强管理,离职的开发人员未签订保密协议而造成泄密的风险。未对外包开发的开发方进行充分调研分析,不能保证系统可靠性的风险。
(四)审计的主要方法和程序
自主开发项目的主要审计方法和程序
1.调阅项目相关的制度、流程、指引和开发建设文档,查看是否有专门的项目组织机构,是否分配相应职责。
2.查看项目开发进度报告是否包括计划的重大变更、关键人员或供应商的变更以及主要费用支出情况,检查组织是否建立了质量检测和风险评估机制等。
3.检查组织的信息系统需求和技术架构评估文档,查看系统需求与业务目标是否保持一致;检查需求详细说明书,项目进度及详细的软件开发计划。
4.询问系统开发小组负责人,了解组织是否建立了系统开发质量控制体系以及质量控制检查和监督记录。
5.检查系统开发环境、测试环境和运行环境是否分离,网络是否有效隔离,设备是否独立于生产系统,开发人员是否不得接触生产系统,开发过程中是否使用了生产数据,使用的生产数据是否得到管理层的批准并经过脱敏或相关限制。
6.检查系统开发过程中,是否进行了安全控制,是否对源代码进行了有效管理和严格检查,系统所有入口是否都经过安全规则的控制,并在系统开发文档中全部注明。
7.检查是否制定了组织信息系统开发文档管理规范、制度,查看项目开发设计、源代码、技术使用和运行维护说明书、用户使用手册,风险评估报告等项目文档管理是否符合规范,是否进行了文档的版本控制;检查组织是否有系统开发过程的检查记录,是否对系统完整性、恶意代码和后门程序进行了防范。
除常用检查程序外,外委开发项目还应采取以下审计方法和程序:
1.检查外委项目的系统开发中组织信息管理部门与外部受托方的协调与沟通的记录,检查组织根据信息系统要求及时调整开发进度与考核的书面资料,是否存在系统开发偏离开发目标的问题,是否存在项目开发计划与进度不匹配的问题。
2.检查外委项目关键技术人员的管理制度及保密协议,是否存在开发人员频繁调整影响开发进度,是否存在离职未签订保密协议造成泄密的情况。
3.获取项目组关于业务需求变更的处理资料,检查是否根据项目需求及时变更项目开发程序,且该变更是否经过适当的授权与审批。
二、应用系统测试审计
(一)业务概述
系统测试是指在规定条件下操作信息系统,以发现程序错误,衡量系统质量,评估其是否能满足设计要求的过程。通过测试避免开发风险。测试结论一般分为同意通过测试、需复议和不同意通过测试三种情况。
系统测试主要包括功能测试、界面测试、可靠性测试、易用性测试和性能测试。功能测试主要针对功能可用性、功能实现程度(功能流程和业务流程、数据处理和业务数据处理)等方面,一般包括系统单元测试、集成测试、性能测试、安全测试、用户测试等内容。
(二)审计目标和内容
审计目标:组织通过对测试方案和测试标准、测试步骤、测试用例和所需的系统设置要求过程开展审计,达到对信息系统项目的功能性、效益性和经济性进行评价。
审计内容:包括但不限于各阶段的测试计划与方案、各部分的测试报告,测试数据及对测试结果存在偏差的更正记录等。
(三)常见问题和风险
1.测试计划、标准、步骤、用例和所需的系统设置要求不清晰、不明确,特别是缺少最终用户测试,导致无法实现需求功能的风险。
2.测试过程中存在BUG,在执行测试时未发现或发现后未与开发方沟通导致的BUG,未及时修正或对已修正的BUG未进行返测的风险。
3.在系统测试完成后,未提交测试报告;未及时为用户测试准备数据,测试数据脱离生产环境的实际数据或与系统所实现的设计要求不符的风险。
4.测试人员未依据安全技术标准进行安全测试,发生数据安全事故。
5.系统安装部署手册、功能测试报告、集成测试报告、性能测试报告、用户培训教材等测试文档不全或出现缺失的风险。
6.系统实施结果未经充分测试即投入使用,程序功能上的缺陷或系统配置上的错误未能及时发现,导致系统运行不稳定或业务功能失效的风险。
(四)审计的主要方法和程序
1.获取信息系统的测试计划及标准、各阶段的测试报告,特别是最终用户的测试报告,现场演示系统运行效果审计软件开发,以检查测试结果满足功能需求的真实性和有效性。
2.获取测试中发现问题的解决方案审计软件开发,检查测试发现的问题是否已得到解决;系统变更测试的环境是否与生产环境严格分离,检查是否对变更人员、日期、目的、内容、影响等进行审核,是否按照组织设立的审批流程对系统变更进行审核。
3.组织在进行新旧系统切换时,是否开展业务数据兼容性测试,是否制订了详细的数据迁移计划;检查业务系统上线前,是否进行过数据迁移测试和数据有效性、兼容性验证。调阅信息系统升级文档,是否进行过更新;检查是否制订了相关制度、标准和流程,以保证信息系统开发、测试、维护过程中数据的完整性、保密性和可用性。
信息系统测试过程管理风险
三、应用系统上线验收审计
(一)业务概述
系统上线包括应用注册、生产资源申请及运行监控、系统及数据初始化、信息安全评估、技术架构符合性评估等。信息系统初始化工作,包括系统的权限设置、数据准备、流程配置以及提交用户手册、系统维护手册、应急处理办法,对运行人员、业务管理人员和业务操作人员进行培训,开发人员与运行维护人员职责移交等。
(二)审计目标和内容
审计目标:组织通过对系统上线验收资料、验收程序、验收方式的审计,达到规范和完善组织对信息系统的上线验收工作,保证项目按时上线、发挥应有作用。
审计内容:包括但不限于验收资料,验收报告、检查工作报告、技术报告和用户报告、系统上线批复、用户操作手册、系统维护手册及相应的适用规章制度的建立和落实。
(三)常见问题和风险
1.未根据项目目标妥善进行验收或验收不规范,损害组织利益的验收风险。
2.系统上线后,由于组织对信息系统的数据缺乏规范化管理的基础,或是没有足够的容量规划,导致项目运行低效。
3.系统上线后,未对运行人员、业务管理人员、业务操作人员进行必要的培训,开发人员与运行维护人员未进行职责移交而引发的责任划分不清,导致运行低效或无效的风险。
(四)审计的主要方法和程序
1.获取项目可行性研究报告、总体(基础)设计、经批准的项目变更文件及合同等。审计上述资料与项目验收资料的一致性。
2.获取验收资料交接清单,包括项目启动时间,上线、单轨运行时间,项目实施、培训情况、相关资产、项目应用效益及效果。检查信息系统是否已完成项目规定的任务,对项目技术特点、应用及管理成果是否达到预期目标进行评价。
3.检查文档资料管理,确认与该信息系统有关的各类文档资料已经正式归档保管,已纳入生产系统文档资料管理范围。4.获取项目培训相关文档,检查组织是否对系统用户开展全面培训,用户使用手册、维护手册、应急处理及培训教材,判断组织是否具备相应的上线能力。
5.获取信息系统上线运行前的信息主管部门或信息主管部门委托的相关测评机构开展的信息安全评估报表,检查报告结论是否符合上线运行要求。
6.与系统使用人员访谈,了解在投产时,运行人员是否已熟悉运行操作,维护人员是否接管维护职责,从而判断是否存在操作风险。
7.与相关人员访谈,了解上线的完整过程,判断上线环境是否在启用时已经验证有效、测试环境中的业务数据是否按规定进行了清理。