IoT智能硬件安全威胁分析与应对方法
2018-08-16樊期光彭华熹齐文杰
樊期光 彭华熹 齐文杰 彭 晋 何 申
(中国移动通信有限公司研究院 北京 100053)(fanqiguang@chinamobile.com)
1 IoT智能硬件安全概述
1.1 IoT智能硬件的发展
IoT智能硬件指具备通信能力、能够实现数据发送及接收、具备信息采集或控制等功能的设备,如视频监控、传感器等.物联网可通过多种接入网络实现设备与设备、设备与应用、设备与人之间的通信.
随着物联网的快速发展,IoT智能硬件已广泛应用于个人穿戴、家庭安防、交通物流、智慧金融、智能家居、环境监测等行业,IoT智能硬件无处不在且形态多样,功能及计算能力差异大,在提供服务的过程中会生成复杂的本地和云端数据.根据Gartner的预测,2020年全球联网设备数量将达260亿[1],物联网市场规模超过1.9万亿美元,IDC也给出1.7万亿美元规模的预测.
1.2 IoT智能硬件安全问题
在2017年6月开始实行的《中国人民共和国网络安全法》中明确了关键信息基础设施定义:“公告通信和信息服务、能源、交通、水利、金融、公共服务等重要行业领域,以及其他一旦遭受破坏、丧失功能或者数据泄露,可能严重危害国家安全、国计民生、公共利益的关键信息基础设施.”当前,IoT智能硬件相关技术已经渗透并深入应用到智慧城市、智慧农业、智慧粮库、智慧能源系统、智慧海洋、智慧医疗等领域,涉及到关键信息基础设施的各个方面,IoT智能硬件的安全问题已经成为关键信息基础保护的重中之重.
根据统计结果显示,70%的IoT智能硬件设备本身存在被攻击的风险.IoT智能硬件可能会被黑客利用从事犯罪活动,包括监控现场、授权其他用户远程控制等.不论是黑帽大会安全专家通过简单应用发出命令远程控制胰岛素泵,可随意增加降低病人血糖值,还是BBC和Forbes等媒体报道家庭摄像头被远程控制,或者是Jeep汽车被篡改固件导致车辆失控,种种的事件显示出当前的IoT智能硬件安全形势不容乐观.
根据Business Insider的调查[2],39%的受访者认为安全问题是阻碍物联网投资最重要的屏障,即便如此,62%的管理人员依然计划或正在扩大采购基于IoT智能硬件的系统,而其个人和家庭消费市场更是异常火热,这给IoT智能硬件的安全带来了极大的挑战.
2 IoT智能硬件安全威胁分析
2.1 IoT智能硬件安全威胁分析模型
物联网是一个基于感知技术,融合了各类应用的服务型网络系统.可以利用现有各类网络,通过自组网能力,无缝连接、融合形成物联网,实现物与物、人与物之间的识别与感知,发挥智能作用.在业界,物联网通常被分为3个层次:底层是感知世界的感知层;中间是数据传输的网络层;最上层则是应用层.
感知层是所有数据的来源,物联网发展的最终目标是实现万物互联,所以感知层的目标是全面感知和收集所需的外界信息,感知层通过从智能标签RFID、GPS、环境传感器、工业传动器、摄像头等各种各样的IoT智能硬件中获取原始数据,所以IoT智能硬件的安全就是整个物联网安全的源头.
根据目前比较普遍存在的安全风险和IoT智能硬件本身的技术架构,本文定义了IoT智能硬件的安全威胁分析模型,如图1所示.我们将IoT智能硬件的安全问题分为4部分:硬件安全、系统安全、应用安全以及数据安全.
图1 IoT智能硬件安全威胁分析模型
2.2 IoT智能硬件安全威胁分析
2.2.1硬件安全威胁
由于部分IoT智能硬件长期暴露在外的特性,IoT智能硬件的物理安全可能会比传统互联网终端受到更加严重的威胁.无论是城市交通、工业环境或者农业环境中所部署的IoT智能硬件等传感器分布范围广、设备数量多、待机时间长,如果长时间无人值守,则这些设备很可能因为其暴露的调试接口或者芯片设计缺陷导致数据直接被黑客捕获,从而引发大面积攻击事件[3].对于小型家用和个人IoT智能硬件,攻击者可以通过较为容易的方式对其进行侧信道攻击[4-5],从而获得更多更敏感的隐私数据.
除此之外,由于设备部署环境的原因,设备丢失或被盗是物联网设备面临的普遍威胁,由设备丢失或被盗引发的隐私、机密信息泄露,进而可能导致企业或个人的财务名誉受损.
2.2.2系统(固件)安全威胁
由于部分物联网感知层设备受硬件资源限制,无法完成大量的计算任务,在使用特定硬件架构的物联网终端上,传统的访问控制、沙箱、病毒查杀等系统防御技术可能无法实现,导致物联网感知层设备的系统安全十分薄弱.文献[6]通过分析大量嵌入式设备系统固件,发现了许多可以利用的高危系统漏洞.
除此以外,文献[7]对比分析包括Android things,RIOT,ARM mbed,Lite OS在内等多款现有比较流行的IoT智能硬件操作系统,并指出了其主要存在的3个问题:终端系统安全设计的缺失、原有安全机制的直接沿用或没有充分利用自身硬件架构特性.现有IoT智能硬件系统在设计之初,普遍只关注其功能要求,大多并没有考虑对系统安全进行额外的设计,例如RIOT,其安全特性主要是针对多种通信协议作了改进[8],即使像ARM mbed[9]在设计时将安全考虑在内,但其对于操作系统本身也并没有采取有效的保护措施,仅仅是为了保护通信安全添加了SSL功能.启动代码没有进行合法性、完整性验证,系统和预置应用组件等漏洞未及时修补,系统权限开放过多或权限限制不严格等问题普遍存在.
2.2.3应用安全威胁
目前物联网设备厂商普遍缺乏安全意识和安全能力,在终端业务应用的设计和开发过程中可能并未考虑审核安全问题,导致应用存在各种逻辑缺陷或者编码漏洞,甚至有些厂商为了节约成本直接调用第三方组件,可能导致在设备出厂前就已经引入了公开的漏洞.随着物联网设备在工业等关键设施中的广泛应用,其安全问题也越发严重,攻击者可以通过入侵控制基础设备的关键应用程序从而造成严重的物理破坏.
应用软件在逻辑设计上的缺陷或错误,可能被不法者利用,通过植入木马、病毒等方式来攻击或控制整个设备,甚至破坏系统.
2.2.4数据安全威胁
如本节开始所述,IoT智能硬件是所有数据的源头,每个终端以及终端之间的交互通常都会涉及大量个人隐私信息或者其他业务数据,当前,物联网终端受到硬件资源限制,传统数据安全保护机制无法引入,敏感数据缺少保护机制,同时没有明确的数据采集、传输和访问控制范围,未经用户允许,设备擅自采集大量的用户隐私信息、隐私信息存储位置不安全或者未加密、数据访问控制权限过高等缺陷将会带来严重的数据泄露风险,这些数据很有可能被攻击者直接篡改或者加以利用.
总的来说,IoT智能硬件各层面临的安全风险繁多,其原因包括以下几方面:
1) 成本原因.市场竞争环境要求厂商尽可能使用低成本完成物联网功能,因此安全性高的解决方案很可能不会被采纳.
2) 技术原因.使用者缺乏安全意识或技能,公众缺乏安全意识,导致出现设备管理或权限配置不当、主从设备使用不当、认证信息过于简单或未修改默认配置等问题.
3) 管理原因.缺乏标准要求和指南手册来指导和规范IoT智能硬件的设计、研发、生产、供应链管理、入库、入网.
3 IoT智能硬件安全防护方案
基于上述IoT智能硬件安全威胁模型和分析,建议应从硬件、系统、应用和数据各层面引入相应的防护技术,以提升IoT智能硬件整体安全性.
3.1 硬件安全防护
IoT智能硬件的硬件安全包括调试接口安全、芯片安全以及PCB板的布线、连接器安全等.硬件安全防护能力是IoT智能硬件安全的第1道防线,特别是对物理攻击的防范至关重要.
第一,应该增加硬件层面的主动篡改保护功能,对终端硬件模块和物理接口进行一定程度的安全保障,如采用环氧树脂覆盖调试接口,当设备被打开后通过自毁电路装置进行芯片破坏等方案防止被攻击.
第三,核心器件应尽量选择机密性更好的封装方式,并将敏感的数据线或地址线封装到PCB板内层.
3.2 系统(固件)安全防护
IoT智能硬件的系统(固件)是整个终端的核心,承载着所有功能和业务应用以及底层硬件资源调度和管理,所以其安全在一定程度上影响产品整体安全.通常大规模网络攻击和漏洞利用均是系统漏洞或者固件配置不合理的问题.
IoT智能硬件系统(固件)的安全应满足以下几点:
第一,安全的系统(固件)升级机制.系统(固件)升级非常重要,因为软件的漏洞几乎不可避免,所以采用及时进行漏洞修补和安全升级至关重要.
第二,系统权限限制.采用最小权限原则,保证系统(固件)对系统资源的调用等行为总是在受控的情况下.
第三,加强密钥管理.IoT智能硬件应减少共享密钥的使用,采用个性化的密钥、身份和配置,避免单个产品被破解后产品整体沦陷.
随着物联网应用场景越来越多,通用的安全防护手段并不能完全适应所有应用场景下的IoT智能硬件,不同场景下的个性化安全需求侧重点也各不相同.
智能家居场景下[10-12],IoT智能硬件系统(固件)的首要安全任务就是隐私数据保护,因为这些数据不仅只包含与用户身份认证直接相关的密码、指纹以及虹膜等隐私信息,还包含了家庭水电燃气以及家庭消防和警报数据等.智能家居终端的操作系统需要在不影响应用端使用这些隐私数据的同时防止隐私数据泄露.
智能医疗场景下,IoT智能硬件系统(固件)除了需要严格保护隐私数据,对设备的关键程序操作也需要加强实时监控,确保异常行为在实施前可以被终止,切实地保证医疗设备的安全运行.
智能汽车应用场景下,对于车辆CAN总线的防护和隔离至关重要.用户访问车载系统必须进行身份验证,系统内应防止攻击者借助安全性较低的系统程序(如车载娱乐系统、导航系统等)对CAN总线非法访问.系统内应采用访问控制,将系统资源和应用程序相隔离,从而保护系统关键文件不被非法访问.
工业应用场景下,现阶段IoT智能硬件的安全性主要依靠入侵检测与防御系统[13],如何提高入侵检测的正确率是保证工业安全性的关键.通过关键设备控制命令的相关参数确定设备正常运行时的值域范围,配合专家的意见修订值域用来与实时通信中的控制命令参数进行比对确定入侵,从而确保异常程序行为不被执行.
3.3 应用安全防护
IoT智能硬件的应用包括设备内置应用和对应手机客户端应用,它们承载着所有的业务功能,很多用户的敏感数据也会存储在相关的业务应用中,关键应用的安全性会影响到整体业务的安全.应用安全的防护主要分为3个阶段的防护:应用设计开发阶段、应用发布阶段、应用运维阶段.
在应用设计开发阶段,应针对业务场景认真分析安全需求并应用相应的安全技术,提高开发人员的代码安全意识,严格执行代码审计,严格控制内置应用权限,减少程序漏洞的出现.
在应用发布阶段,对开发完成的应用进行加固和代码混淆,同时运用反编译保护、完整性保护、数据保护等技术手段,以防止程序被反编译和破解.
在应用运维阶段,要建立应用程序风险识别能力,实时分析终端上应用程序的安全态势以及风险分布,通过威胁情报收集,预测安全风险趋势,做好预警工作,及时处理应用出现的各类安全事件.
3.4 数据安全防护
IoT智能硬件收集的数据涉及到企业的经济及商业机密,一旦泄露可能会导致企业破产、人身威胁,甚至威胁到国土安全.数据安全方案建议如下:第一,保证安全的网络传输,包括采用双向多因素认证、足够强度的加密、独立VPN或APN、安全成熟的传输协议等方案;第二,采用成熟可靠的加密算法,加密存储重要密钥、密码、系统配置等文件及敏感信息.
4 IoT智能硬件安全评测模型
为了加强IoT智能硬件安全的管理,针对各产品类型的IoT智能硬件安全水平进行客观、综合评价,进行安全评测是行之有效且必须的手段.
安全评测模型从分层模型入手,针对各层开展安全评测,主要包括硬件安全、系统安全、应用安全、数据安全4个方面,评测的关键点和相关技术如图2所示:
图2 IoT智能硬件安全评测关键点和相关技术
IoT智能硬件种类繁多,使用场景多样,安全评测方法一刀切是不现实的.评测者需要首先了解相关背景,才能对评测需求有一个整体的把控,有重点、有目标地进行测试.其次,评测者应进一步了解产品的整体实现架构和方案,这样既可以评估设计、实现方案与场景是否和需求匹配,又可以对后续详细的测试进行总体指导.
测试完成后,是研发人员修复问题的阶段.评测人员结合需求和测试结果,进行相应的复测,直到产品安全达标或需求终止.
5 总结与展望
本文分析了IoT智能硬件的安全威胁和原因,并给出了相应的安全防护建议,并在本文最后提出了安全防护分层模型,强调安全评测是保证设备安全入网的关键环节,建议在IoT智能硬件产品的研发过程中引入安全评测,以提前发现问题,保证物联网IoT智能硬件安全.