Smart homes contain diverse sensors and actuators controlled by IoT apps that provide custom automation. Prior works showed that an adversary could exploit physical interaction vulnerabilities among apps and put the users and environment at risk, e.g., to break into a house, an adversary turns on the heater to trigger an app that opens windows when the temperature exceeds a threshold. Currently, the safe behavior of physical interactions relies on either app code analysis or dynamic analysis of device states with manually derived policies by developers. However, existing works fail to achieve sufficient breadth and fidelity to translate the app code into their physical behavior or provide incomplete security policies, causing poor accuracy and false alarms. In this paper, we introduce a new approach, IoTSeer, which efficiently combines app code analysis and dynamic analysis with new security policies to discover physical interaction vulnerabilities. IoTSeer works by first translating sensor events and actuator commands of each app into a physical execution model (PeM) and unifying PeMs to express composite physical execution of apps (CPeM). CPeM allows us to deploy IoTSeer in different smart homes by defining its execution parameters with minimal data collection. IoTSeer supports new security policies with intended/unintended physical channel labels. It then efficiently checks them on the CPeM via falsification, which addresses the undecidability of verification due to the continuous and discrete behavior of IoT devices. We evaluate IoTSeer in an actual house with 14 actuators, six sensors, and 39 apps. IoTSeer discovers 16 unique policy violations, whereas prior works identify only 2 out of 16 with 18 falsely flagged violations. IoTSeer only requires 30 mins of data collection for each actuator to set the CPeM parameters and is adaptive to newly added, removed, and relocated devices.
翻译:智能之家包含由IoT 应用程序控制的多种感应器和导动器,它们提供自定义自动化。先前的工程显示,对手可能会利用应用程序之间的物理互动脆弱性,使用户和环境处于危险之中,例如,破入一个房子,敌人在热器上打开一个应用程序,在温度超过临界值时打开窗口。目前,物理互动的安全行为依赖于对设备状态的应用程序代码分析或动态分析,这些设备由开发者手工衍生的政策。然而,现有的工程未能实现足够的宽度和忠诚,无法将应用程序代码转化为物理行为或提供不完整的安全政策,导致错误的准确性和错误的警报。在本文件中,我们引入了一种新的方法,即IotSeer,该方法有效地将软件代码分析和动态分析与新的安全政策结合起来,以发现物理互动脆弱性。 IotSer将每个应用程序的操作事件和动作指令转换为实际执行模型(PEM),将IM 系统只能表示对应用程序进行复合的物理执行,而IMs仅对16次的操作进行(CPM) 。