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

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

ab85740b59735988691e1a108aa48e65.gif

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

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

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

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

01

精妙的发明

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

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

39af08018339fca187d6a6f9a60b91c6.png

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

70f771f12f96b59c402356510b4120c7.png

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

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

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

a93d3198344059bc3215b9db4fbf8451.png

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

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

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

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

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

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

105444bd0309e4f6415f9d06b5ea0d27.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

232165aed5a1d2b402705c8d587d37f6.png

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

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

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

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

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

02

全新升级

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

096fd8168f65a52712bf2d51980c03c9.png

e9867ed9a9188f14ee374d5b7fd8d79a.png

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

f6c63cd92091f5d0213b8beb40dfbaf0.png

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

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

809185b99c60001a452e1aca018e8d84.png

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

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

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

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

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

db6b72ce3fe60bc7c67f1bef6004287d.gif

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

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

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

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

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

cc93ae3b3c19ef4a85dba9a032c0f240.png

03

展望未来

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

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

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

然而,道高一尺魔高一丈,无论验证码如何进化,攻击者总是能找到破解之法。

希望将来能找到一个兼顾安全性和便捷性的办法,让我们拭目以待吧。

全文完,觉得不错的话点个赞或者在看吧!

近期爆文

一个软件Bug,竟然让爱好和平的国家领袖变成了核武器暴君!

小心,美国人又要在基础软件上弯道超车了

世界上最幸福的程序员

世界上最厉害的协作软件,让程序员痛不欲生,最后被印度人搞走了

1970年以来技术的发展趋势,怪不得程序员35岁就被裁......

这个大学生写了个免费软件,全世界网民抢着给他送钱,每月10万美元

全世界流浪的程序员,用最原始的技术,每月赚17.6万美元!

开源软件的叛徒,加入了微软

这两个程序员要花100万,彻底重写世界上最复杂的软件

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值