ContexIoT: Towards Providing Contextual Integrity to Appified IoT Platforms

摘要

  • 提出一个基于情景(Context)的应用权限系统。ContexIoT 为应用化 IoT 平台的访问控制提供一种叫做 Contextual integrity的特性,意即:当用户允许一种应用的行为时,它实际上允许的是 这个应用在当时的Context下进行这种行为,而不是在任何时候。
  • 构建了一个物联网攻击应用程序数据集(设备、协议、平台)(针对恶意逻辑的攻击,不考虑拒绝服务攻击)。在这个数据集上对ContexIoT进行评估,我们发现25种不同的攻击执行路径都被成功地区分出来,显示了正确的context信息
  • 对contextIOT进行了性能评估,延迟低,权限请求频率远低于用户习惯化或烦扰风险的阈值

问题

  • 允许不被信任的第三方代码来控制用户的设备,例如比如用三星生产的运动传感器数据去控制飞利浦生产的灯泡,都可以在三星 SmartThings 平 台上实现,导致访问控制缺陷
  • 物联网应用的目标是在尽量少的用户交互下实现自动化设备控制。除了发送通知,通常在应用程序安装过后不需要用户交互,这使得在运行时让用户参与context变得更加困难
  • 在智能手机平台上,由于某些权限的请求频率太高,无法在每次请求发生时提示用户,为了不造成用户习惯化或厌烦,因此当前的设计转向只在第一次请求发生时提示用户以提高可用性。但是,这会损害context完整性,因为后续的敏感操作可能在与初始请求完全不同的context中执行

攻击分类

已曝出的物联网攻击

  1. 脆弱认证
  2. 恶意app/固件
  3. 问题使用场景:物联网特定使用场景中的技术滥用

来自平台的漏洞

app漏洞

云平台漏洞

方法

ContexIoT的目标是在运行时触发敏感操作时,可以让用户验证两个重要属性:

  1. when:是否在用户所需的条件下触发敏感操作
  2. what:敏感操作是否与用户预期一致

ContexIoT 会基于对应用程序静态分析(static analysis) 的结果进行安全补丁的方式来为程序加入安全执行的逻辑。敏感action发生时会向负责进行访问 控制的远程服务请求,该服务会根据不同的context 来做出访问控制的决定:当该敏感action发生的 context和用户之前允许过的一种 Context 相符时,该行为被允许; 当某种 Context 第一次 出现时,将它显示给用于,让用户做出决定

  • context信息收集

ContexIoT采用了一种混合的方法,将静态分析和运行时日志记录结合起来,使用静态分析结果来减少运行时日志记录的开销。

context信息:UID/GID、UI Activity、Control flow、Runtime value、Data flow

  • 信息用法

描述敏感action触发动作的Control flow信息,以及运行时的数据应该能够区分攻击执行路径和正常执行路径的context。Data flow信息用于将context信息传递给用户,以便更好地通知用户安全含义。

为每个用户维护一个权限映射

与其他基于context的方法对比

本方法可以检测出以下其他方法可逃避的:

  • Asynchronous leakage:对于远程控制攻击,当恶意负载被执行时,ContexIoT向用户提供敏感操作的数据依赖信息,明确告诉用户即将执行的方法来自于在单独的过程中接收到的响应。
  • Control flow abuse:例如,当一个恶意的锁管理器应用程序检测到房主回来时,它第一次试图打开房门,它就会被这种基于接收器的访问控制系统授予unlock()功能。ContexIoT检测出这两种场景中控制流的不一致性,并分别要求用户的权限。
  • Dynamic code loading:ContexIoT静态地检测动态代码加载的潜在接收器,从而防止恶意逻辑逃避访问控制。
  • Policy abuse:基于MAC和DAC的方法根据用户或系统定义的策略在应用程序级别授予访问权限。它们本质上容易受到恶意应用程序逻辑的攻击,这种逻辑滥用了对应用程序本身的信任,这种信任通常出现在重新打包的应用程序中。本方法执行访问控制在程序路径级且可以细粒度的策略控制和良性访问控制。

实现

静态分析:control flow
运行时日志:Method invocation trace、Dynamic method invocation(device&method name)、Runtime data、Data dependency(动态污点分析)

实验

  • smartthings simulator
  • 使用模糊测试方法以不同的触发顺序随机生成所有类型的外部事件,以确保良好的代码覆盖率。

