PFIREWALL: Semantics-Aware Customizable DataFlow Control for Smart Home Privacy Protection
摘要
物联网(IoT)平台使用户能够部署家庭自动化应用程序。同时,随着大量敏感设备数据流向IoT平台,隐私问题也随之而来。实际上,流到平台的大多数数据不会触发自动化操作,而一旦将设备绑定到平台,房主目前就无法控制。我们展示了PFIREWALL,这是一个可定制的数据流控制系统,可增强IoT平台用户的隐私。PFIREWALL自动生成数据最小化策略,该策略仅公开最少数量的数据即可实现自动化。此外,PFIRE-WALL为房主提供了接口,可通过定义用户指定的策略来自定义个人隐私首选项。为了执行这些策略,PFIREWALL透明地干预和调解IoT设备与平台之间的通信,而无需修改平台,IoT设备或集线器。在四个实际测试平台上的评估结果表明,PFIREWALL在不影响家庭自动化的情况下将发送到平台的IoT数据减少了97%,并有效地减轻了用户活动推理/跟踪攻击和其他隐私风险。
(这篇文章和我们想做的很类似鸭/(ㄒoㄒ)/~~)
Introduction
尽管平台从绑定的IoT设备接收了大量的隐私敏感数据,但很少有人认为该平台是不可信的并提供隐私保护解决方案。物联网平台收集大量用户信息,物联网平台与合作伙伴(例如,广告商)共享用户数据以扩展业务,任何不当的处理都可能会将对隐私敏感的数据透露给第三方。
为了支持家庭自动化,许多IoT设备将诸如传感器事件之类的数据连续流式传输到IoT平台,尽管大多数数据实际上并未触发自动化操作(说白了就是获得的数据并没有被使用)。这偏离了欧洲通用数据保护法规(GDPR)中“数据最小化”的原则(中国也有)。我们还发现,用户无法控制设备数据向平台的泄漏,无法实现以用户为中心的授权。(用户处于被动方)因此,我们寻求一种隐私增强系统,以供注重隐私的用户用作现有系统的“附加组件”。(黑盒过滤,只提供必要的信息)
目标:
最小化发送到平台的数据
此外为用户提供了易于使用的工具来定义和自定义自己的隐私政策
(例如,“在睡眠模式下,不应从卧室中的设备发送任何数据”)
允许用户针对个人隐私首选项定义可定制的数据保护策略。
挑战
- 数据最小化不应影响家庭自动化。(在不影响自动化的情况下减少数据泄漏,不发或者瞎发)
- 期望平台协作以实现数据最小化可能是不现实的。但是,大多数领先的平台(IFTTT,SmartThings,Google Home,Amazon Alexa)都采用基于云的架构,这是因为它在存储,集成服务,管理等诸多方面都具有优势。因此,现有用户可能不愿意放弃他们对平台的选择。
- 为非专业用户提供用户友好的界面来定义自己的隐私保护政策
解决:PFIREWALL,介体位于IoT设备与集线器(或平台后端云)之间,可根据隐私保护策略透明地过滤数据。
智能家居云平台
智能家居平台可分为基于云的平台(CBP)和基于网关/集线器的平台(GBP)根据平台的核心框架是托管在远程云中还是位于家中的网关/集线器设备。 选择基于云的平台,不选择GBP是由于网关连接到Internet,受到平台云管理员的完全控制,不能完全解决隐私泄露威胁。集线器或网关设备虽然物理上位于家中,但在概念上被视为数据隐私保护平台的一部分,因为它受平台云管理员的完全控制。

