嵌入式系统是物联网的核心技术。物联网在将计算技术带入与人类生活密切相关领域的同时,也向外界敞开了大门,增加了外部攻击的风险。
安全隐患
嵌入式系统是物联网的核心技术。所谓嵌入式系统,就是被嵌入硬件之中的计算技术,从广义上来说就是计算机系统。
与PC这样的通用计算机系统不同,嵌入式系统通常只针对某一特殊任务,其核心是由一个或几个预先编程好用来执行少数几项任务的微处理器或单片机组成。因此,设计人员能够对其进行优化,减小尺寸或降低成本,厂家也通常进行大量生产。
但问题是,当物联网将计算技术带入与人类生活密切相关的领域,嵌入式系统在提供便利和效益的同时,也向外界敞开了大门,从而增加了来自外部攻击的风险。
嵌入式计算系统布满了漏洞,并且没有任何有效的补丁能对其进行修复。毫不夸张的说,嵌入式系统正面临“安全危机”。
上世纪90年代,PC产业也曾遭遇类似“危机”。当时的PC行业软件充斥着各种安全漏洞,软件厂商集中精力“隐瞒”事实,错失最佳修复良机。当安全更新发布的时候,如何说服用户去安装,又是另外一个难题。
PC产业在过去二十几年里发生了巨大变化。一方面,用户反馈敦促软件商加快安全更新的发布速度。另一方面,自动更新-自动在用户电脑上安装安全更新的功能-也逐渐成为主流。当然,结果也许并不十分完美,但比起90年代时已好上太多。
与90年代相比,现下的情况要复杂得多,因为计算机技术较当时已是天差地别。现在,所有设备都是联网的,路由器和调制解调器里的计算机比90年代中期的PC性能还要强大,物联网将所有这些都计算机都变成了消费电子设备。但相比之下,消费电子企业在处理安全问题的能力上远不如PC及软件公司。
黑客曾证实,路由器比PC更易被攻破。在全球知名的Def Con大会上,某黑客成功侵入了30款家用路由器中的15款,其中不乏来自知名品牌的知名产品。
所以,如果安全问题得不到解决,“灾难”一定会降临。
嵌入式系统
要更好地理解所谓安全问题,需先了解嵌入式系统市场。
一般来说,嵌入式系统的核心是博通、高通、Marvell等公司提供的专用计算机芯片。这些芯片价格低廉,利润空间也很小。除了价格,制造商只能通过功能和带宽来实现差异化,因此常在芯片中“植入”Linux系统,其它开源或专用组件和驱动程序。
受控于成本及大批量生产的要求,在出货前,制造商总是尽量精简制造。因此除非真的有必要,否则厂家不会更新BSP(板级支持包)。
嵌入式系统制造商-通常是原始设备制造商(ODMs)-根据价格和功能选择芯片,然后制作成路由器、服务器等设备。同样,ODMs也不会做过多设计,有些品牌公司也许会在其中加入用户界面或其它一些功能。
问题是,在制造及加工的过程中,没有任何诱因,也没有任何一方具备专业知识和能力,能够应对软件漏洞。一批芯片出货后,制造商忙着设计新芯片,ODM忙着用新芯片制造新设备,如何维护旧芯片不是它们会优先考虑的问题。
因此常出现这种情况,设备是新的,软件却陈旧不堪。有调查发现,家用路由器的软件组件要比硬件“旧”四至五年。
有些嵌入式系统的软件漏洞得到了修复,但多数没有。事实上补丁非常重要,因为时间越长,越容易出现安全漏洞。
更糟糕的是,很多嵌入式系统的软件和组件根本无法修复或升级到新版本。因为很多设备驱动程序和软件组件只是“二进制程序”,不存在源代码。这就是问题所在,没人能修复二进制代码。
就算能够开发出针对二进制程序的安全补丁,如何让用户打上这些补丁也是个问题。用户通常手动下载及安装补丁,但和PC不同,多数嵌入式系统的终端用户不具备手动管理系统的专业知识。有时候,互联网服务提供商(ISP)会远程为路由器和调制解调器打补丁,但这非常罕见。
解决方案
黑客们早已意识到了这一点。前些时候,一种叫做DNS Changer病毒在不知不觉中感染了大约400万台电脑。上个月,安软公司赛门铁克又发现了一种Linux蠕虫病毒,专门针对路由器、数码相机和其它嵌入式设备。
这仅仅只是个开始,黑客们利用简单的工具就能轻易突破嵌入式系统的防线。
物联网让问题更加严重。当所有设备都是联网的,一旦某一环节被攻破,整个网络链都会受到损害。
PC产业也曾面临这样的问题,并且最终得到了解决。但嵌入式系统和PC不同,同样的方法不会奏效。
90年代时,问题出在电脑上。但这些电脑多数没有联网,病毒传播的速度相对也很缓慢。现在,更多的设备通过互联网相连,暴露出来的漏洞更多,病毒的传染速度更是可想而知。更何况,嵌入式系统供应商和用户都缺少安全维护方面的技术专长。
嵌入式系统的安全问题必须得到解决。系统商应将产品设计的更好,开源代码驱动软件应取代二进制代码程序。这样,第三方安全商和ISPs也能为嵌入式系统开发安全工具或提供软件更新。
另外,自动更新机制也需更加普及,以确保上述安全工具和软件更新被及时安装到每台设备上。
经济诱因促使大型ISPs成为这场“变革”的驱动者。ISPs是嵌入式系统的中端使用者,现在它们也许不得不常为用户更换新硬件,因为这是更新路由器或调制解调器的唯一途径,这可能会花掉它们从用户身上赚取的所有利润,而且无法从根本上解决问题。
与其等着应付即将到来的安全灾难”,不如事先为开发更好的嵌入式系统买单,至少成本会更低。