MBSA显示服务器需要.NET 3.5,但服务器已安装.NET 4.0

我有一台服务器需要一个.NET3.5补丁KB951847(每个MBSA),但漏洞扫描不会根据需要报告该补丁…详细信息:服务器W2003安装了.NET4.0,但是MBSA告诉我需要安装为什么安装.NET 3.5的KB 951847补丁? 我只安装了.NET2 SP2和.NET 4,所以.NET 4.0不应该使.NET 3.5不相关?

服务器W2003 SP2(x86)-Nessus扫描不显示任何.NET漏洞

请帮我解决这个矛盾,我试图避免安装一个不必要的软件(.NET 3.5)。

谢谢 :)

.NET 3.0 / 3.5 / 3.5 SP1是在.NET 2.0之上的DLL /function添加/优化。

在内部,所有这些版本的.NET都使用相同的核心CLR(公共语言运行库)可执行文件。 因此,只要您的计算机上存在.NET 2.0 SP2就足以暴露MBSA正在标记的漏洞。

在.NET 4.0中,Microsoft实际上重新编写了CLR,创build了一个新的单独的可执行文件。 如果你只有4.0的机器,你可能不会被标记为这个补丁。

这篇TechNet文章解释了.NET 2.0和3.0 / 3.5 / 3.5 SP1之间的关系:
.NET Framework 3.5.1function概述

Scott Hanselman在他的博客文章中对.NET的版本进行了很好的解释:

.NET版本控制和多目标 – .NET 4.5是就地升级到.NET 4.0的 。

简而言之,.NET 3.5是就地升级到.NET 2的,所以这就是为什么需要安装。 他还有另外一个博客文章,尽pipe以IIS为中心,却有很好的信息来解释.NET 2.0和.NET 3.5之间的关系。

如何设置IIS应用程序或应用程序池使用ASP.NET 3.5而不是2.0

漏洞扫描受到以下几个问题的困扰:误报和漏报。

这就是为什么你总是需要检查结果,为什么有一个繁荣的行业进行适当的渗透testing,除了漏洞扫描。

一般来说,MBSA非常擅长处理依赖,所以也许你已经将.NET的一部分作为应用程序的一部分安装了。

.net(2.0,3.0,3.5,4.0)的每个不同的主要版本是完全独立的,并且需要它们自己的一组更新。 如果你有一个使用.NET 3.5的应用,即使你有4.0,你仍然需要3.5。

您需要安装您安装的所有.NET版本的安全更新。 如果您不使用.NET 3.5,则可以将其卸载