格式不正确的 PPTP 数据包流可能会导致内核耗尽
发布时间: 2001 年 2 月 13 日 |更新时间:2003 年 6 月 23 日
版本: 1.5
最初发布: 2001 年 2 月 13 日
更新时间: 2003 年 6 月 23 日
总结
谁应该阅读此公告:
使用 Microsoft® Windows NT® 4.0 提供 PPTP 服务的系统管理员。
漏洞的影响:
拒绝服务
建议:
将修补程序应用到所有 PPTP 服务器。
受影响的软件:
Microsoft Windows NT 4.0 工作站
Microsoft Windows NT 4.0 Server
Microsoft Windows NT 4.0 Server,企业版
Microsoft Windows NT 4.0 Server, Terminal Server Edition
注意: 仅当在计算机上安装并运行 PPTP 服务时,上述产品才会受到影响。
常规信息
技术详细信息
技术说明:
Windows NT 4.0 中的 PPTP 服务在处理特定类型的数据包的代码中存在缺陷,这会导致内核内存泄漏。 如果受影响的服务器收到包含特定格式的足够数量的数据包,内核内存最终将耗尽。 可能的结果是服务器将完全挂起或失败。 在任一情况下,都需要重启计算机才能恢复正常操作,并且此时正在进行的任何 PPTP 会话都将丢失。 攻击者不必建立有效的 PPTP 会话才能利用漏洞。
缓解因素:
- 该漏洞不会以任何方式威胁 PPTP 会话中数据的安全性 - 它绝对是拒绝服务漏洞。
- PPTP 服务默认不运行
- Windows 2000 计算机(甚至运行 PPTP 的计算机)不受此漏洞的影响。
漏洞标识符:CAN-2001-0017
常见问题解答
漏洞的范围是什么?
这是 拒绝服务 漏洞。 通过将大量特殊格式不正确的数据包发送到受影响的服务器,攻击者可能会阻止服务器向用户提供安全的网络会话。 此处的服务旨在向 Internet 公开,因此防火墙不会是针对漏洞的可行防御。
该漏洞不会使攻击者能够入侵任何安全连接, 只会使他能够阻止这些连接发生。 同样,该漏洞不会为攻击者提供计算机上的任何特权。 只有运行 PPTP 服务的 Windows NT 4.0 服务器受漏洞影响。
导致漏洞的原因是什么?
Windows NT 4.0 中 PPTP 协议的实现包含处理特定数据包的代码部分中的内存泄漏。 如果将一系列包含特定格式的 PPTP 数据包发送到受影响的服务器,则服务器的资源可能会耗尽到服务器发生故障的点。
什么是 PPTP?
PPTP (点到点隧道协议)是一种协议,允许用户通过不安全的通信通道建立安全远程连接。 PPTP 通常用于支持在外出时需要连接到公司网络的旅行员工。
假设 Jane 是一名旅行员工,需要访问公司网络上的资源。 使用 PPTP,她将通过本地 ISP 访问 Internet,然后连接到公司的 PPTP 服务器。 客户端和服务器交换会话信息,然后建立安全连接。 完成后,Jane 会在安全会话内执行她需要执行的任何工作。
PPTP 有什么问题?
当 PPTP 服务建立会话、交换数据和结束会话时,它会定期需要操作系统中的资源。 使用完这些资源后,应该按照设计将其返回到操作系统,以便其他进程可以使用它们。 但是,PPTP 服务中的缺陷会在某些条件下阻止它返回它使用的所有资源。
具体而言,如果服务收到特定类型的无效 PPTP 数据包,它将请求一些内存,但完成后不会将其返回到操作系统。 每次服务收到此类数据包时,都会耗尽系统上的可用内存。 如果收到并处理了此类型的足够数据包,它将耗尽内存到计算机可能“挂起”的点,并且只是变得无响应,或者可能完全失败。
攻击者可以通过此漏洞执行哪些操作?
如果攻击者在此处生成了大量数据包并将其发送到受影响的服务器,则可能导致服务器停止提供服务。 这将导致任何现有的 PPTP 会话丢失,并会阻止新连接,直到计算机还原到正常服务。
此漏洞不会使攻击者能够破坏任何 PPTP 会话的安全性。 同样,它不会让他在服务器或客户端上泄露任何数据,也不会给他任何一台计算机任何形式的管理控制。
如果计算机通过此漏洞受到攻击,需要执行哪些操作才能将其还原到正常服务?
需要重新启动计算机。
通过此漏洞装载攻击有多困难?
尽管利用漏洞在技术上并不困难,但攻击者面临一些操作挑战。 只需将一个格式不正确的数据包发送到受影响的计算机,甚至数百个就不够了。 每个数据包仅消耗少量系统上的内存,因此攻击者需要发送大量数据包,并至少停留几分钟。 在此期间,操作员可能采取防御措施,例如阻止攻击者的数据包。
攻击者是否可以利用此漏洞?
是的。 缺陷在于 PPTP 服务中,需要向 Internet 公开该服务。
攻击者是否需要建立 PPTP 会话才能利用此漏洞?
否。 他需要做的就是在受影响的服务器上定向一系列特殊格式的数据包。
内存泄漏是否可以在正常使用期间发生?
否。 正常 PPTP 会话极不可能生成具有导致内存泄漏的特定格式的数据包。 无论如何,只需生成一个此类数据包是不够的-需要生成这些数据包的一个 stead stream 并将其定向到服务器。
所有 Windows NT 4.0 服务器是否都面临此漏洞的风险?
否。 只有运行 PPTP 服务的服务器处于危险状态。 默认情况下,该服务不会运行。
Windows NT 4.0 终端服务器是否面临此漏洞的风险?
尽管可以在终端服务器上运行 PPTP 服务,但这样做会非常糟糕。 终端服务器不应用作网络边缘计算机。
Windows NT 4.0 工作站是否面临此漏洞的风险?
PPTP 可以安装在 Windows NT 4.0 工作站上,但由于与有关终端服务器讨论的原因类似,允许工作站充当网络边缘计算机是非常糟糕的做法。
漏洞是否影响 Windows 2000 PPTP 服务器?
否。 Windows 2000 PPTP 服务不受此漏洞的影响。
谁应该应用修补程序?
Microsoft 建议使用 Windows NT 4.0 提供 PPTP 服务的客户应用修补程序。
修补程序的作用是什么?
修补程序会导致 PPTP 服务在使用完内存后正确将内存返回到操作系统。 这可以防止导致系统故障的资源泄漏。 但是,请务必了解,即使在应用修补程序后,洪水攻击也可能仍然可能。
在通过此漏洞的典型攻击中,攻击者会在服务器上定向大量格式不正确的数据包。 应用修补程序后,服务器将通过检查数据包并拒绝数据包来正确处理数据包。 但是,它确实需要系统资源来执行此操作,因此,如果针对修补的系统装载了此类攻击,则 CPU 可用性在数据包传入时可能会下降。 不过,这完全是流量量的结果,在数据包流停止后,CPU 可用性将立即恢复。
修补程序可用性
下载此修补程序的位置
Windows NT 4.0 工作站、Windows NT 4.0 服务器和 Windows NT 4.0 服务器,企业版:
Windows NT 4.0 服务器,终端服务器版本:
包含在 Windows NT Server 4.0 终端服务器版本安全汇总包中。
有关此修补程序的其他信息
安装平台:
可以在运行 Windows NT 4.0 Service Pack 6a 的系统上安装修补程序。
包含在将来的 Service Pack 中:
此问题的修补程序将包含在 Windows NT 4.0 Service Pack 7 中。
验证修补程序安装:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q283001。
若要验证各个文件,请参阅知识库文章中的文件清单Q283001
注意:
无
本地化:
此修补程序的本地化版本正在开发中。 完成后,它们将出现在“获取其他安全修补程序”中讨论的位置。
获取其他安全修补程序:
可从以下位置获取其他安全问题的修补程序:
- 安全修补程序可从 Microsoft 下载中心获取,可通过执行关键字 (keyword)搜索“security_patch”来轻松找到。
- WindowsUpdate 网站也提供了修补程序。
其他信息:
确认
Microsoft 感谢 多元化软件产业公司的 Kirk Corey 向我们报告此问题,并与我们合作保护客户。
支持:
- Microsoft 知识库文章Q283001讨论此问题,此公告发布后大约 24 小时可用。 可以在 Microsoft Online 支持网站上找到知识库文章。
- Microsoft 产品支持服务提供技术支持。 与安全修补程序关联的支持调用不收取任何费用。
安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。
免责声明:
Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。
修改:
- V1.0(2001 年 2 月 13 日):公告已创建。
- V1.1(2001 年 2 月 14 日):由于报告出现问题,已删除修补程序。
- V1.2(2001 年 2 月 15 日):验证正确功能后恢复修补程序。
- V1.3(2001 年 2 月 20 日):已修改公告,指出可在 Windows NT 4.0 工作站上安装 PPTP。
- V1.4(2002 年 4 月 26 日):公告更新为建议 Windows NT 4.0 服务器、终端服务器版本安全汇总包的可用性。
- V1.5(2003 年 6 月 23 日):更新了指向Windows 更新的下载链接。
生成于 2014-04-18T13:49:36Z-07:00