UPnP 暴露情况和风险统计

UPnP 服务的脆弱性

与风险分析
本小结以路由器
为例,分析 UPnP 服务的脆弱性和风险。
4.2.3.1 路由器 UPnP 服务的脆弱性分析

本节所述的路由器,特指连接内部网络和互联网边缘设备。通常,内网的设备经由路由器动态 SNAT接入互联网,从互联网上看是不可见的,即互联网中的主机无法主动与内网中的设备发起通信。 但若在路由器上启用了 DNAT,则允许互联网中的主机通过借助端口转发访问内网中某台设备某个端口 上的服务。正常情况下,在路由上设置端口转发是需要管理员
权限的,即使用管理员账户登陆路由器后台,才能进行相关的配置。但是 OCF在为网关类设备设计标准时,规定了与端口转发相关的操作,允 许自动化地在如 P2P 加速等场景中快速、便捷地在网关上添加端口转发规则。
网关类设备 UPnP 服务,关于端口转发的相关操作确实极大程度上方便了内网设备对网关的端口映 射表进行增、删、查的操作,但便捷性是建立在牺牲认证机制的基础上的,即只需要遵守 SOAP协议的 格式,向网关发送一条的报文即可完成对端口映射表的配置,无需任何认证。显然,OCF在为网关类 设备制定标准时,是默认信任内网环境的,但是却忽略了厂商在实现 UPnP 时,存在误将 UPnP 服务暴 露到互联网
中的情况。这意味着若网关类产品的 UPnP 服务暴露在互联网上,黑客可以直接通过互联网, 发送相应报文来修改路由器的端口转发规则,无需拿到路由器的管理员权限,也无需利用路由器任何的 越权执行类漏洞执行代码。
OCF发现问题后,在网关设备最新的标准(目前为 Internet Gateway Device V2.0 DCPs)[30] 中明确 规定,禁止厂商在设计网关类设备时,将 UPnP 服务暴露在互联网中,同时,也加入了对各种操作的 权限机制(限制不同角色可进行的操作)、端口转发租用时间的限制等安全机制,并建议厂商在设计 产品时加入这些安全机制。但很多厂商在实现 UPnP 时,依然选择基于旧版的标准(Internet Gateway Device V1.0 DCPs)[29] ,也没遵从标准中关于安全方面的建议,导致大量路由器的 UPnP 服务暴露在互 联网中且没有任何安全机制。这使得这类路由器具备了很多被利用的风险。

4.2.3.2 路由器暴露的 UPnP 服务产生的风险分析

4.2.3.1 节提到,由于厂商实现过程中的失误,导致大量路由器的 UPnP 服务暴露在互联网中;同时 还缺乏必要的安全机制,导致黑客可以在扫描到互联网中路由器暴露的 UPnP 服务后,直接构造并发送 相应 SOAP报文,在路由器上增加端口转发规则。一旦黑客有权限对路由器的端口转发表进行操作, NAT之后内网中的设备无疑都处于非常危险的状态。黑客通过 UPnP 对路由器的端口转发表的利用,存 在内网渗透和开放代理两部分风险:

对于内网渗透而言,对端口转发的操作则可将内网设备的服务暴露到互联网中,使得黑客可以访问 到内网服务,如内部文件共享服务 SMB 等。若黑客确定了某个端口的服务存在命令执行类漏洞,则可 以利用对路由器端口转发的操作,将内网存在漏洞的服务暴露出来,进而感染内部主机,使其成为僵尸 主机,或进行持续渗透。我们观察到有攻击者尝试打开 139、445 这些永恒之蓝漏洞对应端口的现象, 故推测 wannacry
这类的病毒具备在全球范围内大规模传播并穿透到内部局域网的能力。
对于开放代理而言,路由器厂商在实现利用 UPnP 进行的端口转发相关功能时,通常不会对转发的地址进行验证,黑客就可以利用路由器上 UPnP 对端口转发的操作,将互联网中某个 IP 的端口映射到 互联网中另一个 IP 的某个端口上。黑客可以借助这种方式,可以利用多个路由器的 UPnP 服务,组建 一条很难追溯源头的代理链

