写点什么

物联网渗透测试(九):IoT 移动应用威胁建模

  • 2020-05-17
  • 本文字数:1585 字

    阅读完需:约 5 分钟

物联网渗透测试(九):IoT 移动应用威胁建模

编者按:本文节选自华章网络空间安全技术丛书《物联网渗透测试》一书中的部分章节。

IoT 移动应用威胁建模

在下一个威胁建模演练中,我们将对 DVR 系统中的 IoT 移动应用进行分析。代理商和不同的 OEM 为 DVR 系统(和 IoT 中的其他系统一样)开发了多套移动应用。出于演示的目的,我们只分别选择了一款 Android 应用和一款 iOS 应用进行威胁建模。

测试流程

在前面的章节中,我们已经绘制了很多数据流图,本节中我们将继续使用微软威胁建模工具 Threat Modeling Tool 进行图表绘制。


步骤 1 架构概况构建与分解


与之前绘制图表的步骤类似,这里我们直接展示构建完成的数据流图,其中包括了移动应用中的所有已知资产。图 1 是移动应用的数据流图。


可以看到,应用每次查看账户信息和摄像头视频时,都需要与第三方厂商的云平台建立连接,即使用户与 DVR 系统处于同一网络中。而远程访问 DVR 系统所需的用户名和口令就存储在移动设备中。在这里,我们尚不清楚同应用厂商后台系统通信时如何存储或发送这些数据。带着这些疑问,我们开展下一步工作,进行威胁识别。



图 1 DVR 系统移动应用数据流分解示意图


步骤 2 威胁识别


  • 攻击者可以利用移动应用进行以下操作:

  • 监视 API 调用。

  • 访问移动设备中的本地资源。

  • 泄露用户敏感信息。

  • 定位在移动设备中以明文存储的用户敏感信息。

  • 通过 SQL(ite)注入漏洞转储数据库中的数据。

  • 通过 WebView 控件的 JavaScript 接口实现任意脚本执行。

  • 获取其他用户账户的访问权限。

  • 在厂商的云平台环境中追踪用户。

  • 访问存储在设备上的摄像头回放视频。

  • 删除摄像头回放视频。

  • 篡改用户信息。

  • 在未经认证的情况下为摄像头添加共享用户。

  • 建立永久会话,该会话具有持久访问权限不会过期。

  • 截屏并发送给第三方。


步骤 3 威胁建档


接下来,同之前的工作类似,我们将选取部分威胁用例并形成文档,评估其风险等级,见表 1~表 3。


威胁 1


表 1 威胁 1


威胁描述攻击者在移动设备中访问本地资源
威胁目标移动应用
攻击技术攻击者发现API通信中的漏洞,如果漏洞能够将WebView控件暴露给JavaScript bridge,那么攻击者进而就可以实现对本地对象的访问。攻击者还可以利用移动设备中的SQL注入漏洞连接本地SQLite数据库,并创建拥有本地资源访问权限的文件
对抗措施在应用中禁用WebView控件中的JavaScript脚本,或者创建白名单,只接收白名单中的脚本。在应用中对用户输入进行验证,并禁用动态查询


威胁 2


表 2 威胁 2


威胁描述攻击者定位移动设备中用户以明文存储的敏感信息
威胁目标移动应用
攻击技术攻击者在运行时监控文件存储过程,并且截获到从厂商云平台同步到移动设备上的数据,从而导致敏感信息暴露
对抗措施只在设备中存储需要用到的数据


威胁 3


表 3 威胁 3


|威胁描述|攻击者在未经认证的情况下为摄像头添加共享用户|攻击技术|攻击者利用 CSRF 漏洞向被攻击者发送请求,自动添加共享用户|


|-|-|


|威胁目标|移动应用|对抗措施|使用 anti-CSRF token|


步骤 4 威胁评级


从表 4 中选择某种威胁并评估其风险等级。


表 4 威胁风险等级评定表


威胁风险等级:攻击者访问在移动设备中的本地资源


