该更新链似乎是 KB978338 到 KB978886 到 KB2563894 到 KB2588516(最新)。这四个更新都在我们的 WSUS 服务器上获得批准。KB978338 被列为“不适用于所有计算机”,因为它已被取代。这是我所期望的行为。但是,我们的安全办公室报告说,KB978338 仍应安装在所有计算机上,因为其实际效果不会在其后的任何更新中复制。以下是我收到的分析:
KB978886 仅适用于 Vista SP1。SP2 的推出并未解决 ISATAP 漏洞,而是再次引入了该漏洞。
KB2563894 仅更新两个文件(Tcpip.sys 和 Tcpipreg.sys)。它不会更新其他 12 个受影响的 ISATAP、UDP 和 NUD .sys 和 .dll 文件。(MS11-064)
KB2588516 解决了格式错误的连续 UDP 数据包溢出问题。但并未解决与 ISATAP 相关的 NUD 和 TCP .sys 和 .dll 文件。(MS11-083)
所以确实存在许多 IP 漏洞。但每个 KB 都解决了特定问题,不会影响其他 KB。
我们可以通过手动运行 .MSU 文件来安装 KB978338,但我们不确定这是否会覆盖后续补丁更新的几个文件,因为我们会无序安装补丁。
上述分析是否正确?取代链是否定义错误?如果是,正确的报告方式是什么,以便正确的 Microsoft 团队可以对其进行更改?我们目前正在使用 Vista SP2 的 32 位和 64 位安装。
注意:我应该提到我在 Technet 上发布了此内容我会及时更新我在这里获得的任何信息。
答案1
在安全性显示需要 KB978338 的系统之一上检查这些文件的版本。
Bfe.dll
Fwpkclnt.sys
Fwpuclnt.dll
Ikeext.dll
Iphlpsvc.dll Netio.sys
Netiomig.dll
Netiougc.exe
Tcpip.sys
Tcpipcfg.dll
Tcpipreg.sys
Tunmp.sys
Tunnel.sys
有时,检测可能会因一个或多个文件位于与典型安全更新不同的“分支”而受到干扰。由于核心性质和大量受影响文件,此包中的文件也是许多其他 QFE 分支修补程序的主题。
安全更新通常位于所谓的通用发行版本 (GDR) 分支中。解决特定问题的修补程序位于所谓的快速修复工程 (QFE) 分支中,也称为有限发行版本 (LDR)。QFE 文件通常包含 GDR 修补程序,但 GDR 修补程序可能不包含 QFE 修补程序。这些文件通常会在服务包发布时重新聚合。(大多数经过全面测试的公共 QFE 修补程序通常包含在下一个服务包中)。
如果这些文件中的任何一个出现在 QFE 分支上,则它可能已经具有所需的修复。大多数情况下,检测工作正常,并且安全更新通常包含两个分支的文件,以防您在 QFE 分支上有一个或多个文件。通常每个文件都会更新多个版本,具体取决于产品可用的服务包数量。对于 KB978338,这就是为什么包含六个不同版本的 tcpip.sys。6.0.6000.17021、6.0.6000.21226、6.0.6001.18427、6.0.6001.22636、6.0.6002.18209 和 6.0.6002.22341。
更多信息:
http://blogs.technet.com/b/mrsnrub/archive/2009/05/14/gdr-qfe-ldr-wth.aspx
答案2
看起来这个链条确实搞砸了(它一直在继续,978338 取代了 974112)——而 KB 中指出的唯一真正的取代关系是 2588516 取代了 2563894。
但是,系统仍应检测是否需要已被取代的更新。如果未检测到,则可能已安装更新 - 可能是同一补丁的 SP1 版本,因此系统文件已经是正确的版本,但 Vista SP2 更新未显示为已安装?
还是说被取代的更新被拒绝了?这也会阻止检测。
当您显示已安装的更新时,被取代的更新是否会显示在添加/删除中?当您对 Windows 更新服务器而不是 WSUS 进行手动检查时会发生什么情况,它们是否会按需要显示?
答案3
这也给我们带来了一些困惑。如果您只检查“取代”列,您会看到非 XP 版本显示“被另一个取代,取代其他”指示符。但是,检查更新详细信息本身,您会看到“取代此更新的更新”条目为“无”。这让我相信上述信息,即此修补程序的某些文件已由较新的修补程序更新,但不是所有文件,是此问题的原因。也许 Microsoft 需要重新分类此修补程序或发布包含所有 4 个文件的汇总。