智能家居环境中的各种IoT设备(例如灯泡,开关,扬声器)使用户可以轻松控制周围的物理世界,并通过已经嵌入在这些设备中的传感器来促进他们的生活方式。传感器数据包含许多有关用户和设备的敏感信息。但是,在智能家居环境内部或附近的攻击者可能会利用这些设备使用的固有无线介质从加密的有效负载(即传感器数据)中窃取有关用户及其活动的敏感信息,从而侵犯用户隐私。
考虑到这一点,在这项工作中介绍了一种在智能环境中针对用户隐私的新型多阶段隐私攻击。它是通过利用最新的机器学习方法以级联方式检测和识别IoT设备的类型,其状态以及正在进行的用户活动而实现的,它仅通过被动地嗅探智能家居设备和传感器的网络流量即可。该攻击对加密和未加密的通信均有效。使用来自WiFi,ZigBee和BLE等多种网络协议的广泛流行的现成智能家居IoT设备的实际测量结果,评估攻击的效率。
结果表明,被动侦听流量的攻击者可以在识别目标智能家居设备及其用户的状态和操作时获得很高的准确性(超过90%)。为了防止这种隐私泄漏,还提出了一种基于生成欺骗性流量的对策,以隐藏设备状态并证明它比现有解决方案提供了更好的保护。
0x01 Introduction
以前,因特网主要用于访问和显示网页内容(即网页浏览)。但是随着智能家居中物联网设备的出现,用户现在能够使用适当的智能手机应用程序以及从远程位置来控制其家庭的电子系统(例如,智能灯泡,智能锁,传感器)。为了实现智能家居自动化,设备大多装有嵌入式传感器。这些传感器从环境中收集数据并帮助用户进行控制。此外,智能家居设备还与相关的后端系统服务器或其他设备(例如,智能集线器)持续通信,以实时传输传感器数据。另一方面,由于物联网设备通常是单用途设备,因此单个智能家居设备的功能相对有限,仅包含少数状态或动作。例如,运动传感器允许用户检测物理空间中的任何运动,但是传感器只有两种状态:运动和不运动。如果攻击者可以显示传感器的当前状态,则攻击者还将显示用户在家中的状态。
假设通常使用WPA2之类的标准协议对服务器,传感器,智能集线器和智能家居设备之间的通信进行加密,在WiFi的情况下,交换的消息或命令的内容将被隐藏。但是,加密仅隐藏有效负载,网络流量的相关元数据(例如,数据包长度,流量速率)仍会泄漏一些有关交换消息的信息.
加密流量的标识是一个经过充分研究的问题。然而,由于物联网设备固有属性带来的挑战,在智能家居领域应用诸如统计技术之类的传统识别方法并非直截了当。首先,与目标使用广泛部署的协议执行众所周知的特定活动(例如网页浏览)不同,在智能家居环境中,目标设备群体的异构性更高,并使用各种网络协议(例如WiFi,ZigBee,BLE等)用于支持更多种类的特定于设备类型的潜在专有应用程序协议。这自然地扩展了潜在的攻击面,但也使得设计通用攻击或对策变得更加困难。
一些早期的著作已经表明,进行一些简单的推断相对容易,例如设备类型推断,通过检测设备活动之间的模式转换来识别用户占用情况,或简单设备模式推断。但是,将来自不同智能家居设备的部分信息组合起来,以获得有关用户的活动或他/她的活动概况的更有意义的图片是一项挑战。这是因为成功的攻击者必须在较长时间内汇总来自多个智能家居设备的有关操作的信息,这仅在活动检测和识别可以在很大程度上实现自动化以保持所需的努力可管理的情况下才可行。
在本文中演示了攻击者如何使用基于智能家居IoT设备通信流量剖析的机器学习方法自动以很高的准确性自动识别受害人智能家居中IoT设备及其用户的动作和活动,即使仅加密数据也是如此实际上,即使对流量进行加密,也可以很容易地识别出设备类型,用户的日常日常活动(例如,离开家,从厨房走到卧室)或设备的状态(例如,门锁,上锁),从而对用户隐私构成威胁。
将这种针对用户隐私的新颖攻击称为多阶段隐私攻击,它是通过级联方式仅通过被动地观察来自智能家居设备的无线流量来实现的。这样,被动的跟踪器可以轻松地实现多阶段隐私攻击,以从配备有智能设备的任何智能环境中提取有意义的数据,这些智能设备包括个人住宅,住宅,酒店客房,公司或政府机构的办公室。在这里,与早期的方法不同,本文提出的攻击是设备类型和协议不可知的,这使其很容易适用于各种不同的IoT设备类型,而无需繁琐地收集设备类型或协议特定知识以支持该协议活动识别任务。
使用最流行的IoT无线协议,使用22种不同的现成IoT设备评估新型多阶段隐私攻击的有效性。实验结果表明,攻击者可以在识别设备和传感器的类型,动作,状态,活动方面获得很高的准确性(超过90%)。此外,为了应对由多阶段隐私攻击构成的已识别隐私威胁,还提出了一种新的有效对策解决方案,该解决方案基于生成欺骗的流量来隐藏目标物联网设备的真实状态,从而隐藏用户的真实活动。解决方案不需要在目标物联网设备中进行修改,因此比以前提出的物联网设备解决方案更易于部署,由于智能设备的巨大异质性和局限性,很难实施基于客户端的对策物联网设备上可用的资源。另外,即使用户不在家里,基于假流量的存在用户假冒解决方案也会掩盖用户的不在状态,从而进一步提高隐私性。
•提出了一种针对智能家居用户和设备的新型多阶段隐私攻击,该攻击可以泄漏敏感信息,包括设备类型,设备状态,传感器数据以及持续的用户活动。这是第一篇展示攻击所有阶段的工作,这些攻击可以从智能家居设备的原始流量中显示用户活动,甚至可以进行加密。
•攻击包括理论和实践上的几种新颖技术,可有效减少用户活动推断基于定时的异构网络流量所需的工作量。首先演示如何将基于定时的异构网络流量的用户活动推断转换为级联的机器学习(ML)问题。然后通过隐马尔可夫模型(HMM)对用户活动进行建模,从而进一步扩展了攻击范围。
•使用22种流行的商用智能家居设备的数据集评估了提出的新颖攻击。表明攻击者可以自动检测和识别高精度(> 90%)的设备动作,从而使黑客能够推断出有关智能家居用户的潜在敏感信息。
•最后,尽管本文的重点是新颖的攻击,但还提出了一种基于流量欺骗的新解决方案,以解决这一新的隐私威胁,同时证明了其效力过高的解决方案。
0x02 Adversary Model
物联网(尤其是智能家居)领域的独特挑战之一是,攻击面自然得到扩展,并包括部署在用户家中的各种设备和传感器。上图显示了一些攻击者在推断用户活动时可以利用的数据捕获点。在这项工作中考虑一个物理上位于目标用户的智能家居设备的无线范围内的本地攻击者。为此,攻击者只能安装一次嗅探器,甚至可以远程管理它们。或者,它可能会远程破坏智能家居内部的设备,并将其转变为嗅探器。这样,攻击者可能永远不需要在场。在所有情况下,攻击者都可以窃听用户的智能家居设备传输的各种无线IoT网络通信。例如,如上图所示,攻击者可以嗅探通过WiFi,BLE和ZigBee协议传输的所有网络流量。攻击者仅需要被动地嗅探网络流量,而无需中断。因此,攻击者可以保持活跃状态足够长的时间,而不会被受害者检测到。替代攻击者将是可以远程发起攻击的攻击者,即通过网络拦截恶意ISP等网络流量。
进一步做出以下假设:
•攻击者可以使用与目标用户相同类型的智能家居设备和传感器,他/他可以通过收集这些设备的流量来分析设备,并使用收集的数据来训练其算法。
•攻击者可以访问不受加密保护的所有层上的协议头数据。攻击者不需要了解所分析协议的规范,而仅需要知道如何运行已经公开可用的脚本,而无需对协议本身的规范有广泛的了解。此外,它还可以使用第2层信息(例如MAC地址或BLE广告包)来自动识别其他信息,各个设备的品牌,从而减少设备的搜索空间,以猜测目标用户正在使用的智能家居设备的集合。此外,还值得注意的是,攻击者不需要完全相同的设备来训练其算法,但是由于使用<brand,device⌉type>对来唯一标识设备,因此它需要精确的品牌和设备类型才能获得本文中介绍的结果。
0x03 Smart Home Devices
在本节中介绍了智能设备使用的通信协议的背景信息。
(1)通讯特征
智能家居供应商和用户都更喜欢无线通信,而不是有线通信,因为它更方便。但是,与有线通信相比,来自智能家居设备的无线网络流量容易受到窃听攻击。
在这项工作中针对三种无线协议:WiFi,ZigBee和低功耗蓝牙(BLE)。上表显示了本文中研究的所有设备及其无线通信协议和设备特征。在这些协议中,WiFi用于有线或插入式设备中,而其他协议(ZigBee和BLE)用于电池供电设备的短距离通信任务,因为它们消耗的功率比WiFi少。
a)启用WiFi的设备
启用WiFi的设备通过类似集线器的设备连接到Internet,或直接连接到访问点。在这两种情况下,攻击者都可以通过MAC地址跟踪并捕获通过特定设备的流量。尽管MAC地址可以帮助攻击者缩小设备类型的范围,但它无法根据MACaddress精确地确定设备类型。它可能要使用服务器的IP地址。但是,攻击者只能看到通过网络协议(SSL / TLS)和WiFi加密(WPA)加密的流量。因此,它看不到由WPA协议加密的IP或传输层头。这可以防止攻击者将基于标头的特征用于设备识别。但是,仍然无法向攻击者隐藏设备的流量速率。
b)启用ZigBee的设备
ZigBee设备具有两个地址:MAC地址和网络地址(NwkAddr)。 MAC地址与启用WiFi的设备中使用的MAC地址完全相同,这对世界上的每个设备都是唯一的,并且永不更改。另一方面,NwkAddr是在设备加入网络时创建和分配的,并在设备离开并重新加入另一个网络时更改的,它类似于IP,但是未加密,并且可以通过以下方式查看数据包的源和目标NwkAddr攻击者。此外,网络协调器(即集线器)的地址为0x0000,每个网络都有一个唯一的标识符,称为个人局域网标识符(PAN ID)。此信息还可以帮助攻击者。
c)启用BLE的设备
在BLE网络中,设备可以是主机,也可以是从机。一个从节点只能连接到一个主节点,而一个主节点可以连接到多个从节点。在使用的所有智能家居设备中,智能手机充当主设备,而目标智能设备充当从设备。在建立连接之前,从属设备会在通道37、38和39上随机广播广告包(ADV_IND)。一旦开始连接,它们就同意通道图,并在其余的通信中跟随。如果攻击者想通过智能设备跟踪BLE流量,则它需要捕获第一个数据包,以便它可以学习通道映射。一旦攻击者捕获了访问地址,它就可以跟踪其余的通信。
0x04 Muti-stage Privacy Attack
如上图所示,新颖的多阶段隐私攻击包括以级联方式连接的四个阶段。虽然攻击的目的是在最后阶段推断用户的活动,但每个阶段还会泄漏有关设备及其操作的部分信息,并且攻击者可以将其单独用于各种目的。
展示了智能家居设备的加密网络流量造成的隐私泄漏的可行性和可能性。特别是表明,可以嗅探设备网络流量的攻击者可以轻松推断一些简单的信息,而无需使用任何高级技术。为每种协议考虑一个设备:Wemo Insight Switch(WiFi),Samsung ST Outlet(ZigBee)和August Smart Lock(BLE)。分析每个设备的原始网络流量,并查看是否确实有可能从网络流量中提取信息,尤其是从数据速率中提取信息。在下一部分中将描述各个阶段的详细信息,并对从智能家居中使用的22种不同的现成IoT设备收集的网络流量数据评估多阶段隐私攻击的效率。
(1)数据集和评估指标
为了评估上述阶段的攻击,从22种不同的智能家居设备中收集了网络数据。数据收集分为两个阶段:在第一阶段,执行受控实验,其中遵循详细说明以在被测设备上启动特定操作。这些说明是根据每个被测设备(规格和数据表)的在线或纸质手册编写的。进行受控实验是为了确保每个设备的所有相关动作在使用数据集中得到足够的代表。因此,对每个设备重复每个实验n = 20次。除了受控实验,还进行了无控制的测试,以捕获相关设备的背景流量。在此设置中,将多个设备配置为可以同时使用,并且在大约200毫秒的测试期间偶尔会触发设备操作。
捕获的持续时间,总大小以及数据包的数量在上表中给出。所使用的设备包括IoT设备类型的代表性产品,在研究过程中通常在欧洲和北美市场上可以买到。还根据不同设备类别的市场份额选择了设备。最受欢迎的设备类别是智能安全系统,例如智能相机和智能锁(22.2%),照明(3.03%),插座和交换机(1%),包括集线器和路由器的网关(24.5%)和智能扬声器(22.39) %)。除了这些类别之外,还包括几种智能传感器,因为这些设备在智能家居市场中占有重要份额(约23.9%)。将所有设备安装在实验室网络中,并模拟用户输入触发设备状态更改。捕获了来自设备的所有网络流量,并离线进行了分析。
为了评估攻击的效率,使用了不同的指标。首先使用准确性,这是准确的观察值与总观察值的比率。在某些情况下,例如在实际部署中,收集的网络数据可能具有不平衡数据,其中活动状态的持续时间比不活动状态的持续时间短得多。在这些情况下,将使用其他指标,例如精度,召回率,F1得分和Support。在数据集包含的标签0(无活动)行比标签1(活动)行多的情况下,观察到F1得分比准确度更好地衡量了性能,尽管准确性通常是更直观的性能指标。
(2)根据网络流量计算特征
在本小节中解释了如何将流量用于分类任务。特别是利用了:协议中的加密层保护了数据包的有效负载,但它无法隐藏网络流量模式揭示的其他信息,例如,数据包长度(SPL)的顺序和方向(传入/传出) 。将每个网络流量视为会话期间两个对等方之间交换的按时间顺序排列的数据包序列。在处理网络流量分类之前,将流量中的数据包转换为数据包长度和时间序列(SPLT),格式如下:
如果方向是1(0)(如果它是传入(传出)数据包),则对捕获的跟踪中的每个数据包执行此转换,并将每个结果写入新行。最后获得了具有三列的矩阵。然后在每个攻击的特征提取中,从该矩阵中计算出特征。
(3)阶段1:设备识别
文献中已经提出了几种不同的物联网设备识别方法。许多工作表明,对于启用WiFi的和启用BLE的设备,可以高精度地识别IoT设备。因此,在本节中(例如,第1阶段),使用的特征对启用ZigBee的智能家居设备实施了现有的设备识别算法,以查看是否可以从其网络流量中识别启用ZigBee的智能家居设备。
在数据集中,每个设备都可以通过<品牌,设备⌉类型>对来唯一标识。没有将不同型号的设备视为不同的设备。另一方面,ZigBee中的集线器始终使用网络地址0x0000,因此攻击者可以轻松识别它。因此,没有将集线器包括在ZigBee设备的识别中。收集ZigBee网络流量后,第二步涉及提取特征以识别设备。在此步骤中,使用的特征包括平均数据包长度,平均到达时间和数据包长度的标准偏差。将设备的每个单独的网络流量跟踪划分为相等的时间间隔(例如5秒,10秒)。然后,为每个间隔计算了这些特征。
对于分类,使用了kNN分类算法。分类器可以正确识别ZigBee设备的总体准确度为93%的设备。这表明对于WiFi和BLE,也可以高精度地识别使用ZigBee的设备。
(4)阶段2:设备状态检测
当设备与用户之间发生交互时,会传输大量数据,这会导致流量速率显着增加。进行此数据交换后,数据传输降至最低,直到开始新的交互。如果没有活动,则仅发送最少量的连续数据包(如心跳消息),以最大程度地降低设备的功耗和带宽消耗。还观察到,对于相同的活动,几乎发生了相同数量的数据传输。所有这些信息能够检测到设备活动或状态之间的转换。为了进一步验证进行了以下实验。
a)特征提取
目标是将一系列数据包转换为有监督的学习数据集。为此,将数据包序列划分为W大小的窗口。对于给定的时间间隔长度W,提取了一个由三个变量组成的特征向量:平均数据包长度,平均到达时间和平均数据包大小的绝对偏差。根据带有时间戳的标签(告诉某活动是否正在进行),将给定向量标记为1表示正在进行的活动,或将0标记为没有活动。发现窗口大小对模型的性能有重要影响。为了获得最佳性能,窗口大小取决于根据活动的持续时间调整大小。通常,选择较小的窗口大小可将性能提高到一定水平,但是任何进一步的减小都会导致性能下降。根据观察,当窗口大小约为活动持续时间的四分之一时,可以观察到更好的性能。
b)结果
从数据包序列中获取带有标签的特征向量后,可以将任何监督学习算法应用于数据集。评估了两种监督学习算法,即随机森林分类器(RF)和k最近邻居分类器(kNN)。如上表所示,RF和kNN的性能相似,RF正确检测活动的平均值为88%,kNN的平均值为91%。上表中每个设备的F1得分略有不同。 DlinkMotionSensor使用RF的F1得分最差,使用kNN的F1得分为69%,而Aria Fitbit和AugustSmartLock的最佳F1得分是100%。
(5)阶段3:设备状态分类
在设备状态分类实验中,攻击者的目标是确定设备的状态(例如,确定设备处于开启还是关闭状态)。在查看设备交换的网络数据包时,与之前的步骤不同,这很难确定。但是,每个状态都有独特的模式,这有助于将它们彼此区分开。为了查看是否有可能区分状态,进行了以下实验:
a)特征提取
为了进行设备状态分类,必须从预处理步骤中生成的时间序列中提取信息丰富的特征。使用tsfresh工具自动计算大量时间序列的特征和特征,然后构造了特征向量。从时间序列中提取的特征的示例如下:时间序列的绝对能量,时间序列的长度,时间序列的均值和中位数,时间序列的偏度,时间序列的熵,时间的标准偏差系列,时间序列方差,连续小波变换系数,快速傅立叶变换系数,适合时间序列的多项式系数。
b)特征选择
特征提取阶段的输出是一组包括795个二元特征的特征向量。大量特征,其中一些冗余或不相关,可能会带来一些问题,例如误导学习算法以及增加模型复杂性。因此,使用特征选择技术来缓解这些问题,并减少过度拟合,训练时间并提高准确性。使用了一种利用随机决策树的集合(即Extra Trees Classifier)的技术来确定各个特征的重要性。利用Extra-Trees分类器来计算每个属性的相对重要性,以告知特征选择。认为不重要的特征将被丢弃。特征选择阶段有效地将特征向量的大小从795个二元特征减少到197个二元特征。
c)结果
目标是建立一个性能模型,以对IoT设备的状态进行正确分类,即使它们的流量已加密。为此采用了几种机器学习算法进行分类,例如XGBoost,Adaboost,Random Forest,带有RBF内核的SVM,kNN,Logistic回归,朴素贝叶斯和决策树。为了确保机器学习模型正确地从训练数据中获取最多的模式,并且不会收到太多的噪声,对数据点进行了混洗和拆分,以进行以下实验:(i)执行了在377个样本(数据的75%)的训练集上进行5倍交叉验证(CV),以评估机器学习模型的有效性,并且(ii)对126个样本(数据的25%)进行了保留验证以针对看不见的数据测试机器学习模型的性能。
5倍交叉验证:为了避免丢失数据集中的重要模式或趋势的风险,应用了交叉验证,因为它为训练模型提供了足够的数据,同时也为验证提供了足够的数据。因此进行了5倍交叉验证实验。在5倍CV中,数据被随机分为5个大小相等的子样本。在5个子样本中,保留了一个子样本作为用于测试模型的验证数据,其余4个子样本用作训练数据。然后重复此过程5次,将5个子样本中的每一个完全用作一次验证数据。然后可以将得到的5个结果取平均值,以得出一个估计值。如下表所示,在使用RandomForest分类器检测设备状态时获得了F1分数的92%的准确性。
保持验证:为了确保分类器能够很好地泛化并且不会过度拟合,针对看不见的数据(从数据中删除了该数据,从精度,召回率和F1得分方面)测试了分类器的性能。训练集,并且仅用于此目的)。上表显示了当对126个未见样本进行设备状态分类时,通过随机森林分类算法获得的详细结果。可以看出,实验中使用的每个设备的F1得分略有不同。对于正确的分类活动,获得了0.94(94%)的平均绩效评估。这表明攻击者可以轻松地区分设备的状态。
(6)阶段4:用户活动推断
现代的智能家居环境包括多个相互连接并共享信息的传感器和设备。这些设备和传感器被配置为独立的实体,但相互依存地工作以提供一个自治系统。可以通过观察设备和传感器的状态来推断智能家居中的任何用户活动。
a)建模用户活动
在上图中,演示了用户的简单步行场景。在这里,用户正从外部通过走廊进入卧室。场景由五个不同的设备组成,这些设备的灯光在室内和室外都由运动传感器(M)和光传感器(L)控制。这个简单的活动可以用顺序模式来说明:子活动1-从外面向门移动(L1是活动的),子活动2-用户打开前门(L1,D1,Lo1是活动的),子活动3 -用户进入走廊(L2,M1,Li1处于活动状态),子活动4-用户进入房间(Li2,L2,M2,D1,Lo1处于活动状态),子活动5-在家中的用户(L2,M2, Li2是活性的)。要完成活动,用户必须遵循相同的子活动顺序并完成每个步骤。在此,可以根据从设备捕获的网络流量来确定特定时间段内设备的状态(有效/无效)。这些设备状态可用于推断智能家居设置中正在进行的活动。
b)特征提取
为了推断用户活动,必须从网络流量数据中提取不同的设备特征。网络流量数据包含一些特征,包括定时信息,传感器信息,设备状态,位置等。基于数据类型,从网络流量中提取的用于用户活动推断的特征可以表示为:
其中T是从网络流量中提取的计时特征,Si是传感器的特征集合,D是设备的特征集合,M是从控制设备(智能手机/平板电脑)提取的特征,L是位置特征的集合从网络流量中提取。在下面描述这些功能的特征。
•计时特征(T):智能家居设备根据用户活动和命令更改其状态。一些设备执行与时间无关的任务(例如,通过运动来切换灯光),而一些设备基于智能家居设置以具有不同用户活动(例如,从一个点到另一点)的特定模式执行任务。从从不同设备捕获的网络流量中提取事件的时间,以在用户活动时构建智能家居的整体状态。
•传感器状态特征(S):智能家居环境由不同的传感器(例如,运动传感器,光传感器,门传感器等)组成,它们充当设备与外围设备之间的桥梁。智能家居中的传感器可以感应不同的环境参数,这些参数可以触发多个设备中的不同预定义任务。此外,传感器可以感测由于用户交互而发生的任何变化,并将此信息作为输入转发到关联的设备。这些传感器数据可以是逻辑传感器(运动传感器),也可以是数值传感器(温度传感器),具体取决于传感器的性质。从捕获的网络流量中观察到传感器的逻辑和数值变化,并将其用作推断用户活动的特征。将传感器数据的变化表示为二进制输出:1表示有效状态,0表示无效状态。
•设备状态特征(D):在智能家居环境中,可以将多个设备(例如智能灯,智能恒温器等)相互连接,并与中央集线器连接以执行不同的任务。这些设备可以配置为更改其状态(活动/不活动)以执行预定义的任务或基于用户活动执行任务。将所有连接设备的状态信息视为特征,并从捕获的网络流量中提取此信息以推断正在进行的用户活动。在数据阵列中,设备的活动状态和非活动状态分别显示为1和0。
•控制器状态特征(M):可以通过自主方式控制智能家居设备,也可以使用控制器设备(智能手机/平板电脑)进行控制。为了了解传感器和设备状态的变化,应该考虑由控制器设备生成的控制命令。当用户通过控制器设备与智能家居设备进行交互时,认为控制器设备的状态为活动(在数据阵列中表示为1),否则为非活动状态(在数据阵列中表示为0)。可以从捕获的网络流量中提取控制器设备的状态信息以构建数据阵列。
•控制器位置特征(L):可以从其他位置控制在智能环境中连接的设备,并且可以从捕获的网络流量中收集此位置信息。将控制器设备的位置视为了解智能家居上任何活动的特征。将控制器设备的宿主位置视为1,将控制器的离开位置视为0,以将位置特征表示为数据数组中的二进制数。
对于第4阶段,从智能家居环境中捕获了网络流量,并创建了等式2中解释的特征数组。捕获了特定时间的网络流量,以从网络数据中正确描绘用户的活动。数据阵列的每个元素代表不同智能设备,传感器和控制器设备的操作条件。这些数据然后用于训练隐马尔可夫模型(HMM),以检测智能家居环境中的用户活动。
为了训练此HMM,从带有真正智能设备的智能家居环境中收集了数据。考虑使用通用的智能家居设备来构建训练环境。测试的智能家居环境包括Samsung SmartThings集线器,Samsung多用途传感器,Samsung运动传感器,Netgear Arlo安全摄像机,Philips Hue智能灯,Ecobee Smart Thermostat和August Smart Lock。从10个不同的用户那里收集了不同用户活动的网络流量数据。
c)活动类型
智能家居环境中的用户活动可以是瞬时的(例如,打开设备)或连续的时间(例如,从一个地方步行到另一个地方)。将智能家居环境中的用户活动分为两类-与时间无关和与时间有关的用户活动。
•与时间无关的活动:这些用户活动是不依赖于时间的瞬时,无顺序的活动。例如,用户可以在特定时间点打开/关闭智能家居环境中的设备。此活动将仅显示一次不同特征的更改。
•时间相关的活动:这些用户活动是时间相关的顺序活动。例如,用户可以从一个点移动到另一点。此活动将按特定顺序显示不同特征随时间的变化。
使用从六个不同用户活动收集的数据测试了HMM模型。选择这些活动是因为这些是先前工作中列出的常见用户活动。由于打算使活动检测更加通用,因此不会考虑在现实环境中发生的可能性较小的任何罕见事件。用户活动模型如下所述。
•用户活动-1.用户正在智能家居环境内部控制设备。
•用户活动-2.用户正在从智能家居环境外部控制设备。
•用户活动-3.用户正在从智能家居环境的特定位置执行任务。
•用户活动-4.用户正在智能家居环境中从一个点走到另一点。
•用户活动-5.用户正在进入/退出智能家居环境。
•用户活动-6.用户正在智能家居环境中打开/关闭窗户/门。
d)结果
为了训练针对用户活动推断的建议HMM,在模拟的智能家居环境中从15个不同的人(总共30个数据集)收集了一周的用户活动数据。要求用户及时进行日常活动(从早到晚),并在现实的智能家居环境中按定义的顺序执行相同的活动。考虑了一次授权的智能家居用户一次与智能设备进行交互以进行数据收集。使用这些数据训练了HMM模型。还为此活动模型收集了数据,以测试提出的方法。为每个活动收集了两个数据集(总共12个)以测试活动推断模型的功效。
在上表中,显示了活动推断模型的评估结果。对于与时间无关的活动(活动1,活动2和活动3),可以从智能家居环境中捕获的网络流量数据中以100%的准确性和F分数进行推断。相反,时间相关活动的准确性和F得分略有下降,因为这些活动在活动推理模型中引入了FP和FN实例。对于Activity-4,建议的第4阶段活动推理HMM可以达到95%的准确性和F得分。活动4的误报率(FPR)和误报率(FNR)分别超过5%和3%。对于Activity-4和Activity-5,用户活动推理的准确性下降(分别为93%和94%),而FPR和FNR增加。 FPR和FNR增加的原因是,不同的时间相关用户活动随时间变化可能具有相似的模式,而特定时间实例的变化很小。这会影响根据HMM计算得出的活动发生的可能性。总而言之,与时间相关的活动(准确度和F分数超过95%)相比,攻击者可以更准确地推断出时间无关的活动(准确度为100%和F分数)。
最后,请注意,准确的用户活动推断意味着必须正确猜测多阶段攻击中的所有阶段,这可能会降低攻击者的端到端成功推断率。例如,对于攻击者,如果阶段1、2、3和4分别为X,Y,Z和T,则正确猜测用户的Activity-4的概率为X×Y×Z×T 。但是还注意到,在每个阶段独立推断的信息也很有价值,因为它也可能包含敏感信息(例如,推断所连接医疗设备的设备类型可能会揭示受试者的健康状况)。
0x05 Mitigating the Privacy Leaks
尽管以前曾利用过安全漏洞,但由于这些隐私问题是固有和隐蔽的,因此很难检测和避免与智能家居设备相关的此类威胁。攻击者可以被动地收听无线媒体,并记录来自智能家居环境的所有网络流量,而不会中断设备及其用户的正常活动。
(1)建议方法
在本小节中提出一种基于生成欺骗流量的解决方案。这样,即使用户不在家里,为用户的在线状态流量生成错误的活动也会掩盖用户的在线状态。
为了衡量建议的欺骗流量的有效性,通过修改特征向量来研究虚假数据包的注入,并评估了性能度量将如何变化。然后将其应用于设备状态检测和设备活动分类攻击。由于用户活动推断是基于设备状态检测和设备活动分类攻击的结果,因此,如果能够伪造其结果,则攻击者将无法正确推断活动。特别是进行了一组实验,其中将伪造的数据注入训练集中,以观察先前显示的检测和分类算法在这种情况下的行为。结果如下图所示。
错误数据注入对设备状态检测的影响:上图a显示了越来越多地注入虚假数据包后,kNN算法的精度测量结果的平均值。当没有注入的虚假数据包时,所有设备的F1分数均为91%,然后随着虚假数据包的增加而线性降低。例如,注入相当于在观察时间内交换的数据包的10%的错误数据导致减少了13%。对于90%的错误流量增加,设备状态检测的准确性下降了约57%。这表明流量注入可以有效地用于向攻击者隐藏设备状态。
虚假数据注入对设备状态分类的影响:将伪造的数据注入训练数据中,并根据F1分数,精度和召回率计算准确性指标。注入了10%的伪造数据并继续注入,直到包含数据集的90%错误数据。如上图b所示,当注入90%的错误数据时,F1得分急剧下降,达到15%。这是由于以下事实:随机伪造的特征会破坏用于对设备状态进行分类的流量模式。同样在这里可以看到,通过注入越来越多的虚假流量,可以有效地防止攻击者推断发生的设备事件的类型。
在现实生活中的智能家居环境中,可以使用开源环境(例如Samsung SmartThings)来自定义已安装的应用,从而引入虚假/欺骗的数据包(例如,广告,状态/动作请求)。已安装的应用程序可以在指定的时间间隔内生成特定的数据包,而无需更改实际设备状态以诱骗攻击者检测设备状态。在实现中仅分析了将欺骗的网络流量注入实际流量以隐藏设备状态的有效性,改进的防御机制可以使用更复杂的策略来隐藏家庭中的位置以及数据包的源和目的地,从而避免设备状态检测和分类攻击,将其作为一个未解决的问题,将在未来的工作中加以探讨。
0x06 Discussion
ISP作为攻击者:请注意,到目前为止,攻击者模型仅包括本地攻击者,其中攻击者在射频范围内。此攻击者模型的扩展可以是可以监视智能家居的传出网络流量的远程攻击者。此类ISP的一个具体示例是ISP。与本文所考虑的本地攻击者模型相比,类似ISP的攻击者既有优势也有劣势。它不必在一定范围内,并且可以查看数据包的源IP和目标IP,如果启用了WPA加密,本地攻击者就无法查看。但是,它只能收集传出的网络流量,而不能收集内部双向(上游和下游)网络流量,因为所有流量都是通过网关方式(即接入点)合并的。下图显示了从设备到云的完整网络拓扑。
如上图所示,ISP将仅看到路由器(即网关/接入点)的MAC地址。因此,它不能使用智能家居设备的MAC地址进行设备识别。但是,它仍然可以尝试使用IP来识别设备并推断活动。为了将IP用作设备标识符,攻击者需要解决许多挑战。首先,如果AP1部署了网络地址转换(NAT),则ISP将无法找到智能家居的拓扑和设备数量。即使未启用NAT,ZigBee和BLE设备在通过集线器与AP通信时也从未分配IP,在集线器中只有它们连接的集线器才获得IP。此外,设备不只与一台服务器通信。相反,有时如Samsung ST集线器中的那样,多个设备使用一台服务器(即目标IP),或者有时一台设备可以使用多个服务器。因此,即使类似ISP的攻击者比本地攻击者具有某些优势(即,看到IP),也需要解决其他挑战才能使相同的攻击起作用。暂时将这类攻击者排除在外,并将在以后的工作中进行研究。
多用户与单用户:智能家居设备支持多个授权用户,其中多个用户可以控制和更改智能设备的设置。此外,多个用户可以一次在智能环境中执行不同的活动。使用提出的方法,这可能在用户活动推断中创建一些假阳性和假阴性案例。尽管如此,攻击者仍可以从网络流量中推断出设备类型和设备状态。此外,攻击者还可以使用网络流量来推断多用户的存在以及多用户智能家居环境中正在进行的活动的特定点。与多用户方案相比,单用户智能家居环境更容易受到提出的威胁的影响,因为更容易推断出智能家居中的单个正在进行的用户活动。
本地与远程控制:为了改善用户对智能设备的控制和便利性,智能家居除了提供传统的本地访问外,还提供远程访问控制。提出的威胁模型可以从捕获的网络流量的位置特征中猜测本地和远程访问。这是对用户隐私的严重威胁,因为攻击者可以检测到用户何时远程更改特定设备的状态并执行恶意活动。例如,攻击者可以推断用户何时远程访问智能锁,这可能导致对家庭环境的物理访问。
智能设备多样性:智能设备没有通用的网络协议。确实,其中一些诸如WiFi,ZigBee和BLE比其他的更为流行。这使得嗅探智能家居用户正在使用的所有设备变得更加困难。除了网络协议的多样性以外,智能家居设备还具有不同的计算资源,硬件类型,功能,交换的数据格式等。智能设备中的所有这些差异使得构建通用解决方案和攻击都非常具有挑战性。但是,通过自动多阶段隐私攻击,展示了使用最流行的网络协议进行攻击的可行性,该协议涵盖了大多数商用设备。
攻击的通用性:正如在假设中指出的那样,在本文中考虑的攻击者不需要完全相同的设备来训练其攻击模型,但是需要确切的品牌和设备类型来获得本文介绍的结果。使用<品牌,设备⌉类型>对来唯一标识设备。换句话说,假设在攻击的设备识别阶段结束时,攻击者知道<brand,device⌉type>对。但是,此假设削弱了攻击模型。可以推断设备类型并且不需要具有相同品牌的相同设备的攻击者将更为现实。为了消除此假设,应使用具有不同品牌的相同设备类型来训练模型并进行攻击(即测试)。在具有不同品牌的相同设备类型或具有不同设备类型的同一品牌上训练和测试攻击模型将很有趣。此外,测试型号,设备配置或固件更新等的影响也将很有趣。
0x07 Conclusion
在本文中探索了如何将来自智能家居环境的加密流量用于推断有关智能设备和传感器的敏感信息。具体来说,介绍了一种新颖的多阶段隐私攻击,攻击者可以利用该攻击通过被动监视智能家居设备和传感器的流量来自动检测和识别特定类型的设备,它们的动作,状态以及相关的用户活动。
对大量现成的智能家居设备,传感器和真实用户进行的评估显示,攻击者可以在所有攻击类型中达到非常高的准确性(高于90%)。与早期的直接活动识别方法不同,新颖的多阶段隐私攻击可以自动执行检测和识别,并且不受设备类型和协议的约束,并且不需要广泛的背景知识或所分析协议的规范。
最后,提出了一种新的有效的缓解机制来隐藏用户的真实活动。对于配备了智能设备和传感器的任何智能环境,包括个人住宅,住宅,酒店房间,公司或政府机构的办公室,多阶段隐私攻击的有效性都会引起严重的隐私问题。
发表评论
您还未登录,请先登录。
登录