分享
 
 
 

MicrosoftSQL的多个安全缺陷

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

涉及程序:

Microsoft SQL

描述:

CERT 安全公告 CA-2002-22: Microsoft SQL的多个安全缺陷

详细:

Microsoft SQL服务器存在多个严重的安全缺陷,允许远程攻击者取得数据库的敏感信息、更改数据库内容、破坏 SQL 服务器。虽然微软过去曾发布 Security Bulletin 以解决各个问题,但仍须更加注意这些缺陷聚集的严重性。

自 2001年 12月,微软一共发布了八个 Security Bulletin,至少有十多个关于 SQL Server的安全缺陷。本文将着重介绍其中的五个最严重的安全缺陷的相关信息。

个别地看,许多缺陷都要求攻击者要想进行入侵,必须先达到一些显著的先决条件,但是若联合多个缺陷进行攻击,则能使攻击者拥有许多弹性并增加成功的机会。特别是在 VU#796313 中所描述的权限提升缺陷,允许攻击者授予 SQL Server 与操作系统相同的权限以削弱 SQL server 的安全策略,拥有完整管理者权限的 SQL Server 可以用来控制该服务器主机。

CERT/CC 建议系统管理者借此机会仔细检查一遍自己的SQL Server 并安装微软提供的相关修正程序。

VU#796313 - Microsoft SQL Server service account registry key has weak permissions that permit escalation of privileges (CAN-2002-0642)

Microsoft SQL Server 通常都是以专用的 "service account" 帐号执行,此帐号是由系统管理者在安装时所定义的,储存在 Windows registry 并有允许 SQL server 变更该 registry key 值的权限。其结果是能够存取 "xp_regwirte" 扩展存储进程的入侵者可以更改此 key 值并导致 SQL Server以 "LocalSystem" 帐号作为其提供服务的帐号。

在重新开机或重新激活 SQL service 后,SQL Server 会以具有完整系统管理权限的 "LocalSystem" 帐号执行。此能力允许远程攻击者通过发送 SQL queries 给 SQL server 而在系统上以系统管理员权限执行任意指令。

VU#225555 - pwdencrypt() 函数存在缓冲溢出 (CAN-2002-0624)

微软 SQL Server 提供使用者多种数据库的认证方法。当使用 SQL Server Authentication 时,每一个数据库用户的用户名和口令都存储在 SQL server 上的一个数据库内。当用户使用此认证方式并提供口令给服务器时,一个名为 pwdencrypt() 的函式负责将用户提供的口令编码以便与数据库中加密过的口令对比。

在 pwdencrypt() 函式中存在一个缓冲溢出的缺陷。此缺陷允许远程攻击者通过发送一个假造的密码而能在 SQL server 上执行任意程序代码。但攻击者必须先知道一个有效的用户名才能运用此缺陷,而成功的攻击能使攻击者提供的程序代码以 SQL service account 的权限被执行。

VU#627275 - Microsoft SQL Server 的扩展存储进程存在缓冲溢出缺陷(CAN-2002-0154)

微软 SQL Server 提供的扩展存储进程能够将一群 server 指令聚集在一起执行。数个微软 SQL Server 提供的扩展存储进程含有缓冲溢出的安全缺陷。这些进程提供数据库应用程序较多的功能,允许存取操作系统或网络资源。

参数透过 API 传入扩展存储进程并指定不同参数的实际长度与最大长度。有些扩展存储进程不能有效地验证所输入的参数长度,会导致缓冲区溢出的情况。

由于有些具有缺陷的进程预设为允许公开存取,未被认证的攻击者即可能利用这些缓冲区溢出缺陷进行攻击。SQL Server 数据库一般使用于web applications,因此这些具有缺陷的进程可能通过 Internet而被存取。微软 Security Bulletin MS02-020中陈述:

攻击者有两中方式运用此弱点。第一种,攻击者可以尝试加载并执行数据库查询,呼叫其中一个有缺陷的函数。第二种,若一个 web-site 或其它资料库前端软件设定为存取及处理任意查询,则攻击者可提交畸形参数和查询指令以调用有问题的函数。

VU#399260 - Microsoft SQL Server 2000 的解析服务存在堆溢出(heap buffer)缺陷(CAN-2002-0649)

