BizTalk Server 累积式修补程序 (815206) 最初发布日期;2003-04-30 摘要: 本公告的读者对象: 安全漏洞的影响:共有 2 个漏洞,其中最严重的漏洞使攻击者能够运行其代码。 最高严重等级:重要 建议:使用 Microsoft BizTalk 的系统管理员应考虑应用此修补程序。 受影响的软件: Microsoft BizTalk Server 2000 Microsoft BizTalk Server 2002 详细技术资料: 技术说明: Microsoft BizTalk Server 是一种企业集成产品,它使企业能够将应用程序、商业伙伴和业务流程集成在一起。BizTalk 用于在内部网环境中在不同的后端系统之间传输业务文档;同时,也可以在外部网环境中与商业伙伴交换结构化信息。此修补程序可消除 BizTalk Server 中两个新报告的安全漏洞。 第一个漏洞只影响 Microsoft BizTalk Server 2002。BizTalk Server 2002 具有使用 HTTP 格式交换文档的功能。在用于接收 HTTP 文档的组件(即 HTTP 接收器)中,存在缓冲区溢出问题;它使攻击者能够在 BizTalk Server 上执行其代码。 第二个漏洞对 Microsoft BizTalk Server 2000 和 BizTalk Server 2002 均有影响。BizTalk Server 使管理员可以通过一个文档跟踪与管理 (DTA) Web 界面来管理文档。一些 DTA 使用的页面中存在 SQL 注入漏洞,该漏洞使攻击者能够向合法的 DTA 用户发送特制的 URL 查询字符串。当该用户浏览到攻击者发送的 URL 时,他/她就可能会执行查询字符串中恶意的嵌入式 SQL 语句。 减轻影响的因素: HTTP 接收器缓冲区溢出 HTTP 接收器仅存在于 Microsoft BizTalk Server 2002 中。BizTalk Server 2000 不受此漏洞的影响。 默认情况下不启用 HTTP 接收器。在 BizTalk 站点的设置过程中,必须明确启用 HTTP 作为接收传输手段。 如果此漏洞被用于运行任意代码,这些代码将在 IIS 服务器的安全环境中运行。如果 IIS 服务器在某个用户帐户下运行,那么攻击者的权限将被限制在该用户帐户的权限范围内。 DTA SQL 注入 DTA 用户通常不是权限很大的 SQL 帐户,因为只需成为"BizTalk Server 报表用户"安全组的成员就可使用 DTA Web 界面。在这种情况下,即使他们无意中执行了恶意 SQL 语句,所执行的操作也会因 SQL 权限不足而失败。 严重等级: Microsoft BizTalk Server 2000 中等 Microsoft BizTalk Server 2002 重要 上面的评估是基于薄弱环节影响的系统类型、典型的部署模式和暴露薄弱环节后的影响而作出的。 隐患标识符: HTTP 接收器缓冲区溢出CAN-yyyy-xxxx DTA SQL 注入 CAN-yyyy-xxxx 测试过的版本: Microsoft 测试了 Microsoft BizTalk Server 2000 和 Microsoft BizTalk Server 2002,以评估它们是否会受到该漏洞的影响。 常见问题: HTTP 接收器缓冲区溢出 该漏洞的影响范围有多大? 这是一个缓冲区溢出漏洞。成功利用此漏洞的攻击者可导致系统发生故障,还能凭借系统特权运行所选代码。利用系统特权运行代码将使攻击者能够在机器上执行任何需要的操作,例如添加、删除或修改系统上的数据,以及创建或删除用户帐户。 该漏洞是由什么问题引起的? 该漏洞是由 BizTalk Server 2002 HTTP 接收器功能中存在未检查的缓冲区所致。 什么是 BizTalk Server 2002 HTTP 接收器? BizTalk Server 的主要功能之一就是在后端业务系统之间传输业务文档。有很多不同的文档接收功能可用,包括文件传输、SMTP 和 MSMQ。BizTalk Server 2002 引入了使用 HTTP 作为文档传输协议的功能--这是通过使用 HTTP 接收器功能得以实现的,该接收器功能以 ISAPI 筛选器的方式实施。 HTTP 接收器在默认情况下不启用,并且必须在初次设置 BizTalk 站点时明确地作为选项予以选择。 什么是 ISAPI 扩展? ISAPI(Internet 服务应用程序编程接口)技术使开发人员可以扩展 IIS 服务器提供的功能。ISAPI 扩展是一个动态链接库 (.dll),它使用 ISAPI 提供一套 Web 功能,这些功能超过 IIS 以本机方式提供的功能。 当用户需要使用 ISAPI 扩展提供的一种功能时,他们可以向服务器发送一个请求。某些情况下可以直接调用 ISAPI 扩展,但更常见的情况是用户在服务器上请求包含要处理的命令的文件。遇有用户请求此类文件时,IIS 会确定应该用哪个 ISAPI 扩展分析该文件,方法是查看一个脚本映射表,该表列出了与服务器上的各个 ISAPI 扩展相关的文件扩展名。 BizTalk Server 存在什么问题? 用于接收 HTTP 文档的 BizTalk Server ISAPI 筛选器(即 HTTP 接收器)中存在一个缺陷。因此,如果向 HTTP 接收器发送格式错误的特殊请求,则可能会导致缓冲区溢出。 攻击者能利用该漏洞做什么? 此漏洞使攻击者能够在承载 ISAPI 筛选器的 IIS 服务器的安全环境中运行所选代码。默认情况下,IIS 5.0 在用户帐户下运行。 攻击者可能会如何利用该漏洞? 攻击者可能通过向 HTTP 接收器发送格式错误的特殊请求来尝试利用此漏洞。此请求会导致缓冲区溢出,从而允许攻击者在服务器上执行所选代码。 修补程序能做什么? 修补程序通过确保 HTTP 接收器执行正确的输入验证检查来消除上述漏洞。 DTA SQL 注入 该漏洞的影响范围有多大? 这是一个 SQL 注入漏洞,它使攻击者能够对 BizTalk SQL 数据库进行操作,并使攻击者有可能在数据库上运行操作系统命令(这取决于执行所插入的 SQL 语句的 DTA 用户的权限)。尽管此漏洞可向攻击者提供对数据库的控制能力,但它只在操作系统级别上提供有限的特权。 此漏洞对 BizTalk Server 2000 和 BizTalk Server 2002 均有影响。 该漏洞是由什么问题引起的? 该漏洞产生的原因是"文档跟踪与管理"Web 站点中所使用的一个 Web 页有不完整的输入参数验证。 什么是"文档跟踪与管理 (DTA)"Web 站点? DTA Web 站点允许管理员跟踪与管理文档,而这些文档将由 BizTalk 服务器处理。它使 BizTalk 管理员能够通过基于 Web 的工具来构建将对 BizTalk 跟踪数据库运行的查询。 默认情况下,DTA Web 站点限制为由"BizTalk Server 报表用户"安全组的成员使用。为了对数据库执行查询,用户还必须具有在 BizTalk SQL 数据库中分配的"dta_ui_role"角色。 什么是 SQL 注入? 通过一个实例可以很容易解释 SQL 注入。假设某个 Web 站点承载了一个允许访问者对联机数据库搜索特定词语的应用程序。并且该应用程序是这样工作的:接受用户提供的任何输入内容,将此内容插入一个数据库查询,然后就运行该查询;不过,攻击者可能会提供 SQL 语句,而不是文本。这样,当 Web 应用程序运行查询时,攻击者的命令就会作为查询的一部分执行。这种类型的漏洞即所谓 SQL 注入。 DTA Web 站点存在什么问题? DTA Web 站点中的几个 Web 页不执行正确的输入验证。由于这些网页从 URL 查询字符串检索信息,并使用它来查询数据库,攻击者可以向合法的 DTA 用户发送特制的 URL 查询字符串--如果该用户浏览到此 URL,他/她就可能对数据库执行查询字符串中恶意的嵌入式 SQL 语句。 攻击者可能如何利用该漏洞? 利用 SQL 注入漏洞,攻击者可能会修改提交到 BizTalk 跟踪数据库的数据库查询。这样,攻击者就可以插入在 URL 中嵌入的恶意 SQL 命令,从而使该命令得以传递到数据库。 哪些命令可以传递到操作系统? 可以传递到操作系统的命令的级别取决于 DTA 用户在承载 SQL 数据库的服务器上的权限级别。DTA 用户的权限通常不是很大,因为他们只需加入"BizTalk Server 报表用户"安全组即可使用 DTA Web 界面。因此用户对 SQL Server 所拥有的权限通常十分有限。 哪些人可能利用该漏洞? 任何人都可以尝试制作一个 URL 查询字符串,在其中包含针对 DTA Web 站点的恶意 SQL 语句;但是,此查询字符串必须由 DTA 用户执行才能使攻击生效。 攻击者可能如何利用该漏洞? 攻击者可能通过以下方式利用该漏洞:专门制作一个 URL,然后将该 URL 发送给某个用户,或者张贴到一个 Web 站点上。当用户浏览到该 URL 时,其中所包含的 SQL 就会被插入 DTA Web 站点中受影响的 Web 页内。 攻击者是否只是从任何 BizTalk 服务器上复制该 Web 页,然后就可以对 BizTalk 跟踪数据库运行它? 否。此行为不起作用,因为攻击之前需要了解将运行 DTA Web 站点的 IIS Web 服务器连接到 BizTalk 跟踪 SQL 数据库所用的安全信息。攻击者无法获取此信息,除非他们被授予对 IIS 服务器的权限,例如在 SQL 数据库上具有现有权限。 通过 SQL Server 发布操作系统命令后,攻击者可以做什么? 攻击者对 DTA 数据库的访问权范围取决于用户所具有的权限。DTA 用户通常不具有很大的特权,因为他们只需是"BizTalk Server 报表用户"安全组的成员即可使用 DTA Web 界面。因此,默认情况下,他们在 SQL Server 上执行操作系统命令的权限十分有限。 修补程序能做什么? 此修补程序可确保 DTA Web 站点中受影响的 Web 页执行正确的输入验证检查。 获取修补程序 该修补程序的下载位置 http://www.microsoft.com/Downloads/Release.asp?ReleaseID=xxxxx 安装平台: 此修补程序可安装在运行 BizTalk Server 2002 Gold 和 BizTalk Server 2000 Service Pack 2 的系统上。 是否包括在将来的 Service Pack 中: 此问题的修补程序将包含在 Service Pack 1 for BizTalk Server 2002 和 Service Pack 3 for BizTalk 2000 中 是否需要重新启动: BizTalk Server 2000:否 BizTalk Server 2002:是 修补程序是否能卸载:是 取代的修补程序:无 验证修补程序安装: BizTalk Server 2000 要确保正确安装修补程序,请验证单个文件;方法是在 Microsoft 知识库文章中查看文件清单中所列文件的日期/时间戳,该知识库文章的网址是 http://support.microsoft.com/support/misc/kblookup.asp?id= 815207 BizTalk Server 2002 要验证单个文件,请使用以下注册表项中提供的日期/时间和版本信息: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\…\Q815208\Filelist 注意事项: 无 本地化: 此修补程序的本地化版本可从"获取修补程序"中所述的位置获得。 获取其他安全修补程序: 有关其他安全问题的修补程序可从以下位置获得: 安全修补程序可从 Microsoft Download Center获得,通过执行"security_patch"关键字搜索可以很容易找到。 有关客户平台的修补程序可从 WindowsUpdateWeb 站点获得。 其他信息: 鸣谢: Microsoft感谢Cesar Cerrudo 向我们报告了此问题并与我们一起致力于保护客户的利益。 支持: Microsoft 知识库文章 815206 讨论了此问题,此公告发布大约 24 小时后会提供该文章。知识库文章可以在 Microsoft 联机支持 Web 站点上找到。 技术支持可以从 Microsoft 产品支持服务获得。与安全修补程序相关的支持电话是免费的。 安全性资源:Microsoft TechNet Security Web 站点提供有关 Microsoft 产品安全性的附加信息。 免责声明: Microsoft 知识库中的信息是按"原样"提供的,不带任何形式的担保。Microsoft否认所有明示或暗示的担保,包括适销性和针对特定目的的适用性的担保。即使 Microsoft Corporation 或其供应商事先已被告知损害发生的可能性,Microsoft Corporation 或其供应商也不就任何直接、间接、意外或必然的企业利润损失或特殊损害承担任何责任。一些州不允许排除或限制对必然或意外损害所负的责任,因此上述限制可能不适用。 修订: V1.0(2003 年 4 月 30 日):创建公告。