如果有一个典范面临开源安全所面临的挑战,它可能是沃纳·科赫,谁写的,为过去18年来辛苦维持GNU隐私保护(GnuPG的),开源软件生态系统的支柱的德国开发商。
自从1999年它的第一个产能释放,GnuPG的已成为世界上使用最广泛的开源安全工具之一,保护政府官员大家斯诺登的电子邮件通信。
然而,科赫发现自己挣扎着入不敷出的排头兵。他所收集的平均年度捐款自2001年预计$ 25,000个都不足以支持他的努力。如Pro Publica报道当时,53岁的他几乎要放弃GnuPG爱德华·斯诺登(Edward Snowden)披露的美国国家安全局(NSA)信息震惊世界,说服科赫坚持到底。“我太理想化了,”他说。
这个故事有一个皆大欢喜的结局。在ProPublica故事发生后,来自世界各地的捐助者火速支援科赫。他轻松地超越了他所设定,以支持他的工作,使他能够聘请兼职开发商的$ 137,000名筹款目标。科赫是Linux基金会的核心基础设施计划授予的$ 60,000的一次性补助。Facebook和在线支付处理器条纹每个承诺每年$ 50,000到科赫的项目。
GnuPG直到最近都是资金不足的项目,这些项目构成了一个规模空前的巨大开源生态系统的一部分。开放源代码的广泛重用推动了当今飞速发展的技术发展,但这些代码的庞大数量阻碍了安全审查。直到最近,我们才开始正视这一问题,通常是紧随安全漏洞之后,让该行业陷入行动困境。
将代码食品
让科氏常年干旱的环境并不罕见。
在谷歌研究人员尼尔·梅塔发现之后心脏出血漏洞,OpenSSL中的一个组成部分严重和远程利用的漏洞,该软件社区感到震惊地获悉,该项目是什么吉姆·泽林,Linux基金会的执行董事,被称为主要责任“命名史蒂夫两个家伙。”斯蒂芬·亨森博士和史蒂夫侯爵吃力兼职保持代码更新,以每年几千美元的自愿捐款补偿。
技术供应商谁依靠开源很快在趁虚而入和OpenSSL的项目设置权限。核心基础设施倡议,给了的GnuPG的创造者$ 60,000个赠款,成立时间较早个月,以帮助基金汉森的工作和其他人的OpenSSL。金融支持是由这样的硅谷巨头如亚马逊,Adobe公司,思科,Facebook和谷歌提供。
一千眼睛眨
Heartbleed并不是第一个致命的开源bug。例如,Apache Struts的脆弱性通过近一年的早了,就至少为严重。
但是由于媒体的狂热,Heartbleed可能已经永久地使Eric Raymond关于开源质量的著名格言“只要有足够的眼球,所有的bug都是肤浅的。”大多数安全专业人士表示,这个概念总是更像是一种理想,而非描述。
“我从来没有‘有无数的眼球’的概念很喜欢,”约书亚科尔曼,CTO说,在公司Sonatype的。“只是说有‘无数眼球’并不意味着这些眼球的动机或有资格去找找安全漏洞。”
开源的“许多眼睛”保证服务主要是为了掩饰在开源生态系统的弱点,这意味着其中没有存在持续的警惕的气氛比尔·温伯格,在公司黑鸭子软件开源策略的高级主管说。
“随着弹震,你并没有太多的目光,”温伯格说,指的严重漏洞被发现潜伏在代码猛砸在2014年。“人们认为那份守则经过了严格审查,但结果发现,它并没有得到很好的策划,因为每个人都认为它经过了严格审查。”
虽然我们可能会认为开放源代码的完整性很高,但Sonatype的数据表明情况恰恰相反。Corman在文章中写道,该公司对其托管代码库中开源组件的一项分析发现,开源组件中已知的漏洞只有41%的时候得到了修复Usenix期刊;登录。对于已经修复的问题,平均时间是390天。
但是,即使在谈论“开源”除了商业,专有软件是一种误导。虽然线路可能曾经分开的开放源代码和专有软件项目,最现代的应用是第三方软件组件的组合,其中不乏开源,科尔曼说。
认真对待代码级安全性
恰当的回应是什么?HackerOne公司首席政策官、微软前高级安全策略师凯蒂•穆萨瑞斯(Katie Moussouris)表示,无论好坏,答案很大程度上取决于文化。“我们需要建立一种安全思维模式。这对每一个软件项目都很重要——不管是不是开源的。”
Moussouris的公司提供了一个基于网络的平台来协调漏洞披露,包括通过漏洞奖励计划。她指出,HackerOne已经为广泛的开源项目(包括PHP、Ruby on Rails、Python和OpenSSL)赞助了漏洞奖励,为漏洞报告提供补偿。
开源项目需要采取一种更严肃、更系统的方法来解决安全问题,她说:“你必须至少尝试建立安全机制。”
Sonatype公司的科尔曼提倡一种更严格的解决方案:建立与制造商类似的供应链,既能提供高质量,又能承担责任。
科曼以福特的生产线为例指出,该公司知道其汽车成品中每个部件的出处。问题可以追溯到特定的供应商,设施,甚至生产运行。
在现代软件开发组织,但是,没有这样的系统中存在。几乎所有的商业软件应用程序使用开放源代码和第三方公司出售的专有组件,但软件公司可能具有的所有代码的质量和原产地的粗略概念。通常情况下,范围和漏洞的影响,变成只有经过灾难降临闻名。
以Shellshock为例,有问题的代码可以追溯到1989年,影响了广泛的应用程序——从基于cgi的Web服务器到Qmail电子邮件服务器,再到某些DHCP客户机。对该漏洞的攻击在其泄露后数小时内就开始了。