写点什么

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:003654
用户头像

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

关注

评论

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

linux常用命令(一),阿里java面试算法

Java 程序员 后端

Mybatis常考面试题汇总(附答案),学习SpringBoot

Java 程序员 后端

Mysql中,21个写SQL的好习惯,你值得拥有呀,jvm原理面试题

Java 程序员 后端

架构营模块二作业

GTiger

架构实战营

kubernetes部署metrics-server,linux服务器教程

Java 程序员 后端

Mybatis学习笔记--自定义Mybatis,java程序员面试笔试宝典百度云

Java 程序员 后端

mybatis开发要点-insert主键ID获取和多参数传递

Java 程序员 后端

markdown编辑器的使用教程,java面试笔试题程序题

Java 程序员 后端

MyBatis官方文档-日志,java高级开发工程师职责

Java 程序员 后端

MySQL 事务隔离级别,进阶和基础哪一个难

Java 程序员 后端

Kotlin之DSL,java面试写代码

Java 程序员 后端

Mac下vagrant从安装到体验,经典实战教程

Java 程序员 后端

MyBatis 源码分析 - 插件机制,java容器面试题

Java 程序员 后端

MyBatis 自定义 SQL 拦截器,java数据可视化技术

Java 程序员 后端

MyEclipse优化、常用设置、快捷键,java视频教程百度云

Java 程序员 后端

kubebuilder实战之三:基础知识速览,mybatis运行原理步骤

Java 程序员 后端

Kurento实战之一:KMS部署和体验,应届毕业生java面试准备

Java 程序员 后端

MyBatis01:初识 MyBatis 与 第一个 MyBaits 程序

Java 程序员 后端

MyCat配置文件详解(二),java自学视频谁讲的好

Java 程序员 后端

MySQL事务:ACID特性的实现原理知多少,java教学视频百度云

Java 程序员 后端

leetcode 数组练习,java入门书籍

Java 程序员 后端

MongoDB入门操作汇总,网易架构师深入讲解Java开发

Java 程序员 后端

Mysql中,21个写SQL的好习惯,你值得拥有呀(1)

Java 程序员 后端

Kubernetes 常用命令大全,震撼来袭免费下载

Java 程序员 后端

Kubernetes任务调用Job与CronJob及源码分析(1)

Java 程序员 后端

Mysql优化提高笔记整理,来自于一位鹅厂大佬的笔记

Java 程序员 后端

Kubernetes官方java客户端之六:OpenAPI基本操作

Java 程序员 后端

Linux服务器端网络抓包和分析实战,中高级Java面试题目汇总解答

Java 程序员 后端

MyBaitsPlus----知识盲点整理,mysql数据库项目式教程答案

Java 程序员 后端

Contour-v1.19.1发布

远鹏

golang Kubernetes cncf envoy contour

linux防火墙iptables常用操作笔记,java开发手册百度网盘

Java 程序员 后端

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