最近发表的一份研究报告指出,开源码软件对于正在使用它的公司来说,可能会带来巨大的安全风险,因为在许多情况下,开源社区不遵守最起码的安全最佳做法。
该研究报告是由软件安全厂商Fortify Software实施的,它对于11个开源软件包进行了评估,并且对近三个月以来各个开源社区对于安全性问题的回应进行了总结。这一研究报告的目标之一就 是要找出这11个开源软件的社区能够对于软件安全性问题、漏洞结果、发布的安全指南和安全的开发过程迅速做出回应。
在这11个开源软件或项目中,开源应用服务器的Tomcat的表现是最好的。其余的10个开源应用、工具和数据库软件包--- Derby、Geronimo、Hibernate、Hipergate、Jboss、Jonas、OFBiz、OpenCMS、Resin、 Struts---结果很令人沮丧。在这10个开源软件中,应用服务器JBoss的得分最高,因为它在自己的官方网站上提供一个醒目的链接。该链接能连接到安全信息上并且是快速与安全专家沟通的一种方式。但不足之处就在于没有提供一个具体的电子邮箱别名,从而方便访客提交安全漏洞。
“你不想将错误报告给一个通用的邮件列表,因为这将会公开化,” Fortify Software安全研究小组经理Jacob West说。需要有一种提交错误报告的秘密方法,因为这样就能在公众被通知是发布这些错误的补丁包,因此恶意攻击者不能得到他们可以利用的早期资料。
但是,免费提供开源软件的社区往往对于安全性做法的关注不如商业软件商做得好,后者会提供充分的技术支持。
Fortify Software对这11个开源软件包的每个的各个版本都进行了仔细的检查,一共从中找出了22826个跨站点脚本和15612 个SQL注入式(injection)安全漏洞。
但是,当Fortify试图把这些问题提交给开源社区时---主要联系方式是一个网站或一个一般的电子邮件地址,Fortify发现,“在三分之二的情况下,你不会得到任何回应,他们没有提供任何电话号码,那么你应该向谁询问安全信息?这很难讲。”
该报告还指出,“开源软件包或开源项目往往声称具备了企业级的功能,但实际上却不采用甚至不考虑行业最佳做法。只有少数几个开源开发团队在沿着正确的方向前进。”
Fortify Software之所以进行这项研究工作,目的并不是为了谴责和批评开源软件,而是为了指出开源技术的安全性做法需要改进,因为越来越多的企业和政府机构正在使用或准备使用开源软件和解决方案。
Howard Schmidt之前曾担任白宫的网络安全主任,现在是Fortify Software的高级安全顾问兼董事会成员。他说,这项研究表明,当谈到将开源软件或解决方案用于企业领域时,你最好睁大你的眼睛。
现实情况是,虽然开源软件可能看起来会更符合成本效益,并且在某些情况下具备和商业软件同样的功能,但是在使用之前,你一定要仔细询问有关安全和维护问题。
“'如果出了问题,我需要联系谁?''其它公司使用这个开源软件的情况如何?''我的其它供应链合作伙伴有没有使用这些软件的,效果如何?'这些都是你需要调查的问题。” Schmidt说。
关键问题是,公司用户可能会发现他们有时需要自己对开源软件包进行修复。“如果你提前对此有一个安排的话,那么这件事情做起来就比较有效率,” Schmidt说。
政府机构和企业用户需要做出决定,他们是否需要通过风险评估和代码审查,然后自己尝试修补开源软件本身的问题,并且是否需要将找到的问题反馈给开源社区。
West说,这是一个关于软件开发生命周期的根本性问题。他还补充说,Fortify Software从这项研究中发现,开源社区在这种情况下往往不能及时修正已经发行很长时间的软件版本中发现的缺陷。