虚拟设备平均增加26.7%延迟,个别真实设备增加延迟基本不到10%可以忽略。

ContexIoT: Towards Providing Contextual Integrity to Appified IoT Platforms相关推荐

  1. mongoose-iot_如何使用带有ESP32和Mongoose OS的GCP-Cloud IoT核心版查看天气

    mongoose-iot This post on freecodecamp.org is not maintained. The most up to date version is on Medi ...

  2. IoT reigns supreme at upcoming Embedded Linux Conference

    本文转载至:http://linuxgizmos.com/linux-foundation-details-embedded-linux-conference-agenda/ 转载说明:今年的嵌入式 ...

  3. Android平台安全模型(The Android Platform Security Model)

    版权声明:本文为CSDN博主「ashimida@」翻译的文章,转载请附上出处链接和本声明. 本文链接:https://blog.csdn.net/lidan113lidan/article/detai ...

  4. The right to contest automated decisions under the General Data Protection Regulation: Beyond the so

    Regulation & Governa nee Regulation & Governance (2021) doi:10.1111/rego.12391 The right to ...

  5. Paper:人工智能可解释性的背景/方法/伦理/教育/可解释性的基本原理/Interpretability和Explainability区别之《可解释人工智能的教育视角:基于伦理和素养的思考》解读笔记

    Paper:人工智能可解释性的背景/方法/伦理/教育/可解释性的基本原理/Interpretability和Explainability区别之<可解释人工智能的教育视角:基于伦理和素养的思考&g ...

  6. mac安全性与隐私 不允许_隐私不仅仅是安全

    mac安全性与隐私 不允许 Information security began as more of a concern for businesses and governments. These ...

  7. keycloak 认证服务

    文章目录 1. 概述 1.1 架构 1.1.1 认证流程 1.1.2 认证服务 1.2 术语 1.2.1 资源服务器(Resource Server) 1.2.2 资源(Resource) 1.2.3 ...

  8. 原创 | 破解个人数据“不可能三角”初探

    作者:张家林本文约5300字,建议阅读10分钟个人数据开发利用新范式的主要问题是要解决好开放.隐私和安全. 个人数据开发利用的"不可能三角"是指在个人数据开发利用中,不可能同时满足 ...

  9. 论文翻译及笔记 --Visual Place Recognition: A Survey

    论文笔记--"Visual Place Recognition: A Survey" Abstract I. INTRODUCTION II. CONCEPT OF PLACE I ...

最新文章

  1. ComplexHeatmap包绘制热图(二)
  2. 漫画 | 程序员必须要小心的 7 个潜规则
  3. 打造微量元素产业-丰收节交易会·李喜贵:签约南国健康产业
  4. CRM的使用是讲究技巧的
  5. Bugfree实用心得_转
  6. oracle中defined,Oracle:专栏定义(Oracle: column ambigously defined)
  7. lisp 读取dwg 统计信息_预制梁厂 BIM 技术和自动化、信息化应用方案
  8. ionic2 问题整理汇总
  9. 2013年想学的东西。。。
  10. 智能优化算法:果蝇优化算法-附代码
  11. Redis分布式锁之:RedLock
  12. 天津科技大学计算机学院地址,天津科技大学有几个校区及校区地址
  13. Linux Block Driver - 1
  14. Win10 远程桌面登陆闪退问题处理
  15. vue博客模板—Fblog
  16. MYS-6ULX-IOT 开发板测评——Yocto 创建嵌入式 Linux 发行版
  17. 使用hibernate的@SQLDelete和@Where注解实现逻辑删除
  18. WP个人主题源码Cosy3.1.3
  19. Hot Observable 和 Cold Observable的区别
  20. PHP编写投屏功能,win10如何投屏到电视

热门文章

  1. quickq官方版下载_Forex Signal
  2. Java的LockSupport.park()实现分析(转载)
  3. 基于ARM的RealView MDK开发环境
  4. fater-rcnn绘制loss图
  5. 联想微型计算机b320,“蜗居”必备! 联想B320一体电脑评测
  6. 游戏本地化不止是翻译,还有……
  7. 异步电动机转子磁动势——转子堵转时
  8. python中美元人汇率_Python获取美元人民币实时汇率
  9. 因子分析(factor analyis)
  10. iOS 自定义相机,拍照旋转