NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2020-05-16
  • 本文字数:1881 字

    阅读完需:约 6 分钟

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

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

IoT Web 应用威胁建模

接下来继续介绍针对 DVR 系统的威胁建模演练,下一步我们将分解 Web 应用。DVR 系统包含两种类型的 Web 应用。一种是嵌入式 Web 应用,在 DVR 设备内部运行。另一种是由厂商提供的 SaaS 应用,用于远程访问 DVR 系统和视频。


SaaS 应用能够实现对局域网内嵌入式 DVR 设备的访问。然而,本文我们主要关注 DVR 系统中运行的本地嵌入式 Web 应用,而非厂商的 SaaS 应用。在本章开头,我们曾简单提到了部分厂商 Web 应用所采用的技术,但是目前除此之外难以开展更深入的了解。下面,我们将绘制嵌入式 Web 应用的架构,其中在威胁部分涉及厂商 SaaS 应用,但是由于不知道其采用的架构,所以无法绘制其架构图。

测试流程

现在,我们应该对如何从头开始构建威胁模型已经能够在脑海中形成大体的思路了。了解了这些内容后,我们就可以忽略威胁建模过程中的部分步骤,而将重心放在更加重要的方面。


步骤 1 架构概况创建及分解


下面我们将基于对嵌入式 Web 应用的了解绘制架构概况图,然后在架构的数据流中识别威胁并进行评估。图 1 展示了嵌入式 Web 应用的部分基本功能。



图 1 DVR 系统嵌入式 Web 应用数据流分解示意图


由于只有局域网中的流量,没有公网流量,所以应用的数据流比较简单。因此,识别嵌入式应用中的威胁不算太难。


步骤 2 威胁识别


嵌入式 Web 应用中的数据流比较简单,所以将威胁用例形成文档本应轻而易举,但是考虑到还有厂商基于 SaaS 的 Web 应用,因此我们还需要再添加一些额外的场景。


攻击者针对 DVR 嵌入式 Web 应用和厂商 SaaS 应用开展漏洞利用能够实现以下操作:


  • 劫持用户会话查看摄像头监控视频和配置。

  • 监视 API 调用。

  • 通过命令注入漏洞执行操作系统命令。

  • 泄露敏感用户信息。

  • 采用 SQL 注入漏洞转储数据库中的数据(拖库)。

  • 任意脚本执行。

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

  • 伪造已登录用户的请求(CSRF)。

  • 修改 DVR 配置,将流量重定向到未经授权的用户或网络。

  • 追踪用户。

  • 泄露摄像头回放视频。

  • 删除摄像头回放视频。

  • 对厂商的 Web 服务器或应用服务器开展漏洞利用。

  • 阻止正常用户的访问。


步骤 3 威胁建档


接下来,同之前工作类似,我们选择部分典型威胁用例形成文档(见表 1~表 3),文档中包括威胁描述、威胁目标、攻击技术以及可能采用的对抗措施,并对其风险进行评级。


威胁 1


表 1 威胁 1


威胁描述攻击者通过命令注入漏洞执行操作系统命令
威胁目标嵌入式和厂商Web应用
攻击技术由于对输入的验证不完善,攻击者可以发现DVR设备同厂商API通信过程中的漏洞。攻击者可以开发能够在应用执行环境中运行的代码。攻击者还可以向应用程序注入特定代码以获取后台系统的访问权限
对抗措施在应用中对输入进行验证,并对执行环境中的输出进行编码


威胁 2


表 2 威胁 2


威胁描述攻击者伪造已登录用户的请求(CSRF)
威胁目标嵌入式和厂商Web应用
攻击技术攻击者定位存在漏洞的HTML表单,并编写代码在登录用户的通信流量中伪造请求报文。伪造的请求报文可以包括为第三方创建账户或共享某个账户等操作
对抗措施对可能变更应用状态的敏感HTML表单设置anti-CSRF token


威胁 3


表 3 威胁 3


威胁描述攻击者采用SQL注入漏洞转储数据库中的数据
威胁目标厂商Web应用
攻击技术攻击者在存在漏洞的参数中附加或者拼接SQL命令,进而实现数据库查询
对抗措施对用户输入进行验证,将查询语句中需要用户输入的内容设置为参数,或采用存储过程访问数据库


步骤 4 威胁评级


我们将使用表 4 评定威胁的风险等级,选择某个威胁之后,即可确定其对应的风险评级。


表 4 威胁风险等级评定表


