建立一个更好的垃圾阻塞验证码

  • 在Facebook上分享
  • 在Twitter上分享
  • 分享在LinkedIn
  • 在Reddit分享
  • 通过电子邮件分享
  • 印刷资源

你如何让人们创建用户帐户或发表评论你的网站不让垃圾邮件机器人?简单——让你的用户证明他们是人类。许多网站使用验证码(的全自动区分计算机和人类的图灵测试)技术来告诉人的机器人。

验证码的想法很简单。它为用户提供一个图像显示一个混淆的字母,他们必须键入电子邮件或社交网络账户,例如,或输入一个评论在线论坛。理论认为,只有人类可以破译字母隐藏在图像和输入正确的代码,并在一段时间内保持机器人是一个有效的工具。

虽然还没有人想出一个计算机可以欺骗人是另一个人,电脑是伟大的在欺骗其他电脑。这些天,恶意软件制造商和垃圾邮件发送者经常欺骗CAPTCHA系统知名网站如雅虎邮箱,Gmail和Craigslist,使用这些网站自动化他们的攻击。

所以我们能做些什么呢?验证码可以保存吗?

验证码的兴衰

验证码是2000年创建的卡耐基梅隆大学的研究人员,到2007年,所使用的技术是在网络上几乎无处不在。举个例子,如果你想留下一个评论这个故事,你需要跳过一个验证码箍才能留言。

不幸的是,从2008年初开始,饼干开始更好的验证码系统。在短期内,雅虎邮箱的,Gmail的Hotmail的验证码防御了。

雪上加霜,饼干开始释放他们的工作形式的diy验证码破解软件,任何人都可以使用。例如,一个程序调用CL汽车发布工具发布虚假广告试图Craigslist而自动克服Craigslist的反垃圾邮件保护。

这些项目的工作通过使用OCR(光学字符识别)软件来验证码的意义隐藏文本。如果他们失败了,再试一次。他们利用一些验证码系统不会自动给用户一个新的验证码图像谜题。相反,他们会告诉你,或者饼干计划,继续工作在隐藏文本直到解决。

得到这些项目之一,目的在你想要的网站虚假账户,你可以开始传播垃圾邮件,匿名的人你不喜欢,和发送成千上万的人malware-infested站点的链接。

这并不是说OCR-based饼干项目是好的。他们不是。验证码专家苏密特普拉萨德从安全公司Websense在一篇博客文章中解释说,只有10%到15%的Hotmail的尝试是成功的,一个验证码饼干程序只需要6秒/攻击。如果一个网站允许无限的机会,一个形象,这意味着需要,平均不到一分钟的休息。

因为他们显然是不安全的,验证码系统,允许无限或多个尝试越来越少见。不过,今天的自动化机器人甚至能够打破这些系统,让用户对一个新的验证码图像在第一或第二次不成功的尝试。(平均而言,当然,机器人的努力不太可能工作建议CAPTCHA系统。)简单的验证码系统,如使用随机的、non-malformed字母在一个简单的背景下,仍在普遍使用很容易被毁坏。

破解验证码设计的严重程序的另一种方法是重用会话识别解决验证码图像的URL。在这种情况下,饼干,或更有可能破解程序,首先获取验证码正确答案。然后重新连接的Web站点的URL包含解决会话识别信息与一个新的用户名。您看!你有一个自动化的网站饼干以100%的成功率,直到会话ID最终失效。

闯入CAPTCHA保护系统不只是个人饼干做的事情乐趣和经济利益。验证码破解,信不信由你,已成为一个业务本身。例如,印度的公司DeCaptcher.com将解决验证码的速度你的垃圾邮件需要2美元每1000人成功破解验证码。网站解释道:

“使用广告博客、社交网络等显著增加业务的效率。许多服务使用图片称为验证码,以防止自动使用这些服务。的帮助下解决验证码这个门户,现在提高你的业务效率!”

难怪CAPTCHA,同时还受欢迎,变得一样有用的安全技术锁定后的谷仓门马被偷了吗?

第二次机会验证码吗?

所以,验证码可以保存吗?根据卡内基梅隆计算机科学家,答案是肯定的。重新设计的第一个验证码,根据Luis von Ahn大学计算机科学教授,是名符其实的reCAPTCHA

von Ahn说,这个系统在协同工作谷歌图书项目互联网档案馆两个项目,将纸质书转换为数字格式使用OCR软件。如上所述,OCR软件通常不准确地读单词。当项目的OCR程序标志不可读一个词,它保存为一个图像,使用Web作为验证码测试。

这有两个积极的结果。首先,这些验证码已经被认为对OCR攻击,网站利用reCAPTCHA抵御CAPTCHA的饼干。第二,人类用户解码的话,这本书项目的OCR软件不能读,从而帮助完成两个项目的准确的旧书转换成数字格式。

reCAPTCHA怎么知道,人类有一个单词对吗?通过使用一个控制字,系统已经知道正确的拼写,还有未知的词。Von Ahn解释说,“如果一个用户输入的控制字的正确答案,其他用户的答案是记录为一个合理的猜测生词。如果前三个人类猜测相互匹配,但不同于ocr的猜测,这个词被标记为正确的,成为一个潜在的控制字。”