类别分数
潜在危害3
可复现性2
可利用性1
受影响用户1
发现难度2
威胁综合得分:中9


在移动领域中,常见威胁都与数据以及数据的存储和传输方式有关。因此,除非该漏洞能够对大量用户造成影响,或者导致泄露大量用户数据,否则移动应用漏洞风险一般相对较低。在对移动应用的测试过程中,移动应用的漏洞基本不会导致攻击者获取服务器或者移动设备的 shell。


图书简介https://item.jd.com/12623610.html



相关阅读


物联网渗透测试(一):简介


物联网渗透测试(二):IoT 中的 Web 应用


物联网渗透测试(三):IoT 中的 移动应用


物联网渗透测试(四):IoT 渗透测试环境的部署


物联网渗透测试(五):威胁建模概念简介


物联网渗透测试(六):IoT 设备威胁建模剖析


物联网渗透测试(七):固件威胁建模


物联网渗透测试(八):IoT Web 应用威胁建模


2020-05-17 10:001810

评论

发布
暂无评论
发现更多内容

高速路二维码报警定位系统开发,二维码报警定位功能

13530558032

大数据下单集群如何做到2万+规模?

华为云开发者联盟

大数据 集群

实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联

华为云开发者联盟

云服务 IDC

网上赌博输了怎么办?上岸戒赌是唯一的选择

jdxj

网上赌博输了怎么办 网上赌博玩快三输了怎办 网上玩快三输了怎么回血 网赌输了怎么戒赌

python——自定义序列类

菜鸟小sailor 🐕

UML练习1-食堂就餐卡系统设计

博古通今小虾米

UML

如何进步神速

Sean

学习 个人成长

架构师训练营大作业

叮叮董董

一次旅途

GongTeng95

CentOS 7 安装 Python 3.7

wong

Python

不想搞Java了,4年经验去面试10分钟结束,现在Java面试为何这么难

Java架构师迁哥

Spring Cloud 微服务实践(0) - 开篇闲话

xiaoboey

微服务 Spring Cloud Spring Boot Spring Framework

Java 基础语法

InfoQ_34a83d636158

Python基础知识(二)

Python基础

USDT支付系统开发技术方案,数字货币承兑商支付

13530558032

危与机并存 保险业如何走好线上线下业务并举转型之路?

博睿数据

运维 监控 保险 AIOPS 系统

Spring Cloud 微服务实践(2) - Gateway重试机制

xiaoboey

maven Spring Cloud Gateway modules 重试

血的教训!千万别在生产使用这些 redis 指令

redis 学习 编程 程序员

关于手机里的IP地址,你不得不知道的“秘密”

脑极体

2020年7月云主机性能评测报告

博睿数据

云计算 测试 公有云 评测 排行榜

2020年8月北京BGP机房网络质量评测报告

博睿数据

测试 机房 评测 排行榜 IDC

LeetCode题解:622. 设计循环队列,使用数组,JavaScript,详细注释

Lee Chen

大前端 LeetCode

数字货币量化交易,量化对冲搬砖系统开发

13530558032

在线游戏,如何把握住1个亿以上的DAU?

博睿数据

运维 监控 AIOPS 系统 用户体验

活着

GongTeng95

一次压缩引发堆外内存过高的教训

AI乔治

Java kafka JVM

算法大赛评委亲授通关秘籍,报名倒计时!

易观大数据

Spring Cloud 微服务实践(1) - 用Initializr初始化

xiaoboey

Spring Cloud Eureka Gateway Hoxton

架构师训练营结业作业

superman

直播倒计时|30分钟带你解锁“技术写作”新技能

有只小耳朵

技术 写作 直播 技术创作 RTC征文大赛

Electronjs

Neil

Java 大前端 Electron 客户端开发

物联网渗透测试(九):IoT 移动应用威胁建模_安全_亚伦·古兹曼,阿迪蒂亚·古普塔_InfoQ精选文章