利用cookie和浏览器检查的不严谨,再辅以一点儿人工智能,破解谷歌的验证码(Captcha)非常容易。
安全研究人员刚刚发现,精心设计的自动化攻击能够以七成的概率破解谷歌的reCaptcha安全系统。需要注意的是,脸书也使用这一套验证码系统。
研究人员对2235个验证码进行了测试,破解了其中的70.1%,平均耗时仅为19.2秒。对脸书使用的验证码,研究人员取得了更大的成功,破解了200个验证码中的83.5%。
此外,研究人员估计,黑客具有部署专门破解验证码的系统的动机。这样的一套自动化系统每天运行成本在110美元左右,每个IP地址运行一次,且能够在24小时内破解大约63000个验证码而不会被检测或屏蔽掉。
来自纽约哥伦比亚大学计算机科学系的苏汉妮·希瓦科恩(Suphannee Sivakorn)、埃索纳斯·波拉基斯(Iasonas Polakis)和安杰洛·克洛米斯共同进行了这项研究。
在发布的论文《我是机器人:深度学习破解图像语义验证码》(I Am Robot: (Deep) Learning to Break Semantic Image Captchas)中,研究人员介绍称:“谷歌reCaptcha插件通过一系列浏览器检查措施确定是否存在网页自动化框架,以及浏览器是否存在异常行为。检查措施包括校验浏览器属性格式,以及一些更加复杂的技巧,比如 Canvas 指纹跟踪。”
然而,我们建立的系统会利用流行的浏览器自动化框架,成功通过检查。此外,通过黑箱测试,我们发现了一些设计缺陷,可能让攻击者能够影响威胁分析过程。
有些浏览器cookie是与特定的系统相关的,而设计缺陷之一就是缺乏对这类cookie的检查。“由于先前没有攻击者跟踪过cookie,该系统没有配备防止大规模制造cookie的安全措施。我们在一天之内通过单一主机创建了超过6.3万个cookie,而没有触发任何防御措施。使用这些cookie,我们的系统可以仅仅使用一个IP,确保每天解决5.2至6万个验证码问题。”
研究人员还设计了一种验证码破解攻击,可以从验证码问题图片中提取语义信息。这种攻击系统还使用了谷歌自家的搜索工具。
使用图像注释服务和库,我们能够辨别图像的内容,并给相似的对象作侧写。我们还利用了谷歌的图像反向搜索功能,获取关于图像的更多信息。
“针对选取的图像,我们进一步利用机器学习方法,开发了一种分类器,可以对图像注释系统的输出进行分类,并寻找相似图像之间具体相关的内容标记。”
有一些比较严格的验证码系统会阻止攻击者创建大量电子邮件等账户并用骚扰信息填满输入框,对此,研究人员也给出了建议。
比如:通过与服务账号进行绑定,控制数量;在给cookie赋值的过程中考虑“信任”和“名誉”;控制特定时间段内创建cookie的数量;控制可能被检测到的浏览器问题,比如被检测到的浏览器与提交的用户代理字符串(User-Agent String)间的不一致。
---
要闻/干货/原创/专业 关注“安全牛”