编者按:本文节选自华章网络空间安全技术丛书《物联网渗透测试》一书中的部分章节。
固件威胁建模
在之前介绍的内容中,我们对 DVR 系统进行了威胁建模并对威胁用例进行了评级,这有助于对测试中所要针对的脆弱点进行优先级排序。在本节中,我们将对同一 DVR 系统中的固件进行威胁建模。
准备工作
在针对固件的威胁建模演练中,我们将使用免费在线绘图软件https://draw.io刻画固件中各组件的关系。该软件是一款 Chrome 应用,存储绘制的图表时需要同第三方服务绑定,例如 Google Drive 或 GitHub。借助该软件可以绘制出重叠的关系和过程,而在微软的威胁建模工具 Threat Modeling Tool 则难以做到这一点。其实,任何能够有效刻画出目标设备或软件之间关系架构的工具都可以满足威胁建模的需求。
在开始绘制图表之前,需要完成以下操作:
1)选择“创建新图表”(Create New Diagram)。
2)选择“软件设计”(Software Design)。
3)选择部署图 1 中所示的图表模板。
图 1 选择部署图模板
4)删除模板中所有未用到的图表,仅为固件及其内部组件保留一个方框。
5)将资产拖放到图表中,刻画出资产之间的关系。
测试流程
对于固件而言,我们能够通过设备封装情况、基本的端口探测或者各种在线资源来识别其所运行的操作系统类型。现在,我们应该对固件如何在嵌入式 IoT 设备中运行已经具备了一定的认识,这些内容在第 1 章中已经有所提及。本节不再像前面的章节一样进行细节的深入讨论,但是我们需要依据对固件的了解情况对固件的组件加以刻画,进而识别出潜在威胁并开展渗透测试。简单起见,后面将会对部分威胁建模步骤加以合并。
步骤 1 资产识别
根据对 DVR 固件及其所提供服务的了解,我们对固件资产进行整理,如表 1 所示。
表 1 DVR 固件资产清单
步骤 2 及步骤 3 架构概况构建及分解
现在我们已经对 DVR 系统服务所用到的固件组件以及库文件有了一个大致了解。下面绘制设备、固件内容以及文件系统内容之间的关系,形成概况图,如图 2 所示。
图 2 DVR 设备固件组成概况图
步骤 4 威胁识别
基于概况图和对固件内容的了解我们可以将威胁形成文档。需要记住的是,当前阶段我们还没有对固件镜像进行反汇编,也尚未定位其具体位置。图表中的内容是基于 DVR 系统宣称其所提供的服务和在线文档得到的。下面列出针对固件的潜在威胁,攻击者可以基于所列出的威胁尝试开展漏洞利用:
针对网络服务实施远程代码执行攻击。
获取文件系统的管理员访问权限,并对局域网发起攻击。
拦截网络通信。
通过 SSH 访问文件系统资源。
篡改 DNS 配置信息,将流量重定向到被攻击者的网络/计算机。
访问固件中的 Web 配置信息和敏感信息。
在 DVR 设备中安装恶意固件或应用。
跟踪用户活动。
篡改摄像头视频和内容。
篡改审计日志信息。
毁瘫 DVR 设备。
拦截所有向 DVR 设备发起的网络连接。
步骤 5 威胁建档
接下来,我们将挑选一些威胁用例,并依据威胁描述、威胁目标、攻击技术以及可能采用的对抗措施的形成文档(见表 2~表 4),进而对威胁风险进行评估。
威胁 1
表 2-2 威胁 1
威胁 2
表 2-3 威胁 2
威胁 3
表 2-4 威胁 3
步骤 6 威胁评级
正如我们之前所做的那样,这里我们仍然采用 DREAD 评级系统对每个威胁进行评级。我们将使用表 5 评定威胁的风险等级,评级过程中首先选择某种威胁,然后找出其对应的风险等级即可。
表 5 威胁风险等级评定表
威胁风险等级:攻击者可以获取文件系统的管理员访问权限并对局域网发起攻击
大多数嵌入式设备的操作系统通常以 root 或 admin 权限运行。这意味着任何针对固件的漏洞利用无须提权即可获得最高访问权限。对于很多受监管行业而言可能还需要开展进一步研究,但是如果读者正在对消费级设备进行测试,那么如果固件已经能够以 root 权限运行了,则攻击成功的可能性会显著提高。
图书简介:https://item.jd.com/12623610.html
相关阅读
评论