2018开源代码安全报告:每个代码库平均包含64个漏洞

网络
  • 开源中国
  • 2018-07-06 22:50

code-1839406_640.jpg

AIUST选配图

Synopsys 公司近日发布了“2018 年开源代码安全和风险分析” Black Duck(黑鸭)报告,深入考察了商业软件中开源安全性,许可证合规以及代码质量风险的状况。本次报告讨论的是从 2017 年审计的超过 1,100 个商业代码库中的匿名数据所得出的结果,行业包括汽车、大数据(主要是人工智能和商业智能)、网络安全、企业软件、金融服务、医疗保健、物联网(IoT)、制造业和移动应用市场。

开源软件与定制代码相比,既不是更不安全,也不是更安全。但是,开源软件的某些特性使得流行组件中的漏洞对攻击者非常有吸引力。Black Duck(黑鸭)审计结果显示,现在,开源代码在商业应用和内部应用中无处不在,这在漏洞被披露时为攻击者提供了目标非常丰富的环境。漏洞以及对漏洞的利用通常是通过全国漏洞数据库(NVD,National Vulnerability Database)、邮件列表和项目主页等来源进行披露的。

商业软件把更新自动推送给用户,而开源软件与之不同,后者采用一种拉动支持(pull support)模式,即:用户自行负责跟踪他们所使用的开源软件的漏洞、修复和更新。开源代码可以通过多种方式进入代码库,不仅可以通过第三方供应商和外部开发团队进入,也可以通过内部开发人员进入。如果一个组织机构不了解其所使用的所有开源代码,它就不可能抵御针对这些组件中已知漏洞的常见攻击,并且它自己也会暴露在许可证合规风险之中。

74b4a3d2a65c284.jpg

2017 年,Black Duck On-Demand(黑鸭按需)审计在每个代码库中发现了 257 个开源组件。到 2018 年,每个代码库中开源组件的数量增长了约 75%。审计发现,96% 的被扫描应用中存在开源组件,这一比例与去年的报告相似。而在被扫描的应用的代码库中,开源代码的平均比例从去年的 36% 增长到 57%,这表明开源代码的使用量在持续大幅度增长,同时也表明,目前大量的应用所包含的开源代码要多于专有代码。

某些开源组件对开发人员来说非常重要,以至于这些组件在极大部分的应用中都能找到。今年,用于开发 HTML、CSS 和 JavaScript 的开源工具包 Bootstrap 出现在 40% 的全部被扫描应用中;紧随其后的是 jQuery,有36%的应用包括该开源组件。在各行业常见的组件中,值得注意的是 Lodash,这是一个为编程任务提供实用函数的 JavaScript 库。Lodash 是诸如医疗保健、物联网、互联网、市场营销、电子商务和电信等

行业所采用的应用中最经常使用的开源组件。

bd3646c3d367fc0.jpg

审计还发现,每个代码库中开源漏洞的数量增长了 134%,而 78% 的被检查代码库中包含至少一个漏洞,每个代码库平均包含 64 个漏洞。这一高增长率部分归因于2017年报告的创记录的漏洞数量。仅美国国家漏洞数据库(NVD,National Vulnerability Database)就列出了超过 14,700 个漏洞,而 2016 年仅列出 6,400 个漏洞。其他报告给出的漏洞总数超过 2 万个,其中近8000 是 NVD 报告未列出的。这些数字说明了 2017 年所报告的所有已知漏洞的情况,但其中超过 4,800 个是开源漏洞,这延续了已知开源漏洞为期五年的增长趋势。过去 17 年来,已经有超过 40,000 个开源漏洞被报道。

扫描揭示的另一个重要数据点是,所发现的漏洞的平均年龄正在增加。平均而言,审计中发现的漏洞大约在六年前已经被披露了,而在 2017 年报告则显示是四年前被披露。这表明,负责修复工作的人员需要花费更长时间才能完成修复(如果他们确实正在着手修复的话),这就使得越来越多的漏洞在代码库中积累起来。

0c44a0ca4006871.jpg

此外,这些开源组件还广泛存在许可证问题,企业不太可能使用传统的电子表格方法来跟踪这么大量的许可证义务,而如果没有一套自动化流程的话,这可能就是件不可能的工作。这也导致 74% 的被审计代码库中包含存在许可证冲突的组件,其中最常见的是违反 GPL 许可证协议,存在于 44% 的代码库中。该报告进行审计的代码库中,85% 或存在许可证冲突,或包含不具备许可证的组件。