事实上,赛门铁克在 2018 年 5 月发表文章 [37] 称,一个被称为“Inception Framework”的间谍组织, 利用路由器暴露的 UPnP 服务,将流量从一个端口转发到互联网上的另一台主机上,通过构成代理链, 以隐藏自己的真实地址。这也证实了本节所分析风险的真实存在,由 UPnP 产生安全问题,已经上升到 国家安全的层面。

UPnP 暴露情况和风险统计

观点 7: 全球有约 280 万台物联网设备开放了 UPnP SSDP 服务(1900 端口),存在被利用进行 DDoS 攻击的风险,其中有 38.6% 的设备同时开放了 UPnP SOAP 服务。在这些开放 SOAP服务的设备 中,69.8% 的设备存在漏洞,值得引起重视。

我们对全网 UPnP 资产进行了扫描, 如无特殊说明,本章所提到的数据为全球单轮次扫描数据(2018 年 12 月)。本节主要介绍 SSDP 和 SOAP服务的暴露情况,4.4.2 中将对端口映射表进行分析。

观察 8 :开放 SSDP 服务的设备暴露数量最多的五个国家依次是俄罗斯、韩国、中国、委内瑞拉和美国。

从国家分布来看,开放 SSDP 服务的设备暴露最多的国家是俄罗斯,暴露数量接近 40 万,占比达 到 13.7%。我国的暴露数量也达到了 35 万,占比达到 12%。CNCERT 的抽样监测数据 [38] 显示,2018 年 3 月,利用 SSDP 反射发起反射攻击的境内反射服务器约有 190 万台。虽然两者统计方法不同,一 种是主动扫描确认的资产数,另一种为攻击日志分析所得的攻击源数,所以数据会存在差异,但两者之 所以差异程度较大,我们认为是可能是因为对物联网资产的识别精度所致。虽然单次扫描国内有 35 万台, 但我们也对比了不同轮次的扫描数据,发现 IP 地址变化非常大,结合我们在第 2 章的 IP 资产变化情况 分析,很可能一个攻击源在不同时间段内对应不同的网络地址。需要说明的是参考文献 [41] 中提到 2014年全球已发现 700 多万 SSDP 设备也是长达数月的累计值。

观察 9: 暴露 SSDP 服务的设备使用最多的 UPnP SDK分别是 libupnp、miniupnp、Broadcom 和 Realtek,其中 libupnp 的占比达到 44%。

在发现阶段得到的返回数据包(SSDP 协议)中的 Server 字段大多标识出了该设备的 UPnP 服 务所采用的 SDK类型及版本。我们在图 4.12 中对类型进行了统计,其中“Portable SDK for UPnP devices”是 Server 字段中的内容,其是开源项目 libupnp[32] 的特征。数量排名第三,标注为“IGD”的 设备,我们猜测是某厂商定制的 SDK。由于其 SOAP服务无法连接,我们无法获取到关于更多信息。另外, 我们发现这些标注为“IGD”的设备绝大部分出现在国内,且其 SOAP服务监听的是 80 端口,故猜测 其遭 ISP 屏蔽 [33] [34] 。

通过 SSDP 服务的返回数据包暴露了设备 SOAP服务端口与 URL,我们能够通过公网 IP 访问这个 地址获取到一个 UPnP 设备的详细信息和全部服务。下面的统计皆以开放 SOAP服务的全部设备为全集。

在实际对于 SOAP服务的探测中,我们发现并不是所有服务都是可访问的,可访问的端口数量约占 总数量的 38.6%,图 4.13 是两者的对比。从中可以看出,虽然 52869 端口在描述文件所对应的端口中 的数量是最多的,但是实际暴露数量最多的是 49152 端口。

