着力点:接入、发现、防护、管理
下图是笔者总结的第三方组件流通图,可以看到组件的分发过程很零散:
![e0f73b4d9a3f67d50ab05e4693cbde09.png](https://img-blog.csdnimg.cn/img_convert/e0f73b4d9a3f67d50ab05e4693cbde09.png)
接入
读者们可否有信息回答这个问题:"作为安全负责人,你知道公司使用和开发的应用中使用的开源组件都是最新的,已经安装了所有的重要安全补丁?"答案一定是窘迫的,如果连自己公司正在使用哪些软件,用什么开发的系统都不知道,何谈为其安装安全补丁呢?原因在于许多企业所用的开源组件并没有保存准确、全面、更新的资产清单,所以要做好组件安全,首先要有清晰的组件列表,并实时后台自动维护。不仅仅关注外部引入的代码,也要区分商业组件、开源组件和内部组件的版本和漏洞。
发现
漏洞
开源组件的漏洞和风险主要是通过邮件列表,github issues,nvd漏洞库进行的标注,所以最重要的工作总是发现项目中的依赖->找到对应的cve漏洞,值得一提的NVD 不仅在优先级分配上难免受到主观因素的影响,而且 CVE 中的数据报告、评分和可操作性都有可能存在严重滞后、缺失问题。
软件许可协议
除了安全问题外,license问题也需要关注。远有思科供应链的的教训,FSF状告Cisco以 Linksys品牌出售的各种产品违反了FSF拥有版权的程序许可条款,包括 GCC、GNU Binutils和 GNU C库,最终以思科任命一名董事以确保Linksys产品符合自由软件许可,以及思科向FSF进行未公开的财务捐助作为收场。详情参看https://www.fsf.org/licensing/2008-12-cisco-complaint。