[论文解读] Sensitive Information Tracking in Commodity IoT
SainT 是一种静态污点分析工具,通过将平台特定的代码转换为中间表示(IR),识别商品物联网(IoT)应用程序中的敏感数据流。该工具追踪来自敏感源(如设备状态和用户输入)的数据流向外部接收端(如网络连接和消息服务),从而识别隐私风险。在 230 个 SmartThings 应用程序上进行评估,SainT 在其中 60% 的应用中检测到敏感数据流,证明其在真实物联网生态系统中发现隐私风险的有效性。
Broadly defined as the Internet of Things (IoT), the growth of commodity devices that integrate physical processes with digital connectivity has had profound effects on society--smart homes, personal monitoring devices, enhanced manufacturing and other IoT apps have changed the way we live, play, and work. Yet extant IoT platforms provide few means of evaluating the use (and potential avenues for misuse) of sensitive information. Thus, consumers and organizations have little information to assess the security and privacy risks these devices present. In this paper, we present SainT, a static taint analysis tool for IoT applications. SainT operates in three phases; (a) translation of platform-specific IoT source code into an intermediate representation (IR), (b) identifying sensitive sources and sinks, and (c) performing static analysis to identify sensitive data flows. We evaluate SainT on 230 SmartThings market apps and find 138 (60%) include sensitive data flows. In addition, we demonstrate SainT on IoTBench, a novel open-source test suite containing 19 apps with 27 unique data leaks. Through this effort, we introduce a rigorously grounded framework for evaluating the use of sensitive information in IoT apps---and therein provide developers, markets, and consumers a means of identifying potential threats to security and privacy.
研究动机与目标
- 为解决缺乏分析商品物联网应用程序隐私风险的工具,特别是针对敏感数据流的问题。
- 识别并建模物联网特有的污点源和汇点,例如传感器状态和网络连接,这些通常是现有工具忽略的。
- 开发一种精确的静态分析框架,能够处理物联网特有的编程结构,如事件驱动执行、状态变量和反射机制。
- 在真实物联网应用市场和用于隐私泄漏检测的新颖开源测试套件上,评估该工具的有效性。
- 为开发人员、应用市场和用户提供一种实用手段,以评估和缓解物联网应用程序中的安全与隐私威胁。
提出的方法
- 将物联网应用程序源代码转换为与平台无关的中间表示(IR),以建模应用程序生命周期,包括入口点、用户输入、事件和操作。
- 基于对 SmartThings、OpenHAB 和 HomeKit 等物联网平台的全面分析,识别敏感源(如设备状态、用户位置)和汇点(如网络调用、短信)。
- 在 IR 上执行静态污点分析,以追踪敏感源到外部输出的信息流,支持异步事件处理和反射机制。
- 抽象化处理与信息流无关的代码,以提高分析的精度和性能。
- 通过针对 230 个 SmartThings 应用的市场范围研究和一个新颖的开源语料库 IoTBench(包含 19 个应用及 27 个已知数据泄漏)对工具进行验证。
- 扩展分析以支持物联网应用程序中特有的平台惯用模式,如状态变量和事件驱动编程模型。
实验结果
研究问题
- RQ1现有物联网应用市场在多大程度上通过网络或消息通道暴露敏感数据?
- RQ2与现有面向移动应用的工具相比,静态污点分析方法在检测物联网应用程序中敏感数据流方面的有效性如何?
- RQ3一种平台和语言特定的静态分析工具能否准确识别真实物联网应用中已知和新型的数据泄漏模式?
- RQ4物联网应用程序中敏感数据流的常见模式是什么?这些模式在经过审核的应用和第三方应用之间有何不同?
- RQ5像 IoTBench 这样标准化的开源测试套件能否用于验证和基准测试物联网隐私分析工具的精度和召回率?
主要发现
- 在评估的 230 个 SmartThings 应用中,SainT 检测到 138 个(60%)存在敏感数据流,表明私人数据存在广泛暴露。
- 在 168 个官方审核的应用中,有 92 个(55%)通过互联网或消息服务传输了至少一项敏感数据。
- 在 62 个第三方应用中,有 46 个(74%)暴露了敏感数据,表明审核流程可能无法充分检测隐私风险。
- 在市场研究中,一半的分析应用传输了至少三个不同的敏感数据源,三分之二的应用最多使用两个不同的外部接收端。
- 在 IoTBench 语料库上,SainT 正确识别出 27 个唯一数据泄漏中的 25 个(92.6%),表明在受控测试中具有高精度和高召回率。
- 研究发现,许多应用通过远程 URL 和联系人列表等常见渠道泄露敏感信息,且通常未获得用户知情或同意。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。