reCAPTCHA的第三版在后台运行而未被用户注意

在今年5月的会议大会上,Google I / O 2018推出了reCAPTCHA技术的第三版-reCAPTCHA v3(beta) 。 如您所知,这是最流行的系统,例如CAPTCHA,其创建目的是阻止漫游器,即对不同服务进行自动操作。

该系统被批评为剥削了免费的劳动力(在第一个版本中,谷歌使用它来数字化书籍),使视力障碍和阅读障碍等其他疾病的人的生活复杂化。 仍然批评 reCAPTCHA 过于复杂 :人们很难或不可能正确回答这个问题:测试变得荒谬。 左图显示了reCAPTCHA第一版的一些示例。 随着第二个版本的发布(您需要选择包含指定对象的图片),情况并没有太大改善。

但是第三个版本则完全不同。 它肯定不会伤害任何人,因为它可以使用行为分析方法无缝地为用户工作。

首先,有一点历史。 reCAPTCHA的第一个版本可以追溯到2007年,具有很好的用途:在阻止垃圾邮件和僵尸程序的同时,它还有助于数字化图书。 到2011年,它已用于完善OCR结果,以数字化《纽约时报》(自1851年以来的1300万篇文章)和Google图书的档案。

自2012年以来,系统已将来自Google街景服务的房屋照片片段添加到系统中。 从2013年左右开始,Google开始在浏览器中应用用户行为的行为分析( 高级风险分析 ),并在2014年实施了该系统的第二个版本,该版本需要从9张图片中选择几张“正确”图片,但同时有可能通过测试一键点击。 如果动作像一个人,那么用户通过了测试,根本没有解决任何问题:只需单击“我不是机器人”按钮(所谓的NoCAPTCHA)。 如果动作类似于机器人,则会对他进行复杂的测试,以识别图像中的对象。


NoCAPTCHA

这里的问题是,除了进行行为分析之外,还需要在计算机上检查cookie-匿名模式下的浏览器或会话结束时清理cookie的人实际上无法访问NoCAPTCHA。

第三版



在Google I / O 2018大会上介绍系统的第三版

在reCAPTCHA的第三个版本中,行为分析得到了改进(或Google跟踪用户,如果有人以此来表示的话),也就是说,高级风险分析与高级风险分析完全相同。

现在,该系统在后台运行,并且对用户不可见 。 只需将reCAPTCHA库与页面一起下载并在页面加载的某个时刻或立即运行grecaptcha.execute就足够了。 仅此而已。 该用户什么都没有注意到-您将通过JavaScript API从reCAPTCHA服务器收到该用户的评估,基于该API与站点和其他参数的交互。

  <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script> <script> grecaptcha.ready(function() { grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) { ... }); }); </script> 

有建议认为,除了移动鼠标光标之外,系统还开始跟踪其他参数,例如鼠标单击。 一个人只能对此猜测。 Google不会提供有关系统内部工作的任何信息,以帮助垃圾邮件发送者和漫游器所有者。

从网站管理员的角度来看,也许第三版本之间的主要区别在于,通过API请求后,reCAPTCHA服务器不会产生二进制值,而是对此特定请求的估计范围是0.0(可能是bot)到1.0(可能是人)。 响应以JSON格式发送:

 { "success": true|false, // whether this request was a valid reCAPTCHA token for your site "score": number // the score for this request (0.0 - 1.0) "action": string // the action name for this request (important to verify) "challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ) "hostname": string, // the hostname of the site where the reCAPTCHA was solved "error-codes": [...] // optional } 

从服务器的响应中可以看到,reCAPTCHA v3引入了“操作”的新概念。 如果您在站点的不同位置定义不同的操作名称,则系统将开始“适应”不同的需求:它将变得具有适应性(风险分析)。

换句话说,网站所有者在不同页面上选择“剪切级别”以及对高于或低于此级别的用户要采取的​​操作。 默认情况下,该级别设置为0.5。 例如,在主页上,建议仅阻止显式刮板(例如,仅0.0)。 在授权表上,您可以过滤低于0.5的所有人,为他们提供两因素身份验证或邮件地址验证,以保护自己免受暴力攻击。 现在,该测试可以在正确的时间,对用户不可见的情况下在一页上运行几次。

要参与系统第三版的Beta测试,您必须在此页面上注册。



Source: https://habr.com/ru/post/zh-CN415075/


All Articles