Linux ·

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

很多网站使用谷歌的验证码系统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讨论可以在这里看到。

参与评论