• 快捷搜索
  • 全站搜索

信息系统开发全生命周期安全管理研究与实践

2017-11-29 15:46:12作者:中国民生银行IT部总经理助理 吕晓强 IT部 张磊 汤志刚编辑:金融咨询网
随着互联网金融时代的到来,快速响应千变万化的业务需求及在敏捷开发过程中保障信息系统的安全,是银行业正在面临也必须解决的关键问题。但以往信息系统安全性保证只在测试、运维阶段关注安全性的管理方式,往往治标不治本,为解决上述困难,民生银行推出信息系统开发全生命周期的安全管理,即在系统整个生命周期各阶段都开展安全相关的工作,全面提高所开发系统的安全性。

随着互联网金融时代的到来,快速响应千变万化的业务需求及在敏捷开发过程中保障信息系统的安全,是银行业正在面临也必须解决的关键问题。但以往信息系统安全性保证只在测试、运维阶段关注安全性的管理方式,往往治标不治本,而且国内股份制商业银行内部科技开发人力资源有限,大量开发工作依赖于合作公司,开发质量参差不齐且人员流动性较大,即使反复开展安全培训也难以保证所开发的产品安全质量达到行内要求。为解决上述困难,民生银行推出信息系统开发全生命周期的安全管理,即在系统整个生命周期各阶段都开展安全相关的工作,全面提高所开发系统的安全性。

信息系统开发全生命周期安全管理技术路线和关键技术
  
  民生银行制订了全行信息系统开发全生命周期安全管理体系,拟通过该体系的建设达到以下目标:在信息系统开发范围内,研究开发一个可落地的方案,显著提升所开发信息系统的安全性;在提高安全性的同时,保证成本可控。
  
  本文以理论为指导以技术为核心,采取顶层设计与分解细化有机结合、理论与技术有机结合的研究思路,按照文档建立与工具研发并重、体系构建与应用试点并举的原则开展研究工作。并通过关键技术,在系统全生命周期做到“环环安全把关,步步工具相助”,在提高信息系统安全性的前提下,实现成本可控。
  
  1.基于ADCTA循环模型的开发安全框架
  
  确定恰当的理论模型是开发安全管理体系构建的先决条件,为此,本文在研究EPDCA循环模型的基础上,提出针对性更强的ADCTA循环模型。
  
  EPDCA由奥克兰多提出,主要在风险管理中应用,安全开发关注的是开发完成的系统和软件的安全,与EPDCA模型的关注点不同,因此不能按照现有的EPDCA风险评估方法去考量一个将要开发的系统或软件。鉴于安全开发是以威胁分析为驱动的,以安全需求管理为主导的活动,本文在EPDCA循环模型基础上提出ADCTA循环模型。即第一个A(threat Analysis)表示威胁分析,威胁分析产生安全需求,对应系统生命周期中的需求阶段;D(Design)表示设计,对应系统生命周期中的设计阶段;C(Code)表示编码,对应系统生命周期的开发环节;T(Test)表示安全测试,对应系统生命周期中的测试环节;A(Action)表示改进,针对测试的结果进行改进。
  
  根据ADCTA模型,结合开发的实际工作及业界常用的STRIDE威胁模型,本文设计了开发安全管理的工作框架,首先由最初的威胁分析产生安全需求,驱动整体开发安全管理工作开展。通过安全设计、安全开发、安全测试以及整改等环节满足安全需求。在这些环节结束后,通过残余风险的分析,发现新的安全威胁和安全需求,进入下一个ADCTA循环。
  
  2.层次化开发安全管理体系架构
  
  系统生命周期的全过程包含需求、设计、开发、测试、部署、运维、废弃等七个阶段,以各阶段为主要对象,以业务安全和信息安全为出发点,通过对上述阶段的流程、制度、规范的梳理,相关人员安全意识、技能的培训,威胁资源库、安全测试资源库等相关资源的积累,安全规则审计平台、安全框架等建设,建立起开发安全保障的闭环体系。充分保障开发出的业务系统满足业务安全和信息安全的需求,保障业务的稳健持续发展。本文依据ADCTA循环理论模型,按照工作的层次和系统生命周期的过程,建立如图所示的开发安全管理体系架构。

