首页 -> 安全研究

安全研究

安全漏洞
Windows NT 4.0 / 2000 LPC 区域内存耗尽导致拒绝服务

发布日期:2000-10-05
更新日期:2000-10-05

受影响系统:
Microsoft Windows NT 4.0
Microsoft Windows NT Terminal Server
   + Microsoft Windows NT 4.0
Microsoft Windows NT 2000 Datacenter
Microsoft Windows NT 2000
描述:

LPC(本地过程调用)是一种消息传递服务,它允许本地机器上的线程和进程之间互相通信,与此相对应,RPC(远过程调用)则发生在不同的主机之间。LPC从一个池中分配内存,并将分配到的内存加入到LPC区域(LPC Zone)中,它是专门用来存放消息的。如果LPC区域中分配的内存无法处理收到的大量消息,则内存将从内核传送到LPC区域中。在通常情况下,一旦不再使用该内存时,这段内存应从LPC区域归还给内核。但是,构造一个特别的异常请求可以使LPC区域保留该段内存,通过重复该动作将最终耗尽内核的内存资源。
为了恢复正常功能必须重启系统。
这个漏洞只能用在用户可以交互登录的机器上,因此不可能从远程利用这个漏洞。
NT的LPC实现中还存在其它的漏洞,在微软安全公告(MS00-070)和Bindview的安全报告中有详细描述。

<* 来源:BindView's Razor Team (info@razor.bindview.com) *>



测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Bindview的Razor小组提供了一个概念证明式的工具来演示微软NT的LPC实现中存在的漏洞。
http://www.securityfocus.com/data/vulnerabilities/exploits/porttool.zip
以如下的命令行形式运行该工具:
start porttool -s6 \BaseNamedObjects\Foo
porttool -c6 \BaseNamedObject\Foo



建议:

微软已经发布如下补丁用来消除这个漏洞以及在微软安全公告(MS00-070)中讨论的其它LPC漏洞:

Microsoft Windows NT 4.0:

Microsoft patch Q266433i
http://download.microsoft.com/download/winntsp/Patch/q266433/NT4/EN-US/Q266433i.EXE
Intel

Microsoft Windows NT 2000:

Microsoft patch Q266433_W2K_SP2_x86_en
http://download.microsoft.com/download/win2000platform/Patch/Q266433/NT5/EN-US/Q266433_W2K_SP2_x86_en.EXE

浏览次数:6022
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障