验证码:终止转换

图片

CAPTCHA被认为是防范DDoS攻击,自动注册和垃圾邮件的国际标准。我们在Variti分析了此解决方案的有效性,得出的结论是,这是一种非常不方便且效率低下的针对bot的保护手段,会对转化造成不良影响,并且带有验证码的区域本身也容易受到攻击。

我们决定分享处理验证码的原因,转而在营销和技术解决方案中使用更可靠和烦人的用户解决方案。

营销学


真气!

验证码必须经过仔细检查,并定期进行多次介绍。斯坦福大学的研究表明,他们的对象平均花费9.8秒来识别和引入视觉验证码,而音频版本则花费了28.4秒,其中50%的用户拒绝解决。在2018年,对UX主题进行各种研究的Baymard Institute 估计,在大约8%的案例中,用户无法解决基于文本的CAPTCHA。如果验证码区分大小写,则该数字将增加到29%。

首先,这仍然是一个可用性问题,因为此功能迫使用户执行不必要的操作(加上验证码,这并不总是适当的,并且在页面设计中看起来很漂亮)。如果错误输入解决方案会重新加载整个页面,则该问题尤其明显:例如,如果用户长时间输入长评论,然后如果解决方案不正确,则他消失了。一个人重新开始的概率的百分比不是很大。

另外,已经有几种在市场上创建验证码的解决方案,以在其中放置广告(例如,他们建议根据公司徽标组装拼图)。这不能不影响用户的心情程度。

最后,这对于协调能力或视觉问题受损的人,甚至对于那些不能区分颜色的人来说,都是非常不便的,因为并非所有实施视觉验证码的资源所有者都会为其添加声音。另外,验证码对于“年龄”的受众以及大部分计算机文化水平较低或缺乏英语知识的人群而言尤其令人讨厌。

严重影响了转换。

如你所知,在一般情况下,任何额外的领域,以填补在现场恶化的转换。这是一个有趣的研究,这表明对验证码的拒绝导致转化率提高了3.2%。每种资源都可以根据验证码独立地测试有关转化变化的确切数据,因为结果取决于具体情况和受众。但是,如果您从利润损失的角度解决问题,那么您需要在两种情况下都计算成本和有效性-包含验证码比通过其他方式消除垃圾邮件是否更有收益?而且,它们是。

验证码变得越来越难

图片

多年以来,CAPTCHA变得更加智能,但机器人已开始迅速发展并变得更加复杂。在2000年代初期,带有文字的简单图像足以阻止大多数垃圾邮件机器人,但是每年,为了超越字符识别程序,文字必须越来越失真。您自己可能会注意到,在验证码中,您需要选择几张图像,几次尝试失败后,搜索对象被隐藏或扭曲,添加了新的对象类,并且需要传递的页面数量增加了。因此,复杂的是,真实用户的失败次数也增加了。当然,Google使用这些算法解决了额外的任务,可以教机器人如何识别图像中的对象,并且不太可能拒绝它们,但到目前为止,一切看起来好像验证码所做的一切都是消除了不太聪明的机器人和不专心的人。

早在2014年,谷歌进站本身之中最佳算法求解最扭曲的文本和人民:计算机正确识别的病例中99.8%的文本,并在人只有33%。

技术




验证码很容易解决验证码不能实现其主要功能-不能减轻机器人资源所有者的负担。带有验证码的垃圾邮件发送者的“对抗”甚至不止一种选择。

识别系统和神经网络

OCR(光学字符识别)系统现在可以非常准确地工作,并且可以轻松识别打印的文字和图像。添加“噪点”背景,额外的颜色和线条以使文本变形或重复的决定并不能特别防止这种情况的发生,但会使真实的人的阅读复杂化。

随着机器学习技术和深度学习神经网络的发展,验证码的视觉复杂化的进一步过程看起来是徒劳的。在大多数情况下,其中输入图像并输出所需图像或几个图像(中心图)的全卷积神经网络可以识别文本验证码。但是,为此,还可以通过选择正确的图片进行对象检测和分类来解决验证码-毕竟,这正是神经网络的功能(包括Google的reCAPCHA神经网络)。是的,Google还开发了一些允许您使用神经网络的库(例如Tensorflow)。

黑客服务获取和转录验证码的音频版本。随着语音识别系统的成功开发,这对于有经验的垃圾邮件发送者来说也不再是问题。存在算法和脚本,例如用于识别二维语法的Kok-Yanger-Kasami算法,该算法可以识别超过50%的验证码。还有其他绕过验证的方法:

  • 数字生成器和其他枚举系统。例如,如果同一组10张图片只是随机重新排列,则您需要找到特定的图片,即只有1024种可能的变化
  • 从日志数据恢复字符
  • “偷窥”脚本来调用验证码,例如<img scr =” / captcha.php?Code = 1234” />
  • 重新应用用户会话标识符
  • 最后,垃圾邮件发送者将最新的FineReader类型识别器连接到他们的自学垃圾邮件机器人。

