写点什么

物联网渗透测试(九):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:001759

评论

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

如何通过YashanDB实现数据整合与分析

数据库砖家

如何通过YashanDB实现业务分析转型

数据库砖家

通过 YashanDB 实现高性能的数据管理

数据库砖家

使用 ScottPlot 在 .NET WinForms 中快速实现大型数据集的交互式显示!

追逐时光者

C# .net .net core

如何通过YashanDB实现高并发环境下的稳定运行

数据库砖家

如何通过YashanDB实现数据的实时分析

数据库砖家

如何通过YashanDB实现数据共享与协作

数据库砖家

如何通过YashanDB实现自动化监控与告警

数据库砖家

C# 14 新增功能实操

追逐时光者

C# .net .net core

漏洞赏金计划公开后的三个阶段与应对策略

qife122

漏洞赏金 程序管理

Elastic Stack 9.1.4 发布:重要安全更新与功能优化

qife122

Elastic Stack 技术更新

精选 4 款基于 C# 开源、实用的工具类库,开发效率提升利器!

追逐时光者

C# .net .net core

如何通过YashanDB实现高效的数据管理

数据库砖家

一款基于 .NET + Vue 编写的仿钉钉的开源低代码工作流引擎,支持多种数据库,开箱即用!

追逐时光者

C# .net Vue .net core

如何通过YashanDB数据库搭建高可用性系统

数据库砖家

如何通过YashanDB数据库实现多区域数据同步与灾备

数据库砖家

.NET 使用 MethodTimer 进行运行耗时统计提升代码的整洁性与可维护性!

追逐时光者

C# .net .net core

2025 年程序员必备 TOP 10 高效实用工具

追逐时光者

在AI技术唾手可得的时代,挖掘JavaScript学习资源的新需求成为关键

qife122

JavaScript 学习资源

如何通过YashanDB实现数据的智能分析

数据库砖家

通过YashanDB实现业务智能决策

数据库砖家

Zread:智谱AI推出的 Github 项目阅读神器,一键生成超详细中文文档!

追逐时光者

GitHub AI'

如何通过YashanDB实现数据湖建设

数据库砖家

如何通过YashanDB实现数据一致性

数据库砖家

如何通过YashanDB实现数据一致性与事务管理

数据库砖家

如何通过YashanDB数据库实现高并发访问的负载均衡

数据库砖家

.NET 使用 CsvHelper 快速读取和写入 CSV 文件

追逐时光者

C# .net .net core

一款基于 .NET 开源、功能全面的微信小程序商城系统

追逐时光者

.net

2025 年全面的 C#/.NET/.NET Core 学习路线集合,学习不迷路!

追逐时光者

C# .net .net core

UiPath推出全新AI代理开发功能,简化自动化构建流程

qife122

AI 低代码

一款为程序员和运维人员量身打造的一站式开发运维利器

追逐时光者

Docker SSH

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