首先,UPnP的设计初衷是为了简化设备间的通信,因此在安全性方面存在先天不足。协议默认信任所有设备,不会对连接请求进行严格的身份验证。这意味着一旦有恶意设备接入网络,它便可以轻易地通过UPnP协议与网络中的其他设备建立连接,进而实施攻击。
其次,UPnP允许设备通过端口映射或端口转发的方式绕过防火墙,直接与外部网络通信。这种特性虽然方便了合法设备的远程访问,但也为黑客提供了可乘之机。黑客可以利用UPnP协议在路由器上打开后门,从而绕过防火墙的保护,实现对内部网络的非法访问。
此外,由于UPnP协议的实施缺乏统一标准,不同厂商的设备在实现细节上存在差异,这进一步增加了安全漏洞的风险。许多路由器出厂时默认启用UPnP功能,用户如果不了解其潜在风险,很可能会无意中暴露在网络攻击之下。
在实际攻击案例中,黑客常常利用UPnP协议的漏洞,通过伪装成合法设备发送恶意请求,诱导路由器打开端口,进而植入恶意软件,窃取用户数据,甚至将用户的设备变为僵尸网络的一部分,用于发起大规模的DDoS攻击。
面对这些安全风险,用户应如何应对?首先,对于不熟悉网络安全的普通用户,建议关闭路由器上的UPnP功能,改为手动配置端口转发,虽然操作上略显繁琐,但能显著提升网络安全。其次,定期更新路由器设备制造商发布的安全更新,及时修复已知漏洞。最后,提高自身的网络安全意识,不轻信来历不明的设备连接请求。
总的来说,UPnP协议虽然带来了便捷的网络体验,但其潜在的安全风险不容忽视。用户在使用过程中应权衡利弊,采取必要的防护措施,确保网络安全。毕竟,在数字化时代,安全始终是便捷的前提。
虽然 UPnP 无需在向本地网络添加新设备时进行大量设置,但该协议可能会给您的数据和操作带来相当大的风险。快速连接设备的能力很方便,但 UPnP 的速度往往是以网络安全为代价的。
本文介绍了 UPnP(通用即插即用)以及与该网络协议相关的安全风险。请继续阅读,了解该协议的工作原理,并了解黑客如何利用 UPnP 绕过防火墙并创建进入目标网络的入口点。
什么是 UPnP?
UPnP(通用即插即用)是一种网络协议,使设备能够相互发现并连接,而无需手动配置或用户干预。该协议自动执行同一网络上的设备之间的识别和通信所需的所有步骤。
UPnP 的主要目标是提供一种自动化方式来添加新硬件并将其连接到本地网络。该协议使设备能够通过以下方式加入网络:
- 设置设备的 IP 地址。
- 向网络的其余部分广播设备的名称和功能。
- 向新硬件通报其他连接设备的功能。
- 使网络设备能够协同通信和运行。
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 消息。
描述
一旦控制点发现设备,网络必须在与新硬件交互之前了解其功能。设备发送详细描述,其中包括:
- 有关供应商的信息。
- 型号名称。
- 序列号。
- 任何服务的列表。
- 供应商特定网站的演示 URL(可选)。
设备以 XML 格式发送这些消息,网络会创建一个设备描述文档,其中列出了控制、事件和服务描述的 URL。每个服务描述还包括服务可以响应的命令以及每个操作的参数。
控制
在控制点开始与发现的设备交互之前,网络会发送消息以调用服务操作。这些控制消息也是 XML 格式并使用简单对象访问协议 (SOAP)。
事件通知(事件)
UPnP 有一个称为通用事件通知架构 (GENA) 的协议,该协议使控制点能够将自身注册为服务,以获取设备状态更改的通知。
每当状态变量发生变化时,该服务都会向所有注册的控制点发送事件通知。这些简单的事件消息采用 XML 格式,仅包含状态变量及其当前值。
推介会
如果新设备在描述阶段提供呈现 URL,则控制点可以从此 URL 检索页面并将其加载到 Web 浏览器中。在某些情况下,用户可以通过浏览器控制设备或查看其状态。
用户通过演示 URL 与设备交互的程度取决于网页和设备的具体功能。
UPnP 安全吗?它有哪些安全风险?
尽管 UPnP 具有诸多优点,但该协议存在两大安全风险:
- 默认情况下,UPnP 不会对设备进行身份验证,只是假设每个设备都是值得信赖的。
- UPnP 允许家庭网络外部的实体在路由器中挖洞并访问本地设备,而无需流量通过防火墙。
由于 UPnP 允许流量绕过安全屏障,因此如果受恶意软件感染的设备设法连接到网络,该协议可能会导致各种安全问题。
另一个安全问题是 UPnP 没有正式实施。不同的路由器有不同的应用程序,并且许多部署都带有黑客可以利用的独特的 UPnP 相关错误。
不幸的是,许多路由器制造商默认启用 UPnP,使得可以从 WAN 发现基于 LAN 的设备。一些备受瞩目的基于 UPnP 的攻击是由于端口转发中与路由器相关的缺陷而发生的,例如:
- 当受害者访问运行特定 Flash小程序的网站时, Flash UPnP 攻击就会启动,该小程序向有故障的路由器发送请求以转发端口。
- Mirai 攻击背后的黑客追踪的是因启用 UPnP 而暴露的开放 Telnet 端口的路由器。一旦发现易受攻击的路由器,黑客就会使用凭证填充来访问网络,并在所有本地设备上安装 Mirai 恶意软件。
- CallStranger 漏洞也是基于路由器的 UPnP 缺陷造成的,该缺陷可能导致用户数据丢失。
黑客如何利用 UPnP?
黑客以不同的方式利用过度信任的 UPnP 协议。大多数漏洞利用要求黑客首先以某种方式(例如,通过暴力或网络钓鱼电子邮件)破坏网络,以在系统上安装恶意软件。恶意软件注入后,攻击可能如下所示:
- 恶意程序会伪装成 LAN 设备(例如 Xbox 或智能电视)。
- 该程序向您的路由器发送 UPnP 请求。
- 路由器打开端口并允许病毒或蠕虫在目标网络上安装(即使防火墙在正常情况下会阻止此类流量)。
- 黑客可以在您的网络中安装后门,并可以安装他们选择的任何程序或运行他们选择的任何脚本。
UPnP 缺陷的后门可能几个月都不会被发现,因此犯罪分子有充足的时间来实现他们的目标。最常见的目标是:
- 将恶意软件传播到其他设备。
- 窃取敏感数据并导致数据泄露。
- 加密静态数据并启动勒索软件攻击。
- 远程访问其他网络设备(最常见的是控制或劫持物联网设备)。
- 使用路由器作为其他网络犯罪活动的掩护或代理(通常将设备转变为分布式拒绝服务 (DDoS) 攻击的机器人)。
- 修改管理凭据。
- 更改 PPP、IP 或 Wi-Fi 设置。
- 监视网络活动并将信息转发给黑客。
- 更改 DNS 服务器设置(通常是加载诱骗凭据窃取网站而不是合法网站)。
- 模仿具有高权限的设备进行横向移动并到达其他网段。
您应该禁用 UPnP 吗?
如果安全性是您的首要任务,则没有真正的理由让 UPnP 保持开启状态。区分恶意和合法的 UPnP 请求非常困难,这就是为什么具有安全意识的用户通常会关闭该协议作为网络安全最佳实践。
如果端口转发是您的用例的基本要求(例如,如果您有 VoIP 程序、点对点应用程序、游戏服务器等),则比 UPnP 更安全的选择是手动转发每个端口。手动端口转发可确保您控制每个连接,并且不会冒恶意行为者或程序利用 UPnP 幕后自动化的风险。
依赖 UPnP 是明智选择的唯一场景是运行没有敏感数据或系统的简单家庭网络。不过,仍然存在风险,您需要使与 UPnP 相关的整个攻击面保持最新,包括:
- 路由器。
- 防火墙。
- 防病毒和恶意软件软件。
- 所有连接的物联网设备。
如果您关闭 UPnP,请记住您的网络将不再自动打开 LAN 上的端口。路由器甚至会忽略合法的请求,因此您需要手动为每个连接设置端口转发规则。
另一个更安全的选择是使用称为UPnP-UP(通用即插即用 – 用户配置文件)的非标准解决方案。该版本具有原始协议所缺少的用户身份验证扩展。不幸的是,虽然 UPnP-UP 比协议的标准版本安全得多,但并非所有设备都支持 UPnP-UP。
不要将便利性置于安全性之上
虽然 UPnP 满足了真正的需求,但该协议存在严重的设计缺陷,可能会危及网络上的每个设备。除非 UPnP 对您的操作至关重要,否则您应该关闭该协议。路由器将忽略所有传入请求,您将需要手动设置新设备,但您的安全性值得付出额外的努力。
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。