藏在深山人未识,终有时日露峥嵘:开源第三方库的安全状况令人担忧
2021-06-24
来源:网空闲话
应用安全公司Veracode和数据科学研究所Cyentia联合编写的最新软件安全报告显示,大多数开发者在软件中包含第三方库之后,从未更新过这些库。报告的重点是关注开源软件和开发者如何处理他们使用的第三方库的安全性。
一份包含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说:“随着行政命令的不断落实,任何软件开发人员都应该确保他们在软件开发生命周期的早期就经常扫描他们的软件。开放源码软件的日益普及,加上越来越苛刻的开发周期,导致了软件漏洞的高发倾向。在流程的早期进行扫描可以显著降低风险,而且大多数修复都是微小改动,因此不会影响最复杂软件的功能。”
延伸阅读
今年6月初奇安信集团发布《2021年中国软件供应链安全综合分析报告》,全面从开源软件生态发展状况、开源软件源代码安全状况、开源软件公开报告漏洞状况、开源软件活跃度状况等四个方面对2020年开源软件生态发展与安全状况进行综合分析。报告显示,1、每1000行代码就有超过10个安全缺陷。2、超8成项目存在高危开源软件漏洞。3、开源软件活跃度状况堪忧,61.6%的开源软件处于不活跃状态。4、18年前的老旧开源软件版本仍在被使用却无人更新。基础薄弱、意识不足、开源漏洞风险、开源软件运维风险、活跃度状况,等等,软件供应链的安全风险近在眼前。真是“藏在深山人未识,终有时日露峥嵘”。
关于Veracode
Veracode创立于2006年,是全球领先的独立应用安全合作伙伴,旨在创建安全的软件,降低安全漏洞风险,提高安全性和开发团队的生产力。Veracode技术的公司可以通过将流程自动化、整合、速度和响应能力相结合,帮助各企业获得准确可靠的结果,从而让客户将精力集中在修复而不仅仅是查找潜在的漏洞上。Veracode为全球各行各业的2,500家客户提供服务,包括三分之一的财富100强和超过四分之一的福布斯最具价值品牌的企业。该公司在世界各地都设有办事处。此外,还提供灵活的远程工作选择,以支持不断壮大的全球服务团队。
关于Cyentia
Cyentia Institute是一家研究数据科学的企业,其使命是增进网络安全行业的知识,通过与供应商和其他组织合作发布一系列高质量的数据驱动内容来实现这一目标。该团队利用多年的经验来促进网络安全知识和实践。作为值得信赖的行业领导者,多年来致力于提高研究和可用信息的质量。该研究机构对研究方法学、强大的数据分析和沟通技巧以及丰富的网络安全领域专业知识有着深刻的了解。