开源安全报告发现70%的应用程序存在库引发的缺陷

2020-05-24 15:45:07

根据Veracode的一份分析报告,问题无处不在,但大多数修复都很容易找到和实施。

软件安全状况(SOSS):开放源码版分析了Veracode平台数据库中包含85,000个应用程序的组件开源库,其中包括351,000个独特的外部库。

我们的想法是定义一个库中的单个缺陷可能给利用该代码的所有应用程序带来的风险。Veracode首席研究官克里斯·恩格(Chris Eng)表示,开源软件存在令人惊讶的各种缺陷。

他说,应用程序的攻击面并不局限于它自己的代码和显式包含的库的代码,因为这些库有它们自己的依赖关系。

研究发现,70%的应用程序在初次扫描时开放源代码库中存在安全缺陷。其他大的发现是:

每种语言超过75%的应用程序中都包含最常用的库。

JavaScript中超过61%的有缺陷库包含漏洞,没有相应的常见漏洞和暴露(CVE)。

使用任何给定的PHP库都有超过50%的机会带来安全缺陷。

下面我们来看一下依赖关系类型、按语言划分的缺陷以及对可用修复的评估。

为了更全面地了解应用程序安全风险,Veracode分析师查看了库中的依赖关系。许多可传递依赖项可能是隐藏的攻击面和意外的维护工作量。在该报告中,按语言研究了应用程序通常在哪里拾取它们的依赖项。分析人员查看了每个应用程序,以确定该库是如何被包括进来的,以帮助显示哪些语言可能会给维护人员带来意想不到的后果。

研究人员发现,JavaScript、Ruby、PHP和Java的大部分攻击面来自可传递的包含,而.NET、SWIFT和GO具有更直接的依赖关系。

作者指出:如果应用程序通过第二、第三、甚至更大程度地与开发人员的显式指令分离来获取其大部分依赖项,则会增加管理这些依赖项的难度。

研究人员还从开放网络应用安全项目的前10名名单中寻找缺陷。它们是:

作者还发现PHP的问题最多,超过40%的库存在跨站点脚本问题,而且比任何其他语言都存在更多的访问控制和身份验证问题。

尽管Veracode分析的几乎每个应用程序都有一些库引入的缺陷,但它指出补救措施很容易。

作者分析了这些缺陷,看看有多少可以通过更新修复,这是74%的情况。此外,这些更新中的大多数要么是次要的修复,要么是71%的补丁。

排名前10位的OWASP类别中的大多数重要的库缺陷都有可用的修复。事实上,91%的公开概念验证漏洞都有当前可用的修复程序。

作者的结论是,这些修复中的大多数本质上都是相对次要的,这表明这个问题是一个发现和跟踪问题,而不是代码的巨大重构问题。

从最热门的编程语言到薪水最高的工作,获取您需要了解的开发人员新闻和提示。每周。

今天报名