BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

unCaptcha:准确率高达85%的谷歌语音验证码破解工具

| 作者 薛命灯 关注 23 他的粉丝 发布于 2017年11月2日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

很多网站使用谷歌的验证码系统reCaptcha来防止用户使用机器人进行自动操作,比如使用机器人创建账号等。2012年,一个谷歌研究团队几乎百分百破解了其文本验证码系统。于是,谷歌将验证码升级到了语音和图像,并通过不断迭代加固他们的验证码系统。如果能够找到验证码系统的漏洞,也就等于把千万个网站暴露于攻击之下。

近日,美国马里兰大学的四位研究人员开源了一个叫作unCaptcha的工具,用于破解谷歌的语音验证码系统,准确率高达85%。

谷歌的reCaptcha系统使用了一些高级的分析工具来判断一个用户到底是人还是机器人。他们使用了多种元素,包括cookie、解题的速度、鼠标的移动以及解题的成功率。

unCaptcha使用浏览器自动化工具(如Selenium)找到网页上的语音验证码,解析出其中的数字,然后通过程序自动键入验证码,以此来骗过验证码系统。

语音验证码由一组变长的数字读音组成,每个数字的语速、音高也不一样,甚至口音也不一样。为了解析出这些数字,需要先从网页上把语音文件下载下来,然后将解析出来的语音元素发给在线的语音识别服务(比如IBM、谷歌云、谷歌语音识别、Sphinx、Wit-AI、微软Bing语音识别)进行识别。识别之后的结果会被收集起来,组成一串数字,这些数字会自动键入到验证码的输入框,从而通过验证。

unCaptcha已经在著名的Reddit网站上做过实验,并通过了谷歌的语音验证码系统,但为了不影响Reddit网站,他们在创建新用户这一步停止了实验。unCaptcha在识别数字方面的准确率高达92%,整体语音识别准确率达到了85%。

该工具托管在GitHub上,并提供了安装使用示例。

另外,他们也发表了免责声明。他们开发unCaptcha的主要目的是作为概念性验证,而绝非要与谷歌作对。他们还将几个在线语音识别服务提供的API秘钥从项目中删除,避免不必要的麻烦。

Reddit网站上有帖子针对该项目展开热议。有人对该项目所使用的技术手段赞不绝口。也有人开玩笑说,他们利用了第三方的在线语音识别服务,包括谷歌自家的语音识别系统,所以对于谷歌来说,无异于搬石头砸自己的脚。有人认为85%的准确率已经超过了他通过点击街景标志来输入验证码的正确率。也有人希望这个项目能够做成浏览器插件,这样就可以更轻松地绕过谷歌的验证码系统。

更多的信息可以参看unCaptcha网站GitHub项目主页,更多的Reddit讨论可以在这里看到。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT