首页 > 企业服务 > 产品服务 > 某大型银行应用安全提升项目
返回中国金融科技应用场景优秀案例
某大型银行应用安全提升项目
摘要:比瓴科技与中国某大型银行合作,根据行内实际情况进行SDL体系建设,建立以SDL为核心理念的新一代软件安全体系来综合解决行内面临安全问题,把安全融入开发过程,实施安全过程保障。经过项目建设后,解决软件开发中心遇到的同类型漏洞反复出现、渗透测试有“漏网之鱼”、安全测试工具利用率低、缺少跨研发中心的安全流程监控等问题,同时实现了整体团队安全能力提升。
关键词:安全开发生命周期;SDL
近些年来,全球网络安全形势依然严峻,网络攻击数量持续上升,数据泄露等安全事件频发。某大型银行应用安全提升项目基于主流信息安全技术与最佳实践经验,建立了全面、可靠的企业级安全开发体系与安全服务平台,为客户信息安全与业务稳定运行保驾护航。
中国某大型银行将服务作为立行之本,坚持以服务创造价值,向全球超860万公司客户和6.8亿个人客户提供全面的金融产品和服务。银行在全国建设有七大软件开发中心,便于通过领先的信息化技术更好的服务客户。
中国某大型银行软件开发中心在软件研发过程中遇到下列问题:
1、同类型漏洞反复出现:在软件研发过程的安全测试环节中,同类型漏洞反复出现,即使是相同应用系统的不同批次也是如此,修复漏洞花费大量人力;
2、渗透测试有“漏网之鱼”:依赖渗透测试手段来进行安全测试,应用系统通过软件研发过程的安全测试,并完成漏洞修复上线后,仍可以在定期的渗透测试活动中发现漏洞;
3、安全测试工具利用率低:采购的SAST、IAST等工具与开发体系没有紧密整合,造成安全测试工具的利用率较低;
4、缺少跨研发中心的安全流程监控:行内现有应用管理系统缺少安全相关能力,无法进行跨研发中心的安全流程监控。
中国某大型银行软件开发中心希望可以解决上述问题。
(一)建立有某大型银行特色的安全开发知识图谱
在构建安全开发知识图谱时,对某大型银行关键业务进行了梳理并进行提炼,输出与安全相关的业务场景库,涵盖工行金融场景,并初步识别这些业务场景的安全风险。
(二)建立高度自动化的安全工具编排体系
比瓴科技通过瓴域平台整合行内SAST、IAST、SCA等安全测试工具的检测能力。安全测试工具根据场景自动化调起,瓴域平台同步、整合检测结果,高度自动化的安全工具编排体系有效支撑某大型银行DevSecOps体系。
比瓴科技根据行内情况,进行三个阶段的SDL体系建设,建立以SDL为核心理念的新一代软件安全体系来综合解决上述问题,把安全融入开发过程,实施安全过程保障。
1、应用现状摸排
比瓴科技在行内部署瓴域平台,通过瓴域平台提供的问卷,收集全行应用的安全情况形成“应用安全画像”,应用安全画像会随着开发迭代工作不断更新。应用安全画像由七大软件开发中心的架构师识别并提出,安全组长对应用安全画像进行审核。
阶段要点:做好安全培训工作,降低各项目人员对安全功能信息理解不一致问题概率。
阶段收益:掌握应用安全现状,基于现状评估人员投入和时间安排,制定下一步安全开发推广计划。
2、平台赋能SDL流程
比瓴科技将瓴域平台与行内现有应用管理系统、测试管理系统等进行对接,通过内置知识库辅助安全需求提出,提供安全设计、安全测试要点内容,记录、管理安全需求的提出、实现、验证情况,解决安全开发流程不好监控的问题。
针对行内高频出现的安全漏洞进行专项治理,分析漏洞原因形成安全需求,安全需求关联安全需求、实例代码等形式的漏洞防护手段,从多个角度构建纵深防御系统。安全需求由七大软件开发中心的架构师识别并提出,安全组长对安全需求进行审核。
图1 实现DevOps向DevSecOps演进
瓴域平台提供了场景式问答方式、标签筛选方式、上传需求文档自动识别方式等多种方式的安全需求分析能力。
场景问答方式所配置的默认问题是基于我司基于众多行业客户的安全开发落地咨询服务经验所总结形成的内容,更贴合行业客户在开发信息系统时所面临的各种业务场景功能、基础技术架构等实际情况,帮助系统的开发及设计人员能够快速的结合实际业务场景完成安全需求分析,形成迭代功能的安全要求。
标签筛选方式的安全需求分析能力是面向具备一定安全开发基础知识的人员所提供的功能,购物式的使用体验,更加迅速的筛选出合适的安全需求,自动形成安全设计方案。
另外平台还提供了基于自然语言识别及处理的自动分析功能,通过上传需求文档即可自动识别出安全需求,进一步降低了安全威胁分析的门槛。
应用及信息系统管理:
瓴域平台提供了基于应用系统维度的管理功能,帮助安全部门基于应用系统的维度来管理相关安全需求或安全开发任务。同时平台基于对应用系统的历史安全开发任务所形成的数据进行大数据分析,为每个应用系统形成独立的应用安全画像,通过应用安全画像能够一目了然的了解该应用系统的安全现状、风险情况、合规要求的满足情况等内容。
瓴域平台基于自主研发的工作流引擎,基于对不同开发阶段的理解所形成的安全开发节点,来对安全开发管理工作进行流程把控。可根据安全开发咨询工作的成果结合实际情况,高度自定义符合实际开发情况的应用安全开发流程,将引入安全开发对业务部门带来的影响降到最低。
瓴域平台基于对平台中数据的汇聚、分析所形成的安全驾驶舱,从各部门的参与情况、应用安全开发的落地执行情况、应用系统的常见问题等不同维度来综合展示当前应用安全开发的态势,使得管理人员对安全开发的执行情况了然于心,能够有的放矢的开展相关能力提升工作。
为了更好的支撑SDL安全开发体系落地,我们建立了基于法律制度、标准规范的某大型银行安全开发知识图谱。
图2 知识图谱赋能安全开发
我们对业务场景中存在的安全风险进行初步识别,参考网络安全、数据安全、个人信息保护相关法律制度、标准规范,结合安全知识与行业最佳实践,输出条目化、结构化的安全开发基线,最终把专家知识转化为安全开发知识图谱。
图3 知识图谱覆盖行业安全要求
安全开发知识图谱符合以下法律法规、规范性文件的要求:
ž 银发〔2019〕237号 中国人民银行关于发布金融行业标准 加强移动金融客户端应用软件安全管理的通知
ž 银保监办便函〔2021〕1083号 关于加强人脸识别技术应用安全管理的通知
ž 工信部信管函〔2019〕337号 工业和信息化部关于开展APP侵害用户权益专项整治工作的通知
ž 工信部信管函〔2020〕164号 工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知
ž 国信办秘字〔2019〕191号 App违法违规收集使用个人信息行为认定方法
ž 国信办秘字〔2021〕14号 常见类型移动互联网应用程序必要个人信息范围规定
符合以下国家标准、金融行业标准:
ž GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求
ž GB/T 28448-2019 信息安全技术 网络安全等级保护测评要求
ž GB/T 31168-2014 信息安全技术 云计算服务安全能力要求
ž GB/T 34975-2017 信息安全技术 App安全技术要求和测试评价方法
ž GB/T 35273-2020 信息安全技术 个人信息安全规范
ž JR/T 0071.2-2020 金融行业网络安全保护实施指引
ž JR/T 0072—2020 金融行业网络安全等级保护测评指南
ž JR/T 0092-2019 移动金融客户端应用软件安全管理规范
ž JR/T 0149-2016 中国金融移动支付 支付标记化技术规范
ž JR/T 0164-2018 移动金融基于声纹识别的安全应用技术规范
ž JR/T 0167-2020 云计算技术金融应用规范 安全技术要求
ž JR/T 0171-2020 个人金融信息保护技术规范
ž JR/T 0196-2020 多方安全计算金融应用技术规范
ž JR/T 0197-2020 金融数据安全 数据安全分级指南
ž JR/T 0213-2021 金融网络安全 Web应用服务安全测试通用规范
ž JR/T 0223-2021 金融数据安全 数据生命周期安全规范
ž JR/T 0225-2021 保险移动应用信息安全基本要求
符合以下指南、最佳实践:
ž OWASP Top 10(应用十大安全风险)
ž OWASP Mobile Top 10(移动应用十大安全风险)
ž OWASP ASVS(应用安全验证标准)
ž OWASP MASVS(移动应用安全验证标准)
ž TC260-PG-20202A App收集使用个人信息自评估指南
ž TC260-PG-20203A App个人信息保护常见问题及处置指南
ž TC260-PG-20204A App系统权限申请使用指南
ž TC260-PG-20205A App使用SDK安全指引
阶段要点:推广安全开发流程前做好宣导工作,配套面向需求人员、开发人员、测试人员的安全培训,降低内部阻力。推广过程逐步试点,持续优化流程。
阶段收益:通过安全需求前置初步实现安全左移,降低漏洞尤其是同类型漏洞的数量。通过软件约束安全开发流程,降低全行推广成本。
3、安全测试工具自动编排
比瓴科技通过瓴域平台整合行内SAST、IAST、SCA等安全测试工具的检测能力,通过安全工具自动编排、安全工具能力抽象、安全工具能力组合等技术实现了对安全工具检测结果与安全需求自动关联分析的能力。
图4 安全编排与关联框架
瓴域平台对接代码仓库、制品库、开发工具链、问题跟踪系统,对接安全工具。通过编写剧本(Playbook),根据场景执行不同剧本,调用安全工具,整合检测结果,对检测结果进行自动化分析并根据剧本进行响应,提供检测结果的统计与分析看板。
通过平台将工具的检测能力进一步的汇聚融合对需求阶段所提出的安全需求进行快速的验证,实现平台与工具的有效联动,提供更高效的服务,有效支撑DevSecOps运转。
阶段要点:安全工具检测规则的开启要循序渐进,防止性能瓶颈、误报等问题阻塞DevOps流水线。
阶段收益:降低安全需求验证成本,进一步降低全行推广成本。
中国某大型银行通过三个阶段的SDL体系建设实现安全左移目标,从数据统计上可以看到:
1、识别的安全需求数量上升;
2、开发测试环节内发现安全问题数量上升;
3、上线后安全漏洞数量明显下降。
软件开发中心遇到的问题在SDL体系落地后:
1、解决了同类型漏洞反复出现的问题:过瓴域平台的安全需求分析能力,提供针对性的安全需求强化安全防护措施,降低同类型漏洞出现数量,解决同类型漏洞反复出现问题;
2、解决了渗透测试有“漏网之鱼”的问题:通过瓴域平台的安全需求分析能力实现安全左移,与单纯依靠安全测试发现漏洞的方式相比可以消灭更多漏洞,同时建立纵深防御解决渗透测试反复发现漏洞有漏网之鱼的问题;
3、解决了安全测试工具利用率低的问题:通过瓴域平台的安全测试工具自动编排能力,根据场景自动化调起安全测试工具,提升安全测试工具的利用率;
4、解决了缺少跨研发中心的安全流程监控的问题:通过瓴域平台进行跨研发中心的安全流程监控,跟踪、监控安全开发过程数据。
由于SDL体系中安全、开发、测试共同参与安全活动,经过SDL落地后不但解决软件开发中心遇到的问题,同时实现了整体团队安全能力提升。
软件安全开发生命周期是一个专注于软件开发安全保障的流程,致力于降低软件中的漏洞数量和严重性。通过应用安全提升项目,某大型银行逐步建立以SDL为核心理念且适用于自身的新一代软件安全体系,有力保障了互联网金融业务的快速发展。在未来,技术变革也将驱动新一代软件安全革命。