图片3.jpg
图 开发安全管理体系架构图

  (1)安全控制。以《开发安全管理纲要》为核心,包含过程控制、组织考核、法律法规等系列文档。用来控制开发安全管理的整体活动,保证开发安全管理活动流程规范、质量可靠。
  
  (2)安全操作。在安全开发的各个环节指导具体开发活动,保证具体开发活动规范、质量可控。
  
  (3)安全支撑。提高开发安全管理工作效率,控制安全开发成本,保证体系真正落地的关键部分。安全支撑的核心是工具和安全框架。在本体系中,建立两个资源库、一个威胁分析工具、一个安全规则审计平台和一个安全框架,这些工具可有效提高开发安全的效率和成果。此外,本部分中还包含很多成熟的软件工具,比如渗透测试的工具、源代码检测软件等。
  
  (4)安全培训。安全意识永远是安全管理工作的基石,安全技能永远是安全管理工作效率的保障,本部分针对开发安全管理工作中的安全意识和安全技能进行系列培训。
  
  3.威胁资源库与测试资源库
  
  在开发安全管理体系中,安全需求分析是一系列开发安全活动的起点,但安全需求分析的完备性一直是业界难以解决的难题。在安全威胁分析的基础上,借助威胁资源库,特别是有金融行业特点的威胁资源库,可有力提高安全需求分析的完备性,减少安全需求分析的工作量。
  
  威胁资源库将目前能收集到的各种威胁分析整理归纳,基于STRIDE威胁分析模型,整理成为一个资源库,供威胁分析时使用。
  
  在威胁资源库的基础上,针对每个威胁,建立对应的测试方式和方法,形成测试资源库。测试资源库可极大地提高测试的效率和针对性,对安全性的提高有巨大帮助。
  
  以威胁资源库和测试资源库为基础,威胁分析与测试验证相结合,贯穿在开发安全管理的过程中,是安全防范的基础。
  
  4.情景式安全需求分析平台
  
  针对安全需求分析比较复杂、对人员的安全知识要求比较高、实施困难等现状,本文研究了情景式自动化安全需求分析技术。本技术建立在威胁资源库衍生的安全需求集合的基础上,结合对现有系统威胁模型的分析,实现情景式安全需求自动分析平台。
  
  普通用户通过该平台,可以自动进行所开发系统的安全需求分析,并输出对应的安全设计文档、测试用例等。
  
  情景式安全需求分析平台可降低对安全需求分析人员的技能要求,提高安全需求分析的效率。
  
  5.自动化安全规则审计平台
  
  传统源代码扫描工具仅能发现常规的安全漏洞,如SOL注入、跨站脚本漏洞等。而源代码审计工作量巨大,通过人工对源代码进行全面审计不太现实。本文通过编写自动化的检查脚本,检查开发规范是否有效实现,从而达到促进开发安全规范有效落地的目的。
  
  6.移动安全开发框架
  
  为提高开发安全的效率,本文研究开发了统一的移动安全开发框架,供各应用程序使用,普通人员基于该平台的接口直接进行开发,无需关心内部的安全实现。
  
  本框架旨在建立一套完整的移动应用开发规范和平台,用架构和平台解决人员安全意识和技能不足的问题,节约开发资源的同时,也不会影响系统的安全性,从而达到整体风险可控。

展望

  我行将重点针对敏捷开发,制订和实践敏捷安全管理体系,全力推广移动开发安全框架,并持续更新其安全功能和理念。同时,完善安全框架类型,重点开发非移动应用类的安全框架,以提升各类系统整体的安全性。
  
  在互联网金融飞速发展的今天,银行业信息安全工作也面临着前所未有的挑战,民生银行将持续完善自身的安全体系,不断更新和优化安全技术和架构,以支持业务、引领业务为目标,着力打造出安全可控,有核心竞争力的业务系统。

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章