8.1.2 项目研发风险管控工作实施情况
1.立项阶段研发风险管控工作实施情况
由于信贷管理系统运行业务属于商业银行关键业务,且其内部存储信息属于涉及客户身份、资产、交易记录等的敏感信息,根据《中国人民银行关于银行业金融机构信息系统安全等级保护定级指导意见》(银发[2012]163号),该行将信贷管理系统定为安全等级保护三级系统。其业务信息、系统服务安全保护等级矩阵表分别见表8-1和表8-2,最终级别判定表见图8-3。
表8-1 信贷管理系统业务信息安全保护等级矩阵表
表8-2 信贷管理系统系统服务安全保护等级矩阵表
表8-3 信贷管理系统信息系统安全保护级别判定表
针对信贷管理部门提出的业务需求和立项申请材料,该行信息科技部门的研发风险管控部门进行了分析,认为该需求属于对原信贷管理系统的小规模升级改造,不涉及系统主要业务内容和服务流程的变更,因此建议维持信息系统原有等级保护级别,并据此起草了《关于“信贷管理系统升级项目”等级保护定级意见的说明》。该材料作为立项材料内容之一,提交该商业银行信息科技风险管理领导小组审批。
经高层领导审批后,该项目准许立项。随后,信息科技部门下发项目启动通知,要求信贷管理系统专职研发队伍成立项目组,并要求在项目开发过程中按照等级保护三级标准要求开展项目安全设计开发工作。
计划阶段研发风险管控工作实施情况如下:
(1)安全团队建设 根据项目启动通知,信贷管理系统研发团队成立了信贷管理系统升级项目组,并由项目经理指定一位具有丰富研发工作经验和信息安全知识的技术经理担任项目信息安全经理,负责实施项目研发过程中的研发风险管控工作。同时,研发风险管控部门为该项目指定了信息安全督导员,负责全程跟踪和督导项目研发风险管控工作。
(2)安全培训 在项目启动后,信息安全督导员牵头组织对项目经理、信息安全经理进行了安全培训,除了讲解研发风险管控工作流程和要求、信息系统安全设计开发要求之外,还就商业银行最新内外部监管要求、业界信息安全动态、近期信息安全事件及原因、新发现信息安全漏洞及防范措施、最新软件安全编码规则要求等进行了讲解。
(3)制定安全管理计划 在制定项目实施计划过程中,根据研发风险管控工作要求,梳理关键研发风险管控活动,结合项目整体时间计划形成该项目的安全管理计划。安全管理计划主要包括研发风险管控活动计划和安全报告计划两部分,分别见表8-4、表8-5。
表8-4 安全活动计划
表8-5 安全报告计划
2.需求阶段研发风险管控工作实施情况
(1)安全需求定制 在需求分析阶段,由信息安全经理组织项目组成员共同根据《安全需求指南》,对信贷管理系统现有安全情况进行差距分析,明确该系统已实现的安全需求,以及在本项目中将实现的安全需求,完成项目安全需求定制工作。
该商业银行《安全需求指南》中对等级保护三级信息系统的安全需求包括物理、网络、系统、应用、数据5个方面。其中,应用安全方面包括9类共49个单项需求(包含25个强制需求)。根据信贷管理系统实际情况,项目组将系统应用安全目标设定为8类共39个单项需求,其中25个强制需求全部采纳。所采纳的8类安全需求分别是身份鉴别、访问控制、安全审计、通信完整性和保密性、存储完整性的保密性、抗抵赖、软件容错、资源控制,如图8-1所示。
图8-1 信贷管理系统升级项目安全需求定制结果
其他安全方面的需求定制工作与应用安全类似,在此不再赘述。安全需求定制完成后,作为《信贷管理系统升级项目需求规格说明书》中的“安全需求”部分内容写入项目文档。
(2)安全需求评审 为确保安全需求的准确性和合理性,信息安全督导员组织召开安全需求评审会议,从安全专家团队中抽取相关安全专家参会,完成安全需求评审工作。
该商业银行按零售领域、对公领域、金融市场、运营领域、电子银行、国际业务、风险领域、核算报告、决策分析、外部监管、投资理财、金融同业、境外业务、营销支持、内部管理等业务领域建立了安全专家团队,此次安全需求评审会议,抽取了内部管理、对公领域的两位专家参加评审。评审过程中,首先由项目信息安全经理介绍了项目背景、总体需求和安全需求定制结果,参会专家就安全需求定制情况进行了提问,并针对项目组反馈情况提出了敏感数据传输加密应纳入需求的建议。经会议讨论后该建议被采纳,并正式纳入安全需求范围。
评审通过后,信息安全督导员将安全需求进行备案,作为后续安全设计、安全编码和测试等工作的依据。
3.设计阶段研发风险管控工作实施情况
(1)安全设计 在项目设计阶段,信息安全经理牵头组织项目组成员根据安全需求,结合项目组现有技术能力、项目资源情况,进行信息系统安全设计,并作为《信贷管理系统升级项目设计规格说明书》中的“安全设计”部分内容写入项目文档。
(2)安全设计评审 在设计评审阶段,信息安全督导员组织进行安全设计评审。评审以函审方式进行,通过邮件方式邀请参与需求评审的两位安全专家对安全设计情况进行评审。针对安全专家提出的评审意见,由信息安全经理进行反馈。根据该商业银行评审流程,评审意见处理主要分为以下情况:
1)对于项目组“认可,纠正”的意见,通过改进安全设计进行纠正。
2)对于项目组“认可,放弃纠正”的意见,由信息安全经理说明原因,经评审专家同意后放弃纠正。
3)对于项目组“不认可”的意见,由信息安全督导员协调召开会议复审,复审后仍无法解决的,以报告形式提交高层领导。
经过函审和信息安全经理反馈后,该项目安全设计顺利通过评审,形成安全设计基线。
4.编码阶段研发风险管控工作实施情况
(1)源代码安全审核 在编码阶段,项目信息安全经理对编码人员进行了安全编码培训,并要求严格按照《C语言安全编码规范》、《Java语言安全编码规范》编写代码。编码工作基本完成后,信息安全经理将源代码提交源代码安全审核工具进行漏洞扫描,并组织编码人员对扫描发现问题进行了修复。该项目首次源代码安全审核和最终审核结果对比如图8-2所示。
图8-2 信贷管理系统升级项目两次源代码安全审核结果对比
(2)安全需求实现审核 在系统提交测试之前,信息安全经理向研发风险管控部门申请对项目安全需求实现情况进行审核。研发风险管控部门受理申请后,从安全专家团队中重新抽取两位专家与项目信息安全督导员共同组成安全需求实现审核小组。
安全需求实现审核小组组织召开了该项目的安全需求实现审核会议。会上,由信息安全经理介绍项目安全需求分析、安全设计、源代码安全审核结果。安全需求实现审核小组对每一项安全需求的实现情况进行了审核。
经评审,该项目在需求分析阶段设定5大方面共127项安全需求,其中,前期已实现安全需求93项,本项目新实现安全需求30项,有4项安全需求未能实现。对于未能实现安全需求,有3项为受资源或技术能力限制未能实现,1项为安全实现未达到预期目标。对于受资源或技术能力限制未能实现,项目组均采取了相应的风险缓释措施;对于未达到预期目标的安全需求,安全需求实现审核小组给出了改进建议,要求项目组尽快完成整改工作。
根据安全需求实现审核会议要求,项目组快速完成了未达预期目标的安全需求的加固改造,并将整改结果提交安全需求实现审核小组再次审核。经过审核后,安全需求实现审核小组认为该项目安全需求完成情况基本达标,并要求信息安全督导员起草《信贷管理系统升级项目安全需求实现审核报告》。
信息安全督导员根据安全需求实现审核情况完成该报告,经安全需求实现审核小组审核确认后发送该项目业务经理、项目经理、信息安全经理。
5.测试阶段研发风险管控工作实施情况
进入测试阶段后,由测试经理组织在该项目功能、性能测试过程中同步对安全功能、性能进行测试,同时采用漏洞扫描工具对测试环境下的系统进行了漏洞扫描。
根据测试发现的问题和漏洞,信息安全经理牵头组织项目组成员进行修复,并将修复后的信息系统再次提交测试,最终系统通过全部安全测试。
6.投产阶段研发风险管控工作实施情况
在投产准备阶段,项目组成立了投产工作小组,制定了投产工作计划和应急响应计划,起草了投产操作手册、安全运维操作手册,应急操作手册等文件。
经过紧张有序的投产实施工作,该商业银行信贷管理系统升级改造投产工作顺利完成。经过一段时间的运行保障后,项目组将运维工作移交运维团队,随后完成了结项工作,项目组正式解散。
信息安全督导员根据该项目研发风险管控工作实施情况,起草了《信贷管理系统升级项目研发风险管控工作总结报告》,就项目各阶段研发风险管控工作执行情况、各阶段评审发现问题及修复情况、信息系统最终安全审核结果、研发风险管控工作过程中出现的问题和改进工作建议等进行总结,发送研发风险管控部门负责人、项目所在部门负责人。