大数据文摘出品
来源:theregister
编译:lin
根据安全业务机构WhiteSource的数据,2019年开源项目中的漏洞bug报告数量激增了近50%,某种意义上讲这是件好事,因为你是无法发现那些你不去找的bug的。
在其年度漏洞bug报告中,该公司将bug数量的增长归因于对开源安全性意识的提高。这是由于近年来开放源代码组件的广泛采用以及社区整体发展的结果,更不用说媒体对数据公开的关注了。
换句话说,bug一直在那,但是因为我们更加关注所以他们变得更加易见。
去年有超过6000个开源bug被报告,从仅仅有约4000个涨上来。
在一封给用户的电子邮件中,WhiteSource的CEO见联合创始人Rami Sass说:“没有完美的代码,总有些bug会被发现。”
“开源漏洞bug的问题是,像开源社区中的所有事物一样,一旦报告了,那所有信息都是公开的,并且每个初学者都可以了解该bug并加以利用,然后在大量应用程序上执行该bug。”
从好的方面来说,其中85%的漏洞bug在披露时已得到修复,这样bug也算没白找。
但是,社区对漏洞bug的意识并没有转化为关于bug的有效沟通。最终,只有84%的已知开源漏洞bug最终出现在国家bug数据库(NVD)上,并且经常都有延迟。
根据WhiteSource的数据,当漏洞bug在NVD之外报告时,最终只有29%的bug在该处发布。这意味着可能不容易找到bug信息,并且很可能不会得到及时修复。
尽管如此,WhiteSource还是公开表扬了像GitHub的安全实验室那样的以社区为中心的举措,可以帮助安全研究人员,项目维护人员和软件用户更容易地报告问题以及汇集信息。
该调查还研究了不同编程语言的开源项目漏洞bug的数量以及这些数量随着时间的变化。
WhiteSource表示C仍然是bug率最高的编程语言,因为就代码行数而言C是最受欢迎的语言,但是随着其他语言的流行,C的数量呈下降趋势。
该报告指出,尽管,“PHP的相对漏洞bug数量已经显著增加,但还没有迹象表明流行程度方面同样有所上升。”
同时,Python试图达到高流行度但低bug率。报告说:“希望这是安全编码实践的结果,而不是对Python项目的安全性研究不严格的结果。”
2019年最最常见的弱点枚举(CWEs)如下:
通过对编程语言进行分析,在除C外的所有语言中均排名前三位的如下:
WhiteSource将这些缺陷在各种语言中的共性归因于使用自动扫描工具,这些工具知道如何查找这些特定问题。该公司还指出,信息公开只是跨语言的普遍问题。
Sass说:“ CWE-79(跨站点脚本)是攻击者最容易利用的漏洞bug之一,因为有许多的自动化工具,导致即使是“新手”黑客也可以利用它。” Sass指出CWE代表一个分类而不是一个特定的漏洞。
“随着开源社区使用量的巨大增长,攻击者开始发现利用开源漏洞bug的潜力。CWE-79漏洞是轻松轻松地进行黑客攻击的首选漏洞bug。考虑到这一点,它的大规模增长就很合逻辑了。”
随着漏洞报告数量的增加,开发团队受益于可以优先解决关键漏洞bug,然后再查看不太严重的漏洞。由于通用漏洞评分系统(CVSS)评估漏洞严重性的方式发生了变化,这已变得愈发复杂。
CVSSv2于2007年6月首次亮相,CVSSv3是2015年6月,CVSSv3.1于2019年6月发布。每个都对构成高危漏洞的定义稍有不同。
根据WhiteSource的说法,最大的变化来自从v2到v3的迁移,v2下的一个7.6的严重bug(以10为基数)在v3下重新定义为9.8。
WhiteSource认为,在v3.1下,严重性分布不是正态分布,其中17%的漏洞bug为严重bug,只有2%的漏洞bug为低级。
这意味着超过一半的额定bug是关键bug或高危bug,这使得当所有问题都应立即修复时,很难确定优先级。
Sass说:“随着报告的漏洞数量增加,修补这些漏洞的紧迫性也随之增加。” “尽管如此,开发团队依然正在努力跟上步伐。”
相关报道:https://www.theregister.co.uk/2020/03/13/open_source_bugs/
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】