我们通过设备描述信息中的 deviceType 字段,统计各设备的设备类型,从而获得他们包含的服务。 我们最关注的是其中的 IGD(Internet Gateway Device)类型的设备。这种设备一般为路由器,提供了 将内网 IP 和端口暴露到互联网上的端口映射服务,而且因为 UPnP 服务的性质决定了,能够被访问意 味着能够被控制。攻击者探测到一个 IGD类型的设备,便能够通过其端口映射服务进行多种恶意操作, 包括内网扫描、匿名代理等等。如图 4.14 示,暴露 SOAP服务的设备中,47% 的设备是 IGD类型的设备。 除了 IGD类型的设备之外,其他的几个常见类型如 MediaRenderer、MediaServer 的多媒体设备也存在 诸如目录遍历,敏感信息泄漏等的问题 [35] 。

在之前的分析中我们提到 SSDP 和 SOAP服务都被发现过漏洞,但是从僵尸网络的传播方式来看, 目前利用的还是 SOAP服务的漏洞。因此我们对开放 SOAP服务的设备的漏洞进行分析。

我们着重关注了暴露总量较大的 libupnp、miniupnpd、Realtek 和 Broadcom 的漏洞信息。在 将漏洞信息与 SDK版本号相关联后,我们得到了图 4.15 ,红色部分是确定存在漏洞的版本,虽然 Broadcom UPnP 并没有版本信息,但是已经有研究人员 [36] 发现对于其漏洞的利用,因此我们也认为其 存在漏洞,保守估计,69.8% 的设备存在漏洞,63% 的设备依然存在 2013 年以前出现的漏洞。

通过对 SDK的版本进行统计,我们发现这些设备采用的并不是当前最新的 成这样的原因有如下几个:

  1. 设备厂商对于 UPnP 的认知不足,在开发阶段没有采用最新版本,也不会因为 新而去升级固件;

  2. 设备没有自动升级的功能;

  3. 设备提供升级能力,但是用户没有主动去升级设备的意识。

由于 UPnP 服务暴露数量很大,而存在隐患的设备数量又如此之多,值得相关厂商的关注。

图 4.15 暴露 SOAP 服务的设备所采用的 SDK分布

参考资料

绿盟 2018物联网安全年报

友情链接

CSA DApp安全指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UPnP测试工具是一种软件程序, 可以测试数字设备之间的通信连接和功能,通过UPnP协议互相发现和控制,从而确保这些设备可以在网络上相互通信,发现和使用。UPNP是通用即插即用网络协议,可以实现局域网中不同类型数字设备互相发现和管理。测试工具可以检测设备是否正确实现了UPnP标准,并能够识别设备的功能,这对于数字家电的测试和集成尤为重要。测试工具的主要功能是测试UPnP设备之间的互相通信,这类设备包括计算机、打印机、路由器、音频设备等,通过测试可以检查设备的UPnP功能的完整性、正确性和安全性。UPnP测试工具通常提供图形化界面和命令行接口,测试结果可以以文本文档或XML文件的格式输出,为集成测试提供了重要的数据支持。测试工具的使用需要一定的技术知识和经验,对于专业测试人员来说,它是必不可少的工具,对于普通用户而言,使用UPnP设备时知道有这个工具存在即可。 ### 回答2: UPnP Test工具有利于测试网络中的UPnP(通用即插即用协议)设备及其功能。UPnP是一种能够让设备自主配置网络资源的协议,它通过使用标准的Internet协议来增强网络设备的互操作性。利用UPnP Test工具,网络管理员可以识别和排除UPnP虚拟服务和外部暴露风险,确保网络安全。同时,UPnP Test工具可以检测网络中的兼容性和性能问题,帮助网络管理员解决相关问题并优化网络性能。 UPnP Test工具可以用于测试路由器、打印机、摄像机、扫描仪、音频设备等多种网络设备。操作简单,使用方便,能够有效地测试UPnP设备、检测漏洞,为网络设备的强大和安全性提供保障。 使用UPnP Test工具还可以对UPnP服务的性能进行测试、优化,以提高网络的整体效率。 总之,UPnP Test工具是一种非常实用的网络测试工具,可以帮助网络管理员提高网络性能、保障网络安全、及时检测和解决UPnP设备的性能和兼容性问题,从而让网络更加稳定、高效和安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值