我研究并发现了以下会破坏验证码的网站:
- 反验证码
- 2验证码
(不包括链接以防止推广网站)
鉴于这些服务可用于破解验证码,使用验证码有什么好处,尤其是因为它们会影响人类用户?
我研究并发现了以下会破坏验证码的网站:
(不包括链接以防止推广网站)
鉴于这些服务可用于破解验证码,使用验证码有什么好处,尤其是因为它们会影响人类用户?
“既然有锁匠,锁你的门有什么意义?”
仅仅因为某些东西有限制并不意味着它是无用的。这些服务要花钱,也许比自动注册帐户的价值还要多。还有一些类型的攻击者无法访问这些服务。信息安全通常是一场数字游戏,而验证码是一种廉价(不完美)的方式,可以为好人提供更大的数字。
您的链接来源似乎是付费解决验证码服务。这些肯定会使验证码不那么有效,但它们肯定不会使它们变得无用。
让我们看看数字,因为这是一个数字游戏。
最近,我的公司遇到了一个暴力破解问题,我们的一个面向 Web 的门户被暴力破解 - 他们会依次尝试他们认识的每个用户,尝试 3 个密码,然后转到下一个用户。他们平均每秒尝试大约 2000 次。我们通过在登录页面前面放置一个验证码门户解决了这个问题。
您的链接来源每个都为每个验证码引用约 7 秒的求解时间,并为每 1000 张图像引用 0.50 美元。
因此,要对我的服务器执行相同的攻击,他们会受到两次重大的有效性打击 -
首先,他们将在 7 秒内解决 2000 次尝试,而不是在 1 秒内。显然,这只是速度的 1/7。他们需要 7 倍的时间才能找到一个有效的密码。这不是天文数字,如果它是免费的,那么无论如何都值得付出努力。
其次,他们每 7 秒的攻击时间支付 1 美元(每 1000 个验证码 0.5,每 7 秒解决 2000 个 - 每 7 秒 1 美元)。如果他们在一天内进行这种攻击,他们将损失约 12000 美元。(60 * 60 * 24 / 7)
像这样暴力破解帐户的主要目标是窃取信息以出售或在以后的攻击中使用。他们在一天内获得的账户回报几乎永远不会等于 12000 美元。除非您正在攻击非常非常重要的东西,否则攻击变得不经济可行。
验证码的想法是找到机器难以完成但人类容易完成的任务。这是为了捍卫只有人类才能执行的动作。
这个想法不一定是要阻止所有机器人,而是要减慢机器人的速度,至少通过以下方式之一使攻击网站变得更加昂贵:
如果机器人的故障率高于人类,这可以用来检测它们,并且可以在那时使用进一步的防御。
验证码破解服务通过以下几种方法之一工作:
尝试编写算法来完成挑战
对于一些较旧的验证码,这可能是可能的,但对于许多较新的验证码,这需要在研究领域取得突破,才能以任何合理的准确性做到这一点。
试图打破验证码的防御
这适用于一些实施不当的验证码,但与其他攻击相比相对较少。
使用人类破解验证码
这增加了成本,这意味着尽管它们仍然可以被破坏,但每次操作的成本比没有验证码的情况高出几个数量级。