当前位置:早雪网网络学院编程文档数据库技术mssql → 前车之鉴! SQL Server漏洞详解

前车之鉴! SQL Server漏洞详解

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 9:30:24
 1月25日至26日,在全球范围内发生了网络故障。从日本网络以及安全相关的邮件列表和
安全产品开发商等提供的信息来看,其主要原因很可能就是恶意使用2002年7月发现的SQL
Server 2000(美国微软开发的数据库管理系统)安全漏洞的蠕虫病毒。
 说实话,笔者目前仍无法断言恶意使用SQL Server 2000安全漏洞的蠕虫病毒就是引
发此次故障的唯一或者说是首要原因。但是,至少可以确定的是,在发生故障的时间段里在世
界各地出现了数量异常的对SQL Server所使用的端口的访问(即攻击),而且上面所讲的蠕虫
病毒(被称为SQL Slammer、Sapphire、SQLExp和SQLP1434等)也确实正在传播蔓延。
 2001年出现的“红色代码”和“尼姆达”病毒曾使IIS(Internet Information
Server/Services)的安全性受到了广泛关注。但是也许会不少读者认为“难道SQL Server的
安全漏洞真会受到攻击?”。即便是注意到IIS的用户(管理员)也很可能并没有特别注意
 笔者希望没有使用SQL Server的用户也绝不要认为此次的事件“事不关己”。即便不
是公开的服务器,能够由互联网访问的机器也可能会随时受到攻击。而且一旦受到蠕虫病毒的
攻击,受损失的不只是自己的机器。有可能使整个互联网陷入危机之中。
 让我们回忆一下2002年11月发生的对互联网路由DNS服务器的攻击。因互联网上的脆
弱机器而影响网络正常通信的事件已经在我们身边发生过了。而且,此次发生的损失更为严重
的事件极有可能也同样是众多脆弱机器被用作了攻击的帮凶。
 不仅为了自己,而且为了所有互联网用户,也必须消除安全漏洞。此次虽说是SQL
Server 2000偶然成了攻击目标,但也可以说是针对所有软件的。因此必须以此次蠕虫病毒事
 没有吸取过去的教训
 作为以SQL Server为攻击目标的蠕虫病毒,有的蠕虫病毒利用在默认条件下没有设置
密码的“sa”帐户传播感染。这种蠕虫病毒曾经“流行”于2001年11月及2002年5月。不过如
果在sa帐户中设置密码,就能够防止这种蠕虫病毒,而没有必要安装SQL Server的安全漏洞补
 但是此次肆虐的蠕虫病毒则恶意使用SQL Server中的缓存溢出安全漏洞。即便是在sa
帐户中设置了密码的SQL Server机器,如果没有安装补丁程序也会受到攻击。
 在恶意使用sa帐户的蠕虫病毒出现时,不单要设置密码,“由于SQL Server也会成为
攻击对象,因此要及时安装补丁程序”,或者“利用防火墙全部关闭SQL Server所使用的端口
”--如果所有的用户都这么想,并且采用了相应对策,也许就不会导致此次危机的发生。
 另外,此次的蠕虫病毒与攻击IIS的“红色代码”病毒非常相似。就是恶意使用已经
公开了其补丁程序的安全漏洞进行感染。而且,由于只是在内存中运行(即常驻内存)而不在
受感染的机器上生成文件,因此无法利用防病毒软件进行检测。
 虽然“红色代码”及后来发现的“尼姆达”病毒使得在IIS服务器中安装补丁程序的
重要性得以被大家重视,但是如果所有用户都能意识到“不仅是Web服务器,其他服务器(服
务)也有可能成为攻击对象。在SQL Server中也应及时安装补丁程序”,也许就不会造成这么
 可见,过去出现的蠕虫病毒并没有使人们引以为戒。
  曾被“预言”到的严重事态
 有的读者对以SQL Server的安全漏洞为攻击目标的蠕虫病毒发生蔓延感到非常意外,
但此次劫难其实已经早有预料。2002年7月,微软相继公开了SQL Server中的严重安全漏洞,
美国CERT/CC也发出了警告。当然,其中就包括有此次蠕虫病毒所恶意使用的“(MS02-039)
Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Execution
(SQL Server 2000解析服务的缓冲器的溢出,可能导致被执行任意代码)的脆弱性”这一安
 务必吸取此次的“教训”
 根据部分邮件列表公开的信息,1月25日晚此次的蠕虫病毒活动情况逐渐减弱。对
UDP 1434端口的攻击(访问)正在减少。但是我们仍旧不能掉以轻心。为了以防万一,务必吸
 首先,SQL Server用户当然必须采取相应对策。就像此次发作的蠕虫病毒所证明的那
样,今后我们必须做好SQL Server会与IIS一样成为攻击对象的准备。因此只是消除此次的蠕
虫病毒所攻击的“(MS02-039)Buffer Overruns in SQL Server 2000 Resolution Service
Could Enable Code Execution的脆弱性”这一安全漏洞还不够。必须安装SQL Server所用的
最新累积补丁程序“(MS02-061)SQL Server Web任务存在权限提升漏洞”、或者包含
MS02-061补丁程序的“SQL Server 2000 Service Pack 3(SP3)”,消除目前所发现的所有
 不仅是受此次的蠕虫病毒影响的SQL Server 2000/SQL Server Desktop Engine(
MSDE)2000,还必须消除SQL Server其他版本的安全漏洞。另外,有时即便用户本身没有意识
到,其他产品也可能正在使用SQL Server/MSDE。由于此种情况当然也会受到安全漏洞的影响
,因此安装补丁程序是不可缺少的。日本微软的网页上详细地刊登了有可能使用SQL
 然而,问题在于此。如果只是在SQL Server中安装补丁程序,就不能说是吸取了此次
蠕虫病毒的教训。只有当人们认为“除SQL Server以外,今后其它软件也有可能受到攻击”,
并对其他软件??尤其是服务器软件采取安全对策时,才算是真正汲取了此次的教训。凡是无
法安装补丁程序或者不知道最新版本的服务器软件(服务)都应该关闭。尽管读者也许已经听
腻了,但笔者还是要说应该只运行那些真正需要的服务。因为只有需要的服务,才能够进行充
 基于防火墙等的访问控制也同样如此。只打开那些真正需要的端口。虽说此次受到攻
击的是UDP 1434端口,但如果只是关闭该端口并没有多大的意义。如果攻击其他端口,就会再
次受到攻击。也许同样是已经听腻的套话,但首先是关闭所有的端口,然后仅仅打开所必须的
 需要注意的是即便关闭了端口,也并不是就可以不安装补丁程序。因为不仅有可能受
到内部用户的故意攻击,而且还有可能在无意识的情况下感染到蠕虫病毒。就像“尼姆达”蠕
虫病毒事件中所表明的那样,我们不知道蠕虫病毒会从哪里侵入到机器中。尽管网络“入口”
处的守护工作很重要,但是还必须提高每一台机器的安全性。
 另外,还必须采用发送过滤措施。就像前面所讲的那样,无论防守多么坚固,蠕虫病
毒都可能通过RAS和移动机器潜入到单位的网络中。为了避免本单位成为“攻击者”,必须对
 正如此

[1] [2]  下一页


Tags:前车之鉴,SQL,Server,漏洞,详解
[数据载入中...] [返回上一页] [打 印]