验证码正在被全面瓦解
说起验证码,那真是让人头疼,在网上冲浪遇到各种千奇百怪的验证码,浪费时间不说,有时候连续输错了几次,着实令人抓狂,而且随着时代的进步,现在的验证码变得越来越难了,文字验证、滑动验证、做题认证、识别物件等等。
大家可能不知道的是,验证码之所以这么难,原因就在于它“太简单了”!
嘿,这种自相矛盾的话是不是让你有点困惑,这里说的简单,是站在机器识别的角度说的。在2000年,卡内基梅隆大学的博士们创造出CAPTCHA验证码的时候,那时候人们说:验证码,SoEasy。
而那些利用软件来发送垃圾消息、给黄牛抢票、爆破网站和刷虚假数据的搞事程序员,就觉得有些头大了,这个验证码的出现,让他们手下想要搞事的“机器人”成本徒增,还顺手刷掉了一些只会使用别人分发的工具来进行捣乱的脚本小子。
有人的地方就有江湖,正邪两方此消彼长。验证码这绊脚石自然引起了对立方的不满,于是就出现了利用OCR技术来应对验证码的办法,经过一段时间发展,夸张一些说就是,变得像你截图识别文字那样简单了。
对抗的方法也很简单,直接给验证码上强度。
什么文本扭曲和动态抖动都给加上了,再加上图片物体识别后,大家以为稳了,但是架不住那些迷人的反派角色,不跟你玩这些花花肠子,简单粗暴地用出了杀手锏,直接打入人工队内部,让人工来识别验证码,搞出了一个“打码”的生态。
平台负责分发给打工仔,软件只需要接收结果就行,再给打工仔安排上一些绩效要求,那识别正确率,骑上了“窜天猴”般的唰唰往上涨,这种办法虽然可以终结游戏,但有一个小问题,那就是费用比较高,总不可能绑一群人来为你免费识别验证码吧。
说起来让用户免费识别验证码来补全自己的工作,还真有公司这么干,其中最出名的是谷歌,它在2009年买下了Captcha系统,改造成了reCaptcha,加入了一套流程,把自己数字化图书工作时,扫描出来的文字,机器无法识别确定的时候,用验证码的方式来让真人识别,用多种交叉验证的方式来保持正确率。
咳咳,有这种好事?后来的某一天,企鹅也闻着味来了,搞了一个医学图像验证码,让大家一起帮忙点点,不过这种验证码是为了医学发展,初衷还是挺好的。
上面提到让人来识别验证码,可以终结验证码,在这个过程中,为了增加破除验证码的成本,验证码也完成了异形版本升级,加入了需要按顺序点击,需要旋转到正确位置和滑动验证的方式,以及衍生出不需要更多操作点击验证码。
这种验证码在点击的时候,会判断用户所处的设备环境是否正常,直接分析用户的行为模式,IP限制、沙盒与浏览器特征限制、页面来源与停留时间,以及操作速度等等都会考虑在内。
当然,这些手段随着时代技术的发展,已经要成为过去式了,谷歌的验证码系统,包括谷歌自己也在研究怎么绕过去。
之前马里兰大学的研究人员还弄出了一套专门针对谷歌的“unCaptcha”系统,后续还有升级的unCaptcha2版本,在音频验证码的场景下,绕过的成功率在90%以上。
有人可能会疑惑为啥有音频验证码,因为视力障碍人群也有使用软件的需求,在无法看到验证码的前提下,在读屏软件的辅助下,使用音频验证码是比较折中的方式,用其他身份绑定方式也可能被人恶意使用。现实生活场景比较复杂,使用者基数大了之后,科技公司还要考虑对少数人群的关怀,这个是很困难的,12306还因为没有语音验证而被起诉过。
而在reCAPTCHA的重要场景图片验证码上面,依托AI技术发展,最近卡内基・梅隆大学的研究人员说,人类头痛的图片识别验证码,现在AI的表现比人类更好,识别时间和准确率都超过了人类,想起来之前GPT的新闻,说AI能看懂图片的内容的时候,没想到这么快就用在了验证码上面。
也就是说,以后的图像验证码,可能会出现机器人识别过得了,人类反而识别不出的魔幻场景,到这种地步,可以说是让验证码的对抗难度和易用性又来到了一个新的境界。
如果你识别不出验证码,甚至……还可以使用浏览器扩展来辅助你完成,像是I'm not robot captcha clicker、Buster、NopeCHA一类的工具。
也就是说,验证码的对抗已经从:机器和人类比赛,慢慢变成了机器和人类借助机器比赛的阶段。
到了这个阶段,大家对验证码的厌烦是越来越多,它可能把原本需要服务的人给劝退,而现在更流行的方式是用短信验证码和已经登录的APP扫描的方式,来完成登录或使用的验证,这个过程中,让人们自己验证自己是人类。有些APP登录的时候需要手机摄像头进行扫码,不允许从相册选取,也是这个道理,减少各个链路的风险,避免有恶意软件进行越权操作。
网上经常有人在讨论,机器和AI会不会替代人类,而这些问题在小小的验证码里面,其实已经初见端倪了,因为验证码本身就是一种图灵测试,Captcha的全称是:
全自动区分计算机和人类的公开图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称Captcha,俗称验证码)。
光是在验证码领域,就有越来越多人感觉与机器竞争很吃力了,那么AI在其他领域,又会让人觉得更加轻松吗?到最后,这又回到了哲学向的问题,在迫使人类思考“我是谁”这类迷思的时候,也让人对自己身上的不可替代性,有了新的考量。
AI和人类的斗争,已经悄悄从验证码里开始了。