可能是互联网史上最大骗局!填验证码其实是在免费打工!

大家在网上冲浪的时候是不是常常会遇见让输入验证码,并且验证的方式也是五花八门。你可能不知道输入验证码是在让你免费打工!

不得不感概,现在网上冲浪干个啥都需要验证码,难道我就这么像机器人吗?机器人会上 xxxhub 吗?甚至有些验证码的难度真人都认不出来,弄那么复杂是图啥?

图片验证码

其实,随处可见的验证码除了在验证我们是不是人之外,还在让用户免费为其打工,并且人们还没有意识到这个「骗局」。

证明你是一个人

验证码是一个低成本高收益的方案,它可以从根本上防止机器、脚本的恶意攻击,因为它只要验证你是不是一个真人,不是的话直接拒绝。并且它也可以复制到任何系统中,以致于现在任何地方你都能见到它,也分化出了各种有意思或者高血压的验证码类型。

比如最简单的数字、字母、文字,以及衍生出来的简单数学计算,这些都算是字符识别类。

字符识别类验证码

移动滑块、旋转图像,可以归为位置识别类。

滑块验证码

识别物体、识别红绿灯斑马线这些属于物体识别类。

物品识别验证码

甚至还有其他各种各样欢迎大家补充。这些花样繁多的验证码难到只是为了安全所需?不,还有一个隐藏目的:让用户免费为其打工。

互联网最大骗局   

21世纪信息时代刚刚来临时,大量纸质资料、书籍需要进行数字化,手工录入肯定是不可能的,但机器扫描又很容易出现扫描不出来的情况。

验证码-5.png

面对这个问题, reCAPTCHA 的创始人之一提出了一个很好的想法:我们能不能利用验证码系统来让人类帮助识别那些机器扫描不出来的文字?这样就能结合人类与机器的长处,提高工作效率。

验证码-6.png

而同时,验证码又要满足用于区分人机的最基本需求,所以就有了一个很巧妙的方法:用户看到的验证码中有一部分是正常用于验证的文字、而另一部分是机器无法识别的文字。

常见验证码

用户输对了用于验证的部分,机器就会假设另一部分也正确识别,再结合多个用户的交叉验证,就成功帮助机器识别了那些不能识别的文字。也就是说,人们在输验证码时,其实前半段就已经完成验证,而后面则是在义务劳动。

借助这个系统,每天都能录入几亿字符,大量书籍完成了数字化工作,可以说为人类文明做出了巨大贡献。

验证码-8.png

那照这样下去很快就没有书籍需要数字化了吧?验证码骗局可不止这样,恰逢人工智能和机器学习的发展,这套系统开始有了新的工作:辅助训练 AI

训练AI

这下验证码也从字符识别发展成了更加复杂的物体识别,我们又在无形之中为 AI 的发展出了一份力。天天区分红绿灯、斑马线的无偿劳动,谷歌自动驾驶出来是不是得一人发一辆车啊?

验证码-10.png

AI 对抗 AI

原来我在填验证码的时候,不仅仅是证明了我是一个人,同时也在辅助训练 AI 。这让我不禁想到了一个问题:AI 学会了识别字符、图片,那是不是可以用 AI 来破解验证码?

答案是可以的,并且还无法避免。Google 通过 API 本身向开发人员开放了 TensorFlow,意味着可以使用  TensorFlow 来欺骗训练 TensorFlow 的验证码系统。

验证码图片

这就好比,师父为了防止徒弟打开自己的宝箱而上了一把锁,但是师父教给徒弟的技能就是去开这种锁,最终徒弟也能打开师父的锁,但师父最不能忍受的就是徒弟能打开自己的锁。

矛盾吧?既然这样,又要怎样才能区分人和机器呢?

验证码-12.png

新的验证方式

reCAPTCHA 推出了更加有效的验证系统,通过直接记录识别用户操作轨迹来区分人与机器,提高机器模拟成本。

相比于传统验证系统,它并不需要用户进行点图片、输文字验证,它的工作机制是跟踪用户点击验证框之前、当时和之后的各种行为,比如在网页上花费的时间、点击滑动次数,综合分析给出评分,从而来判断是否是人为操作。

reCAPTCHA验证系统

但经过训练的 AI 还是可以突破这道验证,未来甚至会有更多的方案。

验证码-14.png

只能说,AI 对抗训练 AI 的验证码系统是无法避免的,虽然可以不断提高机器模拟成本来不断延后这个结果,但最终对用户来说,我们可能更难向服务器证明「我是人」了。现在的验证码,且用且珍惜。

结论

验证码是防止机器人的一种手段,虽然我们是在帮忙打白工,但是在一定程度上还是可以保护网络安全。随着科技的发展希望可以有更好的验证码类型出现。

本文编辑:@ 小淙

©本文著作权归电手所有,未经电手许可,不得转载使用。