为什么开源软件并非想象中的那样安全?

  OpenSSL Heartbleed 的大惨败没有任何异议的证明了人们一直怀疑的事情:仅仅因为开源代码只是用来检查用的,但并不意味着它已经完全被检查过了,而外是安全的。

  这一点是至关重要的,原因在于开源软件的安全性完全依赖大量拥有专业技能的程序员检测代码,并迅速将含有Bug的代码移除或修复。这一点在Linus's Law(林纳斯定律)也提到了:“只要有足够多的眼睛,就可让所有问题浮现。”

  但是我们来看看使用OpenSSL之后发生了什么事。Robin Seggelemann是德国Munster大学的一位程序员,通过添加一个新的Heartbeat保活功能来更新OpenSLL代码,但不幸的是,他错过了一个必要的代码验证来检查一个特定的变量是有现实价值的。OpenSSL开发团队的成员在发布更新版本之前也没有进行检查,这些疏忽都是导致Heartbleed Bug出现的最主要诱因。

  如果他们觉得代码里没什么Bug的话,别说是一个审查员,即使是一大堆审查员也找不出这个微不足道的小错误。这个Heartbleed Bug一直存在了两年,在OpenSLL里面,在浏览器里面,在Web服务器里面,最终还是没有一个开源社区发现它。难道可以将此归咎于没有足够多的审查眼睛吗?

  商业渠道缺乏对开源代码的审核

  同样令人担忧的是,OpenSSL 此前一直被当做一个重要组件使用在硬件产品中,这些硬件产品由像 F5 Networks、Citrix Systems、Riverbed Technology 和 Barracuda Networks之类的商业公司提供,这些公司在使用它们之前都没有进行足够的审核。安全云网关厂商Forum Systems的CEO Mamoon Yunus透露了上述内容。

  他说:如果把OpenSSL商业化,作为供应商是有责任提供更多的眼球进行审核,因为,一旦你打算建立一个基于开源组件的公司,对代码的所有权是必不可少的。

  然而,Yunus 认为供应商只关心OpenSSL作为他们硬件产品上的一个有用的螺栓而已,而且,就因为它是开源的,所以他们假定已经有别的开发者对OpenSSL的代码进行过检测了,而自己却没有对它审核的责任。他说:“这就是从开源角度思考问题所产生的疏忽大意结果。”Yunus建议,商业厂商应该尽可能的花人力物力在开源代码上施行同行评审制度,并且使用静态和动态分析工具来确保代码是无Bug的。

  OpenSSL、Truecrypt暴露出开源代码审核的短板

  许多开源项目现在都面临一个问题,那就是很难明确的归责于Seggelemann 或者是其它的 OpenSSL 团队,实施一个严格标准的代码安全审核是一件及其耗时且需要很高的技术能力的事情。换句话说就是代价很昂贵。

  这里来介绍一下另一个开源项目:TrueCrypt加密程序。此项目十年前就已经开始了,现在它的带安全开放,有兴趣的人都可以观看。但是最近,随着Indiegogo and Fundfill网站上募款活动的进行,最终筹集了6万美金的资金,帮助TrueCrypt的代码度过了一个适当的安全审计。

  代码审计员说:总的来看,引导程序的源代码和Windows 内核驱动源代码并不满足源代码的预期标准。

  令人担忧的是,只有在被曝光之后,他们才招聘大量人力资源进行代码审查。开源社区在过去的十年里有足够的机会做这些事,但事实是,社区根本没有时间、技能或资源(包括资金)正确地完成这项工作。

  将安全性隐藏起来从来就不是一个好主意,但一旦漏洞被公开出来的话,他们就需要立刻将其修复。尚不清楚OpenSSL团队是否能够做到这一点,关键是这个项目只有一个全职的维护者,或者说,不管是使用OpenSSL的软件还是硬件产品,包括OpenSSL软件本身都需要及时的更新维护。

  后Heardbleed时代更应该加强安全意识

  现在有一个好消息,对于那些关心像OpenSSL这样的开源项目的安全的人来说,这是一个好消息:Core Infrastructure Initiative (CII)将会以自己的方式帮助这些开源项目,CII是一个由Linux Foundation建立的新项目,以应对Heartbleed事件。其目的是传送资金给像OpenSSL等需要钱的软件项目,因为这些项目对互联网的功能至关重要。

  “我们全球的经济是建立在许多开源项目上的。”Linux基金会的执行董事Jim Zemlin说。“我们现在可以支持更多的开发者和维护者从事全职维护工作,通过他们对重要的开源项目施行全方位的支持。”

  来自CII的支持可能还包括资金安全审计、计算和测试基础设施等方面的支持。到目前为止,约400万美元的筹款已完全可以支撑CII在未来三年对开源项目的维护,捐款的公司包括Google、Microsoft和Facebook。

时间: 2024-09-20 17:45:30

为什么开源软件并非想象中的那样安全?的相关文章

勒索软件没有你想象中的那么挣钱

近日Flashpoint对当前的恶意勒索活动作出了一份报告,并在报告中对恶意勒索活动作出了独到的见解. 恶意勒索真的那么赚钱? 前一段时间有报道称, 恶意勒索软件Nuclear EK的作者每月收入高达10万美元,对此可以看出恶意软件勒索已经演变成一种生意行为了.从报告中的得到的信息,甚至还可以分析到,一个年轻人可以独自操作去骗钱.Flashpoint对去年12月份俄罗斯网络黑帮的斗争进行了分析,对招募新成员.付款流程.恶意软件分发给其成员都作出了说明. 2012年是该种勒索软件活动的一个高峰时段

