安全与能力管理开源平台WhiteSource最近的研究显示,开源项目中的漏洞数量在2019年几乎增长了50%。但对于不关心潜在风险的人来说,这未必不是一个好消息,因为没有关注漏洞也就不会被发现。

《开源漏洞状态》报告统计,2019年共披露了6000个开源漏洞,2018年是4000个。报告把漏洞不断增长的原因归结于人们对开源安全的逐渐关注,包括开源组件的广泛应用,以及开源社区的整体增长,当然也有媒体的推波助澜。一旦相关信息公布,连初学者都会去学习分析、利用执行。

漏洞和错误(bug)其实一直都在,只是由于人们的关注变得更加明显而已。换句话说,漏洞不是存不存在的问题,只是发没发现的问题。

“没有完美代码,漏洞总是存在。”

--WhiteSource联合创始人兼CEO Rami Sass

虽然漏洞总是存在,但修复也始终跟随。85%开源漏洞都是在修复之后才公开的,意味着“负责任的披露”正在成为业界共识。

漏洞的同步机制问题较大。已知开源漏洞只有84%会出现在NVD上,通常还会耽搁一段时间。而其他在NVD之外公布的漏洞,更是只有29%出现在NVD上,意味着漏洞信息并不好找,而且很少有漏洞能得到及时的修复。

报告还调查了编程语言给开源项目带来的漏洞情况,以及这些漏洞增长率随着时间变化的情况:

C语言仍然占据漏洞最高比例,因为C依然在是代码行类(以代码行数来度量软件的一种标准)语言中最为流行的编程语言。但C的地位已经随着其他编程语言的流行而下降。除了C之外,漏洞增长率最快的是PHP,达到了27%。

在所有的流行语言中,Python是个例外。虽然有着非常高的普及率,但漏洞出现率非常低。报告认为,有可能是由于安全编程实践的应用效果,以及对Python项目的安全研究没有懈怠。

2019年通用缺陷列表(CWE)中的前五位已经保持了数年,而且都是信息泄露相关的缺陷。

通过编程语言分析,CWE-79(跨站脚本)、CWE-200(信息泄露)和CWE-20(不当输入验证)排在前三位。CWE-79(跨站脚本)是最容易利用的漏洞,因为有太多容易获取的自动化工具供新手使用。

随着越来越多的漏洞报告,开发团队也有所受益,因为可以优先对关键漏洞进行处理,这就涉及到了通用漏洞评估系统(CVSS)。

CVSS的版本近年来更新了几个版本,CVSSv2在2007年6月发布,v3是2015年6月,v3.1是2019年6月。每种版本都与上一个版本,在高危漏洞的定义上都有一些不同,最大的不同是v2到v3的变化。v3.1则将17%的漏洞定为关键,只有2%为低危。也就是说大部分漏洞都被评为关键或高危,给开发团队带来了优先选择的困难。

WhiteSoure简介:

与GitHub安全实验室类似的开源安全社区,是帮助安全研究、项目运维和软件开发人员,提交、共享与交流信息的平台。

《开源漏洞状态》地址:

https://www.whitesourcesoftware.com/open-source-vulnerability-management-report/

声明:本文来自数世咨询,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。