最近在开源软件中发现的一系列缺陷再次引起了人们的关注安全在继续扩展被数百万人使用的庞大且极其流行的代码库的匆忙中被忽略了。
例如,尽管基于Java的Spring框架是一月份受到安全研究人员的批评因为它有一个主要缺陷,允许攻击者执行远程代码应用程序本周Spring的更新没有解决这个安全问题。
“不幸的是,很多人都是这样开源Aspect Security的首席执行官杰夫·威廉姆斯(Jeff Williams)在两个月前指出,在修复与潜在远程代码执行相关的问题之前,Spring中的“表达式语言”功能应该被禁用。但是更新春天本周没有解决这个问题,尽管它们确实扩展了Spring的功能。Spring Framework由VMware的一个部门SpringSource管理。
[图片:2012年十大最成功的开源项目]
威廉姆斯说:“他们忙于实际的功能性工作,因此他们的动机总是尽量减少安全问题的重要性。”。
然而,其他研究人员反驳说,自由或开源软件社区对安全的关注差异很大,事实上,许多社区在解决安全问题方面做得很好。
“开源项目之间的处理方式非常不同,”安全公司IOActive的研究员Vincent Berg说。“有一些项目对此采取了非常积极的方法Linux发行版和不同的BSD口味往往做得很好Ruby on Rails网络应用软件项目也在最近迅速转移到进行必要的更新为了安全起见,伯格说。
他说,他的印象是,在开源中更好地处理安全问题似乎来自那些向用户提供建议用户订阅的安全邮件列表的人,“这些发行版中的大多数都有专门的安全联系人。”
他说:“这些联系人通常可以通过专门的安全邮件列表联系到,而这些邮件列表往往是非公开的。”分析之后,就是否存在与安全相关的问题达成一致并进行修复。
伯格还说,像Debian和大多数其他大型Linux发行版以及FreeBSD这样的项目似乎通常会向“上游软件包维护者”报告错误
Berg说:“如果有人向Debian报告Firefox中的错误,而不是向Firefox人员报告,那么Debian人员将把它作为他们的第一个联系点来处理,但他们将向Firefox人员循环,以确定一种联合方法。”。
他说:“像Firefox这样的项目使用他们标准的bugzilla漏洞追踪器,我有向他们报告安全漏洞的个人经验。”“在提交错误修复之前,他们对错误报告的响应往往非常快(安全错误将被标记为默认的私有,以便只有报告人员和安全团队可以查看它)。”
根据最近一项名为“Firefox安全问题”的研究,多年来,Firefox产品存在大量严重的安全问题。25年的漏洞由安全公司Sourcefire完成,该公司分析了向两个公共数据库报告的开源和专有漏洞。Mozilla Firefox浏览器的高严重性漏洞数量最多,仅次于Firefox微软窗户XP[见图]。
根据常见漏洞和暴露(CVE),Firefox有433个漏洞被评为高严重性和严重性数据库和第二个来源,国家标准与技术研究所的国家漏洞数据库。高度严重的漏洞意味着攻击者可能完全危害用户的机器。一般来说,三款Mozilla产品获得了令人怀疑的区别,即将Sourcefire报告列为“具有严重漏洞的前十大产品。”
Sourcefire报告称:“事实上,关键漏洞排名前三的都是Mozilla的产品。”Sourcefire报告还指出,在比较Linux与Windows或Mac OS的产品时,Linux有1,752个漏洞,而Windows有1114个漏洞,Mac OS版本有827个漏洞。
和私有软件一样,有很多严重的漏洞有待发现。根据一些研究人员的说法,在开源领域,更大的问题是现在普遍使用有缺陷的开源代码。有些人说,通常很难找出安全问题是什么。
Sonatype的首席安全官Ryan Berg说,不仅仅是像Spring框架“表达语言”缺陷的严重程度这样的严重问题值得深切关注。
“对我来说,更大的问题是确定开源组件的安全性非常困难,”他说。“我们看到有缺陷的开源软件的使用量前所未有。”
Sonatype是一家提供组件生命周期管理产品的公司,它还运营开源组件的中央存储库。它拥有超过400,000个组件,每年为60,000个组织提供超过50亿的请求。
Sonatype的Berg说,开源社区需要使报告问题变得更简单、更透明,并以更清晰的方式发布关于安全性的发现。
他说:“我们得到了CVE的反馈,但仍存在未报告的问题。”他指出,黑暗面是漏洞正在被发现,但总体上仍不为人知。但是对开源的需求是如此强烈,以至于开发人员不断地下载它,它已经成为企业代码开发和商业产品的重要组成部分。
WhiteSource Software的首席执行官拉米•萨斯表示,下载有缺陷的开源代码会带来“法律角度的问题”。WhiteSource Software提供开源生命周期管理软件,供供应商和企业使用,以跟踪他们对开源库的使用情况和法律地位,以遵守公司内部政策。
虽然WhiteSource的重点主要是跟踪开源库和法律问题,而不是纯粹的安全技术方面,但Sass说,他认为开源带来了“一种特殊的暴露”,因为黑客可以通过查看它来发现漏洞。他还指出,公司使用开源库开发和销售商业软件是司空见惯的事,其中许多库已经过时,但没有对此进行监控。
Sass说,一个常见的问题是,公司,无论是供应商还是企业,都无法了解他们在开源代码方面使用了什么。但现在一些企业被迫要求供应商披露他们的开源使用情况。例如银行和保险公司已经向供应商引入条款,向他们提供完整的开源和赔偿清单。”
IOActive的Berg表示,他的公司也看到客户经常关注开源安全问题。
“我给IOActive客户的建议是,在使用任何新的外部(免费或开源)组件之前,该公司必须对组件进行广泛的分析,以回答一些问题。代码的质量如何?项目是否快速响应上游的错误修复和问题?他们有专门的安全联系人吗?”
IOActive的Berg说,根据对任何特定情况的分析和发布组件的许可,预计使用开源代码的公司可能会决定“简单地对软件进行分叉,并在内部维护一个独立的分叉”。“这样做的好处是不必向上游包的作者透露安全问题,”从公司的角度来看,这可能是“更可取的”。
然而,他补充说,这很可能被公司和从事代码开发的开源人员认为是“糟糕的形式”,因为开源社区更喜欢使用开源的公司报告突然出现的严重问题。
IOActive的Berg指出,无论是企业产品还是厂商产品,使用免费和开源代码都带来了风险和责任,“人们必须跟踪外部安全问题,并将它们反向移植到公司正在使用的库版本中。”“如果图书馆之间的距离太远,这将给公司带来额外的负担。”他说,无论如何,与免费和开源社区“密切而公开地”合作是必要的。
Ellen Messmer是国际数据集团(IDG)旗下出版物和网站N有个足球雷竞技appetwork World的高级编辑,主要报道与信息安全相关的新闻和技术趋势。啁啾:@梅斯梅尔.电子邮件:emessmer@nww.com.
