SQL Server安装过程可能将密码留在系统中 (Q263968)


最初发布时间: 2002年7月10日

内容提要

  • 谁应该阅读本公告:使用Microsoft® SQL Server 7.0, Microsoft Data Engine 1.0 (MSDE 1.0), 或者 SQL Server 2000的系统管理员
  • 薄弱环节可能造成的影响:获取权限
  • 最大危害程度:中等
  • 推荐的应对措施:SQL Server系统管理员应该立即在受影响的系统上,删除或移动安装文件,或者运行KillPwd工具。
  • 可能受到影响的软件:
    • Microsoft SQL Server 7, 包括 Microsoft Data Engine 1.0 (MSDE 1.0)
    • Microsoft SQL Server 2000

微软公司建议客户重新回顾安全公告:http://www.microsoft.com/technet/security/bulletin/MS02-035.asp

技术细节

问题:
当安装 SQL Server 7.0 (包括 MSDE 1.0),SQL Server 2000,SQL Server 7.0 或 SQL Server 2000 的 service pack 的时候,在一个名为 setup.iss 的安装文件中收集并存贮了安装过程中所需的信息。这个 setup.iss 文件可以被用于自动化安装更多的 SQL Server 系统。SQL Server 2000 还具有在 setup.iss 中记录不需要手工参与的安装信息的能力。安装 SQL Server 的系统管理员可能在安装过程中遇到下列情况需要提供密码:

  • 如果 SQL Server 是在“混合模式”下安装的,那么必须提供SQL Server系统管理员(“sa”账号)的密码。
  • 无论在“混合模式”或者是“Windows 认证模式”下面,都可以有选择地输入用户ID和密码来建立 SQL Server 服务账号。

不论是在那种情况下,密码都会保存在 setup.iss 文件中。在 SQL Server 7.0 Service Pack 4 以前,密码都以纯文本方式保存。而在 SQL Server 7.0 Service Pack 4 和 SQL Server 2000 Service Pack 1 和 2 中,密码是经过加密后再保存的。另外,在安装过程中,还建立了一个 log 文件来记录安装结果。该文件也会记录任何在 setup.iss 文件中记录的密码。

由于以下两个原因导致安全性漏洞:

  • 在安装完成以后这些文件仍然保存在服务器上。除了由 SQL Server 2000 建立的 setup.iss 文件,这些文件放在任何能登录到系统上的人都具有访问权限的目录中。
  • 密码信息要么是以纯文本方式保存(SQL Server 7.0 Service Pack 4 以前的版本),要么是以相对较弱的加密方式保存。获得这些文件的攻击者能用密码攻击方法来破解解密码,很可能可以得到 sa 密码和/或某个域账号密码。

缓解因素:

  • 该漏洞只能被具有登陆到受影响系统能力的攻击者所利用。然而,最佳实践建议不要允许没有授权的用户登陆到重要的商用服务器上,包括数据库服务器。
  • 关于 sa 密码的漏洞仅影响使用“混合模式”的服务器。使用“Windows 认证模式”(推荐模式)的客户,仅在安装 SQL Server 时选择了提供初始域账户时,才会具有风险。
  • 在 setup.iss 文件和 log 文件中保存的密码是在安装时提供的;并且,当密码改变以后不会更新。因此,如果系统管理员改变了密码,那么在 setup.iss 文件和 log 文件中的信息就不会泄漏任何权限。
  • 对于 SQL Server 2000,setup.iss 被保存在仅有系统管理员和安装用户能访问到的目录中。
  • 如果 setup.iss 文件和 log 文件被删除了,那么密码就不会泄漏了。

风险级别:

 Internet 服务器Intranet 服务器客户端系统
SQL Server 7.0中等中等
MSDE 1.0中等中等中等
SQL Server 2000中等中等

上面的评估是基于受薄弱环节影响的系统类型、它们的典型设置模式、以及利用这些漏洞可能产生的后果等因素来进行的。如果要攻击成功,攻击者必需能够登陆到 SQL Server,获取 setup.iss 或者 log 文件,并进行密码解密的工作。并且要求 SQL Server 安装好以后,密码保持不变。

薄弱环节标识:CVE-CAN-2002-0643

经过测试的产品版本:
Microsoft 测试了 SQL Server 7.0,MSDE 1.0,和 SQL Server 2000 来确定他们是否受该漏洞的影响。MSDE 2000 不建立受影响的 setup.iss 和 log 文件,因此不受此漏洞的影响。更早的版本不再受支持,可能会也可能不会受这些漏洞的影响。

可用的补丁:
此补丁的下载位置,KillPwd 工具能在下面所列的地方获取到:Microsoft SQL 7, MSDE 1.0,和Microsoft SQL Server 2000:http://www.microsoft.com/Downloads/Release.asp?ReleaseID=40205

附加信息

安装平台:
该工具能在下列系统上运行:

将提供的后续服务包:
针对该薄弱环节的修补功能将被包含于:

  • SQL Server 7.0 - 目前没有计划推出新的 Service Pack
  • SQL Server 2000 Service Pack 3

是否需要执行系统重启:
否。

有无替代修补程序:
本公告中提到的KillPwd工具替代了在 Microsoft 安全问题公告牌 MS00-035 提到的部分。

应用限制:

本地化情况:
KillPwd 工具能运行于所有支持 SQL Server 的语言环境上。

获取其它安全修补程序:
适用于其它安全问题的修补程序可从以下位置获得:

其他相关信息

感谢
Microsoft感谢Cesar Cerrudo向我们报告了这个问题,并和我们一起为保护客户而工作。

技术支持:

  • 编号为 Q26396 的 Microsoft 知识库文章对这一问题进行了讨论,这篇文章在本公告发布后约 24 小时后即可查阅。相关知识库文章可从Microsoft 在线技术支持 Web站点上获得。
  • 您可通过Microsoft 产品支持服务 获取相关技术支持。Microsoft并为提供与安全性修补程序相关联的技术支持电话。

安全性资源:
Microsoft TechNet 安全性 Web站点提供了有关Microsoft产品安全性的补充信息。

声明书:
MICROSOFT KNOWLEDGE BASE 中提供的信息按“现有状况”提供,没有任何种类的担保。MICROSOFT 否认任何形式的担保,无论是明示的还是默示的,包括适销性和适用性的担保。在任何情况下,MICROSOFT CORPORATION 或其供应商都不对任何形式的任何损失承担责任,包括直接的、间接的、意外的、业务利润的亏损或特殊的损失,即便在 MICROSOFT CORPORATION 或其供应商已被告知存在此种损失的可能性的情况下也依然不对此承担责任。由于某些国家不允许排除或限制对间接或意外损害的责任,以上限制可能不适用。

修订版本:

  • 1.0版(2002年7月10日):创建公告牌。
  • 1.1版(2002年7月11日):更新了“后续服务包将可提供”段。