图1 金融行业开源技术应用社区调研结果
根据我国金融行业开源技术应用社区调研结果金融机构中超过 90%的企业引入了第三方组件。第三方开源组件的应用能够极大的提高开发效率,但同时开源第三方组件的安全性也成为项目整体的一个极大安全隐患,而且一旦出现安全问题,没有相关方负责解决。闭源组件大多数是需要付费购买且可能不提供源码,闭源组件的安全性是由供应商进行保障(供应合同中需明确安全内容),因此我们在这里不做太过深入研究。
要想找到组件安全问题的解决方案,就必须找到第三方组件安全中存在的尖锐痛点:
图2 第三方组件安全生命周期解决方案全景图
从组件安全痛点出发找到解决方案的抓手,并结合微软安全开发生命周期理论模型,将安全要素管控融入第三方组件在软件开发项目中的全生命周期,包括组件的选型到准入、引用、运维直至最终的销毁,每个过程域会制定具有针对性的安全管理办法以及技术实施方案。将第三方组件安全生命周期解决方案的关键环节总结为以下三点:
1.对当前使用的第三方组件进行安全评估(了解安全暴露面)
2.构建企业内部组件库(打造可信依赖库)
3.设计第三方组件安全管理流程(规范依赖安全使用过程)
以上是我们介绍第三方开源组件安全解决方案的全景图,那么企业在实施过程中该具体怎么样落地实施该方案?
答:“严格把控组件入库质量,统一组件获取入库,标准化组件使用流程”。下面介绍的第三方组件安全落地方案仅供参考。
图3 第三方组件安全实施方案全景图
企业需要拥有内部第三方组件仓库,以便对组件的使用及安全状态进行管理,最重要的是统一了开发过程中组件的获取途径。组件库中的资源必须是经过严格的安全检查(安全检查手段包括但不限制于POC测试、安全测试、稳定测试等),以降低组件安全对整体软件项目带来的安全风险。除此之外,对于仓库中的资源属性进行标准化管理,包括组件的名称、版本、签名等信息。
当某个项目的开发负责人需要使用某一组件时,首先需要在组件库清单中审查是否存在所需组件,如果存在则直接拉取依赖;如果组件库清单中不存在,则需要对组件进行准入评审,评审通过后首先将组件入库并记录其属性信息,然后申请人方可从组件库拉取依赖。一旦某个组件在互联网上被暴出安全漏洞,组件库管理人员可迅速做出反应。以上是对于第三方组件安全实施方案的核心环节介绍,具体细节企业可根据自身情况进行调整优化。
在企业安全建设中构建第三方组件安全生命周期,让安全覆盖组件的全生命周期检测、准入、拉取、跟踪、修复、销毁。
参考文献:《专题·供应链安全|软件供应链安全现状分析与对策建议》,作者:董国伟
原文始发于微信公众号(太白安全实验室):软件供应链安全 | 第三方组件安全生命周期解决方案
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论