我的位置 威胁预警  >  漏洞公告

开源第三方库的安全状况令人担忧

来源:网空闲话 时间:2021-06-23 阅读次数:

在最新软件安全报告显示,大多数开发者在软件中包含第三方库之后,从未更新过这些库。报告的重点是关注开源软件和开发者如何处理他们使用的第三方库的安全性。

一份包含30万多个独特库的超过86000个库的分析报告以及与1700多名开发者的讨论显示,尽管开源领域在不断变化,库也在不断发展,但79%的库在被引入应用软件后从未更新。

虽然有些开发人员在了解到他们使用的库中的漏洞后会迅速采取行动——25%的漏洞在一周内就得到了解决——但有一半的安全漏洞在修复发布后的7个月内没有得到修补。这是因为开发人员缺乏他们需要立即采取行动的重要信息。

Veracode指出:“当开发人员理解漏洞的含义并适当地优先考虑安全性时,他们可以轻松地修复大多数缺陷。”事实上,当开发人员获得他们需要的信息时,一半的漏洞在三周内就得到了解决。

该报告还发现,第三方库中的大多数漏洞(92%)可以通过一个更新进行修补,并且69%的更新代表较小的版本变动,不太可能破坏应用程序的功能。

超过一半的被调查开发者(52.5%)有正式的库评估流程,28.4%的人说他们不确定(他们要么没有正式的流程,要么没有意识到并忽略了它),19.1%的人承认没有这样的流程。总的来说,超过80%的开发人员表示,他们在选择使用库的时候会考虑安全性。

Veracode指出:“在大型和不同的团队中,开发、共享和遵循统一的政策可能是困难的,这可能会导致不确定性。”

对数以万计的库进行反复扫描发现,第一次扫描中出现的库中有65.0%从未更新。此外,14%的库是在第一次扫描后添加的,并且从未更新,总共有79%的库被添加和遗忘。

当分析仅限于使用寿命相对较长的存储库和多次扫描时,结果相差不大:73%的库从未更新过。该报告还显示,Ruby库被忽略的最多(67.1%),而PHP库被维护的最多(只有37.7%的PHP库被添加后又被忽略)。

报告揭示的另一个令人担忧的事实是,大约一半包含漏洞的库可能需要超过21个月的时间来更新,而大约25%的库甚至在四年之后都没有更新。

报告显示,当第三方库中的漏洞暴露时,一些开发人员会迅速采取行动。具体来说,17%的缺陷在一小时内得到修复,25%在一周内得到修复。然而,开发人员要花3个月的时间来修补50%的有漏洞的库,而解决75%的漏洞则需要一年的时间。

对于直接依赖和继承性依赖的库,打补丁可能需要2.5倍的时间。这同样适用于复杂的漏洞,例如任意代码执行缺陷,这可能需要比典型问题花费两倍的时间来修复。远程代码执行和拒绝服务bug也需要更长的时间来解决。

开源库在不断发展变化。这样的安全状况显然形成了软件供应链的重大风险。需要谨记的是,大量的库选择是“设置后忘记它”,开发人员找到他们需要的功能而不改变它。两年前没有缺陷的函数库今天可能会暴露一个应用程序。

那么,如何面对这种变化的挑战呢?该报告的结果表明,当开发人员得到他们需要的信息时,他们可以迅速采取行动来解决问题。它的帮助在于,大多数修复并不比一个小的软件更新更费力,即使是最复杂的应用程序也不太可能破坏内部工作。

Veracode在报告发布消息中称,确保软件供应链的安全正引起白宫的注意。上个月,白宫发布了一项关于网络安全的行政命令,其中近25%的内容关注于确保软件供应链的安全。接下来,向联邦政府销售的软件供应商将被要求公开其软件的组成,并确保软件应用程序已经过自动化测试。

Veracode的联合创始人和首席技术官Chris Wysopal说:“随着行政命令的不断落实,任何软件开发人员都应该确保他们在软件开发生命周期的早期就经常扫描他们的软件。开放源码软件的日益普及,加上越来越苛刻的开发周期,导致了软件漏洞的高发倾向。在流程的早期进行扫描可以显著降低风险,而且大多数修复都是微小改动,因此不会影响最复杂软件的功能。”

 

 

原文来源:网空闲话

8条评论