广东农信:金融业基于软件开发全生命周期的安全管控体系建设

Connor 火币网官网 2024-05-09 70 0

来源:2023第七届农村中小金融机构科技创新优秀案例评选

获奖单位:广东农信

荣获奖项:信息安全创新优秀案例

一、项目背景

从外部威胁形势来看,当前全球各大企业的软件系统不断发生遭受黑客攻击、系统停摆、信息外泄等安全事件,对用户隐私和财产安全产生严重威胁和影响软件周期。从软件自身角度来看,由于软件设计开发工作复杂度不断提升,开发人员缺乏足够开发安全的意识,开发过程安全需求、设计、编码、测试等活动环节安全管控能力不足,无法形成统一化、标准化安全管控体系等问题,企业软件漏洞数量和漏洞的严重程度不断增加,对软件系统的稳定可靠运行和信息数据的安全性造成严峻挑战。同时,近几年来国家也不断出台完善法律法规,各个行业也出台行业规范,要求加强客户端软件设计、开发、发布、维护等环节的安全管理,构建覆盖全生命周期的管理机制,切实保障客户端软件安全。

二、项目方案

建设开发安全管控体系,重点以广东农村信用社联合社项目软件开发全生命周期为基础,梳理各阶段流程、建立评审机制、建设相关资源库,通过数据接口收集各阶段安全数据、开发数据及漏洞样本,打造覆盖应用开发安全建设和使用全生命周期的一体化安全管理平台软件周期。以安全需求分析、威胁建模与设计、源代码扫描、开源组件漏洞扫描、交互式安全测试、安全基线、安全运维管理等为核心,构建安全需求设计中心、安全测试中心、开发安全资源库、集成安全工具的开发安全管理平台,同时与项目管理平台、IAM系统打通,实现开发安全知识化,开发安全管理统一化、开发安全运营标准化。

三、创新点

(1)解决软件开发全生命周期各安全管控环节人员专业能力不足软件周期,难以胜任的问题

当前多数企业缺乏开发安全管控的专业人才,面临着安全需求分析效率低,安全威胁建模难,对安全活动评价及审计的专业能力不足的等问题,广东农信开发安全管理平台项目,在建设过程中,通过梳理大量金融业务场景,针对各项具体的场景构建了安全需求基线库、威胁建模设计库、安全编码示例库、安全测试用例库等一系列标准库软件周期。项目人员可通过安全管理平台上问卷的形式勾选金融业务场景,安全管理平台自动调用资源库生成相对应的安全基线,实现了安全需求、设计、编码、测试用例自动生成,可显著降低软件开发全生命周期人员胜任各安全活动环节的门槛,有利于安全需求分析、威胁建模、安全活动评价在软件安开发全生命周期的落地。

(2)解决安全测试形式单一、安全测试结果零散等问题

目前大多数企业的软件安全防护手段是通过采购单独的工具完成,由于新持续引入的安全产品或工具必然是独立零散的特点,金融对外软件业务不能形成开发、测试、上线的整体业务安全监测与安全评估,针对银行的安全治理需求,广东农信划定了应用投产上线前安全红线,针对应用系统的重要性设置了应用上线前不同危害程度漏洞的阈值,将人工渗透测试和安全测试工具捕获的漏洞情况提交到开发安全管理平台集中管理,强化应用上线前的安全把控软件周期

(3)形成管理统一化、运营标准化的软件开发全生命周期安全管控能力

展开全文

结合我联社的项目开发体系,开发安全管理平台项目组在项目建设初期,针对性地制定出开发安全管控措施在项目开发流程的落地方案,包括梳理出各个环节介入点、人员参与、职责权限划分安全评审机制等软件周期。在项目实施阶段,开发安全管理平台与行内的项目管理系统、IAM系统等系统进行了定制化对接开发,实现在非功能需求分析评审、设计、安全测试、漏洞修复等阶段的闭环管理。

(4)提升项目过程人员的开发安全能力

广东农信开发安全管理平台集成了大量的安全需求分析、安全威胁建模、安全编码示例、安全测试用例、业务合规等资源库,从长远来看,开发人员可在项目建设过程中可参考学习不断提升自身开发安全能力软件周期

四、技术实现特点及优势

开发安全管理平台的整体架构如下图所示软件周期

广东农信:金融业基于软件开发全生命周期的安全管控体系建设

针对我联社的软件开发全生命周期软件周期,开发安全管理平台需融入到我行开发体系中,本阶段整体方案设计实施要点如下:

(1)开发安全咨询

合作公司派驻专业的应用开发安全人员对我司进行调研,结合访谈调研的结果,以开发安全管理平台为核心定制契合企业的开发安全管控流程,对平台角色设定与开发安全管控流程中所参与角色的关联、哪些关键里程碑事件需要在平台上进行评审、哪些安全活动需要在平台上进行统一调度或者自动化工作等进行分析决策,以最终确定快速可落地的软件开发安全体系软件周期

(2)安全需求分析

安全管理平台提供自动化安全分析能力,其安全需求主要从安全标准、行业法规、监管需求和业内最佳实践等方面综合分析、总结得出软件周期。其中,参考的安全标准包括企业内部标准、行业标准、等级保护测评指南、ISO 27000等;最佳实践则从项目积累知识库等方面出发;结合行业、国家监管机构要求以及系统应用对应的业务要求分析,确定系统或应用软件的安全需求。此外,在需求分析过程中,有针对性的对业务系统安全性要求进行细粒度分析并对比行业合规性要求,为后续业务实现、数据呈现以及威胁建模提供软件安全性设计依据和基础。

(3)威胁建模与设计