研究动机与威胁模型
A.平台的隐私问题
1)在智能家居系统中,平台通常是完全受信任的。安装后,平台将通过声明条款和条件或隐私权政策,通过设计和合法途径从技术上获得对所有已连接家庭物联网设备的访问特权。之后,无论是否需要提供服务,IoT平台都会从连接的设备接收丰富的数据。通过实验验证了上述结论:平台云不断接收来自设备的设备数据(例如,运动,开关,温度等),表明当任何自动化不需要它们时,设备数据都会通过集线器流出。
在本文中,我们专注于增强家庭自动化服务中的用户隐私,可以改进或修补该系统以增强不同服务中的用户隐私。
2)有限的用户能力:当前,用户几乎没有能力来控制发送到平台的设备数据。他们只有一个二元选择:是否将设备连接到平台;或者将设备连接到平台;或者将设备连接到平台。连接后,设备会连续向平台报告数据。
B.威胁模型
假定该平台是诚实的,即,它忠实地运行所有服务,并且不对用户执行主动攻击。
系统概述
Device Connector: 设备连接器直接通过设备相关的协议(例如ZigBee,Z-Wave)与IoT设备对话,或通过供应商云API间接与IoT设备对话。之后将原始设备数据转发到基于策略的数据过滤器进行处理。
Platform Connector:平台连接器通过平台支持的特定连接技术与平台进行交互,代表连接到设备连接器的物理设备。设备连接器和平台连接器可在IoT设备和平台之间协作地协调数据。
Data Filter:基于策略的数据过滤器在设备连接器和平台连接器之间进行过滤,以基于策略过滤来自IoT设备的敏感数据(即事件)。
虽然PFIREWALL在将设备事件报告给平台之前先对其进行过滤,但它不会过滤命令,即平台连接器从平台接收的所有命令都将通过设备连接器转发给物理设备。

一、数据过滤器
它具有三个主要组件:策略生成器,冲突检测器和策略引擎。
策略生成器以两种方式生成数据过滤策略:自动化相关的数据最小化策略(AP)和用户指定的策略(UP)。
冲突检测器检查用户指定的策略是否与现有的数据最小化策略发生冲突,并向用户报告冲突。
策略引擎解释并执行所有策略。
如何得到最小化策略AP
- 自动化规则提取
R1: “when [trigger], if [condition], then [action]“
eg:when [a presence sensorps1becomes present] (trigger), if [the readingof a temperature sensorts1 is higher than 86◦F] (condition),then [turn on the fanf1] (action).
R2: “when [trigger], then [action]”
eg: when [ the reading of a temperature sensorts1is higher than 86◦F], then [turn on the fanf1]
不失一般性,我们将使用ruleR1作为运行示例来展示PFIREWALL如何过滤数据
代码分析是从物联网应用程序中提取规则语义的有效方法。例如,通过在SmartApps上使用抽象语法树分析,可以识别SmartApps中请求和使用的功能,细分SmartApps和提取规则信息,]从SmartApps构建确定性有限自动机(DFA)。符号执行是一种从应用程序分析规则语义的强大技术。文本数据爬网和自然语言处理已用于从移动应用程序和网页中提取规则。(利用这篇文章中的策略提取方式:“Cross-app interference threats in smart homes: Categorization, detection and handling” 从SmartThings经典版本中提取规则,并对新的SmartThings和openHAB中定义的规则进行手动编码 )
- 生成最小规则策略
P=(T,C):T代表TRIGGER;C代表CHECK
用户自定义隐私规则
我们建议用户使用交互式方法来指定数据保护策略。用户可以在指定的时间段内或在某些上下文中配置白名单,黑名单和条件式策略。这是出于以下三个原因:1)用户具有无法从自动化规则中得出的个人隐私首选项;例如,在一段时间或某些情况下,用户可能会优先考虑某些设备类型的隐私而不是自动化功能; 2)该平台可以集成第三方服务,但是没有规则提取器可用于从中提取语义;3)用户有权控制自己数据的使用。
规则冲突策略
由于UP的优先级高于AP,因此UP被设计为覆盖AP,用户的UP可能与现有的AP发生冲突并阻碍自动化。尽管如此,用户仍需要一个警告,向他们显示导致什么冲突以及哪些自动化规则受到影响的警告。因此,需要自动的策略冲突检测。
二、数据流中介
当前,PFIREWALL无法处理使用专有或端到端加密连接但不提供访问API的IoT设备。
连接物联网设备:中介需要处理与IoT设备相关的3个主要任务:1)在PFIREWALL中添加或删除设备; 2)从设备接收事件; 3)向设备发送命令。
连接各种平台:将物理设备连接到PFIREWALL时,平台连接器会为其创建虚拟设备的实例。虚拟设备代表物理设备与平台进行交互,即,虚拟设备(1)被平台发现为新设备实例,(2)向平台报告后过滤事件,并且(3)从虚拟设备转发命令。