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

阅读数:1 2020 年 5 月 16 日 10:00

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

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

IoT Web 应用威胁建模

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

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

测试流程

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

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

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

物联网渗透测试(八):IoT 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 中的 Web 应用

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

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

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

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

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

评论

发布
暂无评论