间歇性(无电池)设备是一种仅使用从其环境中获取的能源来运行的设备。这些设备在有能源时打开,在能源短缺时关闭。间歇性设备在智能建筑、制造工厂和医疗植入行业中越来越受欢迎,因为它们消除了更换电池的需要并实现了绿色计算。本文介绍了一种新的远程侧信道攻击,可以利用间歇性设备的网络数据包频率来了解其开启/关闭模式。从这些模式中可以推断出设备的能源可用性,从而发现有关其操作环境的隐私敏感信息。
为了实现侧信道攻击,本研究开发了一个三阶段分层推理框架,该框架利用了设备的时间戳网络数据包序列。框架会自动从数据包到达时间中提取一组时间特征。然后,它采用一系列模型来分析环境中是否存在目标间歇性设备、能源收集器类型(例如振动或水流)以及能源可用性条件(例如高振动或无振动)。通过分析它们的能源可用性模式,攻击者能够推断出智能家居中的用户活动和存在以及制造工厂中机器人的运动模式,平均准确率为 85%。这些敏感信息使攻击者能够发起特定领域的攻击,例如在用户睡觉时盗窃或篡改工厂传感器以造成损害。
0x01 简介
传统物联网设备可以用于各种应用,例如智能建筑、可穿戴设备、工业控制系统 (ICS) ,但它们依赖于需要定期维护和更换的电池。为了解决这个问题,人们对间歇性设备的兴趣日益浓厚,这些设备可以收集能源(例如太阳能、振动能、热能),从而消除对电池的需求。这些设备具有显著的优势,因为它们:消除了电池更换成本、减少了电池浪费、实现了原本不切实际的应用(例如,更换植入式医疗设备的电池可能需要手术)、以及由于维护成本低,为安全关键型应用提供了容错冗余。
间歇性设备在有足够能源时开启,在能源不足时关闭。在关闭之前,它们会执行定期检查点,将运行时程序状态(如寄存器、堆栈和全局变量)存储在非易失性存储器中。间歇性设备通常具有联网功能。当它们打开时,通过低能耗通信信道(例如 Zigbee、BLE)向集线器报告传感器测量值。例如,间歇性设备从电机(例如 ICS 机器人)收集振动能源,并通过 BLE 将电机的温度和振动报告给集线器。当电机产生振动时,此设备会打开并报告传感器读数。当电机不产生振动时,它会关闭。这种执行模型使这种间歇性设备适合在电机运行期间监测电机的健康状况。
虽然间歇性设备越来越多地用于各种场景,但它们的安全性和隐私性仍未得到探索。在本文中进行了针对间歇性设备能源可用性的远程侧信道攻击,以推断与其运行环境相关的隐私敏感信息。主要结果是,如果攻击者知道了间歇性设备的开启和关闭时间(其活动周期),就可以推断出间歇性设备的可用能源。间歇性设备传输的网络数据包不可避免地会显示设备是否处于开启状态,因为传输的数据包意味着设备当时处于开启状态。因此,远程攻击者可以通过观察设备的数据包到达时间(设备传输的两个连续网络数据包之间的时间差)来了解间歇性设备的能源可用性。
此类信息对隐私敏感,因为设备的能源可用性取决于其运行环境和用户活动。为了说明这一点,上图显示了一个例子,其中太阳能收集间歇性设备部署在智能家居中,用于温度和湿度监测。该设备从室内光中收集能源,并通过 BLE 向 IoT 集线器发送定期传感器测量值(例如每七秒一次)。通过该设备,攻击者可以推断出家中的光线条件,从而判断用户是在家、看电视还是睡觉。这样攻击者就可以进行物理攻击(例如入室盗窃)或利用这些信息进行针对性广告。再举一个例子,考虑水处理厂中的水流收集装置。该装置定期向控制中心报告管道中的温度、压力和流速。通过该设备,攻击者可以推断出水处理厂的水流量。这些知识使攻击者能够了解流量何时较高,并操纵当时工厂的执行器或配置参数。例如,攻击者向水厂的水泵注入了恶意驱动命令,导致污水溢出到水道中。
从间歇性设备的活跃期推断隐私敏感信息有三个主要挑战。首先,攻击者必须区分间歇性设备与传统的带电池设备,因为它们通常在现实环境中共存。其次,攻击者必须识别间歇性设备的能源收集器,因为可以推断的隐私敏感信息与设备的收集器紧密相关。然而,这是一项具有挑战性的任务,因为不同收集器的相似能源条件可能会导致设备具有相似的活跃期。最后,间歇性设备的活跃期受许多间歇性设备独有的用户可配置因素的影响,例如电容器大小和数据包传输间隔。因此,攻击者的能源推断算法必须整合这些因素,才能准确了解设备的活跃期。
通过一种新的侧信道攻击来应对这些挑战,该攻击分为两个阶段:(1) 离线间歇性设备分析和 (2) 在线分层推断。在离线阶段,首先进行受控实验,以揭示间歇性设备的活动周期与其用户可配置属性(例如固件、电容器大小)之间的因果结构。为此研究者使用了动态时间规整(DTW,Dynamic Time Warping)对数据包到达时间进行分析,以识别与设备活动期间因果相关的间歇性设备属性。接下来对间歇性设备进行动态电网测试,以收集包含带时间戳的数据包序列的数据集,同时改变与其活动周期有因果关系的设备属性。这允许使用已识别的设备属性、不同的能源收集器和能源可用性条件来分析设备的活动周期。最后通过数据包到达模式对间歇性设备的活动周期进行建模。研究者引入了一个三阶段分层分类框架来识别环境中是否存在间歇性设备、其能源收集器类型和能源可用性条件。框架实现了一种自动特征选择技术,可以从数据包到达间隔时间中获取时间特征。
在在线阶段,使用网络嗅探器远程收集来自设备的带时间戳的数据包序列。根据每个设备的唯一标识符(例如 MAC 地址)分离每个设备的数据包。最后,利用分类框架不断推断间歇性设备的能源可用性。在真实的智能家居和制造工厂测试台上评估了此攻击。智能家居部署了两个真实的间歇性设备,一个太阳能收集设备和一个温度收集设备,以监测温度和湿度。制造厂部署了一个振动收集设备,以监测工厂的环境条件。结果表明,攻击者可以以 98% 的准确率识别环境中的间歇性设备,并以 92% 的准确率识别其收集器。
然后,攻击者可以 (1) 通过太阳能收集设备推断出智能家居中的光照水平,准确率为 80%,从而了解用户是否在家;(2) 通过温度收集设备推断出烤箱的温度,准确率为 87%,从而分析用户的烹饪活动;以及 (3) 通过振动收集设备推断出机器人的运动模式,准确率为 88%,从而了解机器人的运行时间。本攻击几乎不需要费什么花销,只需 2 分钟的嗅探就足以推断出设备的能源可用性状况。
0x02 背景
能源收集技术的进步使得间歇性(自供电、无电池)设备能够使用从环境中收集的能源运行,从而消除了维护电池所需的成本并实现了绿色计算。
硬件和执行模型:间歇性设备包括低功耗处理单元(微控制器)、传感器、能源收集器、电源管理集成电路 (PMIC) 和用于通信的低功耗无线电。上图说明了它们的执行模型,当它们有足够的能源令软件运行时就会打开,然后关闭(或进入深度睡眠模式),直到它们有足够的能源。
这种执行模型在保持一致的控制流和内存方面带来了挑战,因为设备的能源可能会在计算过程中耗尽。为了处理这种情况,间歇性设备要么从主函数重新启动执行,要么使用检查点。检查点涉及将程序状态(寄存器、堆栈和全局变量值)保存在非易失性存储器中。因此,设备经常将程序状态保存在检查点中,并且在电源故障时,它们从最后一个检查点继续执行。具有较大计算任务的设备使用检查点来确保程序进度,而感知和发送应用程序通常从主函数重新启动执行。
电源管理:间歇性设备管理其能源使用情况,以确保它们在开启前有足够的能源运行。为此,它们使用开启阈值来积累能源而不消耗任何能源。如果没有这个阈值,设备会在能源达到其最低工作电压时开启并快速放电而没有有意义的执行。
能源:间歇性设备收集三种类型的能源:(1)辐射(例如太阳能),(2)机械(例如风和振动)和(3)热(例如摩擦和温度)。首先,间歇性设备从光源和射频 (RF) 波中收集辐射能,用于室内和室外应用。辐射能源收集设备因其高能源可用性而用于环境监测和智能家居或建筑。其次,它们使用压电设备从振动中收集机械能。压电收集器常用于可穿戴设备和信息物理系统(例如工业控制系统和车辆)。最后,热能收集利用两种导电材料之间的温差。热能收集设备在工业控制系统和具有高温设备(例如烤箱)的物联网环境中很常见。
能源存储:间歇性设备中的能源收集器不直接连接到处理单元,因为其功率输出低于设备的工作电压和电流 。因此,间歇性设备使用收集器和微控制器之间的能源存储(例如电容器)来缓冲随时间变化的能源。这些能源存储单元在成本、寿命和容量方面有所取舍。在这里,能源容量对于设备至关重要,因为它决定了设备在开启之前需要收集能源的时间以及设备的运行时间。
定义:将间歇性设备称为仅依靠收集的能源而不是电池来运行的设备。相反,非间歇性设备是传统的带电池但不收集能源的设备,例如笔记本电脑、智能电视、IoT/ICS 设备和带电池的可穿戴设备。使用活动期来指间歇性设备开启的两个连续时间戳之间的差异。活动期模式是随时间变化的活动期序列,由于设备积累足够的能源以开启所需的时间,它们会根据设备的能源可用性显示差异。
0x03 研究设计
间歇性设备以突发方式运行;它们在有电时开启,在电能匮乏时关闭。如果攻击者可以远程了解间歇性设备何时开启和关闭,他们可以利用设备的活跃期作为侧信道来推断其能源可用性。将这些攻击称为物理侧信道攻击,因为它们利用了环境中间歇性设备的物理操作。
设备的能源可用性携带着有关其运行环境的隐私敏感信息。这些设备都会获取传感器读数并定期将其发送到集线器。例如,太阳能收集设备会测量智能家居的温度和湿度,并通过 BLE 将其报告给物联网集线器。根据该设备的能源可用性,攻击者可以推断出环境的光照条件,并判断用户是否不在家或睡觉。再比如,心跳收集设备会进行生命体征感应,并通过 2.4 GHz 无线电将读数发送到手机。通过该设备,攻击者可以推断出用户活动(例如睡觉、锻炼)。此类信息可让攻击者了解用户的日常活动并进行物理攻击(例如入室盗窃或绑架)或创建用户资料以发送针对性广告。
在某些情况下,被攻击目标视觉范围内的攻击者可以观察到通过间歇性设备泄露的信息。例如,攻击者可以透过窗户偷看灯是否亮着,或使用热像仪观察用户活动(例如睡觉、锻炼)。但是,本文的攻击消除了攻击者靠近的需要,允许攻击者在不直接观察被攻击目标的情况下对物理封闭和受保护的环境(例如控制室或办公室)进行更隐蔽的攻击。
确定侧信道泄漏源:在最初的攻击原型中,考虑了一个利用间歇性设备的电磁 (EM) 辐射来了解其活动周期的攻击者。这是因为设备在开启时会产生更高的 EM 辐射。因此,攻击者可以通过间歇性设备的电磁辐射来分析其活动周期。然而,捕获电磁波需要攻击者在间歇性设备附近(例如,在几毫米内)部署天线,这可能是不可行的。因此,为了让攻击者远程了解设备的活动周期,利用了从间歇性设备传输的带时间戳的网络数据包序列。每个传输的数据包都表示设备当时处于开启状态。因此,嗅探设备网络数据包的攻击者可以通过数据包到达间隔时间(攻击者观察到的两个连续网络数据包的时间戳之间的差异)了解其活动周期。间歇性设备可能不会在每个活动周期发送网络数据包。然而,当它确实发送数据包时,这意味着设备当时处于开启状态。
A. 可行性分析
实验设置:为了了解间歇性设备发送的网络数据包是否表明其能源可用性,研究者在实验室中的真实微型制造工厂试验台上进行实验,如下图所示。该试验台是一个完全自动化的生产工厂,有四个组件。(1)真空夹持机器人 (VGR) 移动工件。(2)高架仓库 (HBW) 存储工件。(3)多处理站处理工件。(4)分拣线根据工件颜色对其进行分拣。工厂包含订购和交货阶段。在订购阶段,工件经过加工并放置在仓库中。在交货期间,VGR 在多处理站和分拣线加工工件后将其放置在交货位置。
间歇性设备已开始越来越多地用于 ICS,因为它们能够在偏远或难以接近的区域运行,并且无需频繁更换电池。接下来,将一个真正的振动收集间歇装置连接到 VGR 的齿轮上。使用带有 MIDE S129 振动收集器的 Cypress 间歇装置。此设备每七秒(当它有足够的能源时)通过 BLE 将温度和湿度读数传输到集线器。
结果:运行制造工厂并在三种不同条件下从间歇设备收集网络数据包序列,(1)高 VGR 速度,(2)低 VGR 速度,和(3)VGR 静止。前图显示了在这些条件下从间歇设备接收到的网络数据包。数据包序列在不同的 VGR 条件下显示出明显的差异,其中当间歇设备由于 VGR 高速振动而具有更多可用能源时,它会以更高的频率发送数据包。
通过推断 VGR 的速度,攻击者可以及时对制造厂发起攻击,从而造成最大损害。例如攻击目的是进行恶意命令注入攻击,导致 VGR 掉落其工件。攻击者可以利用物理侧信道攻击来推断制造厂何时高速运转,并在那时发起攻击,对物理机械、环境和工人造成更严重的损害。基于这些结果,本研究设计了一种系统的侧信道攻击,可以通过从间歇性设备的网络数据包序列中提取的时间特征自动推断间歇性设备的能源可用性,同时考虑到设备的独特属性。
B. 威胁模型
假设一个攻击者的目的是从间歇性设备的能源可用性中推断隐私敏感信息(例如,用户活动、机器人状态)。为此,攻击者通过设备传输的网络数据包监视设备的活动周期。同时,假设攻击者位于间歇性设备的无线通信范围内。攻击者可以安装一次嗅探器并远程管理它以获取网络流量。攻击者不会拦截或注入消息,而只会记录流量。这使得攻击者可以在较长时间内不被发现。攻击者不依赖数据包的内容,而只依赖其元数据(即 MAC 地址和时间戳)。因此,如果设备加密其数据包内容,攻击仍然适用。
假设间歇性设备安装在室内封闭空间内(例如制造工厂、智能家居、智能办公室)。因此,攻击者无法通过其他方式(例如摄像头)物理访问或监控设备。最后,与之前针对传统物联网设备进行网络分析攻击以获取其指纹类似,假设攻击者可以访问一组间歇性设备来收集数据并训练其能源推理算法。
C. 挑战
挑战1 - 间歇性设备识别:在实际使用案例中,间歇性设备通常与带电池的非间歇性设备共存。因此,攻击者必须首先识别受害间歇性设备才能进行物理旁道攻击。