论坛: 菜鸟乐园 标题: 微软UPnP漏洞详情 2月20日最新文章 复制本贴地址    
作者: group [group]    论坛用户   登录
呜呜……翻译得好辛苦啊,总算是出来了……     
    
 UNSECRET.ORG-Tech Articles
 
 
 
    
 
 微软UPnP漏洞详情

翻译:晓澜<emile_liao@sohu.com>
   QQ: 42449970
   http://www.unsecret.org
---------------------------------------------

作者:Paul Schmehl
发布日期:2002-2-20
上传日期:2002-3-1
来源:http://www.securityfocus.com/


2001年12月20日,为红色代码命名的eEye数码安全公司,宣布在微软的旗舰产品Windows XP中发现了发现
了严重的安全漏洞。另外,同样的与UPnP有关的漏洞也在微软的其他产品中被发现,这是XP默认安装自带
的功能。同一天,微软发布了一个补丁来修复这个漏洞,但是无论如何,在微软安全公告中看到一个在全
球产生巨大影响的漏洞,都是一年中一个令人沮丧的收场。

本文将揭示什么是UPnP,什么是微软的UPnp漏洞,如何利用该漏洞,会给网络带来怎样的影响以及用户们
应该如何保护自己。

什么是UPnP?

UPnP论坛上如此描述,“UPnP定义了一个通用的协议和程序来保证具有网络能力的PC机,用品和无限设备可
以协同工作。”UPnP的目的是要在TCP/IP网络上的不同设备之间建立无缝的对等连接,而UPnP论坛的目的是
要把广泛存在的电脑引入家庭和SOHO市场,例如使咖啡机,电冰箱和空调和电脑、打印机、路由器和其他
网络设备连接起来。

UPnP有六个显著的特征功能;自动发现设备,分配地址,定义和激活,事件通知和操作界面。当一个设备
被联入网络的时候,它首先会广播自己被联入网络的消息,并通过DHCP或可用IP列表中获得IP。控制点
(Control points)则可以定位这个设备并获得关于它所提供的功能的描述,决定它的当前状态和传输命令
以控制它的行为。所有的信息(状态获取,控制和功能描述)都用XML通过HTTP的一个改进版来实现。

现在,UPnP被用来开发家用品和其他设备,而工业应用上的开发则刚刚起步。不难想象,UPnP将扩展到大
量的不同领域。这种用统一的接口协议来控制大量的不同设备的想法是十分诱人的。从原来为家电的设计
来看,UPnP将来会被应用到能源、交通等多个领域,每天都有人在讨论它的新的用途。

这样看来,UPnP似乎是一个非常值得去做的事情。然而,它会带来严重的安全问题。eEye承诺说会发布一
个详细的报告来讨论这些问题,包括诸如设备的认证、授权和欺骗,以及HTTP的纰漏,任何一个漏洞都可
能会因DoS或DDoS的攻击使一个设备或整个网络失效。

UPnP的漏洞

当eEye宣布发现了UPnP的漏洞时,他们假定了三种攻击:一个远程的缓冲溢出,一个DoS攻击和一个DDoS攻
击,其中,缓冲溢出是最严重的漏洞,它会使攻击者获得最高的控制权限。

缓冲溢出是软件中发现的最为普遍的一种漏洞,有超过20年的历史,但是至今仍然是软件中最为常见的漏
洞。

如果要了解什么是缓冲溢出,你必须知道Array是怎么工作的,它是软件的一种储存格式,数据被放在它所
在的地方,以便在需要的时候被调用。可以把他们看成是一排盒子,每个盒子可以放一些数据,如果有256
个盒子,而你有257个数据的时候,就没有地方放最后一个数据了,因为所有的盒子都满了。当然,现实中
你可以再找一个盒子,但是Array不会这样做,它们的大小是固定的,当用完了最后一个盒子之后,电脑就
要考虑该把最后一个数据放到什么地方去。这样就会产生非常有趣的结果,一般来说这个数据会被放到为
程序运行预留的空间里面去,这个数据会被立刻抛弃,有时会临时驻留在程序中,而更多的时候会导致程
序崩溃,当程序崩溃时,程序员可以利用这个错误获得对电脑的控制权。