威胁等级:攻击者通过 SQL 注入转储数据库内容


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


显然,对于攻击者而言,针对厂商 SaaS 应用开展漏洞利用能够取得更理想的效果,因为其中保存了大量的用户信息以及其他内容。但是,希望读者一定要在法律许可的范围内开展测试,并提前获得甲方授权。话又说回来,针对嵌入式 Web 应用开展渗透测试,虽然可能不一定会取得同针对厂商 SaaS 应用开展渗透测试一样的评价,但如果充分分析设备的在线资料了解其用法,进而挖掘出一个可以远程利用的漏洞,那么肯定也会大有收获。


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



相关阅读


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


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


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


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


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


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


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


2020-05-16 10:00945

评论

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

LeetCode-112. 路径总和(java)

bug菌

Leet Code 7月月更

电商订单支付时防止重复支付的原理

程序员小毕

Java 程序员 面试 程序人生 后端

从预测到决策,九章云极DataCanvas推出YLearn因果学习开源项目

九章云极DataCanvas

人工智能 YLearn 开源工具包 因果推断

直播带货系统源码(开源系统版)——如何搭建测试呢?

开源直播系统源码

软件开发 直播源码 语音直播源码 连麦直播

mysql进阶(二)你真的了解索引吗?

No Silver Bullet

索引 MySQL 数据库 7月月更

Python爬虫挺刑的,去VX公众某位置,平台登录加密参数扣取

梦想橡皮擦

Python 爬虫 python 爬虫 7月月更

首届京东科技合作伙伴大会召开,博云携手京东科技共创产业数字化新增长

BoCloud博云

容器 云原生 PaaS

助力人工智能迈向新阶段,YLearn因果学习开源项目重磅发布!

九章云极DataCanvas

人工智能 开源项目 因果学习 YLearn

【古月21讲】ROS入门系列(1)——ROS命令工具的使用及创建工作空间和功能包

秃头小苏

ROS 7月月更

面试官:小伙子你来说下缓存穿透、缓存雪崩、缓存击穿

Java永远的神

Java redis 程序员 面试 程序人生

博云入选Gartner中国云管理工具市场指南代表厂商

BoCloud博云

云原生 Gartner 云管理平台 云管理

语音驱动嘴型与面部动画生成的现状和趋势

行者AI

算法 人工智能’

你玩过轻量系统软总线应用吗?

OpenHarmony开发者

OpenHarmony

简述Serverless原理及运用

南城FE

Serverless 前端 7月月更

Android 自动化测试

沃德

android 程序员 7月月更

团队管理之git提交规范:commit记录那点事儿

南极一块修炼千年的大冰块

7月月更

用什么承受全部的数据-RDD、DataFrame还是Dataset

怀瑾握瑜的嘉与嘉

spark 7月月更

2022最新面试八股文,共计12w字,200多页,16个Java技术栈

Java全栈架构师

Java spring 程序员 面试 程序人生

这一次带你透彻解析RocketMQ消息中间件

Java永远的神

Java 程序员 面试 RocketMQ 消息中间件

【愚公系列】2022年7月 Go教学课程 011-字符串类型

愚公搬代码

7月月更

数据治理实战篇!选择什么样的工具让数据治理落地更简单

雨果

数据治理

【C语言】进阶指针seven

謓泽

7月月更

YLearn因果学习开源项目「贡献者计划」精彩来袭!

九章云极DataCanvas

AI 开发者 因果学习 YLearn

好家伙!阿里人用5个案例就彻底讲清了SpringSecurity安全框架

程序员小毕

Java spring 程序员 面试 springsecurity

两数之和 II - 输入有序数组

面试官问

LeetCode 两数之和

uWebSockets.js 遇见 Http3

devpoint

JavaScript websocket HTTP3.0 7月月更

什么是微软 Edge 浏览器 Tracking Prevention 的 Org Relationship Mitigation 策略

Jerry Wang

JavaScript html 前端开发 web开发 7月月更

XGRIDS三维重建服务,构建云上数字孪生世界

阿里云弹性计算

容器 3D渲染 弹性计算 GPU算力

不知道这4种缓存模式,你可能并不是真的懂缓存

Java永远的神

Java 缓存 程序员 面试 后端

java零基础入门-String

喵手

Java 7月月更

Wallys/WiFi6 MiniPCIe Module 2T2R 2×2.4GHz 2x5GHz MT7915 MT7975

wallys-wifi6

IPQ4019 IPQ6010 ipq6018 QCN9074 MT7975

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