WindowsXP 存在严重漏洞,允许攻击者执行任意指令

/ns/ld/win/data/20020108035107.htm

WindowsXP 默认启动的 UPNP 服务存在严重安全漏洞。有的 WindowsMe 的 OEM 版本也有这个默认安装服务。

UPNP, Universal Plug and Play 服务能够被用来检测和集成 UPNP 硬件。UPNP.org 是这样描述 UPNP 服务的:UPNP 体系面向无线设备、PC机和智能应用提供普遍的对等网络连接,在家用信息设备、办公用网络设备之间提供无缝的TCP/IP连接和web访问功能。

UPNP 由多个协议组成,其中之一是 SSDP(Simple Service Discovery Protocol),当一个启动了 UPNP 的设备连上网络后,无论它是电脑、网络设备还是家电,它都会发送一个广播消息宣告其存在。

UPNP 协议存在安全漏洞,目前发现具体有三个安全问题,允许入侵者非法获取任何 WindowsXP 的系统级访问、进行 Dos 攻击和分布式 DoS 攻击。系统级非法访问对象为缺省安装的 WindowsXP 系统。

当以不同的速率向 UPNP 服务主机发送包含异常参数的请求包时,将在目标机器上引起访问冲突。这些访问冲突大多源自指针被覆盖。

实例:

NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900
CACHE-CONTROL: max-age=10
LOCATION: http://IPADDRESS:PORT/.xml
NT: urn:schemas-upnp-org:device:InternetGatewayDevice:1
NTS: ssdp:alive
SERVER: EEYE/2001 UPnP/1.0 product/1.1
USN: uuid:EEYE

当 LOCATION 段的协议、端口等 buffer 值增加时,可以开始观察到访问冲突现象。寄存器(EAX和ECX)将包含被改写内存的地址,
在 "mov" 指令 svchost.exe 程序将访问一个错误的内存地址。引起访问冲突的原因是目标地址是一个被改写的指针,但在0X41414141
什么也没有。黑客测试发现了多个溢出点,利用stack overflow和heap overflow都可以编写有效的攻击程序。

发现者还指出。由于 SSDP 协议的应用设计漏洞,引起攻击者可以对 WindowsXP 发动 DoS 攻击。

攻击者利用这几个漏洞,还可以通过控制多台 XP 机器发起分布式 DoS 攻击。


解决方案:
微软公司发布了安全补丁:http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS01-059.asp

安全建议:
建议禁用UPNP服务