阅读 30

79%的开发人员不及时更新第三方代码库

你在及时更新自己的第三方代码库吗?

调查显示,软件开发人员在将第三方库包含在代码库中之后,几乎从不更新它们,即使在大多数情况下,这些库更新起来毫不费力并且也不会破坏应用程序功能。这样的结果就是企业面临的风险会大大增加,系统修复的复杂性也会增加。

安全公司最近分析了约86万个客户代码存储库的1300万次检测结果,其中包含超过301,000个独特的软件库。同时还调查了大约2000名开发人员,以了解他们对第三方软件的使用。

分析显示,79%的开发人员不更新他们在代码库中使用的第三方库。尽管第三方库在不断地变化——安全的和不安全的也在同样快速地变化——但开发人员基本上不会更新。即使在更成熟、更积极维护的代码存储库中,也有73%的开发人员添加了第三方库从未更新。总的来说,50%的代码存储库需要超过21个月的时间来更新,25%的代码存储库长达4年没有更新。

虽然一些开发人员得知他们使用的代码库存在漏洞会迅速采取行动,并且25%的错误在一周内都会被解决,但还是有一半的安全漏洞在修复程序发布后的7个月内没有得到修补。

第三方库未进行更新或更新缓慢并不是工作流程问题,更常见的原因是缺少关于易受攻击的库如何影响应用程序的更多信息、对潜在应用程序中断的关注以及文化问题,比如不理解漏洞严重性或造成哪些影响。

例如,如果开发人员不理解SQL注入是危险的,他们可能会认为它不重要。说明将第一方代码连接到第三方漏洞的代码路径,可以帮助开发人员了解他们的应用程序存在的漏洞及为什么会受到攻击。

此外,开发人员经常担心更新代码库来修复漏洞最终会破坏其他东西。尽管在第三方库中69%的漏洞涉及小部分会导致损坏的小补丁,但开发人员通常没有意识到这一事实。

代码安全遭忽视

管理者应该留出时间来处理漏洞及其他安全相关事项。在添加一个新的代码库时,开发人员通常将功能和许可视为重要的考虑因素,而并不认为安全性同等重要。63%的人表示他们在评估新代码库时总是考虑许可,84.2%的开发人员在评估第三方代码库时不总是考虑安全性。

大量调查显示,几乎所有现代企业应用程序中都不同程度地存在易受攻击的第三方代码库和开源代码。如今企业应用程序中平均包含多达528个开源组件,在每个代码库中平均发现158个漏洞,其中很多是关键漏洞。

因此,当应用程序中的第三代码方库不能保持在最新状态时,对企业来说后果可能很严重。首先,违规风险可能会更高,其次是增加了补丁的复杂性。漏洞时间越长修补就越复杂,打补丁所需的时间就越长,破坏应用程序的风险也就越大。

对于既是直接依赖又是传递依赖的库,修补可能需要长达 2.5 倍的时间。这同样适用于复杂的漏洞,例如任意代码执行缺陷,与典型问题相比,修复这些漏洞可能需要两倍的时间。远程代码执行和拒绝服务错误也需要更长的时间来解决。

建议

在敏捷开发的今天,越来越多的开源代码及组件被开发人员引入到应用程序中来,代码安全关系着系统安全,影响着网络安全。随着DevsecOps的实践,安全逐渐从一个专有的检测部门贯穿到整个开发流程当中,并且第三方库的不及时更新更为代码安全带来重大隐患。一方面,在静态代码阶段应及时通过静态代码安全检测工具及开源代码安全检测工具对编写的代码进行安全监控,另一方面加强开发人员对安全的重视,制定一定的安全规范在一定程度上能减少问题代码的产生。

参读链接:

www.woocoom.com/b021.html?i…

www.securityweek.com/most-develo…

文章分类
代码人生
文章标签