安全管理平台提供威胁建模和安全设计参考能力,基于前期的安全需求分析和合规的各类需求,平台提供安全设计参考,协助开发人员进行安全设计,通过受攻击面分析(最小化原则)和威胁建模两个主要手段,利用STRIDE模型,确定业务功能风险、可能的攻击和威胁,进而推进安全防护设计,通过这种对业务系统软件安全的全面风险分析,最终形成系统软件安全设计方案软件周期

(4)安全编码

开发安全管理平台提供相应的安全编码标准并提供集成对接代码扫描工具能力软件周期。在编码阶段,开发安全管理平台不仅能提供安全编码规范和标准,对开发编码过程进行安全指导,而且能集成代码扫描工具对项目进行代码安全检测与评估,在这个过程当中,应充分利用自动程序分析技术与工具,根据业务系统的安全策略、安全需求、安全设计和相应的编码规范标准,对代码进行安全检测与评估服务,由具备丰富编码经验的安全工程师或者开发人员对结果进行分析,根据安全编码规范标准,针对系统应用源代码,从程序结构、系统脆弱性以及安全缺陷等方面进行安全审查和安全检测,从而提升开发人员安全编码能力。

(5)安全性测试

开发安全管理平台对安全测试工具进行集成,并根据需求设计阶段提出安全需求设计,给出安全测试方案和安全测试用例进行参考,协助安全测试人员进行对应安全测试,形成需求-设计-测试的开发安全管理闭环软件周期。整个过程包括安全测试用例设计,安全测试培训,安全测试工具引入,对需要上线的应用进行系统安全和应用安全的安全测试,包括但不仅限于源代码扫描、漏洞扫描,渗透测试、交互式安全测试,APP隐私合规评估,安全配置检测与基线评估;对面向互联网开放的应用系统至少应该完成:系统漏洞扫描,应用漏洞扫描,渗透测试,基线评估等安全评估,通过安全测试驱动代码安全与质量。

五、项目过程管理

我联社于2021年3月启动项目预研,2021年9月开始项目实施,2022年8月完成系统正式投产上线,目前处于正常运行中软件周期

六、运营情况

通过与项目管理等平台的集成,安全管理平台目前形成了统一化、标准化的管理,安全管控能力已完全实现嵌入到开发各个安全活动环节软件周期。从投产上线运行至今在安全需求分析,威胁建模、漏洞闭环管理等方面已为超过20个项目持续提供了安全能力,形成了一套长期有效的安全管控机制,系统目前运行稳定有效。

七、项目成效

通过引入开发安全管理平台,构建适用于自身研发组织特点的软件开发安全生命周期体系,有效提升了广东农信金融业务系统的安全特性,为广东农信信息科技建设、助力三农振兴发展走在全国前列保驾护航软件周期。项目建成后在以下方面具有重大意义:

(1)建立软件开发全生命周期安全管控体系,实现安全左移,增效降本软件周期

软件开发安全生命周期专注于软件开发过程中的安全技术保障与开发安全流程,通过在开发过程中引入一系列的安全技术控制点来消减软件开发过程中的漏洞数量软件周期。一是加强需求设计阶段,安全需求分析等工作,能够深入的分析系统面临的威胁,全面分析系统面临的风险点。二是在测试阶段,通过引入先进安全测试工具,可强化对安全需求的针对性测试,规范化安全测试流程,形成漏洞发现、修复、复测、关闭等过程闭环管理,减少应用系统带病上线,实现开发安全左移,有效降低应用维护成本。相对于项目建设前安全测试工具零散、且仅在测试阶段进行安全测试等特点来说,项目建成后安全工作更深入更全面。

(2)提高人员整体安全意识和安全技术水平软件周期

通过项目的实施,建立安全条线和开发条线间的协作工作机制,让开发人员真正参与到安全工作中,通过开发安全技术资源库提高对开发人员的支撑度,并加强安全培训等工作,能够较大幅度的提高内部安全条线和开发条线人员的安全意识和安全技术水平,这是最具有长远价值的收益软件周期

(3)落实践行国家网络安全相关法规

落实《网络安全法》《信息安全技术 网络安全等级保护基本要求》GB/T 22239—2019针对第二级系统(第7章节)、第三级系统(第8章节)、第四级系统(第9章节)所要求应用系统安全审计相关要求软件周期。a)应在软件开发过程中对安全性进行测试,在软件安装前对可能存在的恶意代码进行检测;b)应在软件交付前检测其中可能存在的恶意代码;c)应保证开发单位提供软件源代码,并审查软件中可能存在的后门和隐蔽信道。

八、经验总结

金融业基于软件开发生命周期全过程的安全管控体系建设项目的经验总结主要包括以下内容:

一是降低软件开发全过程各环节的安全活动准入门槛软件周期。构建一体化的开发安全管理平台,梳理建立业务场景安全基线库,利用问卷答题等形式自动化生成安全基线,能够有效降低软件开发全过程各环节的安全活动准入门槛。

二是向构建管理统一化、运营标准化的软件开发全生命周期安全管控体系方向演进软件周期。需要结合自身的项目开发体系,梳理出开发安全管控措施在项目开发流程各个环节介入点、人员参与、职责权限划分、安全评审机制等,形成以切实有效的落地方案。

三是先进工具集的引入与集成软件周期。通过引入交互式安全测试工具及代码审计集成系统工具,对开发和测试阶段提供安全测试能力,帮助开发测试人员在功能性测试过程嵌入交互式安全测试,在不增加测试人员工作量情况下及时提前发现漏洞,将安全漏洞发现工作前置,对开发安全活动工作进行度量。

四是部署自动化渗透性测试工具软件周期。在安全测试和风险评估阶段为安全人员、风险评估人员提升渗透测试能力,提高渗透测试发现漏洞的效率。

更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看软件周期

评论