eEye发现的缓冲溢出和NOTIFY事件消息有关,当一个设备发生了一个事件时,会用HTTPMU向所有有关的控制点发送NOTIFY消息,数据在NOTIFY中存放的格式是:

NOTIFY * HTTP/1.1 
   Host: 239.255.255.250:reservedSSDPport (1900)
   NT: blenderassociation:blender 
   NTS: ssdp:alive 
   USN: someunique:idscheme3 
   AL:  
   Cache-Control: max-age = 7393 
   LOCATION: someIP:somePort [10]

如何利用该漏洞

当一个精心构造的NOTIFY信息以一定的速度发送时,控制点上的SSDP服务将出现问题。eEye说,有许多个
点可以利用,他们成功发现了堆栈溢出的方法。eEye指出,受影响的SSDP服务同时在多点传送和广播地址
上开放,也就是说仅需要一个匿名的UDP SSDP的攻击进程就可以获得系统权限。

DoS和DDoS的漏洞也是用了NOTIFY的纰漏,利用精心构造的NOTIFY可以使目标主机为其他的计算机开放一个
连接到自己的管理服务上的进程,并占用所有的系统资源,导致重新启动。这是因为没有对发送NOTIFY的
地址做有效性检查。

会对网络造成什么样的影响呢?

这个漏洞对整个网络将造成很大的影响。例如DDoS攻击,会造成每一台在网上的机器都重启,这要花上一
整天的时间才能恢复,而没有受到保护的网络将一而再,再而三的受到这样的攻击,但是这总比在每一台
有漏洞的机器上都获得系统权限好得多。

[一大段介绍系统权限泄漏的危害性的东西]

如何保护你的网络

首先关闭1900/UDP和5000/UDP端口,这可以减少受到外部侵扰的可能性。如果一定要开放的花,建议用VPN
的方式与网络隔离,或者用类似的方式拒绝外部的访问。

一旦网络被保护起来,网络管理员则需要统计有漏洞的电脑的数量,很显然,所有的windows XP都在此之
内,而windows 98/SE/ME如果安装了internet连接共享的话,也在此之中(当然这在一般的企业中都不可能
,通常都是家庭或者SOHO)。Windows ME由于默认安装了UPnP,所以有这样的风险,虽然微软设计的默认是
不安装的,但是很多OEM厂商都将该功能打开了。

然后,你要为每一台打上补丁,并考虑是不是确实需要开放SSDP。安全的基本原则是关闭所有不需要的服
务,同时你永远不要主观的认为当你关了一个服务之后它会永远关闭,要经常检查。另外,无论是不是有
UPnP的计算机,都要及时地打上补丁。

另外,将检查是否有新的、未打过补丁的设备或计算机加入网络作为一项例行的检查,完成上述步骤后,
你的网络应该就是比较安全的了。

参考:
[1] http://www.eeye.com/html/press/PR20011220.html 
[2] MS01-059 
[3] Microsoft released 60 security-related patches in 2001 
[4] http://www.upnp.org 
[5] SOHO is an acronym for “single office, home office” 
[6] For a more detailed description of UPnP, see EDN Access 
[7] HTTPMU (HTTP Multicast UDP), HTTPU (HTTP Unicast UDP), GENA (General Event Notification 
Architecture), SSDP (Simple Service Discovery Protocol) and SOAP (Simple Object Access 
Protocol) 
[8] http://www.eeye.com/html/Research/Advisories/AD20011220.html 
[9] The vulnerability also affects some versions of Windows 98 and Windows ME 
[10] More information about UPnP specifications may be found here 
[11] http://www.eeye.com/html/Research/Advisories/AD20011220.html 
[12] ibid. 

  
   www.unsecret.org&copy;公开化安全区      

[此贴被 晓澜(group) 在 3月1日22时17分 编辑过]

地主 发表时间: 3/1 22:30

回复: icesky [icesky]   论坛用户   登录
晓谰大哥,能不地址给我么?这篇文章的?我也试试.*~<~*,谢了

B1层 发表时间: 03/01 22:39

回复: group [group]   论坛用户   登录
http://www.securityfocus.com/microsoft

B2层 发表时间: 03/01 23:21

回复: danjames [danjames]   论坛用户   登录
哈,晓澜大哥辛苦了!
说实话,一看见大段的英文我就头痛!

B3层 发表时间: 03/06 15:27

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号