写点什么

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

  • 2020-05-14
  • 本文字数:6227 字

    阅读完需:约 20 分钟

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

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

IoT 设备威胁建模剖析

2016 年,我们见证了一起针对 IoT 设备的大规模漏洞利用事件,事件中的 IoT 设备主要包括网络摄像头和数字视频录像机(Digital Video Recorder,DVR),攻击者利用这些设备发起了全球有史以来最大规模的分布式拒绝服务攻击(Distributed Denial of Service,DDoS)。这次 DDoS 攻击缘起于厂商对 IoT 设备安全问题的轻视,而这些问题通过基本的威胁建模演练就可以避免。考虑到上述类型的设备在互联网中普遍存在以及它们可能给互联网带来的风险,我们将对联网 DVR 与网络摄像头安防系统开展威胁建模,并详细介绍威胁建模过程。普通个人用户或者中小型企业通过电商平台或者众多电子用品商店以相当低的价格就可以购买到这些联网的安防系统。联网 DVR 系统可以作为 IoT 系统的一个绝佳示例,因为为了能够查看摄像头监控视频,设备中包含了很多入口点,用户还可以在路由器无须开放端口的情况下连接到第三方服务提供商以远程查看监控视频。从黑盒测试的角度来看,搜集 IoT 设备及其应用程序的细节信息可能有点棘手。但是,这些产品一般都有大量在线资源可以利用,从而有助于威胁建模。

测试流程

开展针对联网 DVR 系统的威胁建模时,我们将继续采用之前介绍的微软多步威胁建模方法1


1 参考 http://onlinehelp.microsoft.com/zh-cn/mdop/ff648644.aspx。—译者注


步骤 1 资产识别


首先统计所有 DVR 资产并形成文档,以便了解哪些设备最可能遭受攻击从而予以重点关注。对于攻击者而言,如果能够找到那些存在已知漏洞的资产,那么在针对 DVR 系统开展漏洞利用时将节省大量时间。部署设备时,查看设备背部粘贴的标签以及用户手册就可以了解到有关 DVR 系统资产的信息,具体信息如表 1 所示。


表 1 DVR 系统资产清单


ID资产描述
1DVR设备DVR设备包含多个摄像头通道,可以查看实时监控,回放、录制视频,并且对视频截图。DVR设备可以连接到网络摄像头或采用BNC电缆连接摄像头。DVR设备能够支持当前许多通用网络协议和专有协议,例如TCP/IP、PPPoE、DHCP、Hik-connect Cloud P2P、DNS、DDNS、NTP、SADP、SMTP、NFS、iSCSI、UPnP和HTTPS等。DVR设备能够通过多个应用程序接口查看监控摄像头
2摄像头网络摄像头或采用BNC电缆连接的摄像头启动后就可以捕获到监控视频,如果摄像头分配了IP地址,那么可以将数据直接或者以无线的方式传送给DVR设备
3固件通过固件能够对摄像头的不同特性以及配置选项进行控制
4Web应用DVR设备中运行有本地Web服务器,在Web浏览器中输入相应的IP地址就能够访问该服务器。如果要通过本地Web应用查看视频,则必须下载插件,且浏览器支持该插件。
在设备配置信息中,提供通过厂商SaaS云平台查看视频的选项。使用厂商SaaS云平台需要设置单独的用户名和口令。SaaS云平台可以向第三方添加共享功能,并能够访问同一用户购买的其他DVR系统
5移动应用可以采用Android和iOS应用配置各种选项并远程查看和保存视频。移动应用发送的所有流量通过厂商提供的API接口在移动设备的网络传输。移动应用可以连接到厂商的云环境查看视频回放。用户通过移动应用访问摄像头系统时需要用户名和口令
6主机应用可以在Windows和OS X系统中安装相关程序查看视频并对不同的配置选项进行设置
7设备硬件DVR设备硬件提供VGA和HDMI等多种视频输出接口。设备可以通过网线连接到本地网络。存储方面,设备配备有一个SATA连接器连接硬盘,支持最多6TB的存储容量
8无线电通信DVR设备通过BNC连接器或网络IP连接到摄像头,中间不使用无线通信。然而,所有移动应用的流量均通过无线通信传输


