Microsoft 安全公告 (MS01-60)MS SQL SEVER 漏洞及解决方案

/ns/ld/win/data/20020108025414.htm

Microsoft 公司发布安全公告,提出了两个新发现的漏洞:(1)函数库本身的问题导致内存溢出 (buffer overrun),(2)C runtime 函数库内格式字符串(format string)的漏洞产生拒绝服务 (denial of service)。本地攻击得利用此漏洞能取得系统特权或做 D.o.S 攻击,而非认证过的使用者无法取得权限。

谁应该阅读此篇文件:使用 Microsoft SQL Server 软件的数据库管理者
受影响的后果:执行攻击者程序,拒绝服务(Denial of service)
风险值 :中等(Moderate)
建议 :Microsoft 建议使用者依照 SQL Server 与 C runtime 不同方式进行修补安装。

有关此修正程序的相关信息可以参考下列的网址:
http://www.microsoft.com/technet/security/bulletin/MS01-060.asp


说明
SQL Server 7.0 和 2000 提供数个函数库让数据库查询以产生文字讯息(text messages),有些时候函数库所产生的文字讯息会储存于一个变量中;另一种是函式库会直接显示讯息。

但是在该函数库上发现了两种漏洞:

第一个漏洞是函数库本身所产生的问题,数个函数库无法证实其明确性,而因为有适用于 SQL 需求的文字讯息存于缓冲器(buffer)内,而产生了内存溢出(buffer overrun)的问题,并且也可依需求内容执行程序,或者引起其 SQL Server 服务产生错误。SQL Server 可安装于不同的安全环境下执行,并且可藉由网域内的使用者执行预设的功能,而可使得攻击者取得系统特权,最糟的情况是攻击者可对数据库内做出新增、删除与修改等动作。

第二个漏洞是在安装 SQL Server 软件于 Windows NT 4.0, Windows 2000 或 Windows XP 系统内,在呼叫 SQL Server 函数库时,产生 C runtime 函数库内格式字符串漏洞,透过格式字符串(format string)这个漏洞无法执行攻击者所选用的程序,因为这是经由特殊的方式而产生的漏洞,C runtime 程序代码的溢出问题是在于攻击者所输入并不重要的值(values) 上,因而只能产生拒绝服务(denial of service)。

这两个漏洞每次只会发生一个,大多数是发生于攻击者简单的下载并且执行,呼叫一个受到影响的函式进行并且进行数据库查询(query)的动作,若 Web 或其它数据库的前置编辑端(front_end)能接受并且处理攻击者所送出的询问(query),而这所接受的输入可能是攻击者所提供的部份,若是攻击者所提供的输入时其查询(query)时,利用适当的参数对受到影响的函式进行呼叫。

因为这两个漏洞的发生的原因不同,所以需分开进行修正,微软公司建议可将有安装 SQL Server 的软件进行修正,然而我们建议顾客依自我的需求对 C runtime 进行修正。

对系统产生影响:
- - 第一个漏洞是在于 SQL Server 服务安装时所取得的信赖产生的问题,SQL Server可以在安装后在管理者所选取的安全环境下执行(预设是网域使用者可执行之),假若需要做最好的执行时,需要最高权限才能执行之,系统对其会有限制存在,所以攻击者只有某些部份得以达成。
- - 第二个漏洞只能对 Windows NT 4.0, Windows 2000 或 Windows XP 系统环境下的 SQL Server有影响。

这二个漏洞都需要取得最高权限才会有影响,特别是无认证过的使用者,是无法在其所选的数据库服务器上取得允许下载并执行询查(queries)动作,和公然进行数据库询问(queries)输入在执行前会经过滤过器(filter)详细的检查。

测试的平台:
微软对于SQL Server 7.0 和 2000,Windows NT 4.0, Windows 2000 和 Windows XP环境下的 C runtimes 做存取测试,而以前系统版本不支持长文件名,则不一定会受到这漏洞的影响。

影响平台
Microsoft SQL Server 7.0
Microsoft SQL Server 2000

解决方案:
下载安装补丁:

- - SQL Server:

SQL Server 7.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35066

SQL Server 2000:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35067

- - C Runtime:

Windows NT 4.0 和 Windows 2000:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=33500

Windows XP:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35023

可透过下列的连结可得取更多软件更新的信息:
http://www.apple.com/macosx/upgrade/softwareupdates.html

注意:

现有的修正方式:

- - 适用的修正环境:

SQL Server:
SQL Server 7.0 需安装 SQL Server 7.0 Service Pack 3 环境上执行
SQL Server 2000 需安装 SQL Server 2000 Service Pack 1 环境上执行

C Runtime:
Windows NT 4.0 C runtime 需安装 Windows NT 4.0 Service Pack 6a 环境上执行
Windows NT 2000 C runtime 需安装 Windows 2000 Service Pack 1 or Service Pack 2 环境上执行
Windows XP C runtime 需安装 Windows X Gold 环境上执行

未来将存放的service packs:
SQL Server 的修正程序包含于 SQL Server 2000 Service Pack 2.
C Runtime 的修正程序包含于Windows 2000 Service Pack 3 和 Windows XP Service Pack 1.

- - 修补完毕后自动重新激活系统
SQL Server patch:
C Runtime patch: Yes

- - 取代 MS01-054 所发布的修改程序

- - 验证是否正确安装

SQL Server 7.0:
为了确保你正确的安装修正程序,执行 "SELECT @@VERSION" 指令在命令提示列(但
请不要加上" ")
若已正确安装时,可查看其版本是否为 "SQL Server 7.00 - 7.00.1004" or greater.
如果要核对个别的档案,与使用和版本的相关信息 Q304851

SQL Server 2000:
为了确保你正确的安装修正程序,执行 "SELECT @@VERSION" 指令在命令提示列(但
请不要加上" ")若已正确安装时,可查看其版本是否为 "SQL Server 8.00 - 8.00.0428" or
greater.
如果要核对个别的档案,与使用和版本的相关信息 Q304850

Windows NT 4.0 C Runtime:
如果要核对个别的档案,与使用和版本的相关信息 Q305601

Windows 2000 C Runtime:
如果要确定此修正程序是否在此机器上正确安装,请核定以下的 registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP3\Q305601.
如果要核对个别的档案,在以下 registry key 核对日期/时间以及版本信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows2000\SP3\Q305601\Filelist

Windows XP C Runtime:
如果要确定此修正程序是否在此机器上正确安装,请核定以下的 registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\q305601.
如果要核对个别的档案,在以下registry key 核对日期/时间以及版本信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\WindowsXP\SP1\q305601\Filelist
若想多了解相关信息可藉由上列的相关系统信息Q304850, Q304851 和 Q305601 得知。

- - 取得修正程序有下列方式

1.可经由微软程序下载中心(Microsoft Download Center)中取得,可使用"security_patch" 字符串寻找
2.微软的使用者可经由WindowsUpdate的网站取得 http://windowsupdate.microsoft.com/
3.所有的修正程序可经由WindowsUpdate网站取得也可到WindowsUpdate组织网站取得。

- - 其它有关安全性的修正程序,可由微软程序下载中心(Microsoft Download Center)中取得。