C/C++ 最易受攻击、70% 漏洞无效,揭秘全球开源组件安全现状

2019-09-09 16:31 稿源:CSDN公众号  0条评论

黑客 代码 安全漏洞 程序

声明:本文来自于微信公众号 CSDN(ID:CSDNnews),作者:whitesource,授权站长之家转载发布。

开源是一种精神,更是一种合作共赢的模式。不过如今的开源生态虽然得以让诸多的程序员、技术人们学习、修改以及以任何目的向任何人分发开源软件,但是这并不意味着足够的安全。在本文中,我们将从最新发布的《开源漏洞管理现状》中深入了解开源组件安全的现状与趋势。

作者 | whitesource

译者 | 弯月,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

如今,使用开源已经成为一种主流的做法,如果没有开源,你就无法跟上当今软件生产的步伐。由于使用开源的人越来越多,因此开源的漏洞也急剧增加,这就需要各个开发团队解决日益剧增的开源安全问题。

在这份名为《开源漏洞管理现状》的报告中,我们将深入探查开源管理。为此,我们采访了 650 多名开发人员,并从NVD、安全专家、业内漏洞审核数据库以及流行的开源问题追踪器等渠道收集了数据,这份报告将为您呈现开源安全管理的最新状况。我们的使命是,确定这个行业目前的状况,并了解未来几年的发展方向。

该报告有以下四点主要发现:

1. 开源漏洞数量的急剧上升,给负责安全目标的开发和安全团队带来了严峻的挑战。

2. 开发人员花费大量时间来解决开源漏洞,但由于缺乏标准实践和以开发人员为中心的工具,因此他们的效率非常低下。

3. 开源漏洞的优先级策略对于确保公司按时解决最紧迫的问题至关重要。

4. 可靠的开源漏洞修复优先级划分,可以将安全警报降低70%-80%。

开源安全漏洞数量在急剧上升

开源漏洞数量的急剧上升给负责安全目标的开发和安全团队带来了严峻的挑战。

已发现的开源漏洞数量急剧飙升,截止到 2017 年,已有将近3, 500 个漏洞。

根据我们从NVD、安全专家、业内漏洞审核数据库以及流行的开源问题追踪器收集到的数据表明, 2017 年发现的开源软件漏洞数量比 2016 年增长了50%以上。而且我们发现 2018 年这个数字还有继续上扬的趋势。

造成这一局面的原因可以归结为,随着开源组件的广泛采用,软件开发社区开始关注开源安全;同时公开数据的泄露也让开发社区提高了安全漏洞的意识。

2017 年开源软件漏洞数量增长了51.2%

在调查中,我们采访了来自美国和西欧的 650 名开发人员,向他们征询有关实践以及使用开源时遇到的问题。

调查显示,只有极少数开发人员由于公司的政策等问题而没有采用开源组件。而使用开源的开发人员则形成了对开源的依赖。

96.8%的开发人员依赖于开源组件,因此他们受到了最近已知漏洞数量增加的严重影响。

开源组件的使用频率

由于大多数已发现的开源软件漏洞皆存在于为数不多的几个项目中——最受欢迎的项目,因此这种风险更加严重。

开源项目越受欢迎,社区规模越大,就越会吸引安全研究人员的“眼球”。随着越来越多贡献者的关注,每个月都会有人发现并公布更多安全与质量的问题。

根据我们的调查,7.5%的开源项目都很脆弱。在排名前 100 的最受欢迎项目中,32%都存在脆弱性。

虽然一个漏洞就足以让多个库面临风险,但平均每个易受攻击的开源项目中包含 8 个漏洞。

已知开源漏洞数量最多的十大开源项目中包含了我们熟悉的项目,也是我们的许多产品所依赖的项目。

这些项目中的大多数都是面向互联网前端的组件,而且有大量暴露在外可被攻击的方面,因此它们相对容易被利用和吸引大量关注,这绝非巧合。

另外,有趣的是这些项目中的大多数背后都有商业公司的支持。请注意,大量的漏洞报告通常意味着社区在积极地维护该项目,并不代表该项目的安全标准差。

漏洞数量最多的十大开源项目

在下列最易受攻击的语言列表中,C/C++遥遥领先,占所有漏洞报告的41%。JavaScript是最常用的编程语言之一,但它仅占第 4 位,仅有7%的漏洞。

漏洞数量最多的七大编程语言

但是,这并不是一件坏事。

安全意识的提高也会促进社区提供建议修复,通常他们会在几天内发布修复。

开源社区为97.4%的漏洞报告提供了至少一项建议修复程序。

然而,虽然开源社区在保护开源项目方面付出了艰辛的劳动,但用户无法从他们的努力中充分受益。

问题在于,有关漏洞的信息并不会在一个位置集中发布,这些信息往往分散在数百个资源中,而且通常都没有索引,因此很难搜索。

对于检测开源组件已知漏洞的开发人员来说,这将是一项长期的挑战。

在修复开源漏洞方面开发人员的效率很低

开发人员花费大量时间来解决开源漏洞,但由于缺乏标准实践和以开发人员为中心的工具,因此他们的效率非常低下。

开发人员并没有忽视开源漏洞的增加。我们的调查清楚地表明,开发人员已将开源安全漏洞视为使用开源的首要难题。

26%的开发人员认为安全漏洞是开源组件面临的最大挑战。开源软件漏洞的紧急度高于集成、功能、许可和选择。特别是,一些大型的组织更为关注开源的安全性。

使用开源组件时面临的最大挑战

我们已经在这个问题上付出了沉重的代价,开发人员每个月都要花费将近 15 个小时来处理开源漏洞(例如审查、讨论、报告和修补)。

每个月处理开源漏洞的时间

如果我们让经验丰富的开发人员负责修复开源漏洞,那么这个成本会更高。

不同级别的开发人员处理开源漏洞的时间

我们的调查还显示,在开发人员每月花费在解决开源安全漏洞的 15 个小时中,实际上只有3. 8 个小时在修复漏洞。

当询问开发人员在发现漏洞后应该怎么做时,他们没有提供明确的答案,这表明他们缺乏标准的实践方法。

由于在处理新发现的漏洞时缺乏固定的方法,所以导致他们在解决开源漏洞时的效率非常低下。

如果发现漏洞,你应该怎么做?

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请

相关文章

相关热点

查看更多