95490610a2a3d5e.jpg

其中,互联网和软件基础设施垂直行业的应用包含高风险开源漏洞的比例最高,为 67%;其次是互联网和移动应用行业,比例为 60%。具有讽刺意味的是,网络安全行业的仍然被发现存在很高比例的高风险开源漏洞,虽然低于去年的59%,但依然高达41%,这使得该垂直行业处于第四高的位置。

在金融服务和金融科技市场中,34% 的被扫描应用包含高风险漏洞,而医疗保健、健康技术和生命科学垂直行业中的应用紧随其后,有 31% 的应用包含高风险漏洞。制造业、工业和机器人技术在这方面的比例最低,为 9%,这可能是由于 OEM(制造商)对整个软件供应链上的供应商施加压力,要求后者提供经过审查的、干净的代码。相反,制造业垂直行业在所有垂直行业中占据了第三大许可证冲突的位置,比例高达  91%。

事实上,根据黑鸭按需审计集团(Black Duck On-Demand)提供的审计数据,所有垂直行业的企业都应该关注开源许可证问题,也应该关注由于未能遵守开源许可证协议而导致的代码知识产权诉讼或侵权(compromise)所带来的潜在风险。存在许可证冲突的应用在各个行业分布情况互不相同:在零售和电子商务行业中低至 61%,而在电信和无线行业则很高 – 他们 100% 的被扫描代码都存在某种形式的开源许可冲突。

da34cba0428b596.jpg

负责分析此报告的由 Synopsys 开源研究与创新中心(COSRI)表示,再争辩是否应该使用开源代码已经没有什么意义了。可以证明的是,目前,大多数应用程序代码都是开源的。在经过审计的包含开源代码的代码库中,这些代码库中平均 57% 的代码都是开源组件,这就证明,目前许多应用中所包含的开源代码要多于自有代码。随着开放源代码使用量的增长,风险也如影随形,主要原因在于企业缺乏适当的工具来识别他们内部的以及面向公众的应用程序中使用了多少或者什么样的开源组件。通过将策略、流程和自动化的解决方案集成到软件开发生命周期中,以便识别、管理和保护开源代码,企业才能够最大限度地发挥开源的优势,同时有效管理漏洞和许可风险。


来源:开源中国

作者:

编辑:jinpeng

图片来源:

本文链接: https://www.aiust.com/article/20180706/537.html

  • 漏洞
  • 开源
声明:除非注明,本站文章均为AIUST.Com原创或编译,转载时请注明文章作者和“来源:AIUST.Com”,AIUST.Com尊重行业规范,每篇文章都标有明确的作者和来源。文章为作者观点,不代表AIUST.Com立场。部份图片来自网络,如有侵权,请联系我们删除!

相关文章

资讯

原创

荐读

  • 5G+AR加持 晨星机器人掀起“智能化+人机交互”制造新趋势 5G+AR加持 晨星机器人掀起“智能化+人机交互”制造新趋势

    2021世界制造业大会于11月22日在合肥落下帷幕。为期四天的大会中,作为向世界展示智能制造全面能力的窗口,联想展示了一系列让人惊喜的创新产品。现场展示的ThinkPad X1 Fold整体重量仅有1公斤,折叠起来之后的厚度大约为24毫米。当保持半开状态时,可以像拿本书一样握住,并且能同时运行两个应用程序。使用固定在中间的键盘之后,瞬间变...

  • 智能手机竞争中失败,日本在联网汽车领域举步维艰 智能手机竞争中失败,日本在联网汽车领域举步维艰

    据外媒报道,在制造带有数字联网服务的汽车的竞争中,丰田汽车和日产汽车面临着被本土市场拖累的风险。与美国和欧洲的汽车消费者不同的是,日本消费者不愿意为这些联网功能和服务买单。结果就是:日本只有10%的汽车...

  • 2020年河南省将推广应用3万台工业机器人 2020年河南省将推广应用3万台工业机器人

    到2020年,推广应用3万台工业机器人,建设1000条智能生产线、300个智能车间、150个智能工厂……4月16日,在2018两岸智能装备制造郑州论坛上,河南省工信委发布了《2017年河南省智能制造白皮书》,河南智能制造的2020...

热门标签