步骤 2 IoT 设备架构概况构建


通过构建架构概况,可以采用可视化的方式形象地展示出攻击者如何攻击 DVR 系统,进而以非预期的手段利用系统。在构建 IoT 设备架构概况时,我们的目标是基于在整套流程中搜集或了解到的数据将 DVR 系统的功能、应用及其物理架构形成文档。我们希望能够发现 DVR 系统设计和实现中的漏洞,其中也包括识别出系统所采用的不同技术。接下来我们将架构概况的构建分为以下 3 项工作:


  • 编制 DVR 系统功能特性文档

  • 构建架构图,详细刻画 DVR 生态系统

  • 识别系统所采用的技术


在编制 DVR 系统功能特性文档之前,我们先准备一组用例。


用例 1:用户在本地网络中通过本地 Web 应用查看视频


1)用户安装 DVR 设备及摄像头。


2)用户创建用户账户。


3)用户对 DVR 设备和摄像头配置进行设置。


4)用户通过以太网连接 DVR 设备并确保网络连通。


5)用户记录下 DVR 设备的 IP 地址。


6)用户安装厂商提供的插件与软件。


7)用户通过 Web 浏览器登录 DVR 设备。


8)用户选择摄像头并查看监控视频。


用例 2:用户通过移动应用远程查看视频


1)用户对平台配置进行设置,确保能够访问厂商的 SaaS 服务。


2)用户下载并安装 Android 或 iOS 应用。


3)在应用安装时,用户为厂商的 SaaS 应用创建独立的用户账户。


4)用户登录移动应用。


5)用户使用移动应用扫描 DVR 设备下方的条形码进行厂商验证。


6)用户选择摄像头并查看监控视频。


图 1 给出了上述用例的架构图,图中包含了 DVR 生态系统各组件的详细信息。



图 1 DVR 生态系统架构图


架构图绘制完成后,就需要识别并分析系统所采用的各种技术了。鉴于某些操作系统、协议和底层函数库可能早已存在已知漏洞。因此,为了便于开展进一步分析,并清晰刻画出潜在的威胁用例,将系统中所采用的技术(见表 2)形成文档非常重要。


表 2 DVR 系统技术应用情况汇总表


技术详细信息
DVR设备嵌入式Linux 3.10.0;
基于HTTP和TCP/IP协议进行通信;
定制的Web服务器(DNVRS-Webs);
提供内部和外部存储选项
无线(Wi-Fi)路由2.4 GHz Wi-Fi;
100米距离
移动应用Android和iOS应用连接至第三方服务来查看视频。
可以通过选项配置将图片和用户认证信息等内容存储在设备本地
通信协议:HTTP查看视频时,默认使用明文协议
通信协议:HTTPS查看视频时可以对通信流量加密,但需要通过Web接口生成SSL证书后进行手工配置
通信协议:802.11 Wi-Fi网络摄像头与DVR设备之间采用RF协议进行通信
通信协议:RTSP用于向应用发送流视频的网络协议


步骤 3 IoT 设备分解


接下来,我们对 DVR 系统环境中的应用与协议数据流进行分析,定位设备或客户端应用中的漏洞。我们所要搜索的位置可能需要更高权限才能访问,在此过程中需要记录下每个可能的入口点。其中,只需要找到一个能够危害到 DVR 系统的机密性和完整性的攻击入口点,就能够帮助攻击者赢得攻防中的主动权。


这些入口点根据所使用的平台、技术和协议的区别可能有所不同,在本节中,我们将从一个更高的层次来看待这个问题。同时,我们还需要检查技术和特性之间的各种信任边界。一旦完成了对 DVR 架构的分解,读者就可以更好地理解攻击面以及针对数据的破坏方式。


图 2 是 DVR 系统环境中对数据流的分解示意图示例:



图 2 物联网 DVR 环境数据流


数据流绘制完成后,表 3 对入口点进行说明。


表 3 DVR 系统入口点汇总表


DVR 系统的入口点


