近日,网络安全公司 Veracode 发布“The State of Software Security (SOSS): Open Source Edition”报告。据悉,这份报告分析了 Veracode 平台数据库中 85000 个应用程序的开源组件库,其中包含 351000 个唯一的外部库。Veracode 公司的首席研究员 Chris Eng 表示,开源软件的漏洞多样,让人吃惊!
报告发现,70%的应用程序在初始扫描的开源库中存在安全漏洞。其他重大发现:
为获得应用安全风险的更多信息,Veracode 分析了库的依赖。许多传递依赖项可能是潜在的攻击面,并会带来意想不到的维护工作负载。
该报告还按照编程语言研究了应用程序通常在哪里获取依赖项。分析人员查看了每个应用程序,从而确定何种编程语言会给维护人员带来意想不到的结果。
研究人员发现,JavaScript、Ruby、PHP 和 Java 的大部分攻击面来自于 transitive inclusions,而.NET、Swift 和 Go 有更直接的依赖性。
此外,研究者也发现来自“Open Web Application Security Project Top 10名单”上的漏洞。
根据研究结果,开源库中最普遍的漏洞如下:
研究者还发现,与其他语言相比,PHP 问题最多,有超过 40%的 PHP 库存在跨站脚本问题以及更严重的中断访问控制和身份认证问题。
不过,尽管 Veracode 分析的几乎每个应用程序都存在因库引入的一些漏洞,但它也指出,补救措施很容易。
经过分析,Veracode 公司的研究人员发现:有 74%的漏洞可以通过更新来解决。同时,这些更新中的大多数都是较小的修复或修补程序,占 71%。