微软 SQL Server 2000 引入 SQL Server Resolution Service (SSRS) 以提供在一台机器上执行多个 server instance 的 referral services。这个 service监听 UDP port 1434 并传回提供服务的SQL server instance 的 IP 地址和端口号。

SSRS 含有一个堆溢出(heap buffer)缺陷,允许未被认证的远程攻击者利用此缺陷发送伪造的 request 到 UDP port 1434 而在系统上执行任意指令,这些包含在request 内的程序代码会被 server 以 SQL Server service account 的权限执行。

VU#484891 - Microsoft SQL Server 2000的解析服务存在堆栈溢出(buffer overflow)缺陷(CAN-2002-0649)

SSRS 也存在一个堆栈溢出(buffer overflow)缺陷,允许未认证的远程攻击者利用此缺陷发送一个精心构建的 request 到 1434/udp 而在系统上执行任意指令,包含在此request 中的代码会以 SQL Server service account 的权限被执行。

受影响系统

* Microsoft SQL Server 7.0

* Microsoft SQL Server 2000

* Microsoft SQL Server Desktop Engine 2000

影响结果

VU#796313 - Microsoft SQL Server service account registry key has weak permissions that permit escalation of privileges

要利用此缺陷的先决条件为攻击者必须有能力修改 SQL service account的registry key (例如透过 "xp_regwrite" 扩展存储进程)。

此缺陷允许攻击者提升 SQL Server的权限使其以 LocalSystem 权限执行,以削弱 SQL Server 的 security policy。此缺陷还会增加其它缺陷的严重性,并可允许攻击者危害整部服务器主机。

VU#225555 - pwdencrypt() 函数存在缓冲溢出 (CAN-2002-0624)

此缺陷允许知道系统上有效帐号(username)的远程攻击者以 SQL service account的权限在系统上执行任意程序代码。

VU#627275 - Microsoft SQL Server 的扩展存储进程存在缓冲溢出缺陷

此缺陷允许未被认证的远程攻击者以 SQL service account 的权限在系统上执行任意指令。

VU#399260 - Microsoft SQL Server 2000 的解析服务存在堆溢出(heap buffer)缺陷

此缺陷允许远程攻击者以 SQL service account 的权限在系统上执行任意指令。

VU#484891 - Microsoft SQL Server 2000的解析服务存在堆栈溢出(buffer overflow)缺陷

此缺陷允许远程攻击者以 SQL service account 的权限在系统上执行任意指令。

攻击方法:

暂无有效攻击代码

解决方案:

安装微软提供的修复程序和补丁

VU#796313 - Microsoft SQL Server 服务帐号registry key 缺陷允许用户权限被非法提升

VU#225555 - pwdencrypt() 函数存在缓冲溢出 (CAN-2002-0624)

微软发布的 Security Bulletin MS02-034 修复了以上两个安全缺陷:

Microsoft SQL Server 2000:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316333&sd=tech

VU#627275 - Microsoft SQL Server 的扩展存储进程存在缓冲溢出缺陷

微软发布的 Security Bulletin MS02-020修复了此安全缺陷:

Microsoft SQL Server 7.0:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q318268&sd=tech

Microsoft SQL Server 2000:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316333&sd=tech

VU#399260 - Microsoft SQL Server 2000 的解析服务存在堆溢出(heap buffer)缺陷

VU#484891 - Microsoft SQL Server 2000的解析服务存在堆栈溢出(buffer overflow)缺陷

微软发布 Security Bulletin MS02-039修复了这两个安全缺陷:

Microsoft SQL Server 2000 and MSDE 2000:

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=40602

临时解决方案:

阻塞外部对微软 SQL Server 通讯端口的访问

严格限制来自外部的对 SQL Server通讯端口(1433/tcp, 1433/udp, 1434/tcp,1434/udp)的访问。VU#399260 和 VU#484891 可以利用伪造合法源地址的UDP数据包来进行攻击,因此系统管理员应该限制所有发送到1434/udp的外来数据包。

附加信息:

CAN-2002-0624 ;CAN-2002-0642 ;CAN-2002-0154 ;CAN-2002-0649

相关站点:

http://www.cert.org/advisories/CA-2002-22.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有