#入口点描述
1嵌入式Web应用嵌入式Web应用提供了接口用于查看视频、更改摄像头配置信息,以及监控SNMP等协议的网络流量。嵌入式Web应用使用基于HTTP协议的SOAP/XML Web服务进行通信,但是也可以在配置菜单中创建自签名证书,采用HTTPS协议进行通信。为了查看视频,需要下载一个可执行程序,该程序会在IE浏览器中安装ActiveX插件,然后即可以通过IE浏览器查看视频。注意:除IE浏览器之外的浏览器不能查看视频
2厂商Web应用为了在无须开放路由器端口的情况下传输视频,DVR设备会建立同厂商STUN/TURN服务器之间的连接。厂商Web应用采用Web sockets基于HTTPS协议进行通信
3DVR设备DVR设备能够连接多个Web应用与移动应用。嵌入式Web应用的服务器就位于DVR设备之中,厂商SaaS应用则会同DVR设备建立连接。与之类似,厂商也开发了移动应用,同时DVR设备的OEM也开发有第三方移动应用(通过流量代理可以发现)。DVR设备还可以接收来自硬件外设与主PCB的输入
4固件DVR设备利用固件控制设备,而固件只能通过厂商提供的技术支持服务获取。嵌入式Web服务器使用固件管理设备操作
5摄像头摄像头以将自身IP地址添加到DVR设备配置页面的方式连接DVR设备,也可以借助BNC连接器手动连接
6移动应用从网络上可以下载多款移动应用。每款应用都可以对DVR设备和摄像头的配置进行更改。使用移动应用时需要认证信息。所有流量都会发送到厂商的基础架构环境中,以便查看摄像头中的信息与视频
7无线通信移动应用的通信流量采用无线技术进行传输,包括802.11协议与蜂窝网络(4G)


步骤 4 威胁识别


到了这个阶段,我们已经绘制完成了 DVR 系统的数据流,并确定了都有哪些入口点。现在我们必须判断每个入口点的风险,这些风险同用户、网络和应用以及应用的开发厂商息息相关。从攻击者的视角来看,我们需要识别出影响网络、应用以及主机的威胁,因为其中存在可以被利用的漏洞,进而可能导致以下后果:


  • 影响大量使用某 DVR 系统的用户。

  • 入侵厂商基础设施并造成大规模漏洞利用。

  • 入侵 DVR 设备,给用户带来隐私泄露的风险。

  • 入侵 DVR 设备,给 DVR 用户带来功能安全方面的风险。


为了帮助定位威胁并对威胁进行分类,我们采用 STRIDE 模型对 DVR IoT 系统进行安全评估。在表 4 中,我们使用一组威胁类型来代替 IoT 中的安全隐患。表中所列内容可能并不完备,但是在考虑可能对整个 DVR 系统环境造成的安全威胁时,能够为读者提供一些思路。


表 4 DVR 系统威胁识别表


威胁类型分析
身份欺骗分析系统中是否存在同DVR身份欺骗有关的威胁,以及攻击者是否具备影响设备间建立自动信任关系的能力。
寻找在DVR系统配置过程中,设备或用户能够对信任关系进行控制的入口点。
分析DVR系统应用接口的认证与授权功能。
审计DVR系统中应用的通信过程,确定是否能够伪造请求报文
数据篡改审计DVR系统中应用与设备之间的消息通信。
挖掘DVR系统中可以在数据的收集、处理、传输和存储过程中篡改数据的漏洞。
尝试篡改固件和移动应用中的配置来执行未授权操作
抵赖挖掘在没有日志审计功能的情况下实现非法操作的漏洞。
禁用Web和移动应用的调试功能
信息泄露针对应用中的参数开展模糊测试,判断对应用报错信息的影响。
识别出所有明文通信。
分析DVR API通信中的HTTP响应报文首部,查找其中是否包含版本信息。
识别所采用的所有API endpoint和应用后端技术。
审计应用数据存储方式,确定明文文件中是否存在意外数据泄露
拒绝服务执行忘记密码等操作,以确定是否存在用户锁定。
对每个DVR应用接口测试账户锁定策略。
检查DVR网络服务的吞吐量,推算能承受多大流量的DoS攻击。
检查消息结构(比如数据总线)、数据结构,以及DVR组件中变量和API是否存在使用不当的问题,进而确定是否存在漏洞允许恶意摄像头的流量淹没正常摄像头或者其他DVR兼容设备的正常数据传输
权限提升检查DVR系统提供的管理功能。创建低权限用户并测试能否获得管理员访问权限。
在DVR应用和操作系统中,分析管理员级操作与用户级操作之间的隔离是否存在漏洞。
挖掘DVR节点所采用认证方式的漏洞,为系统设计合适的认证控制方式
物理安全绕过检查DVR设备及与其连接的摄像头所提供的物理保护机制,分析是否存在允许访问管理Con-sole口的漏洞
供应链问题确定DVR系统的各组成部件,并掌握其来源(例如ODM、硬件制造商、OEM等)。
跟踪与DVR系统中软硬件组件相关的所有技术层面的漏洞


