WPS 的一个缺陷是您可以独立破解 8 个数字中的每一半(2x 4 数字比 1x 8 数字容易得多)。
但是,既然发现了漏洞,为什么不应用补丁,并且仅当且仅当客户端拥有整个密码正确时才发送响应?实施超时,您的路由器在接下来的 1000 年内都是安全的。
但是为什么这个洞还开着呢?
WPS 的一个缺陷是您可以独立破解 8 个数字中的每一半(2x 4 数字比 1x 8 数字容易得多)。
但是,既然发现了漏洞,为什么不应用补丁,并且仅当且仅当客户端拥有整个密码正确时才发送响应?实施超时,您的路由器在接下来的 1000 年内都是安全的。
但是为什么这个洞还开着呢?
询问WiFi 联盟。
这可能与最初放置明显的安全漏洞的原因相同。为 WPS 标准做出决策的人显然不关心安全性(或者令人难以置信的无能)。任何给它一点想法的新生 CS 学生都会知道检查密码的一半是否有效并区分哪一半在您的标准中描述的响应中失败是错误的(因此您甚至不需要进行计时攻击以区分这两种情况)。当支持 WPS 的路由器首次问世时,并非所有人都立即明白这一点的唯一原因是,如果您不是会员,那么记录 WPS 工作方式的标准不是免费的(100 美元) (并且会员费用为公司每年 15,000 美元) .
当然,我相信许多(大多数?)硬件制造商试图通过仅限制每秒错误尝试次数来修补 WPS——当您最多只需要11000 次尝试来破坏 WPS时,授予的速率限制并没有多大帮助销(平均一半)。同时,可能合法用户可能想要使用此 WPS 功能,因此他们可能无法对速率限制过于严格,您可以通过频繁更改 MAC 地址来绕过速率限制。WPS 是一个坏主意,但随着实际存在严重缺陷的实施而变得更糟。
我知道这个问题很老,但我觉得有必要跟进 jimbo 博士提到的内容。
"...you can possibly get around the rate-limit by frequently
changing your MAC address..."
虽然这是真的,但 wps 身份验证期间的 mac 过滤已进一步更新为固定速率,并且大多数制造商不再依赖于根据“每 mac”尝试次数过滤 wps 锁定情况。取而代之的是,许多尝试通过任何尝试进行身份验证的 mac 的总尝试次数。例如:
If 00:11:22:33:44:55 tries to attack twice and fails...
And then 11:22:33:44:55:66 tries to attack...
两个 mac 的攻击总数将触发 wps 锁定状态。因此,使 mac 更改毫无意义。
每个锁定时间因供应商而异。有些会在第一次尝试失败时锁定 30 秒,有些会锁定 60 秒,有些会锁定 120 秒,等等……这取决于供应商。然而,这些主要是特定于供应商的固件更新,据我所知,这不是 WiFi 联盟的标准做法。但是,此后出现了一种绕过这种通用锁定的方法,即使用 EAPOL 泛洪和身份验证 DOS 攻击来强制路由器重置。这会重置速率限制计时器,并且 wps 不再被锁定,从而允许攻击继续进行。
我认为防止这种重置的一个好方法是让外部注册器在完全不同的硬件部分上运行,该部分独立于主硬件工作。这个单独的部分可能有类似 CMOS 电池的东西,它可以保存 wps 状态,这样即使在电源关闭的情况下,在暴力尝试的情况下也将保持锁定状态。我不知道这只是我的想法,因为我使用一个名为 MDK3 的简单工具重置了许多路由器。