什么是通用即插即用(UPnP)?

什么是通用即插即用(UPnP)?

Apr 04,2024
访问:1036

虽然 UPnP 在将新设备添加到本地网络时无需进行大量设置,但此协议可能会给您的数据和操作带来相当大的风险。快速连接设备的能力很方便,但 UPnP 的速度往往是以网络安全为代价的。本文介绍了 UPnP(通用即插即用)以及与此网络协议相关的安全风险。继续阅读以了解此协议的工作原理,并了解黑客如何利用 UPnP 绕过防火墙并创建进入目标网络的入口点。,UPnP(通用即插即用)是一种网络协议,它使设备能够相互发现并连接,而无需手动配置或用户干预。该协议自动化了同一网络上设备之间识别和通信所需的所有步骤。,UPnP 的主要目标是提供一种将新硬件添加和连接到本地网络的自动化方式。该协议使设备能够通过以下方式加入网络:,UPnP 的一些最常见用例包括:,虽然方便,但 UPnP 协议并非没有风险。如果该协议允许具有严重漏洞或恶意软件的设备加入,则熟练的黑客可以创建进入本地网络的永久入口点。这种安全风险就是为什么 UPnP 通常仅在住宅设置而不是小型企业或企业网络上启用的原因。,UPnP 使应用程序和设备能够自动打开和关闭端口以连接到 LAN 网络。此过程(称为端口转发或端口映射)发生在路由器上,并且可以允许 Web 流量从外部源通过内部网络。,UPnP 通过四个标准实现自动的设备到设备端口转发:,由于该协议依赖于通用网络标准,UPnP 不需要任何额外的驱动程序或技术即可工作。市场上的大多数设备都可以参与 UPnP,无论其操作系统、编程语言或制造商如何。,从用户的角度来看,UPnP 是一个简单的过程。您将新设备带回家,将其连接到网络,您的其他设备可以立即与最新的硬件进行通信。但是,该过程在后台要复杂得多,每当您设置新设备时,UPnP 都会经历六个阶段:,该协议依赖于客户端-服务器模型,其中 UPnP 控制点(客户端)搜索提供服务的 UPnP 服务器(设备)。下面是对 UPnP 协议每个阶段发生的情况的详细介绍。,新设备必须具有唯一的 IP 地址才能成为网络的一部分,因此 UPnP 可以:,如果设备在 DHCP 事务期间(例如,通过DNS 服务器或通过 DNS 转发)获得域名,则设备将在网络操作中使用该名称。,并非所有物联网设备都需要 IP 地址,例如联网咖啡壶、恒温器和灯泡。相反,这些设备通过蓝牙或射频识别 (RFID) 等技术与网络进行通信。,该设备使用简单服务发现协议 (SSDP) 将其详细信息呈现给网络控制点。新设备发送 SSDP 活动消息,其中包含以下基本细节:,根据 UPnP 设置,网络控制点可以主动搜索感兴趣的设备或被动收听 SSDP 消息。,一旦控制点发现设备,网络必须在与新硬件交互之前了解其功能。设备发送详细描述,其中包括:,设备以 XML 格式发送这些消息,网络创建一个设备描述文档,其中列出了用于控制、事件和服务描述的 URL。每个服务描述还包括服务可以响应的命令和每个操作的参数。,在控制点开始与发现的设备交互之前,网络会发送消息以调用服务上的操作。这些控制消息也是 XML 格式并使用简单对象访问协议 (SOAP)。,UPnP 有一个称为通用事件通知架构 (GENA) 的协议,该协议使控制点能够将自己注册为服务以获取设备状态更改的通知。,每当状态变量发生变化时,该服务都会向所有已注册的控制点发送事件通知。这些简单的事件消息采用 XML 格式,仅包含状态变量及其当前值。,如果新设备在描述阶段提供了一个演示 URL,控制点可以从这个 URL 中检索一个页面并将其加载到 Web 浏览器中。在某些情况下,用户可以通过浏览器控制设备或查看其状态。,用户可以通过演示 URL 与设备交互的程度取决于网页和设备的特定功能。,尽管 UPnP 有很多好处,但该协议有两个主要的安全风险:,由于 UPnP 使流量能够绕过安全屏障,因此如果受恶意软件感染的设备设法连接到网络,该协议可能会导致各种安全问题。,另一个安全问题是 UPnP没有正式实施。不同的路由器有不同的应用程序,许多部署都带有黑客可以利用的独特的 UPnP 相关错误。,不幸的是,许多路由器制造商默认启用 UPnP,使基于 LAN 的设备可以从 WAN 中发现。由于端口转发中与路由器相关的缺陷,发生了几起引人注目的基于 UPnP 的攻击,例如:,黑客以不同方式利用过度信任的 UPnP 协议。大多数漏洞利用需要黑客首先以某种方式(例如,通过暴力破解或网络钓鱼电子邮件)破坏网络,以便在系统上安装恶意软件。在恶意软件注入之后,攻击可能如下所示:,来自 UPnP 缺陷的后门可能会在几个月内未被发现,因此犯罪分子有足够的时间来实现他们的目标。最常见的目标是:,如果安全是您的首要任务,则没有真正的理由让 UPnP 处于开启状态。区分恶意和合法 UPnP 请求太困难了,这就是为什么具有安全意识的用户通常将协议作为网络安全最佳实践保持关闭。,如果端口转发是您的用例的基本要求(例如,如果您有 VoIP 程序、点对点应用程序、游戏服务器等),比 UPnP 更安全的选择是手动转发每个端口。手动端口转发可确保您控制每个连接,并且不会冒着恶意行为者或程序利用 UPnP 幕后自动化的风险。,依赖 UPnP 是明智选择的唯一方案是运行没有敏感数据或系统的简单家庭网络。但是,仍然存在风险,您需要保持与 UPnP 相关的整个攻击面为最新状态,包括:,如果您关闭 UPnP,请记住您的网络将不再自动打开 LAN 上的端口。路由器甚至会忽略合法请求,因此您需要手动为每个连接设置端口转发规则。,另一个更安全的选择是使用称为UPnP-UP(通用即插即用 - 用户配置文件)的非标准解决方案。此版本具有原始协议缺少的用户身份验证扩展。不幸的是,虽然 UPnP-UP 比协议的标准版本安全得多,但并非所有设备都支持 UPnP-UP。,虽然 UPnP 满足了真正的需求,但该协议存在严重的设计缺陷,可能会危及网络上的每台设备。除非 UPnP 对您的操作至关重要,否则您应该关闭该协议。路由器将忽略所有传入请求,您需要手动设置新设备,但您的​​安全值得付出额外努力。,,虽然 UPnP 在将新设备添加到本地网络时无需进行大量设置,但此协议可能会给您的数据和操作带来相当大的风险。快速连接设备的能力很方便,但 UPnP 的速度往往是以网络安全为代价的。本文介绍了 UPnP(通用即插即用)以及与此网络协议相关的安全风险。继续阅读以了解此协议的工作原理,并了解黑客如何利用 UPnP 绕过防火墙并创建进入目标网络的入口点。,UPnP 使应用程序和设备能够自动打开和关闭端口以连接到 LAN 网络。此过程(称为端口转发或端口映射)发生在路由器上,并且可以允许 Web 流量从外部源通过内部网络。,

试用我们的产品

马上免费注册
UUDDOS 帐户

更多版本,更大流量等您來選擇。
产品工程师教您如何选择服务器