物联网访问控制安全性综述
2022-10-14刘奇旭陈灿华高新博郑宁军方仪伟
刘奇旭 靳 泽 陈灿华 高新博 郑宁军 方仪伟 冯 云
1(中国科学院信息工程研究所 北京 100093) 2(中国科学院大学网络空间安全学院 北京 100049)
物联网(Internet of things, IoT)起源于20世纪90年代末期,最初的概念是建立一套无线射频识别(radio frequency identification, RFID)系统,以实现智能化的RFID管理[1].随着网络技术的发展,物联网已经从最初的几个设备互相连接的小型网络,发展成了人与物、物与物之间复杂而庞大的网络.到了今天我们的生活中的物联网设备已经随处可见,比如智能网关、智能监控、智能手表、智能台灯,涉及家具、医疗、交通、办公等各个领域.在2021年,全球的物联网市场增长了22%,达到了1 580亿美元,尽管受到了新冠疫情影响,但增长速度仍然十分迅猛.根据IoT Analytics的预测,“到2022年全球的物联网设备数量将达到145亿台”[2].在物联网产业飞速发展的同时,其所面临的安全问题日益剧增.根据Gartner在2020年1月发布的统计,有大约20%的组织和机构受到过基于物联网的攻击,绝大部分的组织和机构暴露在物联网的风险之下[3].
物联网秉承着“万物互联”的理念,深入渗透人类社会生产生活的方方面面,面临着多种多样的安全威胁.一方面,物联网承载了规模庞大的隐私数据,并且这些数据在物联网的终端、网络、云端之间传播,扩大了隐私数据的暴露面,增加了数据泄露风险;另一方面,物联网具备了一定的控制和操作权限,一旦被攻击者渗透并实施篡改或破坏,将对人类社会正常的生产生活造成严重威胁.
近年来发生了多起物联网相关的攻击事件,比如大众汽车的Polo被发现其信息娱乐系统存在安全漏洞,攻击者有可能获取大量的个人信息包括电话联系人和位置信息[4].而一些医疗用途的物联网设备的安全漏洞甚至会影响人们的生命安全,2017年就有报道指出一些植入式心脏起搏器或除颤器存在安全漏洞,攻击者利用这些安全漏洞可以使得设备无法正常工作[5].这些安全威胁不仅可以影响物联网设备的使用者,还可以通过控制这些物联网设备来攻击其他目标,比如2016年爆发的Mirai僵尸网络通过利用物联网设备进行了大规模的分布式拒绝服务攻击[6].物联网的安全风险是物联网发展中的巨大挑战,如果能成功缓解这些安全危机,物联网将给人们的生活带来极大的便利,否则,如果物联网漏洞被恶意的组织利用,那么对国家的安全、个人的隐私都会造成严重的威胁.因此,必须要加强物联网在数据、资源、权限等方面的安全研究,提升物联网资源请求、权限授予等访问控制的安全性.
本文将聚焦物联网的访问控制,从物联网的3个层次[7]:感知层、网络层、应用层,分别展开探讨.访问控制是计算机中关键的安全机制,它通过控制什么权限的主体可以访问什么类型的客体,来保证数据和资源免受未经授权的读取或修改,并且确保合法用户可以正常访问资源.访问控制作为信息安全的基石,有效地保证了网络空间的安全与秩序,一个完善的访问控制机制,可以为信息资源建立一个有效的屏障,以阻止其被非法地读取或修改,但在新型的物联网领域,相关的访问控制技术仍然不够完善.物联网有着相比于互联网更复杂的组织架构,涉及到应用、协议、硬件、云等一系列的访问控制参与环节,无法像传统的互联网应用的访问控制一样简单地控制用户与资源的关系.物联网在不同的场景下需要不同的访问控制策略,因此应当分层次、分场景地进行设计,才能有效地保证物联网访问控制的安全性[8].
目前,已经有学者就物联网安全性问题[9-10]、智能家居场景中的安全性[11-12]、物联网操作系统安全性[13]等方面的研究工作进行了综述,但还没有工作聚焦于物联网访问控制的安全性进行系统性梳理.鉴于物联网访问控制安全性的重要意义,本文对近10年网络与信息安全领域四大顶级会议、期刊等来源的相关研究进行了广泛调研与梳理,从物联网访问控制的风险脆弱点入手,归纳可能的攻击面,从而提出应有的安全性要求,总结现有工作进展,为后续进一步的研究指明方向.本文的主要贡献总结为3个方面:
1)分析了物联网3个层次间的数据流向与信任关系,提出了物联网访问控制信任链模型,围绕3个层次并结合信任链带来的风险传递,调研并总结了现有物联网访问控制的安全威胁研究,在物联网不同层次结构中分析了其安全问题和暴露出的攻击面;
2)调研并总结了不同层次结构中针对不同的访问控制安全问题和攻击方法的解决方案以及应有的安全性设计要求;
3)基于现有的研究基础,分析了物联网访问控制安全性研究的挑战与机遇,并给出了未来的研究方向.
1 研究背景
本节首先对相关的研究背景与基础知识进行介绍,明确物联网及访问控制领域的相关概念,并提出一个针对物联网复杂组织架构的“信任链”概念,从而探讨安全的物联网访问控制设计.
1.1 物联网基础知识
设备、网络协议、云平台和应用App之间的相互作用构成了物联网的体系大厦,学术界通常将物联网系统的体系架构分为感知层、网络层、应用层3个层次[10].感知层对应的是物联网各类设备,其上搭载了红外感应、射频识别等多种类型的传感器,主要负责识别和采集物理世界的数据;网络层对应的是各类通信协议,负责在感知层和应用层之间传递数据;应用层对应的云平台和应用App中的各类接口和服务,也是用户与物联网的接口,负责数据处理、计算以及智能决策.物联网业务的全生命周期的本质即数据的流转过程.网络协议存在于设备、云平台、应用App这3类实体之间,以及设备与设备之间、云平台与云平台之间,使得它们能够及时进行各类交互,在交互中传递数据,形成物联网数据链.通过物联网数据链,一个简单的物联网设备可以将自己的数据(如传感器数据)传递给用户App或云平台,而物联网用户或物联网的控制者也可以借助云平台,远程控制或监控自己的物联网设备.下面本文将针对4个简单的使用场景,对物联网数据流进行描述.值得注意的是,以下叙述的场景仅仅是相对流行的方案,现实中同样的使用场景可能出现完全不同的解决方案.
1)远程控制设备
当用户远程使用App控制物联网设备时,App端将会与云平台建立通信,并将控制指令发送给云平台,云平台接收到控制指令,将会把用户的控制指令翻译为设备能够理解的控制信息,并发送给设备.
2)远程监控设备
设备和云平台之间首先建立通信.设备将数据发送给云,云端会将这部分数据暂存.当用户打开App并查看设备状态时,云端将暂存的最新设备上报数据发送给用户.
3)本地控制设备
本地控制设备一般依赖于近场通信协议或局域网通信.但对于以云通信为主的设备,需要设备先在云平台上进行注册.也就是说,本地控制设备在远程控制设备条件存在的情况下,通常是远程控制设备的一种简化.
4)自动化编程控制设备
自动化编程控制设备是指在云平台上编写程序,通过触发器触发程序执行(例如当温度达到28摄氏度时打开空调),这种情况下需要用户将自己的程序上传到云平台.
1.2 访问控制基础知识
访问控制是一种通过对资源的访问、获取和操作进行身份验证和授权管理,使资源能够在合法范围内被使用或受限使用的技术,是维护网络安全、数据安全的重要措施.
访问控制是主体根据策略对客体进行不同权限访问的过程,主要包括五大要素:主体、客体、认证、授权以及策略.
1)主体.主体是能够访问客体的实体,包括人、进程或者设备等具有能够访问客体属性的实体,主体可以在系统中执行操作、在客体之间传递信息或者修改系统状态.
2)客体.客体是系统中需要被保护的实体的集合,包括文件、记录、数据块等静态实体,也包括进程等可执行指令的实体.
3)认证.认证是指访问控制客体对主体进行身份确认的过程,从而确保主体具有其所请求的权限.
4)授权.授权是指授予某个主体对某资源的访问权限的过程,强调的是某个主体可以对某资源进行哪些操作(读、写、执行等).
5)策略.策略是指主体对客体访问的规则集合,规定了主体对客体可以实施读、写和执行等操作的行为,以及客体对主体的条件约束.策略体现的是一种授权行为,授予主体对客体何种类型的访问权限,这种权限应该被限制在规则集合中.
有效的访问控制保证只有经过授权的主体才能够在权限范围内访问客体,未经授权的主体禁止访问客体,能够很好地防止隐私信息的泄露和权限的滥用.
访问控制技术经过多年的演进,已经产生了多种类型的访问控制模型,包括自主访问控制(dis-cretionary access control, DAC)[14]、强制访问控制(mandatory access control, MAC)[15]、基于角色的访问控制(role-based access control, RBAC)[16]、基于属性的访问控制(attributed based access control, ABAC)[17]、基于使用控制的访问控制(usage control, UCON)[18]、基于权能的访问控制(capability-based access control, CapBAC)[19]等.
1)自主访问控制.自主访问控制的核心思想是自主授权,主体可以完全控制客体,并可以自己决定是否将对客体的访问权限或部分访问权限授予其他主体.这种访问控制方式权限管理分散,而且需要手动对权限进行管理,在面对庞大且复杂的物联网时,难以适应物联网的动态自发性、可操作性等特性.
2)强制访问控制.强制访问控制的核心思想是系统强制主体服从访问控制策略,系统为主体和客体分配不同的安全标识,主体和客体不能够自行改变自身的安全标识,只能由系统或管理员强制分配,根据安全标识决定主体对客体的访问许可,本质是利用非循环单项信息流保证数据的机密性和完整性.
3)基于角色的访问控制.基于角色的访问控制的核心思想是将访问权限与角色相关联,通过将权限分配给角色,再让用户成为适当的角色,从而使得用户得到这些角色的权限,根据用户的角色决定用户对资源的访问权限.这种访问控制方式在涉及大量角色的物联网环境中会存在角色爆炸问题,同时也难以满足物联网中细粒度、多层次的访问控制需求.
4)基于属性的访问控制.基于属性的访问控制的核心思想是根据主体的属性授予访问权限,主体和客体都是通过与特征相关的属性进行识别,当用户发起访问请求时,根据他的属性授予相应的访问权限.这种访问控制方式由于其属性在访问过程中不可以改变,无法满足物联网中节点属性动态改变的需求,同时随着设备数量的增加,会增加策略管理的工作量和复杂性.
5)基于使用控制的访问控制.基于使用控制的访问控制的核心思想是属性可变和持续检查,当主体发起访问请求时,授权元素检查主体和客体的安全属性以决定是否允许访问,这种检查持续伴随着整个访问过程,在访问过程中,一旦主体或者客体的安全属性发生改变,授权将相应地改变,撤销授权或支持继续访问.
6)基于权能的访问控制.基于权能的访问控制的核心思想是根据权能(密钥、令牌等)授予用户相对应的访问权限,一种权能拥有对某些资源的访问权限,系统仅允许权能拥有者对这些资源的访问,拒绝其他访问.此外,主体可以将其全部或部分访问权限通过委托机制授予其他主体,同时支持主体撤销其所授予的权能,这使得CapBAC具有分布式、细粒度等优点.
随着云计算、物联网等新技术和新场景的不断涌现,引发了源源不断的新威胁、新风险.尤其是面对复杂多变的物联网环境,传统的访问控制模型的灵活性和扩展性不足,难以适应规模庞大、数据激增、变化迅速的物联网环境;固化的访问控制策略难以应对物联网中访问控制参与对象类型多样的特性.
1.3 物联网访问控制
物联网访问控制即物联网场景下的访问控制技术,用于保障设备、用户、云端之间资源请求与权限授予过程的安全合规.相较于互联网访问控制,其区别主要在于4点:
1)计算与存储能力不同.物联网中存在大量的各类轻量级感知层设备,通常设备容量低,不支持复杂的运算、数据存储,难以参照互联网设备建立较强的安全边界,也因此成为攻击者的重点目标.
2)体系架构不同.由于设备的性能较低,物联网中的运算、决策主要依靠云平台来实施、对接并下发,无法复用互联网中心化的访问控制架构.同时物联网架构导致数据的传输和交互更加频繁,扩大了风险暴露面.
3)通信协议不同.在互联网中,有线通信协议更加普及,而物联网中由于大量设备的存在,无线通信协议更加常用,因此无线通信协议的安全性更加重要.物联网设备的异构性也提高了对通信协议的要求.在协议模型方面,互联网中“请求/响应”模型的通信协议更加普及,而物联网由于大量设备存在,并且通信存在大量不稳定因素,引入了很多“发布/订阅”模型的通信协议.
4)业务场景不同.互联网访问控制的业务场景主要是控制数据资源的访问,而物联网的业务场景更加多样化、与物理世界更加密切相关,包含家居、医疗、工业控制等,不同场景中的设备性能、具体架构、安全需求都有所区别,需要具体问题具体分析.
因此,物联网访问控制与互联网访问控制不尽相同.真实世界中发生的安全威胁虽然只是由某一个物联网实体(设备、云等)的安全缺陷触发,但危害却可以通过物联网数据链传递到其他实体,而物联网数据链构建的基础是实体之间的信任关系,也就是访问控制信任链.
如图1所示,用户App、云平台、设备都有各自独立的访问控制模型.对于云平台,云平台作为访问控制客体,设备和用户作为访问控制主体,云平台需要对设备和用户进行认证,在接入层面需要验证设备和用户是否有权接入云平台,在交互层面需要验证用户是否有权访问设备;对于用户App,App作为访问控制客体,设备和云平台作为访问控制主体,App需要首先验证云平台的真实性,防止中间人攻击;对于设备,设备作为客体,云平台和用户App作为主体,设备要对云平台进行认证.这样,用户App、云平台、设备之间通过各自独立的访问控制模型形成一个相互的信任关系,产生访问控制信任链.
Fig.1 Trust chain of IoT access control
对于访问控制信任链,存在3个攻击面:1)攻击者可以直接绕过物联网设备对用户的认证,从而直接控制设备;2)攻击者通过中间人攻击等手段劫持物联网设备与云平台的连接,从而注入或窃取数据;3)攻击者绕过云平台对用户的认证,从而通过云平台间接地控制物联网设备.因此,在物联网场景下,信任链中的一环出现访问控制失效,恶意的控制流和数据流就会沿着信任链传递,造成难以预估的危害.
本文在1.1节中简单介绍了4种控制设备的场景,这些场景在信任链中可能存在3种风险传递模式.
1)设备端风险传递
利用设备对云平台或用户的访问控制漏洞,可以近距离接触设备并对云平台进行控制或导致数据泄露.通过访问控制信任链,设备端的安全问题可能传递到云平台和用户端,造成更严重的安全问题.需要注意的是,设备对云平台也需要进行访问控制,设备需要首先确认云平台的身份,也需要确认来自云平台消息的完整性,防止诸如DNS污染等问题.设备端产生的风险,一方面直接作用于设备;另一方面,借助云平台的信任,设备端风险可以传递到用户侧,例如1.1节中介绍的远程监控设备,设备端的数据如果受到篡改,用户会通过云平台接收到假的设备状态而导致严重后果,如虚假的火灾警报.
2)云平台风险传递
云平台作为数据的传输中转站,一旦出现安全风险,可能对大量的设备和用户造成影响.攻击者可以利用远场通信协议的安全漏洞[20]或云平台处理逻辑的安全问题,对连接在云平台上的设备进行控制或监听或对连接在云平台上的用户App进行欺骗.由于访问控制信任链中,设备和用户App对云平台的信任,这种攻击的隐蔽性强,受害者很难发现.另外,我们在1.1节中介绍了云平台自动化编程控制设备的新模式.从数据链的角度分析,云平台应用发起的控制指令,仍然是由云平台发起的,数据的传递基于设备端对云平台的信任链,一旦云平台应用出现安全问题,可以造成难以估量的后果.因此,云平台应用程序的复杂安全威胁也是目前研究的重点之一.
值得注意的是,即使是1.1节中提到的本地控制设备场景,在当今智能家居等行业的发展背景下,云平台也会在设备绑定、客户端鉴权等方面扮演非常重要的角色.即使用户App和设备在同一个局域网下,云平台也有可能在绑定设备的过程中扮演必不可少的角色.
3)客户端风险传递
客户端安全风险主要是用户移动端App的安全问题.由于移动端App的安全问题很难通过信任链将恶意数据传递到其他物联网实体,因此目前对物联网移动端App的研究相对较少.
2 物联网访问控制现有研究
物联网与传统互联网存在着巨大差异,尤其是物联网架构不同于互联网的架构,而且物联网设备具有容量低、计算能力低等特性[21],这些特性也给物联网访问控制提出了更高的要求,导致物联网无法简单复用互联网的访问控制系统和相关基础设施.作为物联网安全性保障的重要环节之一,有很多学者在物联网访问控制领域开展了相关研究,总结了物联网访问控制应该遵循的原则,并提出了诸多类型的模型与架构设计.
2.1 物联网访问控制原则
Ouaddah等人在文献[22]中结合物联网的特性总结了物联网访问控制应该遵循的8个原则:
1)协同性.物联网环境下可能存在多个不可信的个人或者组织进行协同,访问控制系统必须允许各个主体制定自己的政策,且能与其他组织的政策兼容合作.
2)自适应策略.由于各个主体的动作是动态、不可预测的,必须允许访问控制的策略可以针对上下文进行动态调整更新来适应不同的需求.
3)细粒度.因为物联网系统中的各种设备会受到各种环境因素的影响而被触发,访问控制也应该同样考虑到这些环境因素,将环境信息引入到系统中进行更细粒度的决策(例如,根据当前的时间、位置、目标设备等信息决定是否允许操作).
4)易用性.访问控制应该易于管理和修改,以方便缺少相关技术的普通用户使用.
5)分布式自治系统.每个实体的访问控制策略的实施和管理应由其自己的规则来控制,以适应物联网环境下分布式安装的智能设备.
6)异构性.由于物联网设备之间存在各种物理上的差异,在进行管理时应存在一个统一的虚拟接口,来方便控制管理存在不同特性的设备.
7)轻量性.访问控制系统应保证轻量来节省各种物联网设备本就不富裕的计算能力和能源消耗.
8)可扩展性.访问控制系统应可以随时扩展,以应对当前越来越多的物联网设备、应用和用户.
2.2 现有研究
当前物联网访问控制相关研究主要集中在访问控制架构、机制流程、模型3个方面.
在架构方面,由于物联网场景通常由多种类型的设备组合连接而成,访问控制不再是传统互联网中的少量几个系统之间的互相授权,而是大量设备之间的权限管理,因此互联网场景下常用的中心化访问控制架构难以适用.此外,这些设备一般互为异构且计算能力弱,难以处理加解密、智能策略生成等复杂算法,更无法将传统互联网中的访问控制系统直接进行移植,需要探索适用于物联网场景的访问控制系统,重点满足轻量性、异构性等原则.在较早的研究中,有学者就中心化的物联网访问控制进行研究[23-25],而随着物联网架构的进一步演进,现有研究出于将计算负载分散化和增加容灾能力的目的,主要探索去中心化、分布式架构的设计.区块链是如今非常流行的去中心化技术,众多研究提出了将区块链、智能合约等技术引入到系统中,利用区块链技术的分布式、可验证等特性来实现可扩展、分布式、可协作的访问控制.文献[26-28]均提出了基于区块链的物联网分布式体系架构,并在其中整合了智能合约来实现在物联网环境下对设备基于属性的域内和跨域访问控制,并达到了灵活、动态、自动化的目标.雾计算和边缘计算是通过将计算需求迁移到其他设备来提高计算性能和架构扩展性的技术,也已经有研究[29]提出将雾计算和边缘计算运用到物联网访问控制的架构设计中.
在机制流程方面,当前研究主要针对访问控制系统中的各种交互协议与数据格式,由于物联网设备的特殊性,通常无法采用有线连接,而是使用移动网络、蓝牙、ZigBee等无线方式与服务器连接.无线连接与有线连接相比存在延迟高、带宽小、抗干扰能力弱等特点,无法直接使用互联网中复杂的交互协议与框架,当前研究主要是将轻量级的协议与框架引入物联网访问控制系统当中.在交互协议方面,研究人员围绕MQTT,CoAP等物联网通信协议进行访问控制相关设计[30-32].在数据格式方面,研究人员倾向于结合JSON(javascript object notation),XACML(extensible access control markup language),SAML(security assertion markup language)等数据格式灵活、简单的优点,提出了物联网授权框架,使得资源受限的物联网设备也能进行细粒度和灵活的访问控制[33-35].这些研究能够降低物联网访问控制流程中的流量、内存、性能损耗,且同时能保证访问控制系统的正常运行.
在模型方面,当前研究主要是将互联网中已有的RBAC,ABAC,UCON,CapBAC等访问控制模型进行移植.进行移植的原因之一是这些传统模型已经在互联网的悠久历史中证明了其可靠性和实用性,只需要针对物联网环境下的分布式等特性进行少量修改就可以直接使用.Gusmeroli等人[19]和Zhang等人[36]分别将CapBAC和UCON等访问控制模型移植到物联网环境下,使其适应分布式系统.另一原因是直接移植模型可以使得现有的互联网系统可以方便地与物联网设备进行对接交互,让原有的互联网用户可以无缝地接入物联网中来实现WoT(Web of things),从而减少企业开发程序上的人力成本.Jia等人[37]和Barka等人[38]将RBAC模型进行了移植并集成到系统中,而Bai等人[39]则将UCON模型进行了移植,这使得互联网系统与物联网设备之间的访问控制成为现实.
从现有相关研究来看,当前物联网访问控制研究更注重功能性,主要针对物联网环境下由于架构不同和资源受限带来的计算能力低、带宽小等问题,需对互联网下访问控制所用的方法进行修改后移植到物联网场景中.具体来说,在访问控制架构上,从中心化的架构逐渐转向分布式架构,借助区块链等先进的分布式技术进行设计;在机制流程上,则围绕适用于物联网的通信协议和轻量级数据格式进行研究;在模型上,主要研究将成熟的互联网访问控制模型向物联网移植并适配.
但现有研究并未重视物联网环境下访问控制系统的安全性.一方面,当前的物联网由于设备类型多样、业务需求多样,其体系结构非常复杂且处在持续的演进中.另一方面,物联网中的设备通常与用户物理相邻,它可以是身边的摄像头、烟雾报警器,也可以是工控系统中的水闸电闸,这些设备能够以多种形式影响到用户本身,所以,直接使用从互联网移植现有访问控制技术的系统架构、机制流程、权限模型而不对安全性进行额外的验证和适配是不充分的,可能引发安全上的隐患与风险,导致敏感数据泄露,危害到工业生产安全、人身安全甚至是国家安全.因此,本文聚焦物联网访问控制的安全性,调研并综述相关研究进展.
2.3 物联网访问控制安全性
物联网访问控制是保护用户数据、保障设备合法操作指令的安全技术,而要使访问控制真正生效,则需要保障访问控制自身的安全性,包括主体、客体、机制策略、身份认证、权限授予等方面的安全.由于物联网体系架构的复杂性和业务场景的多样性,物联网难以建立传统的安全边界,其访问控制系统难以实现端到端的设计.为实现安全的访问控制,需要围绕物联网数据链、信任链和业务场景,研究从哪些层面入手保障访问控制安全性,即物联网访问控制保护面.
1)设备安全
设备上搭载的传感器所采集的指纹、声纹是物联网进行用户身份认证的重要数据来源,关系到用户的身份信息是否独立、安全,若该类数据被伪造或窃取,将产生身份冒用风险,导致访问控制失效.
2)流量安全
物联网在感知层、网络层、应用层之间的数据传输依赖网络流量,对于访问控制场景,则需要在3个层次之间进行身份认证信息、授权指令等的传输.因此,流量的安全性至关重要,需要在该层面防范数据窃取、中间人攻击等风险,增强网络协议的安全性对于流量安全的保障.
3)应用安全
根据物联网的数据链与访问控制信任链,应用是用户与设备、设备与云平台的接口,向上传递身份认证信息,向下传达授权决策与操作指令,因此需要在应用App层面保障安全.
4)云安全
云平台承担着复杂的数据计算、处理与存储任务,在更多的访问控制场景中负责授权策略管理,并且,物联网中既存在云平台与设备、应用的交互,也存在云平台与云平台之间的交互,因此,云安全是保障安全的物联网访问控制生效的重要着力点.
5)接口安全
物联网多个层次之间以及各个层次内部的数据流转都依赖接口,不安全的接口存在信息泄露、篡改的风险.
接下来,本文基于上述保护面和物联网,围绕物联网体系架构的3个层次进行访问控制攻击面的分析,并归纳相应的安全解决方案研究.如图2所示,本文结合IoT云平台、用户、设备构成的信任链端点,主要以信任链上的3个物联网层次(应用层、网络层、感知层)为基础进行阐述,包括对每个层次的主要内容和应用场景的攻击面总结和解决方案总结.其中,应用层主要有云应用、云对接、设备绑定3个方面;网络层主要有近场通信和远程通信2方面;感知层主要有传感器和设备软硬件2方面.最终再根据不同的互联网安全维度进行保护面总结,保护面包含设备安全、流量安全、云安全、应用安全和接口安全5个维度.
Fig.2 Research on security of IoT access control
3 物联网访问控制攻击面
2.3节结合物联网数据链与信任链传递的特点阐述了物联网访问控制安全性的内涵与保护面,而与保护面相对应的就是攻击面,为保障安全性,需要对可能存在的风险进行研究与把握.物联网访问控制主要是多个实体的访问控制模型相互连接、相互交互、互为主客体.在本节中,我们以3个物联网层次作为切入点,介绍针对物联网访问控制的主要攻击面.
3.1 感知层攻击面
感知层是物联网架构中最基础的层次,负责向上层提供数据支持,是一个具有物理设备的实体,感知层分为传感器和设备软硬件2个层次.传感器负责收集外界信息,设备软硬件负责驱动传感器工作,并与上层建立连接.感知层的访问控制模型主要有2方面:一方面设备传感器作为主体,采集外界信息;另一方面设备作为客体,与多种主体(如App和云)进行交互.在现有的针对感知层的研究中,主要考虑传感器数据的可靠性以及感知层软硬件的设计与实现.
3.1.1 感知层传感器安全问题
对于感知层传感器而言,有研究[40-41]表明现有的安全方案和访问控制系统无法为传感器提供足够的安全防护,产生了漏洞:伪造传感器所收集的数据,使得传感器无法获取相应的外部信息.在现有的研究中存在很多伪造传感器数据的攻击案例,这种攻击可能导致应用层基于错误的传感器数据产生错误的判断,由于应用层的访问控制模型无法涉及到感知层的细节,应用层的访问控制模型会被完全欺骗.
Tukur等人[42]进行了一项研究,模拟了内部攻击者对物联网系统中的传感器实施的数据伪造,证明了篡改感知层的物理环境对整个物联网系统的数据完整性造成直接的负面影响.这种伪造数据的攻击可以在GPS传感器、光线传感器、麦克风、摄像头上实施.与传统的访问控制不同的是,传感器获取的客体数据大多来自于真实的物理世界,导致传感器的访问控制几乎无法使用现有的技术,只能在一定程度上针对每一种数据来源的真实性进行判断.而一旦传感器的判断错误,上层的其他访问控制模型也会无条件相信传感器的错误数据,导致信任链的底层出现疏漏.
比较典型的案例是针对GPS信号接收器的信号伪造,Tippenhauer等人[43]分析了欺骗GPS传感器的可能性,他们使用GPS信号模拟器尝试干扰了Atmel公司的ATR0600 GPS芯片,其实验结果证实了GPS信号接收器可以很容易地被欺骗到任意一个位置.Park等人[44]提出了一种针对医用输液泵中红外液滴传感器的数据伪造攻击,该文作者发现红外液滴传感器没有持续地对饱和输入进行检测,因此可以通过使用额外的红外线发射器来干扰传感器,可以实现对输液速度的控制.
对传感器的欺骗同样也会发生在指纹、声纹等直接用于身份认证的传感器.指纹识别技术现在已经十分成熟,但也存在着简单有效的指纹欺骗方法,比如使用塑料制作指纹模型,在文献[45]中对指纹传感器的欺骗进行了全面的综述.相比于指纹识别技术,声纹识别技术起步较晚,声纹识别依赖音频中的音色、韵律和语言内容,攻击者可以通过模仿、重放、语音合成、语音转换等手段欺骗声纹识别,在文献[46-47]中综述了这4种欺骗手法以及相应的对策.同时也存在一些针对语音控制系统的攻击,Zhang等人[48]设计了一种人类无法听到但智能语音助手可以正常识别的攻击方法DolphinAttack,并在Siri,Google Now等平台上进行了概念验证,成功完成了在iPhone上发起FaceTime通话、使用Google Now将手机切换到飞行模式等命令攻击.传感器还可能受到拒绝服务的攻击,破坏其数据的可用性.有一项研究证实了可以通过噪音干扰MEMS陀螺仪工作,并在实验中成功使得配备有MEMS陀螺仪的无人机坠毁[49].
3.1.2 感知层设备安全问题
感知层设备作为访问控制的客体,被多种主体访问.感知层设备主要分为软件和硬件2个层面,软件涉及操作系统和上层的应用程序[13].感知层设备的访问控制的失效可能发生在非法的控制端或恶意用户获取了设备的信息或对设备进行了修改.
在感知层设备的软件层面,访问控制攻击面主要包括:弱口令、访问控制失效的通信接口、缺乏认证的更新机制.一些感知层设备可能提供了远程访问的功能,比如通过FTP查看文件、使用Telnet或SSH与设备进行交互.Kumar等人[50]进行了一项调查,使用弱口令字典扫描物联网设备的FTP和Telnet服务,发现有17.4%的FTP服务和2.1%的Telnet服务使用了弱口令.很多物联网设备使用Web服务或蓝牙等无线协议与上层应用进行通信,这些服务提供了一些数据接口供上层服务调用,如果这些数据接口未能实现鉴权功能或存在越权访问等逻辑漏洞,可能导致传感器数据泄露或执行非法指令等后果.在Rapid7公司的一项调查中列举了一些关于婴儿摄像头的漏洞,其中CVE-2015-2882是相机设备中运行的Web服务存在硬编码的账号“admin”和密码“M100-4674448”,攻击者可以在相机设备所处的本地局域网中访问其Web操作界面[51].一些感知层设备在提供固件升级时,缺少对固件的完整性认证,从而导致攻击者可以将恶意的固件写入到设备中.Ronen等人[52]通过相关功率分析(correlation power analysis, CPA)[53]的侧信道方法推测出Philips灯泡用于加密和验证固件更新的密钥,他们利用推测出的更新密钥刷新灯泡固件从而实现了完全控制,并且实现了蠕虫攻击,即利用一个灯泡来攻击另一个灯泡.
在感知层设备硬件层面,针对设备客体访问控制的攻击面包括了针对硬件的侧信道攻击和调试接口暴露.利用侧信道和密码学分析可以泄露CPU中的状态信息[54],比如,Gnad等人[55]提出,利用模数转换器(analog-to-digital converter, ADC)可以推断系统中CPU的活动,并成功进行了AES密钥恢复攻击.而Ronen等人[52]实施了一种未知明文选择差分CPA攻击来推测Philips灯泡固件更新时的AES-CCM(advanced encryption standard-counter with cipher lock chaining message authentication code)算法的验证密钥.对于某些感知层设备可能保留有调试用的硬件接口,具有物理接触这些设备的攻击者可以绕过软件层面的认证服务,直接获取系统内的信息,甚至获取操作系统交互权限.一些物联网设备在出厂后仍然保留了调试接口,这使得某些能够物理接触设备的人员可以通过调试接口获取硬件上的信息(比如加密密钥),导出固件代码,甚至可以向设备中写入恶意代码[56].
当设备的软硬件的访问控制模型被打破时,其危害可能被信任链传递到其他层次.例如,云平台的访问控制模型会无条件接受设备传递的数据,因为云平台已经没有任何办法验证设备是否已经被攻击者控制,进而也会被应用层的访问控制模型认可,影响应用层逻辑.但针对感知层设备的攻击需要攻击者接触设备,利用条件较苛刻.
3.1.3 小 结
感知层攻击面总结如表1所示.感知层作为主要的信息收集层,其最常见的访问控制安全风险在于:作为访问控制主体,身份认证信息存在采集和上传中的伪造问题;而同时感知层在执行操作的客体角色中,存在着由设备容量小、计算能力低等因素所导致的认证机制不完善的攻击面.设备自身的漏洞也是明显的攻击面.
Table 1 Perception Layer Access Control Attack Surface
3.2 网络层攻击面
网络层是位于物联网架构中间的层次,主要支撑感知层和应用层之间,以及位于感知层的设备之间和位于应用层的云平台与应用App之间的通信,是由不同的通信协议组成的一个层次,网络层的访问控制威胁也主要分布在各种不同的通信协议中.按照设备的近场性,可以将网络层分为近场通信层和远场通信层.近场通信层主要涉及设备配对、设备间近距离通信、设备和App之间近距离通信等;远场通信主要涉及设备和云服务器之间、云服务器和App之间的通信等.
网络层向上对接云平台和应用层的访问控制模型,向下对接感知层设备的访问控制模型.
3.2.1 网络层近场通信安全威胁
IoT近场通信协议主要有BLE(bluetooth low energy),ZigBee,Z-Wave,6LoWPAN等.近场通信协议的设计问题和漏洞能够破坏客体设备的访问控制模型,也包括用户设备(手机),主要漏洞是设备未授权访问、用户隐私泄露、设备劫持等.近场通信协议的安全问题能够绕过设备的访问控制模型,进而通过信任链传递到云或其他主体,并且这些安全问题的避免难度较大,目前主流研究集中在对协议的漏洞进行研究,并改进协议,进行安全加固.
BLE是由传统蓝牙发展而来的,为物联网的设备间近场通信提供了一种低功耗、低成本的通信协议,由BLE引入的安全威胁是当前研究的热点之一.Fawaz等人[57]对BLE隐私保护规范中的地址随机化在现实世界的部署中是否真正能够保护用户隐私的问题进行了探究,收集并分析了214种不同类型BLE设备的广播,发现由于开发者和制造商没有正确执行BLE隐私保护规范、地址弱随机化、地址长时间不改变等原因导致了地址随机化失效,泄露了大量的信息.Celosia等人[58]利用BLE中的GATT(generic attribute)配置文件创建了一个指纹,成功规避了BLE隐私保护规范的反跟踪特性(即MAC地址随机化),利用该指纹可以跟踪用户、推断用户敏感信息等.Zuo等人[59]从配套的移动应用程序中提取具有静态UUID(universally unique identifier)的BLE设备指纹,对BLE设备进行指纹识别,侵犯用户隐私;该文作者还发现许多BLE设备采用Just Works配对,允许攻击者在不需要认证的情况下主动连接这些设备,造成未授权访问攻击,使用UUID指纹定位这些设备,配合Just Works配对或弱认证,攻击者可以完全控制这些设备.Sivakumaran等人[60]成功实施了针对BLE的应用共存攻击,即当手机中有一个应用程序已经与BLE设备建立连接时,手机中另一个恶意的应用程序能够未授权访问受保护的BLE设备中的敏感数据.Wen等人[61]设计实现了FirmXRay自动静态二进制分析工具,用于BLE链路层漏洞检测,还收集了793个独特的固件来评估FirmXRay,实验结果表明,98.1%的设备配置了随机静态MAC地址,71.5%的设备配置了Just Works配对,98.5%的设备配置了不安全密钥交换.这些漏洞会导致用户的敏感信息泄露、设备的未授权访问等安全问题.Wu等人[62]研究了BLE链路层的安全性,聚焦BLE设备重新连接的场景,发现了其认证机制的2个设计缺陷(可选认证和认证绕过),利用设计缺陷该文作者提出了BLESA(BLE spoofing attacks),即BLE欺骗攻击,攻击者模拟BLE服务器设备,向之前配对的BLE客户端设备发送欺骗数据,成功欺骗了BLE客户端设备.Ludant等人[63]发现了蓝牙芯片设计中的链接漏洞,将BLE广播链接到了经典蓝牙帧(BTC),该文作者利用该漏洞将BLE广播与全球唯一标识符(globally unique identifier, GUID)链接,利用BDADDR标识符可以跟踪BLE用户,从BLE广播中窃取用户敏感信息.
ZigBee也是最常使用的物联网近场通信协议之一,由ZigBee协议引入的安全威胁也受到了学术界广泛的关注.Morgner等人[64]利用ZigBee3.0新增加的touchlink调试功能对ZigBee发起攻击,并且在touchlink预配置的链接密钥泄露的场景下成功获取了ZigBee网络中所有节点控制权.Akestoridis等人[65]研究了当集中式ZigBee网络中禁用MAC层安全的设计选择的后果发现,攻击者可以从ZigBee流量的被动检查中获得有价值的信息,包括识别某些加密的NWK命令,然后使用这些命令开发选择性干扰和欺骗攻击,以迫使最终用户重置目标设备,并最终暴露网络密钥,造成敏感信息泄露.
近场通信协议的安全问题主要打破设备的访问控制模型,进而通过信任链影响到云端访问控制模型、应用层访问控制模型,由于通信协议的漏洞相对较难避免,因此具有很强的隐蔽性.但利用近场通信协议需要攻击者在较近的物理距离内发起攻击,影响面相对较小.
3.2.2 网络层远场通信安全威胁
网络层远场通信主要聚焦于各种物联网流行的通信协议上,目前使用较为广泛的协议包括MQTT(Message Queuing Telemetry Transport),CoAP(Constrained Application Protocol),AMQP(Advanced Message Queuing Protocol),HTTP(Hyper Text Transfer Protocol),XMPP(Extensible Messaging and Presence Protocol),DDS(Data Distribution Service for Real-time Systems).远场通信协议的安全疏忽能够打破云平台或云端数据的访问控制体系,远场通信协议对于访问控制模型的挑战,成为了目前学术界的关注重点之一.
网络层远场通信协议大多在设计之初就缺乏对适用物联网的安全性设计,对于保密性,通常都是由TLS协议(Transport Layer Security)或DTLS协议(Datagram Transport Layer Security)保证的.Al Fardan等人[66]基于对TLS和DTLS协议中解密处理的精确时间分析,利用明文恢复攻击窃取了敏感信息.对于协议本身的安全问题与协议适用物联网时协议对接云平台和云端数据的访问控制模型时存在的安全问题,目前的研究较少.Jia等人[20]通过对MQTT通信机制的安全分析发现了MQTT协议在物联网场景下产生的多个漏洞,例如不安全的MQTT消息管理、不安全的MQTT会话管理、未授权的MQTT身份等.
由于云平台和协议特性之间的安全鸿沟,云平台很难利用现有的访问控制技术去限制物联网协议,攻击者可以利用协议的特性,打破云平台的访问控制模型,进而欺骗云平台去修改云端设备元数据,并成功控制受害者设备,窃取用户敏感信息.Wang等人[67]提出了MPInspector框架,实现了自动化分析远场通信消息传递协议的安全性,在9个广泛使用的物联网平台上对MQTT,CoAP,AMQP协议进行分析,并且使用MPInspector框架评估这些协议的安全性,发现了针对物联网远场通信协议的11种类型的攻击方式,其中包括客户端身份劫持攻击、恶意主题订阅、未经授权的消息响应等.这些攻击方式可以在协议的层面突破云平台甚至云端数据的访问控制模型,并通过信任链将危害传递到大量物联网设备.
远场通信协议主要通过打破云平台的访问控制模型或应用层的访问控制模型来修改云端数据,并通过信任链将危害传递到设备和用户App,远场通信协议因为可以修改云端数据,其安全问题具有影响面大、破坏性大的特点,在极端情况下,一个攻击者甚至可以利用远场通信协议和访问控制模型之间的安全鸿沟,对整个云上连接的设备进行低成本的大规模攻击.
3.2.3 小 结
网络层攻击面总结如表2所示.网络层在访问控制中主要负责身份认证信息和授权策略的传输,场景包括近场通信和远场通信,其安全性由各类通信协议、加密协议来保障,而攻击面也存在于尚不完善的通信协议的认证机制、加解密、粒度等性能方面.
Table 2 Network Layer Access Control Attack Surface
3.3 应用层攻击面
在当前的IoT架构中,应用层一般是物联网顶层设计的逻辑,如在智能家居场景下的用户、家庭等概念均运行在应用层之上.物联网应用层是一个抽象层,应用层之上一般只是数据和访问控制逻辑.正因如此,一旦应用层访问控制出现问题,运行在其他层次的安全手段(如网络层的安全防护)难以发现.另外,由于云平台需要存储几乎所有的应用层数据,一旦云平台的应用层访问控制逻辑出现问题,借助1.3节中提到的信任链,可能导致大量IoT设备沦陷.
应用层的主要载体是物联网管理者或用户的IoT App,以及各种IoT云平台.目前相当多的IoT设备都拥有连接WiFi或者通过BLE,ZigBee连接智能网关从而访问互联网的能力.如1.1节中的4种常见场景,物联网的合法用户通过IoT App修改应用层数据,云平台或者软件自身自动地将应用层数据翻译为设备可读的指令.
而现有的IoT云平台根据其功能可以分为2类:
第1类是IoT设备厂商自身的云平台.例如小米米家、涂鸦智能等,一般可以与本厂商的IoT设备进行连接,通过网页/手机App控制IoT设备,并提供接口可以与其他云平台或者Trigger Action平台进行对接,部分平台例如SmartThings,甚至允许用户上传自己的程序在云平台上,允许用户自己编程控制IoT设备.云应用大大拓展了物联网的使用范围,但也使得应用层访问控制变得极为复杂,大大增加了安全的不确定性.
第2类是自动化流程平台.例如IFTTT,Zapier等,除了可以与第1类的厂商云平台进行对接,还可以与推特、Dropbox等非IoT厂商的云平台对接.以此提供除了IoT设备之外的触发和应用能力,例如通过发送短信操控IoT设备,或者由IoT设备触发短信的发送.而少部分IoT设备,例如门锁、牙刷、医疗设备、摄像头等,可能厂商并没有建设云平台,或者这个设备本身并不具备连接互联网的能力,实际上是直接通过局域网或者BLE连接用户手机App,并以此被用户所控制.
对于直接受到IoT平台操控的设备,攻击威胁主要来自云平台的访问控制失效;而受App近场通信直接操控的IoT设备,攻击威胁主要来自手机App本身和设备端不完善的访问控制的联合作用.
3.3.1 云平台中的云应用产生的漏洞
当前的云平台一般都会允许用户创建一些简单的规则或者应用,以方便用户满足自己的一些特殊需求.其中一些平台,例如IFTTT与SmartThings,还允许用户发布自己的云应用并共享给其他人使用.而大量创建的应用不可能做到每个都被人工审计过,导致其中会存在难以对云平台应用程序访问控制的基本问题,从平台的接口盗取用户隐私数据,甚至控制用户的IoT设备.
Fernandes等人[68]对SmartThings平台进行了安全评估,发现其事件子系统存在安全缺陷,且由于其访问控制设计的精细度不足,即使应用只申请了设备的有限访问,但实际上也获得了设备的完全控制权.将这些缺陷结合起来,使得攻击者可以通过恶意的SmartApp来实现窃取锁密码、引发假火警等操作.而Surbatovich[69]与Cobb等人[70]则对IFTTT进行了分析,发现约有一半左右的云应用可能不安全,这些应用可能会破坏用户信息的机密性和完整性,例如:当用户家地下室门打开后发送消息的云应用存在泄露用户活动行为的隐患.
除了恶意应用,还有不少应用本身并不是恶意的.单一应用不会产生安全风险,但是多个应用之间的物理或者非物理上的意外组合或交互,导致在应用层构建了一条逻辑上的、云平台未曾预料到的数据链和信任链,引发访问控制漏洞.例如,根据Balliu等人[71]的研究,如果一个应用的功能为无人在家时打开恒温器,而另一个应用的功能为室温过高时打开窗户,当一个用户同时使用这2种应用时,则可能出现屋子主人出门办事,恒温器启动后却自动触发了打开窗户的云应用,为入室盗窃创造了条件.
3.3.2 云平台与云平台对接时产生的漏洞
目前,云平台的互相连接非常常见,尤其是在消费级物联网云平台,这便于消费者将多个厂商的物联网设备或者非物联网服务进行联动和管理.比如,一个智能安防和智能家居的开发者可以通过IFTTT将某个品牌的智能门锁与另一个品牌的智能灯进行联动,在门打开时亮起灯光.IFTTT作为顶层云平台,需要与2个其他厂商的云平台进行对接,以方便接受门的开启信息和发出开灯的命令.云平台之间的交互显著加长了物联网数据链,使访问控制安全的攻击面延伸,云平台之间对接的协议也没有标准化方案.
目前厂商的主要做法是使用OAuth(open auth-orization)协议来进行平台之间的授权和鉴权[72],但OAuth本身为一个集中式的权限管理协议,这种集中式的服务会使得攻击者在攻陷一个系统后就可以利用系统中保存的令牌同时获得当前系统中所有用户的物联网设备权限.另外,由于OAuth协议中缺少对被授权主体的验证,在云平台与云平台对接授权后,设备主人通过云平台将设备共享给其他用户(例如:授予短期住宿的客人开门权限),如果云平台的实现不当,不慎将OAuth令牌泄露给用户,会导致用户意外获得这个门锁的完全控制权,即使主人在平台上撤回权限也无法真正回收权限.
此外,由于目前各个平台的对接标准不统一,各个平台都存在特有的格式和要求,导致对接时的信息可能会被另一方错误使用,导致访问控制漏洞.例如:Yuan等人[73]发现Google Home与SmartThings对接时,SmartThings会向Google Home传递设备Device ID,对于SmartThings平台来说,这是一个需要保密的信息,但是Google Home却认为其是一个可以公开的普通字段,因此Google Home在授权给其他用户时会将Device ID传递给其他用户,导致恶意用户可以伪造设备的触发事件.
3.3.3 IoT设备绑定存在漏洞
设备绑定漏洞主要存在于智能家居领域.当云平台设备进行绑定时,需要用户手机App、云平台、IoT设备三方共同协作完成,最后才能将IoT设备绑定到用户手机App的账号中.而如果在云平台中进行设备绑定的状态模型出现问题,则可能导致设备被敌手重绑定、解绑定等.Zhou[74]与Chen等人[75]展示了多种状态模型漏洞的利用方法,他们发现目前云平台绑定IoT设备时用到的均为类似设备ID、设备网卡地址、设备型号等公开或者容易被嗅探出来的信息,使得攻击者在获得这些信息后可以伪造出一个“幻影“设备,将真正的设备绑定到攻击者的帐号下,或者将“幻影”设备绑定在原有帐号下伪造各种数据,这种攻击方式本质上利用的是云平台对设备接入的访问控制逻辑错误,利用物联网数据链,使有害信息传递到用户App.
3.3.4 App与设备端应用层漏洞
与手机App有关的访问控制漏洞,主要发生在本文1.1节中提到的本地控制设备,或控制一些不支持云平台的IoT设备上.在这种情况下,IoT设备受到手机App的直接操作,由于App与IoT之间的交互通常使用局域网、蓝牙等本地通信方式,使得攻击者如果在本地或者已经取得手机部分权限的情况下,可以利用物联网设备访问控制模型的安全问题进行攻击.例如Sivakumaran等人[60]发现,在安卓系统中手机App与IoT设备配对完成后,如果设备上装有攻击者的App且有蓝牙权限,可以与此IoT设备的蓝牙连接,如果设备没有实现额外的通信加密,将会导致恶意App也可以控制IoT设备.
设备端应用层的访问控制漏洞比较复杂,主要发生于设备端允许多种控制主体的情况下.值得注意的是,设备端应用层漏洞与设备端感知层漏洞具有显著区别,感知层漏洞主要是设备软硬件本身的安全漏洞,而设备端应用层漏洞则主要利用设备状态机模型和控制逻辑的问题.例如,Jia等人[76]发现,一台设备可能被多个控制主体同时控制,如Apple HomeKit和设备厂商的云服务,这2种控制方式的状态机完全独立,当设备主人没有占用Apple HomeKit的控制通道,一个潜在的攻击者可以悄无声息地占用这条控制通道.借助于这种多通道控制,一个设备可以在应用层对应多个主人.
3.3.5 小 结
应用层攻击面总结如表3所示.应用层在物联网架构中具有最高的计算和存储能力,因而在访问控制中也主要承担策略的维护和权限的下发.由于物联网信任链的风险传递,存在逻辑缺陷或机制不对等的云、应用、设备或接口成为了访问控制安全性的短板,引发访问控制机制与协议缺陷、系统漏洞等攻击面.
Table 3 Application Layer Access Control Attack Surface
4 物联网访问控制安全性解决方案
如2.2节所述,已经有相关工作提出了物联网访问控制框架的特性与原则,但并未针对安全性问题进行细致的研究探索.为了实现安全的物联网访问控制,需要结合物联网的特性,满足4点要求:
1)机制完善
物联网结构与数据流转复杂,因此,需要更加细致、完善的访问控制机制与流程.
2)应对攻击面
安全的访问控制除了在机制上要完善,还应该在具体的技术建设层面解决脆弱点与攻击面带来的安全风险.
3)多级认证与授权
由于物联网的数据流转在多个层次之间进行流转,存在信任链条的传递,在每一个环节都可能存在不同类型的风险,因此,安全的物联网访问控制应该向着多级认证、逐级授权的细粒度方向演进.
4)结合具体场景
物联网与人类社会的生产生活息息相关,其业务场景包括了智能家居、智慧医疗、工业控制、车联网等,不同场景的数据敏感程度与被控风险程度有所不同,在具体建立访问控制时需要结合具体场景进行设计规划.
本节围绕访问控制在物联网架构各个层次中的攻击面以及各个层次在访问控制中的角色,对现有的访问控制安全性解决方案的相关研究进行归纳总结.
4.1 感知层访问控制安全性解决方案
感知层主要包含设备及设备上搭载的传感器.在访问控制场景中,一方面作为主体,负责收集数据作为身份认证信息;另一方面负责执行云端通过认证与授权后下发的指令.
4.1.1 传感器层面
传感器在物联网系统中广泛存在,其形式多样、种类丰富,在物联网架构中扮演着收集信息的角色,其主要的访问控制安全威胁在于收集到的有关身份认证的信息(如指纹、声纹等)可能被篡改、被伪造,因此,很多研究工作从信息防伪造的角度着手,强化传感器层面的访问控制安全.
在传感器层面,大多数的访问控制解决方案需要针对特定传感器的特定攻击方法来实施,比如较为常见的指纹和声纹伪造2种场景.针对指纹传感器欺骗检测的方法一般分为2类[45]:基于硬件的检测和基于软件的检测.
对于硬件检测,可以通过增加传感器设备来收集生命特征,比如温度、血压、导电率等,这种硬件检测方法准确度较高但增加了设备的成本,且无法应用于旧设备中.
软件检测仅通过增强对图像的识别来区分真实指纹和伪造的指纹[77].目前基于机器学习的软件图像检测方法较为流行,比如Xia等人[78]提出了一种新的韦伯局部二值描述符(Weber local binary descriptor, WLBD)用于指纹活性检测,他们在原有的韦伯局部描述符的基础上进行了改进,并在公共数据库中取得了更好的准确性.而对于声纹伪造的识别,可以从不同的角度进行分析,比如口腔运动、咽部震动、磁场、声场分析.Yan等人[79]通过声音在空气中传播产生的声能物理场来区分人类和扬声器,实现了一种与文本无关的人声验证方法CaField,在多种语音输入的测试中实现了99.16%的检测准确率.
4.1.2 设备层面
设备感知层的访问控制模型较简单,攻击面与传统的嵌入式设备攻击面大致相同,主要的薄弱点为设备软硬件漏洞,因此设备层面的安全防御主要是漏洞的发现和修复以及可信计算加固,防止潜在的漏洞利用等.
文献[80]提出了一种针对物联网设备的自动模糊测试框架IoTFuzzer,它可以在不获取固件的情况下发现物联网设备中的内存安全漏洞,通过分析可以操作物联网设备的移动App的代码来生成测试样例,再使用API钩子对目标物联网设备进行测试.在文献[80]的作者给出的测试结果中,IoTFuzzer成功识别到17台物联网设备中的15个内存安全漏洞.而Zheng等人[81]实现的FIRM-AFL框架可以用于物联网设备固件的灰盒测试.与文献[80]不同的是,FIRM-AFL需要对物联网设备固件进行仿真运行,文献[81]提出了一种增强过程仿真的技术,结合了全系统仿真和用户态仿真,提升了仿真的运行效率.文献[81]的评估表明,FIRM-AFL可以发现现实物联网设备固件中的漏洞,并且平均吞吐量可以达到全系统仿真的8.2倍.除了使用自动模糊测试的手段及时发现漏洞外,还可以通过可信执行环境、控制流保护、数据执行保护等手段防御漏洞攻击.在物联网设备中提供可信执行环境可以隔离可信应用和普通应用,在一定程度上缓解了远程漏洞攻击影响,保证了可信应用的安全,同时也可以避免具有物理权限的攻击者提取敏感信息.
文献[82]中对比了2种目前可用于物联网设备的可信执行环境,即ARM TrustZone和安全控制器(security controller, SC),发现ARM TrustZone更加灵活高效,但安全控制器能更有效地抵抗物理入侵.而物联网设备的控制流保护也可以在一定程度增加漏洞攻击的利用难度,避免攻击者利用漏洞控制物联网设备,从而直接打破访问控制体系.文献[83]中提出了一个名为Silhouette的编译器执行流保护技术,可以用于常见的嵌入式设备中,该技术可以有效地保护返回地址的完整性,缓解了控制流执行攻击.感知层设备作为物联网系统的数据来源,任何的漏洞攻击都会导致整个系统的访问控制失效,因此设备中的软件和硬件都应实施一定程度上的漏洞防御机制才能保护整个物联网系统的安全.
4.2 网络层访问控制安全性解决方案
网络层在物联网中主要负责数据的传输,为了更安全地访问控制,需要保障数据传输过程中的安全,通过完善加密算法、传输协议等避免访问控制场景中的身份认证信息、授权信息被窃取或篡改.
4.2.1 网络层近场通信
面对网络层近场通信的安全威胁通常有2种解决方案:
1)设计全新的安全通信协议,使其不仅适用物联网的低功耗、低成本的需求特性,并且尽可能保障通信的安全,安全的设计贴合物联网的复杂架构.Luo等人[84]提出了一种适用于异构物联网环境的轻量级近场通信协议,基于对称密钥和混沌系统实现了设备间的安全通信.
2)在原有协议的基础上进行扩展或者改进,利用扩展部分保障原有通信协议的安全或者改进原有协议以便消除威胁.Fawaz等人[57]针对由于BLE设备广播的访问控制失效引起的安全威胁提出了BLE-Guardian系统,用于保护BLE设备、物联网用户、环境的隐私.Alshahrani等人[85]基于ZigBee提出了一种新的协议,实现了物联网设备间的相互认证,并且使得认证具备匿名性,同时多角度评估验证了协议的安全性.Wang等人[86]提出了一种新的无证书ZigBee加入协议,解决了由ZigBee预共享密钥泄露导致的访问控制失效问题.Wu等人[87]提出了LIGHTBLUE工具,该工具应用控制流和数据流分析的组合来删除BLE主机中未使用的代码,最大限度地减少了攻击面,减少了由于访问控制失效等导致的各种安全威胁.
4.2.2 网络层远场通信
网络层远场通信的安全威胁解决方案与近场通信的解决方案类似,通常有2种方案:1)设计新的适用于物联网远场通信并有安全通信保障的新协议;2)在原有协议基础上进行扩展或改进.Kumar等人[88]设计实现了物联网端对端加密协议JEDI(Joining Encryption and Delegation for IoT),可以用于解耦多对多通信,具有对数据的细粒度访问和支持密钥过期等各种适用于物联网远场通信的特性,特别是低成本、低功耗特性;JEDI协议还允许主体将密钥委托给其他主体,从而授予对数据的访问权限,并以可扩展的分布式方式管理访问控制.Jia等人[20]提出了新的控制关键协议实体的设计原则和增强访问模型MOUCON(message-oriented usage control model),以解决MQTT缺乏协议内实体保护和原始的MQTT协议的安全模型不支持身份、消息、会话状态等保护导致的安全威胁.Lohachab[89]基于椭圆曲线密码体制和MQTT协议提出了一种适用于分布式物联网环境的轻量级认证和授权框架.
4.3 应用层访问控制安全性解决方案
应用层包含云平台和用户App,其中存在云平台与用户的交互、云平台与设备的交互、云平台与云平台之间的交互等,在各种类型的交互中都存在着访问控制过程.而应用层在物联网架构中作为具备高性能运算与存储的层次,需要建立更完善的访问控制模型、更安全的认证与授权机制.
4.3.1 基于云平台上云应用行为的访问控制
目前,云平台中云应用所广泛运用的访问控制系统均基于权限,多项研究[90-92]已经证明基于权限的访问控制系统因其控制粒度不足,无法控制应用获得权限后的使用方式,使其仍不能阻止云应用的恶意行为.当前的学者为了解决这个问题,主要通过不同方式收集当前应用的行为,直接对应用行为进行安全审计,从而构建拥有更加细致的控制粒度的访问控制系统,这让应用即使拥有权限也无法做出恶意的行为.
目前的研究方向有3种,分别通过静态分析、动态插桩和监听流量来收集应用行为.
1)静态分析.直接对应用的代码进行行为分析,判断应用是否存在恶意的行为.例如:SOTERIA[92]和SAINT[93]均通过静态分析来识别应用的行为.其中,SAINT主要跟踪应用中的信息流,避免用户敏感信息的泄露;而SOTERIA则主要分析应用中对IoT设备的控制,构建设备的状态机并分析安全性,防止恶意应用控制IoT设备,从而危害用户的生命财产安全.
2)动态插桩.通过在已有的代码中手动或者自动的方式插入用于审计的代码,从而直接限制数据的流向或者在运行时收集上下文信息并分析出当前应用的行为.其中FlowFence[94]通过开发人员在当前应用代码上增加、修改代码来控制数据的流向从而实现动态插桩,使得敏感数据只能流向预期的目标.ContexIoT[90],Tyche[91],ProvThings[95],IoTGuard[96],SmartAuth[97]均实现了自动插桩,不需要额外消耗开发人员的时间,能够自动跟踪数据的流向并分析程序操控IoT设备的行为.例如ContexIoT,ProvThings等还实现了用户界面,允许向用户警告程序的危险行为,让用户决定是否放行;而SmartAuth还额外有一套基于自然语言处理(natural language processing, NLP)的分析系统,可以自动获得程序正常的行为,从而减少向用户告警的次数.
3)监听流量.这个方面最具有代表性的解决方案是Homonit[98],其通过解析捕捉到ZigBee或者Z-wave等无线协议的流量,然后将这些流量中的特征进行分析从而得出应用是否存在不当行为.这种方式相对来说限制较小,不需要应用的源代码也可以对应用的行为进行检测,但是也最容易受到干扰导致误报.
4.3.2 统一且去中心化的云平台对接授权协议
在当前的云平台与云平台对接中,主要沿用了互联网中的OAuth协议,其作为一个集中式的权限管理协议,容易导致系统被攻陷后凭据被攻击者获取从而使得其破坏访问控制,因此授权协议应该是去中心化的.对于这个问题,已经有Andersen等人[72]和Fernandes等人[99]给出了WAVE和XToken的解决方案,他们都使用了基于密码学的方法,将集中式的权限模型变为分布式的权限模型,这使得即使一方权限被攻陷,攻击者也无法完全控制其所拥有的权限.另外,由于OAuth并非为IoT场景所设计,对接时往往需要传递额外的信息,比如设备、用户相关的资料,而这些信息本身可能是需要保密的,却可能被对接方错误地泄露出去,导致访问控制问题.为了解决这个问题,需要目前的云平台联合起来,基于XToken,WAVE等去中心化协议,共同商议出一套统一的对接授权协议.
4.3.3 云平台设备绑定
目前发现的设备绑定时漏洞的成因主要来自于在更改绑定状态模型时没有验证绑定状态转换的合法性和认证时使用静态设备身份认证信息.为此,应研究动态生成的设备绑定信息和经过验证的绑定状态模型.IoT设备的设备ID等信息应在注册时由云平台通过算法生成后下发,而不是在出厂时硬编码进芯片中,并且生成算法中应包含用户ID、随机数等难以被攻击者猜测、枚举出的信息.同时,为了防止攻击者进行恶意的绑定状态转换,云平台在对绑定状态进行转换时,应验证状态转换请求的发送用户的绑定状态、目标绑定的设备状态和请求消息中的认证信息,避免状态的非法转换[74].
4.4 小 结
当前物联网访问控制安全性解决方案总结如表4所示.总结当前的物联网访问控制安全性解决方案相关研究,漏洞的检测是各个层次都重点关注的研究方向.而根据访问控制业务功能的区别,各层次的安全性解决方案也有所侧重.其中,感知层侧重认证信息伪造的规避;网络层侧重通信协议的安全加固;应用层侧重认证与授权机制以及协议的设计和完善.
Table 4 Security Solution of IoT Access Control
根据当前的相关研究,物联网访问控制侧重架构与机制的设计、移植和应对攻击面的安全解决方案研究,在架构与安全性整体化设计方面还有所欠缺.
5 挑战与机遇
本节针对当前安全的物联网访问控制所面临的困难与挑战进行了总结.
1)物联网设备种类规模巨大在当前环境下,物联网已经广泛渗透到各行各业中,在智能家居、智慧城市、工业4.0等各种场景中,都可以看到大量物联网设备的影子.规模如此巨大的物联网设备对访问控制系统的性能和架构提出了巨大的挑战.除了规模巨大,物联网设备由于在不同场景下的广泛运用,其种类也同样繁多,这些设备往往都针对特定场景进行了特殊的设计,导致不同设备之间存在巨大差异,包括计算能力、处理器架构、操作系统等多个方面,这使得访问控制系统不仅需要覆盖到所有场景下不同的设备类型,还要协调拥有不同特性的设备遵守其控制.为解决这些问题,需要研究让访问控制系统在拥有强大性能的同时还拥有良好的安全性和兼容性的方法.
2)物联网安全架构复杂
物联网设备由于其天生的“万物互联”特性,一般采用分布式部署,物联网设备之间会直接进行通信而不依赖额外的中心服务器进行中转.但同时由于物联网设备需要提供给用户使用,一般仍然会存在一个中心的服务用于对用户提供接入、下发用户的命令或者接受来自设备的信息.这种复杂的中心化与去中心化混合的架构对访问控制系统提出了巨大的挑战,系统需要同时满足设备、用户、云端服务三者之间的访问控制,使得安全架构非常复杂,难以保证安全性.然而,当前的访问控制系统通常只着力于两者之间的访问控制,例如用户和设备之间的访问控制,而忽略云端,目前需要一种新的访问控制系统能够同时满足三者之间的安全访问控制,但同时保证系统能够适应物联网的特殊环境而不会变得过于复杂.
3)解决方案以点为主缺乏统一
目前现有的物联网系统为了保证安全性,一般都会存在访问控制系统,但由于缺少类似互联网Web中的OAuth,XACML等统一的访问控制框架和协议,使得各个物联网系统均为“点”,需要通过自己编写实现的系统进行访问控制.这些系统往往缺少相关安全性测试,无法保证用户和设备的安全,且这些系统也无法互相对接,让“点”无法连成“线”和“面”,导致各个系统之间无法在保证安全的情况下方便地共享数据,与“万物互联”的理念相违背.因此,需要研究人员和当前广大的物联网设备公司进行合作,开发出一套统一而具有通用性的访问控制系统.
6 未来研究方向
为了实现更安全、更高效的物联网访问控制,本节提出了3个未来研究方向.
1)深入研究物联网云平台访问控制
云平台作为物联网的数据中心和控制中心,其中接入了大量的设备并存储了大量的数据,一旦访问控制失效,将造成严重危害.然而,目前云平台的访问控制问题是物联网访问控制问题中的重灾区,包括云平台内部访问控制问题、云平台间的访问控制问题,以及云平台与设备、手机App等交互时的访问控制问题.由于云平台内部的复杂性、云平台中应用和设备的多样性、不同云平台厂商间的封闭性,以及云和设备、协议之间的安全鸿沟,目前难以找到统一适用的访问控制模型解决云平台的访问控制问题.深入研究物联网云平台访问控制,是未来亟需研究的方向之一.
2)研究物联网云对接标准化
当前物联网云平台厂商各自都有自己的对接标准和访问控制机制,这些对接标准和访问控制机制能够很好地适配本厂商生产的设备,然而面对其他厂商生产的设备接入,或者本厂商生产的设备接入其他云平台时,就会引发访问控制失效问题.由于物联网具有分布式、灵活、动态接入的特性,很多厂商不仅允许与本厂商的IoT设备进行连接,还允许与其他厂商的云平台进行连接,甚至允许与自建云平台进行连接,这些连接过程由于不同的厂商有不同的标准规范,对连接后的平台和设备的访问控制安全性造成了极大的冲击.为延续物联网分布式、灵活、动态接入的特性,并使得对接入后的平台和设备的安全性得到保证,本文认为标准化这些对接过程是非常必要的.
3)在物联网访问控制中引入零信任理念
在应对物联网场景中的应用安全、网络安全、数据安全方面,仅在传统安全方案的基础上做边界加固和单点增强,难以系统性地缓解各类安全威胁,而零信任是一个新兴的模型,作为一种可以支撑未来发展的安全防护方式正逐渐受到越来越多的关注.零信任模型并非全盘否定,而是秉承网络始终存在内部和外部威胁,所有的设备、用户和流量在验证前不存在固有信任的原则,坚持持续验证、最小权限.因此,访问控制作为物联网场景中数据安全和网络安全防护的重要关口,需要引入零信任模型的理念进行物联网场景的适配和流程架构的设计,从而实现动态、实时、持续、精准、安全的访问控制.
7 总 结
近年来物联网安全事件频发,物联网安全越来越得到重视.而访问控制作为保护资源和信息的关键机制,在物联网生态中发挥着重要作用.本文针对物联网访问控制的安全性进行了充分的调研梳理,从物联网的3个层次分别展开,分析了每个层次中存在的风险脆弱点以及对应的攻击面,总结了近年来针对这些攻击面的防御理论和方法,并提出了物联网访问控制安全性设计要求.基于现有的理论研究基础,分析了安全的物联网访问控制中存在的挑战,最后给出了未来的研究热点.
作者贡献声明:刘奇旭负责论文的总体规划、指导与论文的撰写工作;靳泽负责论文主要内容的调研和撰写;陈灿华、高新博、郑宁军分层次负责相关工作的调研和梳理;方仪伟负责相关文献的整理和内容校对工作;冯云负责论文内容和结构的梳理.