基于图像的验证码

卡内基梅隆大学船员也在考虑基于图像的验证码。第一个,ESP-PIX,需要用户选择一个词来描述这四个对象在一个图像。最新的,SQ-PIX,需要用户先从三个选出正确的图片,然后跟踪在图像中物体的轮廓。例如,您可能会看到一只猫的形象,一朵花和一个气球,与指令“跟踪所有气球。”

这些测试有他们的缺点。首先,什么是清楚设计师可能不清楚用户。在ESP-PIX测试,例如,答案“女孩”三个成年女性的形象和一个年轻的女孩并没有多大意义。和SQ-PIX测试可能需要一定程度的手灵巧度,并不是所有的用户。我的编辑,他是右撇子,但使用轨迹球与她的左手,发现测试失败的她更经常比通过。然而,这些工作进展;卡内基梅隆大学没有预定完工日期。

卡内基梅隆大学并不是唯一的小组看基于图像的验证码。开发人员正在宾夕法尼亚州立大学想象力验证码。在这个系统中,用户必须首先挑出一个被扭曲的人体图像的几何中心的页面充满了类似的重叠的照片。

如果你得到正确的,你仔细面对另一个扭曲的形象和要求选择一个词来描述你所看到的。想象系统是基于ALIPR(自动语言索引图片),一个自动化的图像标记和搜索技术。

核心理念,开发人员在他们的网站上解释,是图像识别是一个困难的问题比文字识别计算机来解决,使想象系统比基于文本的安全验证码。事实上,开发者欢迎试图破解系统:“如果你认为机器人也可以通过我们的测试没有随机猜测,尝试一下,我们想知道你的机器人可以多远。”

不幸的是,色盲的用户与想象力系统可能面临的问题。(盲目和hard-of-sight人,当然,所有图像验证码的问题。)

基于图像的验证码还没有广泛使用。一些简单的,如KittenAuth,开始看到使用。(例如,一些phpBB在线论坛系统使用KittenAuth。)KittenAuth,用户提出了网格的12个动物的照片,然后要求挑出,例如,包含——你猜对了——小猫的。

微软的研究采取同样的想法为其ASIRRA(动物图像识别限制访问)技术。ASIRRA使用更多的图片PetFinder.com,否则这个Web服务验证码本质上是一种KittenAuth克隆。而据我所知目前没有大型网站使用ASIRRA,微软已经PHP, Python, c#, Perl, VisualBasic和JScript代码可用,以及一个WordPress插件,所以它不应该早在多个网站给ASIRRA一试。

卑鄙的CAPTCHA技巧

斯蒂芬·莫斯利在媒体制作公司网页设计师和开发人员Hannisdal表达有一个卑鄙的方式阻止CAPTCHA的机器人攻击者:包含一个隐藏字段用CSS(层叠样式表)。字段是编码,以便人类用户永远不会看到它。机器人,然而,阅读页面的代码,请注意,有一个字段填写,并继续这样做。当然,足以访问者标记为一个潜在的破解程序,而不是一个实际的用户。

“机器人要填写,如果你比较输入值的值,您可以退出执行,”莫斯利说。“然而,你必须确保把这与屏幕阅读器,这样人们可以理解不是填满它。我用这一些nonhigh交通形式和它工作得很好。它可能不会阻止严重的垃圾邮件机器人对于大型站点,虽然”。

莫斯利还建议在验证码测试中使用简单的数学问题。他解释说,这种方法有两个问题:“可能的歧视弱智,你需要做出随机的问题(即。,你总不希望它是2 + 2)。”

底线

所有这些变化在验证码是什么意思为Web管理员验证码将会继续是有用的。然而,旧的,简单的验证码系统是完全过时了。

甚至改进的验证码策略可能不是有用的长。卡内基梅隆大学von Ahn相信,在不远的将来,基于图像的验证码将是有效的。最终,最多50年内,von Ahn认为电脑将明亮的足以解决任何形式的验证码。

但是现在呢?确保网站在2009年,公司最好看看reCAPTCHA,有各种各样的应用程序和编程插件和一个开放的API(应用程序接口)。与这些,不管什么软件运行在你的网站,你应该能够轻松地添加reCAPTCHA保护您的基于Web的应用程序。

展望未来,你应该开始后图像验证码技术。他们承诺有效寿命更长。

说,还应该记住,即使加了机器人CAPTCHA攻击都处于空闲状态,没有有效的防御人类打破验证码要钱。任何验证码系统,或任何其他安全措施,能做的就是慢下来的饼干。

在一天结束的时候,网络安全必须不仅关心让攻击者,但在减少损失会导致当他们闯入一个网站。

Steven j . Vaughan-Nichols一直写技术和业务技术前沿CP / m - 80年以来,300位/秒。是一个快速网络连接——我们喜欢它!他可以达成的sjvn@vna1.com

这个故事,“建立一个更好的垃圾阻塞验证码”最初发表的《计算机世界》

版权©2009 IDG通信公司。Raybet2

企业网络2022的10个最强大的公司