[论文解读] Soteria: Automated IoT Safety and Security Analysis
Soteria 是一个静态分析系统,将物联网应用代码翻译为中间表示,推导状态模型,并使用模型检验来验证 IoT 环境的安全性、安保性和功能性属性。
Broadly defined as the Internet of Things (IoT), the growth of commodity devices that integrate physical processes with digital systems have changed the way we live, play and work. Yet existing IoT platforms cannot evaluate whether an IoT app or environment is safe, secure, and operates correctly. In this paper, we present Soteria, a static analysis system for validating whether an IoT app or IoT environment (collection of apps working in concert) adheres to identified safety, security, and functional properties. Soteria operates in three phases; (a) translation of platform-specific IoT source code into an intermediate representation (IR), (b) extracting a state model from the IR, (c) applying model checking to verify desired properties. We evaluate Soteria on 65 SmartThings market apps through 35 properties and find nine (14%) individual apps violate ten (29%) properties. Further, our study of combined app environments uncovered eleven property violations not exhibited in the isolated apps. Lastly, we demonstrate Soteria on MalIoT, a novel open-source test suite containing 17 apps with 20 unique violations.
研究动机与目标
- 在物联网环境和应用中说明对正式的安全性与安保性验证的需求。
- 开发一个自动化管道,将物联网应用和环境对照已识别的安全性、安保性和功能属性进行验证。
- 提供一个与平台无关的基于中间表示(IR)的方法,适用于 IoT 生态系统(在 SmartThings 上进行示例说明)。
- 在现实应用程序和一个新颖的测试语料库上演示系统,以揭示属性违规和相互作用。
- 为 IoT 部署环境中的可扩展、基于属性的验证奠定基础。
提出的方法
- 将特定平台的物联网源代码转换为与平台无关的中间表示(IR),捕捉权限、事件/动作和调用图。
- 从 IR 提取状态模型,将设备属性编码为状态,事件驱动的转换作为状态变迁。
- 使用时序逻辑启发的表述来定义物联网特定的安全性和安保性属性,包括通用属性和应用特定属性。
- 应用模型检验,验证状态模型是否满足所识别的属性,针对单个应用及相互作用的应用环境。
- 用定制的 IR 构建和分析技术处理平台特性(如 SmartThings Groovy、反射、外部存储)等特殊性。
- 结合属性抽象和路径敏感的符号执行,以控制状态爆炸并保持精度。
实验结果
研究问题
- RQ1IoT 应用与环境如何在安全性、安保性和功能属性上进行严格验证?
- RQ2是否可以使用静态、基于 IR 的方法有效地建模 IoT 生命周期和事件驱动行为以进行模型检验?
- RQ3孤立应用与组合应用环境中会出现哪些属性违规?
- RQ4在不丢失验证所需的本质行为的情况下,如何对数值化设备属性和条件转换进行抽象?
- RQ5IoT 专用测试语料库(MalIoT)对于验证自动化分析工具有何用处?
主要发现
- Soteria 分析了 65 个应用(官方 SmartThings 仓库中的 35 个和社区应用的 30 个),覆盖 35 项属性,发现有 9 个应用违反了 10 项属性。
- 环境级分析揭示了在独立应用中不存在的 11 项属性违规。
- Soteria 在 MalIoT 上展示了有效性,MalIoT 是包含 17 个应用和 20 个独特违规的测试套件。
- 通过加入预测转移的谓词以进行转移守卫、以及路径敏感分析以降低误报,使状态建模更精准。
- 针对 SmartThings 的挑战(Groovy、反射、外部存储)在 IR 与状态提取流水线中被解决。
- 评估显示出显著的跨应用交互效应,这是单应用研究可能会错过的。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。