猜测业务

:整个服务市场都提供绕​​过验证码的服务,而且非常便宜。成千上万的真正的人被雇用在这个行业-印度或中国的居民,他们通过了小笔费用通过了测试。诸如Amazon Mechanical Turk之类的特殊交易所愿意以几十美分的价格购买几十个未打散的验证码,而且众多服务也不断降低这一价格。他们不断地以数千个方式创建数千个新的“干净”帐户,这是在站点上检查垃圾邮件系统最简单,最快的方法。

最后,还有具有“有趣”内容的在线资源,例如游戏或成人内容。在用户看到下一批内容之前,系统将向Yahoo或Google发出后端请求,从那里获取验证码并将其滑入用户。并且,一旦用户回答了问题,黑客便会将未破解的验证码发送到目标站点。如果您从多个“合法”门户网站解析(或简单地窃取)有趣的内容,那么制作具有流行内容的流行网站就不难了(我们在工作中经常会遇到此类“复制粘贴程序”)。结果,黑客吸引了大批听众,他们揭开了其他人的验证码,而不是怀疑它。

不区分好机器人和坏机器人

除不良机器人外,还有好机器人-搜索引擎和浏览器机器人,各种服务的有用公司机器人,它们通过自动化公司的技术支持或出售其服务来搜索或发布信息或向用户提供帮助。例如,根据GlobalDots的数据,目前,人流量为62.1%,不良机器人为20.4%,优质机器人为17.5%(也就是说,落后于不良机器人并不是很关键)。不幸的是,尽管“好”机器人可能有用,但CAPTCHA方法无法区分好机器人和坏机器人,不能平等地跳过所有人。

攻击资源

大多数验证码是第三方的-由同一Google或验证码解决方案开发商提供。但是在许多情况下,它们是由站点所在的同一台服务器生成的,因此这成为容易受到攻击的地方。

某些类型的验证码的生成是相当消耗资源的操作,并且运行不快,因为它需要对第三方库的请求,并且通常可以处理图像。如果默认情况下未提供缓存或由于某种原因关闭了缓存,则这会带来更多麻烦。如果攻击者将任务设置为创建过多的验证码生成请求,则服务器可能没有时间这样做。

但是,此问题已解决:

  1. 您需要选择某种类型的验证码,该验证码不会出现此问题。
  2. 将验证码放在单独的资源上

唯一的问题是网站所有者是否有资源聘请将以优质方式做到这一点的开发人员。

降低网站速度

图片

略微放缓似乎没什么大不了,但是如果您不注意它,那将是错误的。看一下这项研究:虽然五分之一的营销人员认为加载时间不会影响转化率,但几乎有70%的人承认页面速度会影响购买的可能性。

验证码如何影响速度?

  • 假设没有使用所有显示的代码,复杂的图像生成将是一项资源密集型操作。因此,验证码服务以及相关的日志和cookie可能会降低在线资源的速度。
  • , . , . backend .
  • , - API , , .

全部吗

抱歉不行。还有几点。

首先,验证码可能会破坏网站的逻辑-尤其是在填写表单以验证码结尾的情况下,并且并不总是向用户发出警告。但是,“仅在入口处显示验证码”选项并不能解决防止垃圾邮件发送者的问题,因为事实证明,在一次性通过之后,他们可以做任何他们想做的事。

其次,让我们考虑一下搜索引擎。如果搜索引擎由用户代理“粉饰”,则验证码效率低下。如果向所有人显示验证码,那么它似乎在搜索引擎中,并且该网站将出现索引编制问题。

不是验证码单身

还有许多其他形式的保护,有时甚至更有效地抵御僵尸程序。例如,在前端,这可以是填写表单的最短时间,少于机器人只能填写的时间,也可以是一个人看不到但要填写机器人的隐藏字段(显示:无)。

在网络级别上,这可能是混淆或HTML加密,从Web服务器一侧阻止某些用户代理和各种陷阱:例如,创建站点的不可见部分,其中只有机器人掉下来,后来被IP禁止,或者过滤了匿名代理。

最后,我们在Variti中应用了一种方法-这是对流量的完整过滤,我们认为这是防止僵尸程序和DDoS攻击的唯一成熟方法。我们通过集群将所有流向客户网站或应用程序的流量进行传递,并且经过特殊调整和自学习的算法可以确定并传递来自实时用户和“良好”机器人的合法流量,并且在此过程中也不需要IP阻止。但是,在接下来的文章中,我们将讨论为什么我们也认为IP阻止方法是恶意的。

All Articles