写点什么

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

  • 2017-11-01
  • 本文字数:1043 字

    阅读完需:约 3 分钟

很多网站使用谷歌的验证码系统 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 )关注我们。

2017-11-01 19:003396
用户头像

发布了 322 篇内容, 共 151.5 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

Greenplum 性能优化之路 --(二)存储格式

腾讯云大数据

大数据

FastDFS 分布式文件系统详解

哈喽沃德先生

文件系统 分布式文件存储 fastdfs 分布式文件

架构师训练营第 1 期第 3 周学习总结

好吃不贵

极客大学架构师训练营

一个Hibernate的事务问题

YoungZY

hibernate

2020互联网公司中秋礼盒大比拼!(文末送福利)

Java架构师迁哥

经常使用的数据结构

hasWhere

一个好系统自我完善自我进化的方法

boshi

产品思维 系统工程 即时反馈 生态体系

太牛了,这份神仙级面试笔记把所有 Java 知识面试题都详解出来了

Java架构之路

Java 程序员 面试 编程语言

【FastDFS】SpringBoot整合FastDFS实战,我只看这一篇!!

冰河

springboot fastdfs

CSS语法与规则 — 重学CSS

三钻

CSS 大前端

Java源码系列2——HashMap

超超不会飞

Java

Dromara团队发布Hmily全新架构的2.1.1版本

猫大人

分布式事务 分布式柔性事务‘’

Nexmark: 如何设计一个流计算基准测试?

Apache Flink

flink

【架构笔记之设计模式】架构师训练营第1期第3周

业哥

极客大学架构师训练营

Java源码系列4——HashMap扩容时究竟对链表和红黑树做了什么?

超超不会飞

Java

烦人的Null,你可以走开点了

四猿外

Java 注解 空指针 Optional null

在 InfoQ 兼职做运营

邓瑞恒Ryan

创业 用户增长 创业心态 运营 产品运营

传统网络缺失货币层,比特币是否能担此大任?

blockchain

比特币 区块链 数字货币 比特币数字货币 区块俩金融

鲲鹏播种于时代,花开五色中原

脑极体

Java源码系列3——LinkedHashMap

超超不会飞

Java

Smartisan

Changing Lin

摄影

架构师训练营 1 期 - 第三周 - 设计模式

三板斧

极客大学架构师训练营

架构师训练营第1期第3周作业

业哥

极客大学架构师训练营

高中生写LOL外挂1年狂赚五百万,落网前刚买下120万保时捷

Java架构师迁哥

Greenplum 性能优化之路 --(三)ANALYZE

腾讯云大数据

大数据 数据仓库

码住!Flink Contributor 速成指南

Apache Flink

flink 开源社区

基于 Flink + Hive 构建流批一体准实时数仓

Apache Flink

flink

智能体的奇幻漂流之“成都折叠”篇

脑极体

架构师训练营第三周作业

邓昀垚

极客大学架构师训练营

优秀组织的5大表现

凌晞

团队管理 团队组织 组织

我一定是熬夜熬傻了,小程序后台获取用户信息居然发生了这件事

小Q

Java 小程序 学习 编程 架构

unCaptcha:准确率高达85%的谷歌语音验证码破解工具_语言 & 开发_薛命灯_InfoQ精选文章