专栏名称: 码农翻身
工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训, 不容错过。
目录
相关文章推荐
OSC开源社区  ·  李彦宏:DeepSeek让我们明白要将最优秀 ... ·  昨天  
OSC开源社区  ·  大模型训练中的开源数据和算法:机遇及挑战 ·  昨天  
OSC开源社区  ·  谈开源大模型的技术主权问题 ·  3 天前  
OSC开源社区  ·  敢自称Java版PyTorch,EasyAi ... ·  2 天前  
码农翻身  ·  DeepSeek彻底爆了! ·  2 天前  
51好读  ›  专栏  ›  码农翻身

世界上最反人类的发明,把全球网民都逼疯了!

码农翻身  · 公众号  · 程序员  · 2025-02-17 08:55

正文

在上网过程中,你肯定会遇到过类似这样的东西:



猛一看:为什么我得向计算机证明我是人类?


细一想:即使我勾选了那个框,就能证明我是人类吗?那些AI机器人难道不能勾选同样的框吗?


计算机为什么要问这个问题?它在背后又是如何测试是真人在点击的?


想回答这个问题,我们得看看验证码的发展过程。



0 1
精妙的发明


在互联网的上古时期,雅虎发现自家的聊天室经常出现“机器人”,这些机器人注册进入聊天室,疯狂地发送垃圾广告,让人不胜其烦。


“抓狂”的雅虎向卡内基梅隆大学求助,路易斯·冯·安(Luis von Ahn)和他的同事们接了这个活儿。



路易斯出生在贫穷的危地马拉,位于中美洲。



他的母亲非常重视教育,花了很多钱让他进入教英语的私立学校,8岁时就给他买了Commodore 64 计算机,从此路易斯对计算机产生了浓厚的兴趣,18岁时申请到了美国杜克大学,2000年进入卡内基梅隆读博士。


路易斯仔细研究了这个问题以后,开发了一个叫做 GIMPY 的系统。


GIMPY会从字典中选择一组单词,将它们以损坏/扭曲的方式,显示在特定背景的图像中,然后要求用户输入该图像中显示的单词。



人类用户能够识别出这些单词,但当时的机器人却不行,于是它们就无法进入聊天室了。


这种方式简单有效,又很容易集成到现有网站中去,邮箱系统、论坛、电商、游戏等系统纷纷采用,验证码很快便流行开来。


GIMPY就是第一代验证码,路易斯给它起了一个长长的名称:"Completely Automated Public Turing test to tell Computers and Humans Apart",中文意思是 " 完全自动化的公共图灵测试,用于区分计算机和人类 ", 简称 CAPTCHA ,中文一般说“验证码”。


有了验证码以后,受到最大影响的还是用户,我们不得不眯起眼睛,小心翼翼地输入这些单词,输错了就得重来一遍。


路易斯看到这种情况,又开始琢磨了,既然用户费了这么大劲, 为什么不把“识别单词”这个事儿给利用起来,让它产生价值呢?


比如有很多书籍,想数字化进入电脑得时候,就得用OCR技术扫描。



但是对老旧书籍,字体模糊,OCR也识别不了,那能不能让人来识别呢?


比如有个单词是 fox ,在书中模糊看不清了,那就形成图片,当作验证码让用户来识别。


用户A看到了,识别成了" fxx "

用户B看到了,识别成了" fox "

用户C看到了,识别成了" foc "

用户D看到了,识别成了" foo "


每个用户都有自己的识别结果,系统可以在后台做交叉验证, 如果发现大多数用户都输入了fox,那fox就可以认为是是正确的词


这样用户付出的劳动变成了有价值的“ 人肉OCR ”。


可是,这么弄验证码的话有个巨大的漏洞:因为系统也不知道正确答案,机器人就可以随意输入了!


路易斯就想了另外一招,每次展示两个词。


一个词是系统已知的,当作真正的验证码。


另外一个词是系统不确定的单词,让用户做人肉OCR


举个例子,下图中的morning这个词OCR识别不了,就把它当成不确定的词,让用户识别。


与此同时,再提供一个系统已经知道的词“overlooks”,当作验证码。


只有那些正确地输入了overlooks的用户,系统才认为这是一个真人,才会对他输入的另外一个词做进一步处理(例如交叉验证)


2007年,路易斯发表了一篇论文,把这种验证码称为 reCAPTCHA


reCAPTCHA 不仅提升了网络安全,还充分利用了广大网民的劳动,确实是一个精妙的发明。


2009年,Google看到reCAPTCHA在大规模数字化项目(如图书数字化、档案整理等)上的潜力,把它收购了,开始了一个雄心勃勃的Google图书馆项目,计划将世界上的每一本书都数字化,创建一个供所有人访问的数字图书馆。


截至2019年,Google利用扫描技术和reCAPTCHA,一共录入了4000万种书籍,非常惊人。



0 2
全新升级


由于文本验证码容易被机器人破解,为了增加难度,还出现了图片验证码和数学验证码。



验证码越来越复杂,经常是输入了几次都不对,把人都快逼疯了。



但是无论是文本验证码还是图片验证码,在AI能力飞速提升的时候,都力不从心了。


研究发现,当今的人工智能技术可以识别最困难的扭曲文本变体,准确率达到99.8%。



一些攻击者还找到了另类的办法,例如把验证码图片发送到低工资的地方,由人工快速破解。


更极端的例子,攻击者创建色情网站,要求用户输入验证码作为解锁内容的条件,而这些验证码实际上来自其他网站。


用视觉验证的方式已经不再是一种安全的选项。


2013年,Google开始部署新的验证码,名字很长, no CAPTCHA reCAPTCHA ,简称noCAPTCHA吧。


noCAPTCHA只需要用户去点击一个“我不是机器人”复选框即可,非常简单。



系统会在你点击的过程中,监测和分析你的行为。


人类行为 :正常人类用户点击复选框时,表现出自然的页面停留时间,鼠标移动轨迹和点击速度。


机器人行为 :自动化程序可能会立即点击复选框,没有鼠标移动或鼠标移动路径异常。


除了用户行为以外,noCAPTCHA还会收集设备信息和浏览器的指纹,一并发给后台做验证。


如果系统怀疑你是机器人(没有鼠标移动,或者移动太快),它可能会要求你完成额外的任务,用旧式的验证码来进行验证。




0 3
展望未来


验证码被机器人痛恨,也被大部分人类厌烦,顺畅的上网过程不断地被它打断。


但是如果没有验证码,我们的网络世界肯定会是一团糟。


从最初的GIMPY到reCAPTCHA,再到no CAPTCHA reCAPTCHA,验证码在不断进化。







请到「今天看啥」查看全文