ContexIoT: 为应用化的IoT平台提供场景完整性

ContexIoT: 为应用化的IoT平台提供场景完整性

作者:贾云瀚   密西根大学

物联网(IoT) 设备已经进入了日常生活中的各个领域,并且随着技术的发展,IoT设备市场已经从最初的不同厂家推出围绕自家硬件的一套封闭的生态系统 (例如 飞利浦 Hue 照明系统),发展到了一种被称之为“应用化”(appified) 的新阶段。 在一个appified 的平台之上, 任何第三方的开发者被允许为这个平台开发应用程序(app), 去控制来自不同厂家的IoT设备来更好地为用户提供便利的功能。 三星推出的SmartThings 平台便是一个例子,它支持了来自不同制造商的80多种IoT设备,并且为第三方开发者提供了API去为自己的应用商店开发app。 之前无法完成的一些功能,比如用三星生产的运动传感器(motion sensor) 数据去控制飞利浦生产的灯泡,都可以在SmartThings平台上实现。

然而,appified平台也带来了一个根本的安全问题——允许不被信任的第三方代码来控制用户的设备。2016年IEEE S&P 的一篇论文[1] 已经以SmartThings平台为例,指出许多存在于IoT 应用中的访问控制(access control)缺陷,造成大多数的app存在“过度的权限”(overprivilege) 问题,从而允许攻击者危害智能家居(smart home)用户的安全,例如用伪装成监控电池电量的IoT应用去偷取智能门锁的密码等。针对现实存在的这一类威胁IoT用户安全的问题,我们提出了ContexIoT解决方案 [2],一个基于情景(context)的应用权限系统。ContexIoT 为应用化IoT平台的访问控制提供一种叫做 contextual integrity 的特性,意即:当用户允许一种应用的行为时,它实际上允许的是这个应用在当时的context下进行这种行为,而不是在任何时候。Contextual integrity 被之前的研究者认为是一个理想的权限系统所应该确保的特性[3]。

对于如何去定义在IoT 应用情景下的 Context,文章作者研究了大量已经存在的针对IoT设备的攻击,以及来自于和IoT平台非常相似的另一个应用化平台——智能手机平台的大量恶意软件,给出了一个作者认为比较全面的Context的定义。该定义确保了恶意软件的恶意行为能够从Context层面上与正常的IoT应用行为区分出来。 ContexIoT 采用了一种为应用商店里的IoT加入安全补丁的方式来确保app运行时的Contextual integrity。 如图所示,在一个原始的IoT 应用中存在两种行为:正常的行为是当检测到温度大于一定数值时打开窗户,而恶意的行为是当发现用户进入睡眠状态时打开窗户。 在原有的app逻辑中,因为app被给予了控制窗户的权限,这两种行为都是被允许的。

ContexIoT 会基于对应用程序静态分析(static analysis)的结果进行安全补丁的方式来为程序加入安全执行的逻辑。 如图,被ContexIoT进行过补丁的应用逻辑,当要执行到“开窗”这一敏感行为(sensitive action)时会将当前开窗行为所在的context报告给一个ContexIoT的负责进行访问控制的远程服务,该服务会根据不同的context来做出访问控制的决定:当该敏感行为发生的context和用户之前允许过的一种context相符时,该行为被允许; 当某种context第一次出现时,将它显示给用于,让用户做出决定。在这个例子中,正常行为的context描述了该开窗行为是被温度的改变而触发的,而恶意行为的context可以告诉用户该开窗行为是由用户进入睡眠而触发的,用户可以由此做出细粒度的(fine-grained)基于context的访问控制决定。

为了评估ContexIoT方法的有效性,作者团队基于对之前各种IoT,智能手机上的恶意软件技术的系统性调查,针对25种恶意软件常用的绕过访问控制系统的技术,写出了25种针对SmartThings平台的恶意软件,来测试ContexIoT是否能够在运行时检测并阻止这些恶意软件中存在的恶意行为,最终结果证明了该方法的有效性。 这些恶意软件样本可以从该项目的网站上下载[4] 。同时,经过对283个应用商店内的Smart Things应用的测量,发现被加入安全逻辑的应用和原始应用相比只额外增加了约10%的延迟,这在大多数物联网的应用情景下可以忽略不计。

在此项目中,我们将前人在访问控制领域提出的一种理想,但难以实现的特性——Contextual integrity,利用IoT应用场景的一些特点进行了实现, 提供了一种能防御绝大多数现在已知的恶意软件技术的新型的访问控制系统,我们的实现目前仅基于三星SmartThings平台,但这种设计适用于目前市面上很多包括Apple HomeKit 在内的应用化的IoT平台。

参考文献

[1] E.Fernandes, J.Jung, and A.Prakash. Security Analysis of Emerging Smart Home Applications. In Proceedings of the 37th IEEE Symposium on Security and Privacy.

[2] Yunhan Jack Jia, et al. ContexIoT: Towards Providing Contextual Integrity to Appified IoT Platforms. Proceedings of the 24th Network and Distributed System Security Symposium (NDSS’17).

[3] P.Wijesekera, A.Baokar, A.HosseiniE, S.Egelman, D.Wagner, and K.Beznosov.  Android permission remystified:  A field study on contextual integrity.  In Proceedings of the 24th USENIX Security Symposium.

[4] Project website. https://sites.google.com/site/iotcontextualintegrity/home

作者简介

贾云瀚(Jack), Ph.D. Candidate, 现就读于University of Michigan (密西根大学),博士指导老师为Z. Morley Mao. 本科毕业于上海交通大学软件学院陈海波教授组,研究方向为移动互联网,物联网和自动驾驶的安全。

Bookmark the permalink.

Comments are closed.