或者,在这里我们也可以从更高的层面上简单列出可能存在的威胁,后面的章节中我们将对每个组件的威胁进行深入探讨。受知识面所限,有些威胁可能是未知的或者还停留在理论层面,但是对围绕这些威胁开展头脑风暴开拓思维也是很重要的。为了识别出尽可能多的威胁,读者可以找个小伙伴一起练习,或者找到正在尝试入侵你所感兴趣的某套 IoT 系统的人组团开黑。下面是我们找出的 DVR 系统高级别威胁示例,攻击者可以执行这些操作:


  • 远程接管 DVR 系统。

  • 在未经认证的情况下,远程查看视频(秘密监视)。

  • 关闭摄像头的回放功能。

  • 跟踪某个个人。

  • 基于所搜集的情报闯入某片区域。

  • 在 DVR 设备中植入木马。

  • 获得物理接触的权限,并破坏视频记录。

  • 通过发送请求过载 DVR 系统,使其不能正常工作。

  • 窃听 DVR 系统通信数据。


步骤 5 威胁建档


接下来,我们将在步骤 4 中识别出的部分威胁用例形成文档(见表 5~表 7),文档中主要包括威胁描述、威胁目标、攻击技术以及可能采用的对抗措施。


威胁 1


表 5 威胁 1


威胁描述攻击者远程接管DVR系统
威胁目标DVR用户、DVR网络通信过程、DVR应用
攻击技术攻击者可以拦截无线通信、API通信和网络协议通信,进而获取其中的认证信息或者会话cookie。攻击者可以针对用户发起社会工程学攻击,进而访问其DVR系统,方法包括欺骗用户界面或者利用CSRF漏洞添加新用户账户等
对抗措施如果登录尝试失败或者短时间内发送了多次请求,DVR系统锁定30分钟


威胁 2


表 6 威胁 2


