严重的拒绝服务漏洞影响多数网络服务器
jopen 13年前
<p> 安全研究员 Alexander Klink 和 Julian Walde 发现了一个严重的漏洞,这个漏洞影响到大多数网络服务器。针对这个漏洞的攻击只需要一个 HTTP 请求,这个特殊设定的请求在提交表单数据时造成哈希碰撞。当发现时,这个攻击影响到 Python、Ruby、PHP、Java 和 ASP.NET,目前厂商正在和研究人员合作发布补丁。</p> <p> <a href="/misc/goto?guid=4958325833454916539">Tomcat</a> 发布了7.0.23和6.0.35两个版本,通过限制 POST 表单字段数量最大值不超过 10000,来解决这个问题。<a href="/misc/goto?guid=4958184364822904927">变更记录</a>说明这个最大值是可配置的,但没提供细节。</p> <p> <a href="/misc/goto?guid=4958325834989398321">ASP.NET</a> 的补丁于 12 月 29 日发布。使用默认服务策略的 Windows Azure 客户会自动更新该补丁。该补丁同样限制了单个请求中的 POST 表单字段数量,为每个请求 1000 字段,比需要发动拒绝服务攻击所需的数量小很多。通过 appSetting 键值“aspnet:MaxHttpCollectionKeys”<a href="/misc/goto?guid=4958325835783934933">可以配置表单字段数量</a>。目前,这个配置只能应用于全网站范围,但也有针对页面覆写这个配置的需求。还修复了一个针对 JSON 输入和反序列化逻辑的相关缺陷。</p> <p> <a href="/misc/goto?guid=4958325836582450575">PHP</a> 候选发布版5.4.0也提供了 max_input_vars 指令。发布说明没有提到默认值。</p> <p> 截止目前,我们提到的所有厂商都在网络服务器端,通过限制单请求的字段数量,解决了这个问题。另一个选择是采用随机的字符串哈希公式。<a href="/misc/goto?guid=4958325837372927374">Ruby</a> 就是这样的语言。.NET 也实现同样的功能,但只限于内部版本。产品发布目前有一个集合公式,但考虑到这个问题的严重性,可能会在下一次 CLR 升级的时候有所改变。对于 Java 来说这不是很容易,JVM 规定了字符串的哈希公式,以保证开发人员在所有版本上都可以信赖它。</p> <p> <a href="/misc/goto?guid=4958325838165913709">Oracle Glassfish</a> 的更新据信也已完成,但还没有发布。也没有公布解决这个问题方式的任何信息。</p> <p> 更多关于这个问题的信息可以在 <a href="/misc/goto?guid=4958325838967982208">Ars Technica</a> 和 <a href="/misc/goto?guid=4958325839774450299">Chaos Communication Congress</a> 网站上找到。</p> <p> <strong>查看英文原文:</strong><a href="/misc/goto?guid=4958325840566441699">Major Denial of Service Vulnerability Affects Most Web Servers</a></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958325841354891711" target="_blank">InfoQ</a> </div>