指纹传感可破解,安全性并非想象中那么高

在展台上,Vkansee现场表演了如何用雕塑粘土伪造假指纹,随后它们还用制作好的假指纹骗过了一台手机上搭载的低分辨率指纹传感器.据在场的BBC记者报道,这块伪造指纹看起来很劣质,但依然成功解锁了手机. 作为一家指纹识别器生产商,Vkansee费劲去做破解可不是为了转型做安全公司,此举主要还是为了宣传自家的高分辨率指纹识别扫描仪. 这台新款扫描仪分辨率达到了2000 dpi,是现有机器的四倍.在这种精度级别上,扫描仪能够记录指纹上最细微的特征,所以想要靠假指纹骗过它,几乎是不可能完成的任务. 其实

微软宣布12月15日关闭开源软件托管平台CodePlex

4月1日消息,据Venturebeat报道,微软今天宣布,将关闭开源软件托管平台CodePlex.微软2006年推出这项服务,并决定在今年12月15日将其关闭. 微软公司副总裁布莱恩·哈里(Brian Harry)在博文中写道,人们将可以下载他们的数据档案,微软正与面向开源及私有软件项目的托管平台GitHub合作,给用户提供"简化的进口体验",代码和相关内容都将转移到GitHub上.简单来说,GitHub赢了! 哈里写道:"过去多年中,我们已经看到许多惊人的选项起起落落.但是

微软宣布 12 月 15 日关闭开源软件托管平台 CodePlex

据 Venturebeat 报道,微软今天宣布,将关闭开源软件托管平台 CodePlex.微软 2006 年推出这项服务,并决定在今年 12 月 15 日将其关闭. 微软公司副总裁布莱恩·哈里(Brian Harry)在博文中写道,人们将可以下载他们的数据档案,微软正与面向开源及私有软件项目的托管平台 GitHub 合作,给用户提供 "简化的进口体验",代码和相关内容都将转移到 GitHub 上.简单来说,GitHub 赢了! 哈里写道:"过去多年中,我们已经看到许多惊人的选

2013年国产开源软件10大年度热门项目

2013 年结束了,我们根据过去一年的用户访问.交流分享和项目本身的更新频度等诸多角度对收录于开源中国的近三万款开源软件进行统计,从而得出前 10 名最受欢迎的开源软件,仅供参考. 本排行榜主要是针对国产开源软件,榜单涉及的 10 个开源软件并非同类型,尽管放在一起并不是很科学.我们只是从几个角度进行筛选,包括用户访问.软件更新和用户对该软件的讨论等. 1. Goagent GoAgent 是一个使用Python和Google Appengine SDK编写的代理软件,goagent的初衷是弥补

开源软件

简述 开放源代码软件(Open Source Software),简称:OSS或开源软件. 这种"公开"正是促使人们使用它的原因,因为这意味着用户可以自由的使用.复制.散发以及修改源码(补充漏洞,按具体需求定制功能).与其相对是私有/专属软件,如:来自微软和苹果的软件,这类软件的源代码是保密的,只有公司的开发人员才可以改动代码. 简述 为什么会有开源软件 开源软件的发展历程 开源软件的特点 开源大家族 无处不在的开源产品 严格遵守协议 更多参考 为什么会有开源软件 广义上讲,开源软件指

巨杉斩获“中国十大开源软件”,开源与企业级结合商业路线得到认可

随着开源软件在行业中的地位不断深入,越来越多的企业开始将开源软件.分布式计算等新技术提升到了企业IT的战略层面.那么开源软件未来的发展趋势如何?整体行业如何保持旺盛的生命力与创新?这些都是很多厂商与用户不得不思考的问题. 2016年12月4日,在一年一度的"开源中国年终盛典"活动现场,OSC(Open Source China)公布了"2016开源中国年度十大开源项目"的榜单.SequoiaDB巨杉数据库作为国内领先的开源新一代分布式数据库产品,也荣幸入选了全国&q

开源软件再曝重大漏洞 “幽灵”可远程控制Linux服务器

本文讲的是开源软件再曝重大漏洞 "幽灵"可远程控制Linux服务器,大多数Linux系统中广泛使用的一个组件存在严重漏洞(CVE-2015-0235),攻击者只需发送一封恶意邮件即可远程控制系统.披露该漏洞 的安全厂商Qualysg于周二表示,此漏洞存在于GNU发布的glibc(C运行库,负责定义系统调用)中,被称为"幽灵"(Ghost). 红帽.Debian.Ubuntu和Novell已经发布了更新补丁,建议系统管理员尽快打上. 该漏洞最早于2000年就出现在gl

支撑起整个互联网时代的 7 款开源软件

开源软件现在成为整个互联网时代的支撑技术,你可能已经无法离开由开源软件构建起来的网络世界了.下面我们就来看看一些最重要的开源技术. 为互联网而生的操作系统linux Linux是一款免费的操作系统,诞生于1991年,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码. 它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳 定的多用户网络操作系统.这个系统是由全世界各地的成千上万的程序员设计和实现的.其目