威胁描述攻击者在未经授权的情况下远程查看视频
威胁目标DVR用户、协议和应用
攻击技术攻击者可以在没有经过身份认证的情况下,获取认证信息或通过API调用查看摄像头监控视频。攻击者可以通过获取会话标识符劫持会话,远程查看摄像头监控视频。攻击者还可以使用社会工程学手段查看用户DVR系统的监控视频。借助Cameradar(https://hub.docker.com/r/ullaakut/cameradar/)等工具,攻击者也可以查看明文方式传输的RTSP视频流
对抗措施强制采用多因子身份认证,采用加密的RTSP或SRTP视频流进行视频传输


威胁 3


表 7 威胁 3


威胁描述攻击者可以关闭摄像头的记录回放功能
威胁目标DVR用户
攻击技术攻击者可以物理访问DVR系统并更改配置。攻击者还可以使用社会工程学手段访问用户DVR系统
对抗措施对敏感配置操作采用强制认证,以及采用多因子认证


步骤 6 威胁评级


现在,我们已经识别出了针对 DVR 系统的威胁并将其形成了文档,下面根据威胁发生的可能性以及可能导致的影响,我们采用 DREAD 评级系统对威胁进行评级。在本章前文我们已经对 DREAD 评级系统进行了介绍,也正如前文所指出的那样,用户也可以根据实际情况采用其他评级系统进行威胁评级。DREAD 评级系统中每个方面的评级都分为 3 个等级:3 表示高风险;2 表示中风险;1 表示低风险。


在 DREAD 模型中,按照表 8 所示的评级标准确定最终的风险等级。


表 8 风险等级判分表


风险等级结果
高风险12~15
中风险8~11
低风险5~7


DVR 系统中某威胁用例的威胁评级示例如表 9 所示。


表 9 威胁风险等级评定表


威胁风险等级:攻击者在未经授权的情况下远程查看视频


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


起初,由于 DVR 系统用到了众多不同的组件,因此在考虑到所有的威胁用例的情况下,对整个 DVR 系统进行威胁建模可能会有点儿困难。尽管存在这样或那样的困难,但是一旦建模完成,读者将会发现许多潜在的高风险脆弱点,在渗透测试过程中就可以对这些高风险脆弱点予以重点关注。同时,这一工作也使得我们在对 IoT 系统开展渗透测试时更容易确定脆弱点的优先级。


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



相关阅读


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


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


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


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


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


2020-05-14 10:001629

评论

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

分布式基础概念-分布式高可用

派大星

分布式 Java 面试题

【写作训练营打卡|03】

软件测试/人工智能|一文告诉你Python字符串的相关操作

霍格沃兹测试开发学社

技术人年度回顾:大模型驱动的变革与影响

熬夜磕代码、

大模型

基于Browscap对浏览器工具类优化

不在线第一只蜗牛

浏览器 软件开发 可视化工具

最全最详细的Java异常处理机制

是月月啊2023

Java 面试题

IT外包对中小企业的独特优势

Ogcloud

外包 IT 外包公司 外包项目 IT 运维

写作训练营打卡2--工作后最有成就感的事

Avril

inBuilder低代码平台新特性推荐-第十五期

inBuilder低代码平台

低代码

Kafka集群调优+能力探底

快乐非自愿限量之名

kafka 架构 集群

Java多线程系列5:sleep()

BigBang!

Java多线程

谷歌史上最强大模型Gemini抢鲜知!!!

江湖修行

AI Google openai #人工智能 #大模型

2024营销日历新鲜出炉!提前规划,赢在起跑线!

彭宏豪95

互联网 营销 在线白板 活动策划 效率软件

用户案例|Milvus 助力 Credal.AI 实现 GenAI 安全与可控

Zilliz

Milvus Zilliz AIGC credal

颠覆你的绘图方式!这8款泳道图工具你用过几款

职场工具箱

泳道图 工具推荐

软件测试/人工智能|HTTPS加密协议,你会多少?

霍格沃兹测试开发学社

英特尔研究院将在NeurIPS大会上展示业界领先的AI研究成果

E科讯

【技术人的 2023】 ——我的AI学习之旅年度总结

YoLo

AI

PostgreSQL 技术内幕(十二)CloudberryDB并行化查询之路

酷克数据HashData

SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤

小万哥

MySQL 数据库 sql 程序员 后端开发

大模型数据集:揭秘AI背后的魔法世界

来自四九城儿

低代码/无代码应用赋能数字化

高端章鱼哥

低代码 数字化 无代码

企业IT外包的四种类型

Ogcloud

外包 IT 外包公司 外包项目 IT 运维

每日一题:LeetCode-105. 从前序与中序遍历序列构造二叉树

Geek_4z9ami

面试 算法 LeetCode 二叉树 Golag

KubeSphere Marketpalce 上新!Databend Playground 助力快速启动数据分析环境

Databend

软件测试/人工智能|一文告诉你Python元组相关操作

霍格沃兹测试开发学社

大模型数据集:力量的源泉,进步的阶梯

来自四九城儿

【智问-Askture】降低企业成本,定制一个专属自己的ChatGPT!

伊克罗德信息科技

AIGC 大语言模型

FFA 2023 明日开幕,Flink 智能诊断、小红书流批一体实践精彩来袭

小红书技术REDtech

大数据 flink 架构 流批一体

系统分析师还是架构师?

escray

技术人写作 21 天技术人写作行动营

代币开发:加密货币开发与IDO预售相关指南

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

物联网渗透测试(六):IoT 设备威胁建模剖析_安全_亚伦·古兹曼,阿迪蒂亚·古普塔_InfoQ精选文章