虽然开源软件在企业领域获得了一席之地,并且具备了与专有软件一争高下的实力,但是它似乎还是无法摆脱安全性和知识产权问题的困扰。
安全性和知识产权问题是老生常谈了,自从开源技术诞生之日起就一直饱受它们的“折磨”。“开源技术的优势在于没有一个单一的实体能够拥有对于一个开源项目的绝对控制权,”着名市场研究架构Gartner的资深分析师Mark Driver说。“没有一个单一的瓶颈”。其中一种理论认为,因为它是开源的,所以软件安全性方面存在的问题可以被很快发现。“但还有一种理论认为,开源技术是不太安全的,因为任何人都可以把恶意代码和软件放进它里面,这种说法也很有道理,” Driver说。
尽管怀疑的言论从来就没有停止过,不过开源运动依然如火如荼地进行着。现在有数以万计的开源社区和开源软件开发人员参与开源运动,每天产生的代码量大得惊人,这样的一个直接结果就是产生了很多开源操作系统和应用程序。开源技术不仅顽强地生存了下来,而且要还正改变着传统商业软件的做法。
开源软件组件通过一些开发工具已经融入到了商业软件中,比如Eclipse 和NetBeans。 Linux操作系统已经不仅仅是企业用户喜欢的一个选择了,华尔街的很多金融巨头也开始使用Linux了。开源中间件应用,比如Geronimo、Jboss、MySQL和 Hibernate也在企业领域变得越来越受欢迎。
Gartner估计,到2013年,80%甚至更多的商业软件在开发过程中将会使用开源技术。
在这种大趋势下,越来越多的企业和政府部门的IT管理人员想要尝试一下开源技术,这也是顺理成章的。不过,他们在做出最终决定之前,他们需要对于每一个开源软件以及它所依附的公司进行仔细的评估,主要从该开源软件社区的成熟度、维护代码库的能力以及能够及时添加扩展或修正错误方面进行详细考察。如果比较成熟的开源供应商比如IBM、红帽和惠普承诺支持你所选择的开源软件和开源技术方案,那么通常这就不会有什么问题。
“将开源技术用户商业用途的最自信的用户往往在技术上非常自信,因为他们自己在内部拥有一个自己的研发团队,能够胜任开源软件的修修补补,或者他们从开发商那里购买技术支持。”Driver说。
那么,开源软件更迫切的安全和知识产权影响是什么呢?
一个主要的问题是开源软件的安全漏洞是如何发现和修补的。与闭源和专有软件供应商相比,开源软件寻找漏洞和修补漏洞的方式大不相同。
软件业的巨人微软也曾经把自己封闭起来,当外界人员或企业发现微软产品漏洞并提出建议时,微软通常表现得非常谨慎并且很勉强。不过,近几年微软逐渐向外界“敞开了心扉”,与安全方面的专间建立了明确的联系,以便能够得到这些专家们发现的漏洞等关键信息,并及时开发出有效的补丁。
在这方面,微软的最新努力使得安全领域的专家与巨人距离更近了。一个月前,微软发表声明说,在微软的月度安全警告之前,微软会将有关微软产品的漏洞信息发送选定的一些安全厂商,这使得微软能够发在布公共通知之前,修复这些安全漏洞。微软声称,它这样做的目的是为了阻止黑客利用漏洞信息设计零时差(zero-day attacks)攻击。
相比之下,开源社区往往不能与外界的安全技术专家保持明确的联系,他们往往对外部安全专家不是很信任。无路如何,很多开源社区保密的做法违背了开源技术的本质精髓。
“与专有软件相比,开源软件的开发模式有很大的不同,” GNOME Foundation的执行总监Stormy Peters说。GNOME Foundation主要研发用于各种Linux发行版的桌面应用程序,包括Novell和红帽。“某一具体的开源项目通常不会给你提供安全服务或一个联络人,但通常会给你一个邮件列表。”
该邮件列表通常是开放的,正如任何错误追踪系统一样。“每当问题被修复和解决时,我们就会发布一个补丁程序或升级升序,” Peters在谈到GNOME时说。“这些责任通常就落在那些有权检查代码改变的那些人身上了。”
开源人才都是 “精英”,Peters说,尽管开源社区对于“自给自足”的方式感到非常舒适和满意,不过“如果你看起来足够可信的话,外界专家一定能找到一种方式与开源社区交流。”
咨询公司OpenLogic主要任务就是充当外界公司和开源社区之间交流的媒介,负责在技术上检查400多个开源应用。该公司高级顾问 Peters敦促那些想要与开源社区交流的安全专家努力在开源社区中找到能交流的合适人员,从而共同关注可能出现的缺陷并保持及时的交流。
有时,使用开源软件的企业在内部提供一个补丁程序,虽然他们可能不希望自己将这件事情公布于众。不过,补丁信息一般将会发给邮寄清单中的每个用户,Peters说,“每个人很快就会知道这个消息的。”
一些安全厂商已经发现,将一些消息传递给开源社区要比传递给闭源供应商困难得多。
Fortify Software是全球最大的软件安全厂商,最近该公司与安全顾问Larry Suto联手对11个基于Java的开源应用软件和程序包进行了一次漏洞评估,并且对近三个月以来各个开源社区对于安全性问题的回应进行了总结。 Fortify Software发现这11个软件都有很明显的安全漏洞并希望能把这些信息反馈给开源社区。
在研究报告中,Fortify Software指出,开源码软件对于正在使用它的公司来说,可能会带来巨大的安全风险,因为在许多情况下,开源社区没有遵守最起码的安全最佳做法。这一研究报告的目标之一就是要找出这11个开源软件的社区能够对于软件安全性问题、漏洞结果、发布的安全指南和安全的开发过程迅速做出回应。
在这11个开源软件或项目中,开源应用服务器的Tomcat的表现是最好的。因为只有Tomcat使用了Fortify Software一直提倡的安全最佳做法。其中包括一个用于报告安全漏洞的专门的电子邮件别名,一个与安全专家交流的方式以及一个链接到安全信息的醒目Web链接。
其余的10个开源应用、工具和数据库软件包--- Derby、Geronimo、Hibernate、Hipergate、Jboss、Jonas、OFBiz、OpenCMS、Resin、 Struts---结果很令人沮丧,甚至有些对于Fortify Software的调查不予回应。在这10个开源软件中,应用服务器JBoss的得分最高,因为它在自己的官方网站上提供一个醒目的链接。该链接能连接到安全信息上并且是快速与安全专家沟通的一种方式。但不足之处就在于没有提供一个具体的电子邮箱别名,从而方便访客提交安全漏洞。
“你不想将错误报告给一个通用的邮件列表,因为这将会公开化,” Fortify Software安全研究小组经理Jacob West说。需要有一种提交错误报告的秘密方法,因为这样就能在公众被通知是发布这些错误的补丁包,因此恶意攻击者不能得到他们可以利用的早期资料。
但是,免费提供开源软件的社区往往对于安全性做法的关注不如商业软件商做得好,后者会提供充分的技术支持,West说