个人计算机问世之初,很少有厂商担心其安全。直到上世纪90年代初,对安全的需要才变得广为人知。而如今,物联网遵循同样的模式——只不过对安全的需要显然变得快好多,厂商应该变得聪明些,尤其是考虑到开源具有的巨大影响力。
根据2014年惠普公司的一项调查结果显示,在测试的十个物联网设备中有七个存在严重的安全漏洞,每个设备平均有25个安全漏洞。尤其是,这些安全漏洞包括本地和互联网传输的数据缺少加密,没有实施安全密码,以及已下载更新版的安全性。测试设备包括目前使用的一些最常见的物联网设备,包括:电视机、恒温器、火警报警器和门锁。
据Gartner预测,到2020年使用的智能设备将多达250亿个,没有人能事先预知到安全问题,到时重大的安全问题会让基本互联网的安全问题显得无关紧要。
这个迫在眉睫的问题不仅令人忧虑,还令人困惑。考虑到物联网与之前的OpenStack一样,建立在开源上,这个技术领域的开发人员比大多数人更关注这类问题,物联网厂商为什么没有更加关注安全呢?
最近一项调查表明,三分之二的调查对象关注物联网安全,不过没有证据能说明安全问题的数量在过去几年有所减少,或者正在采取措施来防止未知的危机。那么出现了什么情况?
选择最合适的开源用于物联网
智能设备与之前的OpenStack一样建立在开源的基础上,这一点太过明显,谁也不曾怀疑。2015年年初,VisionMobile对3700名物联网开发人员所作的一项调查表明,91%在工作中使用开源。
这个数字表明,要是没有开源,就算物联网果真发展起来,速度也要慢得多。暂且不说别的,使用开源和开放标准就有助于减少厂商的设备之间的兼容性问题。
众所周知,开源还帮助厂商更快速地开发产品,帮助生产盈利的产品,而从头开始搞研发是不切实际的。与整个IT行业一样,大多数智能设备厂商要是没有开源,几乎存活不下来。
正如VisionMobile调查所做的那样,问问开发人员为何使用开源,他们可能会提到理想主义方面的原因,或者是有机会学习新技术。
然而,问题在于,虽然厂商们出于战术上的原因使用免费许可证,开发人员对基于社区的开发具有的优点光说不练,很少有企业开源项目具有社区项目那样的开放性。理论上来说,企业项目向任何人开放,但实际上,很少有人听到这种项目。就算听到此类项目,由于保密协议,非雇员也常常没有积极参与的劲头。
Canonical Software就是这种情况,这家公司开发了Ubuntu Linux发行版。至今已有六七个年头,Canonical偏爱开始启动自己的项目,或者主导现有项目,而不是与庞大或老牌的社区项目进行合作。
从经常请求其他开发人员来看,不为Canonical工作的人很少似乎渴望为这些项目做贡献。开发人员不是那么天真,以至于没有看到这类企业项目实际上是贡献免费人力――如果与Canonical一样,贡献需要将版权赋予公司,更是如此。
在这种氛围下,我觉得,关注的重点放在开源的短期优点上。完全同样重要的是,项目的参与者过于专注、人数过少,“足够多的眼睛,就可以让所有问题浮现”这句老话就没法奏效。不仅可能缺少眼睛,那些现有的眼睛更倾向于关注尽快进入市场,而不是花时间操心安全。
当然,厂商可能采取弥补措施,招聘开发人员关注安全漏洞。当然,这是几年前解决像openSSH等项目缺少眼睛的方法,当时Linux基金会捐钱,以便更多的开发人员投入到核心项目。
然而,如果项目不是以社区为中心,那种解决办法就行不通。当大家关注短期效益时,就需要一定的前瞻性,而这很难做到。因而,许多人担心未经检智能设备的潜在安全问题,但是很少有人采取任何措施来预防。
工具合适,但理由不对
由于社区蓬勃发展而能够检测漏洞不是开源的任何普通定义的一部分。Richard Stallman的四大软件自由没有提到它,GNU通用公共许可证或其他任何免费许可证的条文中也没有提到它。相反,它是健康社区的意外结果。
然而,这种意外性不可能出现在想要充分利用开源,又尽量少交出控制权的公司。只有建立一个活跃、开放的社区,才能够获得开源的一些优点。除非智能设备厂商学会信任社区的一套流程,否则安全问题完全可能会日益严峻。
原文发布时间为:2016年8月22日