我国商业银行信息科技风险管理指引和国家等级保护要求,都指出银行必须构建一个完整的开发安全管理体系,以实现对信息系统整个生命周期的控制。这个体系应该是一个从需求分析、设计、编码实现、测试到 上线全生命周期的安全管理体系。软件工程的相关研究表明,在软件开发周期的早期就修补安全漏洞更高效而且更具成本效益。因此,银行在防范金融风险的过程 中,必须充分重视开发安全管理体系的建设,控制具体应用系统的开发过程,同步进行安全建设,避免应用系统开发完成后再考虑安全问题。
开发安全从规范开始
银行在建设应用系统开发安全管理体系时,应当首先考虑制定相应的制度与流程。通过对各种类型应用系统开发过程的研究,发现其中面临的各种与安全 相关的并且具有一定通用性的问题,银行需要针对这些问题制定相应的开发安全规范,以保证安全不被忽视。开发安全规范的制定应该依照组织的整体方针和业务目 标,并引用其他参考文档(如通用准则、安全标准、组织过程资产以及最佳实践等等)来识别与控制风险,提出与开发安全有关的方针、目标、指标、过程和程序。
开发安全规范一般包括安全需求分析指南、安全技术方案设计规范、安全编码规范和安全测试规范等。依据开发安全规范,银行在进行应用系统开发过程中,对于各个阶段的安全问题加以相应的控制,确保应用系统在开发中的安全管理。
全生命周期的安全规划和管理
应用系统的开发阶段是其生命周期内的一个重要阶段,在此阶段,将主要完成应用软件的需求分析、设计、实现及测试等工作,此阶段的工作将极大程度 地决定系统本身的安全性。因此,要确保安全性要求在此阶段的各个具体工作过程中的贯彻和实施,以便交付具有高安全特性的应用软件,为将来应用系统的安全投 产运行奠定坚实的基础。
(一)需求分析阶段
安全技术人员在需求分析阶段主要对需求文档中的安全需求情况进行分析,重点从系统的重要信息或数据、面临的安全威胁、系统基础环境的安全需求等角度入手,分析安全需求的全面性和完整性。
在安全功能需求中,身份鉴别、认证与授权、输入和数据验证、敏感数据安全、会话管理、异常管理等需求应进行明确详细的说明。以电子银行的数据安全为例,敏感数据要求特别保护,该类数据的传输、存取和存储,必需采取加密措施保护,仅能通过内置的软硬件加解密模块进行管制。
(二)方案设计阶段
方案设计阶段是整个生命周期中最为关键的部分,在这个阶段不仅要包括系统的功能、性能、开发费用与周期等要求,还要明确规定系统的安全要求,并据此确定具体采用的安全控制措施,如用户身份认证体系的强度设计、认证失败后的处理方式设计等。