数十亿设备采用的通用即插即用(Universal Plug and Play ,UPnP)协议存在一个安全漏洞,攻击者可利用该漏洞窃取数据,将设备变成僵尸计算机用于分布式拒绝服务攻击,和扫描内部网络。
该漏洞被称为CallStranger,影响运行4月17日之前发行的UPnP版本的所有设备,包括Windows 10所有版本,路由器,访问接入点,打印机,游戏机,门铃对讲机,媒体应用程序和设备,摄像头,电视机。
三重影响
UPnP协议用于自动发现网络上的设备并提供设备之间的交互。它设计用于可信网络上的本地使用,因该类网络不要求身份认证或验证。
CallStranger的编号为CVE-2020-12695,可被远程利用,且无需身份认证。该漏洞是由网络安全研究人员Yunus Çadirci发现的,该名研究人员在2019年12月12日将该漏洞报告给Open Connectivity Foundation(OCF),目前UPnP协议的开发组织。
该漏洞存在于UPnP的SUBSCRIBE功能中。更具体而言,该漏洞是由Callback header值导致的,攻击者可控制该值并触发一个类似SSRF的漏洞。
根据该名研究人员的说法,攻击者可利用CallStranger漏洞绕过网络安全设备和设计用于防止在企业网络之外发送关键/敏感信息的数据丢失防护解决方案。
“我们认为数据窃取是CallStranger最大的风险。如果攻击者过去利用了该漏洞,检查日志就至关重要。”该名研究人员强调,补充表示该漏洞还可用于下列恶意意图:
- 从公共网络可访问的数百万UPnP设备发起增强反射型TCP DDoS攻击
- 从面向互联网的UPnP设备扫描内部端口
Çadirci写了一个脚本,该脚本可以检查网络上的哪些设备容易受到CallStranger攻击。从根本上说,该脚本可以发现本地网络上的所有UPnP设备,服务和端点。
美国CERT协调中心(CERT/CC)警告称,UPnP不应在互联网上可用,因为它为许多其他漏洞打开了大门。美国CERT/CC建议用户执行OCF最新的规范。
在Shodan搜索引擎上简单搜索UPnP发现有近乎550万的设备暴露在公共网络上。
长期修复
尽管补丁已发布将近两个月,但不可能很快更新所有设备。这主要取决于厂商去实现修复,而处理协议漏洞需要时间。并且,许多设备不再受到支持,或无法接收更新。
Çadirci表示并非所有的UPnP栈都是脆弱的,例如,MiniUPnP就未受影响。由于缺少更新的UPnP栈,他建议采取如下缓解步骤:
- 禁用不必要的UPnP服务,特别是面向互联网的设备/接口
- 检查内网和服务器网络,以确保UPnP设备(路由器、IP摄像机、打印机、媒体网关等) 不允许数据窃取
- 审阅网络安全日志,以检查该漏洞是否遭到攻击者利用
- 联系ISP/DDoS防护厂商,确认是否他们的解决方案可以阻止UPnP SUBSCRIBE(HTTP NOTIFY)生成的流量
本文源自Bleeping Computer;转载请注明出处。