不知道大家有没有被验证码搞崩溃的经历?最开始,验证码的形式是滑动一个按钮,或者选择相对应的字,后来不知道是谁想出来下图类型的验证码。
尤其是你裤子都脱了,正着急的时候,跳出来这个,拗断的心都有了,我说的是鼠标。
然而,最近验证码界又整出了新的幺蛾子——用游戏来验证你是不是人。
Vercel公司首席执行官Guillermo Rauch通过公司自家的AI网站构建器,推出了一种创新的验证码方式:邀请用户玩经典单机游戏《DOOM》,并击败至少三个敌人。
言外之意,你连三个敌人都打不死,你就不配做个人。对于经常和验证码斗智斗勇的我来说,求求网站先当个人行不行。
地址放这了,有兴趣的同学可以测试一下自己是不是人:doom-captcha.vercel.app/
人类与机器人之间的较量:破解验证码的挑战
吐槽归吐槽,但网站其实也没办法,要防止机器人在网站捣乱。科普时间,不想看可以直接跳到最后投票。
目前,我们常见的验证码主要是谷歌的reCAPTCHA,经历了三次大改版。
1. reCAPTCHA v1
方式:让你输入一串扭曲的字母和数字。
缺点:很难识别,容易出错,安全性差,已经被淘汰。
2. reCAPTCHA v2
方式:你只需勾选“我不是机器人”,有时需要选择图片(比如文章开头选图片)。
优点:比 v1 简单,但如果机器模拟得很好,还是能绕过。
3. reCAPTCHA v3
方式:完全不需要用户操作,后台自动判断你是不是人类,评分越高,越像人。
优点:用户体验最好,不打扰用户,安全性高。
也就是说,现在最先进的验证码,完全可以做到让用户无感。网站后台,通过观察用户滑动鼠标的路径、点击鼠标的间隔等一系列操作,判断是不是真人。
那么为什么网站不用呢?
首先,reCAPTCHA v3需要收集用户的行为数据,可能引发隐私问题。其次,它对一些不常见的用户行为可能会误判,比如科学上网法等。相比之下reCAPTCHA v2简单易懂。
当然,我觉得最大的原因还是软件开发者比较懒。
随着人工智能水平的不断提高,v2也好,v3也罢,都能被AI破解。
今年8月,苏黎世联邦理工学院就发表了篇论文,文中提到,他们使用了开源 YOLO对象识别模型的微调版本,基本完成了对reCAPTCHA v2百分百破解。
论文作者也提到: “从某种意义上讲,一个好的验证码标志着最智能的机器和最愚笨的人类之间的界限。随着人工智能日益接近人类的能力,设计有效的验证码变得越来越困难。”
要不,咱以后别搞验证码了,反正也防不住。