编者按:本文节选自华章网络空间安全技术丛书《物联网渗透测试》一书中的部分章节。
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 系统资产清单
步骤 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 系统技术应用情况汇总表
步骤 3 IoT 设备分解
接下来,我们对 DVR 系统环境中的应用与协议数据流进行分析,定位设备或客户端应用中的漏洞。我们所要搜索的位置可能需要更高权限才能访问,在此过程中需要记录下每个可能的入口点。其中,只需要找到一个能够危害到 DVR 系统的机密性和完整性的攻击入口点,就能够帮助攻击者赢得攻防中的主动权。
这些入口点根据所使用的平台、技术和协议的区别可能有所不同,在本节中,我们将从一个更高的层次来看待这个问题。同时,我们还需要检查技术和特性之间的各种信任边界。一旦完成了对 DVR 架构的分解,读者就可以更好地理解攻击面以及针对数据的破坏方式。
图 2 是 DVR 系统环境中对数据流的分解示意图示例:
图 2 物联网 DVR 环境数据流
数据流绘制完成后,表 3 对入口点进行说明。
表 3 DVR 系统入口点汇总表
DVR 系统的入口点
步骤 4 威胁识别
到了这个阶段,我们已经绘制完成了 DVR 系统的数据流,并确定了都有哪些入口点。现在我们必须判断每个入口点的风险,这些风险同用户、网络和应用以及应用的开发厂商息息相关。从攻击者的视角来看,我们需要识别出影响网络、应用以及主机的威胁,因为其中存在可以被利用的漏洞,进而可能导致以下后果:
影响大量使用某 DVR 系统的用户。
入侵厂商基础设施并造成大规模漏洞利用。
入侵 DVR 设备,给用户带来隐私泄露的风险。
入侵 DVR 设备,给 DVR 用户带来功能安全方面的风险。
为了帮助定位威胁并对威胁进行分类,我们采用 STRIDE 模型对 DVR IoT 系统进行安全评估。在表 4 中,我们使用一组威胁类型来代替 IoT 中的安全隐患。表中所列内容可能并不完备,但是在考虑可能对整个 DVR 系统环境造成的安全威胁时,能够为读者提供一些思路。
表 4 DVR 系统威胁识别表
或者,在这里我们也可以从更高的层面上简单列出可能存在的威胁,后面的章节中我们将对每个组件的威胁进行深入探讨。受知识面所限,有些威胁可能是未知的或者还停留在理论层面,但是对围绕这些威胁开展头脑风暴开拓思维也是很重要的。为了识别出尽可能多的威胁,读者可以找个小伙伴一起练习,或者找到正在尝试入侵你所感兴趣的某套 IoT 系统的人组团开黑。下面是我们找出的 DVR 系统高级别威胁示例,攻击者可以执行这些操作:
远程接管 DVR 系统。
在未经认证的情况下,远程查看视频(秘密监视)。
关闭摄像头的回放功能。
跟踪某个个人。
基于所搜集的情报闯入某片区域。
在 DVR 设备中植入木马。
获得物理接触的权限,并破坏视频记录。
通过发送请求过载 DVR 系统,使其不能正常工作。
窃听 DVR 系统通信数据。
步骤 5 威胁建档
接下来,我们将在步骤 4 中识别出的部分威胁用例形成文档(见表 5~表 7),文档中主要包括威胁描述、威胁目标、攻击技术以及可能采用的对抗措施。
威胁 1
表 5 威胁 1
威胁 2
表 6 威胁 2
威胁 3
表 7 威胁 3
步骤 6 威胁评级
现在,我们已经识别出了针对 DVR 系统的威胁并将其形成了文档,下面根据威胁发生的可能性以及可能导致的影响,我们采用 DREAD 评级系统对威胁进行评级。在本章前文我们已经对 DREAD 评级系统进行了介绍,也正如前文所指出的那样,用户也可以根据实际情况采用其他评级系统进行威胁评级。DREAD 评级系统中每个方面的评级都分为 3 个等级:3 表示高风险;2 表示中风险;1 表示低风险。
在 DREAD 模型中,按照表 8 所示的评级标准确定最终的风险等级。
表 8 风险等级判分表
DVR 系统中某威胁用例的威胁评级示例如表 9 所示。
表 9 威胁风险等级评定表
威胁风险等级:攻击者在未经授权的情况下远程查看视频
起初,由于 DVR 系统用到了众多不同的组件,因此在考虑到所有的威胁用例的情况下,对整个 DVR 系统进行威胁建模可能会有点儿困难。尽管存在这样或那样的困难,但是一旦建模完成,读者将会发现许多潜在的高风险脆弱点,在渗透测试过程中就可以对这些高风险脆弱点予以重点关注。同时,这一工作也使得我们在对 IoT 系统开展渗透测试时更容易确定脆弱点的优先级。
图书简介:https://item.jd.com/12623610.html
相关阅读
评论