什么是通用即插即用UPnP(通用即插即用设备宿主服务)

什么是通用即插即用UPnP(通用即插即用设备宿主服务)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-11-12
文章简介

虽然UPnP在将新设备添加到本地网络时无需进行大量设置,但此协议可能会给您的数据和操作带来相当大的风险。快速连接设备的能力很方便,但UPnP的速度往往是以网络安全为代价的。本文介绍了UPnP(通用即插

2025阿里云双十一服务器活动

虽然UPnP在将新设备添加到本地网络时无需进行大量设置,但此协议可能会给您的数据和操作带来相当大的风险。快速连接设备的能力很方便,但UPnP的速度往往是以网络安全为代价的。本文介绍了UPnP(通用即插即用)以及与此网络协议相关的安全风险。继续阅读以了解此协议的工作原理,并了解黑客如何利用UPnP绕过防火墙并创建进入目标网络的入口点。

UPnP(通用即插即用)是一种网络协议,它使设备能够相互发现并连接,而无需手动配置或用户干预。该协议自动化了同一网络上设备之间识别和通信所需的所有步骤。

UPnP的主要目标是提供一种将新硬件添加和连接到本地网络的自动化方式。该协议使设备能够通过以下方式加入网络:

  • 设置设备的IP地址。
  • 将设备的名称和功能广播到网络的其余部分。
  • 通知新硬件有关其他连接设备的功能。
  • 使网络设备能够串联通信和运行。
  • UPnP的一些最常见用例包括:

  • 将新打印机连接到家庭中的每台PC和平板电脑。
  • 将游戏机连接到游戏服务器以玩和流式传输在线游戏。
  • 将内容从计算机流式传输到智能电视。
  • 将无线扬声器连接到手机。
  • 连接到家庭监控系统以在您离开时密切关注房屋。
  • 从移动设备(智能照明、互联网控制的恒温器、智能锁等)连接和远程控制物联网系统。
  • 虽然方便,但UPnP协议并非没有风险。如果该协议允许具有严重漏洞或恶意软件的设备加入,则熟练的黑客可以创建进入本地网络的永久入口点。这种安全风险就是为什么UPnP通常仅在住宅设置而不是小型企业或企业网络上启用的原因。

    UPnP使应用程序和设备能够自动打开和关闭端口以连接到LAN网络。此过程(称为端口转发或端口映射)发生在路由器上,并且可以允许Web流量从外部源通过内部网络。

    UPnP通过四个标准实现自动的设备到设备端口转发:

  • 互联网协议套件(TCP/IP)。
  • 超文本传输协议(HTTP)。
  • 可扩展标记语言(XML)。
  • 简单对象访问协议(?SOAP?)。
  • 由于该协议依赖于通用网络标准,UPnP不需要任何额外的驱动程序或技术即可工作。市场上的大多数设备都可以参与UPnP,无论其操作系统、编程语言或制造商如何。

    从用户的角度来看,UPnP是一个简单的过程。您将新设备带回家,将其连接到网络,您的其他设备可以立即与最新的硬件进行通信。该过程在后台要复杂得多,每当您设置新设备时,UPnP都会经历六个阶段:

    该协议依赖于客户端-服务器模型,其中UPnP控制点(客户端)搜索提供服务的UPnP服务器(设备)。下面是对UPnP协议每个阶段发生的情况的详细介绍。

    新设备必须具有唯一的IP地址才能成为网络的一部分,因此UPnP可以:

  • 从动态主机配置协议(DHCP)服务器请求新设备的IP地址。
  • 使设备能够使用称为AutoIP的进程自行分配IP(如果没有DHCP服务器)。
  • 如果设备在DHCP事务期间(例如,通过DNS服务器或通过DNS转发)获得域名,则设备将在网络操作中使用该名称。

    并非所有物联网设备都需要IP地址,例如联网咖啡壶、恒温器和灯泡。相反,这些设备通过蓝牙或射频识别(RFID)等技术与网络进行通信。

    该设备使用简单服务发现协议(SSDP)将其详细信息呈现给网络控制点。新设备发送SSDP活动消息,其中包含以下基本细节:

  • 指针(网络位置)。
  • 根据UPnP设置,网络控制点可以主动搜索感兴趣的设备或被动收听SSDP消息。

    一旦控制点发现设备,网络必须在与新硬件交互之前了解其功能。设备发送详细描述,其中包括:

  • 有关供应商的信息。
  • 任何服务的列表。
  • 供应商特定网站的演示URL(可选)。
  • 设备以XML格式发送这些消息,网络创建一个设备描述文档,其中列出了用于控制、事件和服务描述的URL。每个服务描述还包括服务可以响应的命令和每个操作的参数。

    在控制点开始与发现的设备交互之前,网络会发送消息以调用服务上的操作。这些控制消息也是XML格式并使用简单对象访问协议(SOAP)。

    什么是通用即插即用UPnP,通用即插即用设备宿主服务

    UPnP有一个称为通用事件通知架构(GENA)的协议,该协议使控制点能够将自己注册为服务以获取设备状态更改的通知。

    每当状态变量发生变化时,该服务都会向所有已注册的控制点发送事件通知。这些简单的事件消息采用XML格式,仅包含状态变量及其当前值。

    介绍

    如果新设备在描述阶段提供了一个演示URL,控制点可以从这个URL中检索一个页面并将其加载到Web浏览器中。在某些情况下,用户可以通过浏览器控制设备或查看其状态。

    用户可以通过演示URL与设备交互的程度取决于网页和设备的特定功能。

    UPnP安全吗?它有哪些安全风险?

    尽管UPnP有很多好处,但该协议有两个主要的安全风险:

  • 默认情况下,UPnP不对设备进行身份验证,只是假设每个设备都是值得信赖的。
  • UPnP允许家庭网络之外的实体在路由器中戳洞并访问本地设备,而无需通过防火墙。
  • 由于UPnP使流量能够绕过安全屏障,因此如果受恶意软件感染的设备设法连接到网络,该协议可能会导致各种安全问题。

    另一个安全问题是UPnP没有正式实施。不同的路由器有不同的应用程序,许多部署都带有黑客可以利用的独特的UPnP相关错误。

    不幸的是,许多路由器制造商默认启用UPnP,使基于LAN的设备可以从WAN中发现。由于端口转发中与路由器相关的缺陷,发生了几起引人注目的基于UPnP的攻击,例如:

  • 当受害者访问运行特定Flash小程序的网站时,FlashUPnP攻击开始,该小程序向故障路由器发送请求以转发端口。
  • Mirai攻击背后的黑客攻击了由于启用了UPnP而暴露的开放telnet端口的路由器。一旦他们发现一个易受攻击的路由器,黑客就会使用凭证填充来访问网络并在所有本地设备上安装Mirai恶意软件。
  • CallStranger漏洞也是基于路由器的UPnP漏洞的结果,该漏洞可能使用户面临数据丢失的风险。
  • 黑客如何利用UPnP?

    黑客以不同方式利用过度信任的UPnP协议。大多数漏洞利用需要黑客首先以某种方式(例如,通过暴力破解或网络钓鱼电子邮件)破坏网络,以便在系统上安装恶意软件。在恶意软件注入之后,攻击可能如下所示:

  • 恶意程序伪装成LAN设备(例如Xbox或智能电视)。
  • 该程序向您的路由器发送一个UPnP请求。
  • 路由器打开端口并允许病毒或蠕虫在目标网络上安装(即使防火墙在正常情况下会阻止此类流量)。
  • 黑客在您的网络中安装了后门,可以安装任何程序或运行他们选择的任何脚本。
  • 来自UPnP缺陷的后门可能会在几个月内未被发现,因此犯罪分子有足够的时间来实现他们的目标。最常见的目标是:

  • 将恶意软件传播到其他设备。
  • 窃取敏感数据并导致数据泄露。
  • 加密静态数据并启动勒索软件攻击。
  • 远程访问其他网络设备(最常见的是控制或劫持物联网设备)。
  • 将路由器用作其他网络犯罪活动的掩护或代理(通常将设备变成机器人以进行分布式拒绝服务(DDoS)攻击)。
  • 更改PPP、IP或Wi-Fi设置。
  • 监视网络活动并将信息转发给黑客。
  • 更改DNS服务器设置(通常加载诱饵凭据窃取网站而不是合法网站)。
  • 模仿具有高权限的设备横向移动并到达其他网段。
  • 如果安全是您的首要任务,则没有真正的理由让UPnP处于开启状态。区分恶意和合法UPnP请求太困难了,这就是为什么具有安全意识的用户通常将协议作为网络安全最佳实践保持关闭。

    如果端口转发是您的用例的基本要求(例如,如果您有VoIP程序、点对点应用程序、游戏服务器等),比UPnP更安全的选择是手动转发每个端口。手动端口转发可确保您控制每个连接,并且不会冒着恶意行为者或程序利用UPnP幕后自动化的风险。

    依赖UPnP是明智选择的唯一方案是运行没有敏感数据或系统的简单家庭网络。仍然存在风险,您需要保持与UPnP相关的整个攻击面为最新状态,包括:

  • 防病毒和恶意软件。
  • 所有连接的物联网设备。
  • 如果您关闭UPnP,请记住您的网络将不再自动打开LAN上的端口。路由器甚至会忽略合法请求,因此您需要手动为每个连接设置端口转发规则。

    另一个更安全的选择是使用称为UPnP-UP(通用即插即用-用户配置文件)的非标准解决方案。此版本具有原始协议缺少的用户身份验证扩展。不幸的是,虽然UPnP-UP比协议的标准版本安全得多,但并非所有设备都支持UPnP-UP。

    不要优先考虑便利性而不是安全性

    虽然UPnP满足了真正的需求,但该协议存在严重的设计缺陷,可能会危及网络上的每台设备。除非UPnP对您的操作至关重要,否则您应该关闭该协议。路由器将忽略所有传入请求,您需要手动设置新设备,但您的安全值得付出额外努力。

    标签:
    如何选择合适的专用服务器规格(服务器如何选择配置)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!