当前位置:99696大富豪棋牌 > 关于我们 > 99696大富豪棋牌吾将上下找扳手与海豹,在验证码

99696大富豪棋牌吾将上下找扳手与海豹,在验证码

文章作者:关于我们 上传时间:2019-10-03

想必大家最近都被12306坑爹的验证码刷屏了,在这紧张的抢票节奏里,还要忍受验证码对智商的考验,生活也真是不容易。

99696大富豪棋牌 1

文章作者:行者无疆   原文链接:

来源 | AI研究所

看到网站上的奇葩验证码,网友们纷纷献计献策,我个人觉得难度最大的应该是下面这种了:

即使现在互联网已经渗透到我们生活的方方面面,但它依然只是现实的物理世界在虚拟的网络空间上按比特信息编码后的投射。

验证码的昨天、今天和明天

天天输验证码,你知道它是用来干什么的吗?

99696大富豪棋牌 2什么,你一个都不认识?图片来源:sinotf.com

这就意味着自动化程序同样可以模仿人的行为,同时,因为机器速度更快且不知疲倦,它会被用于批量在论坛、网站、app 中发布营销信息。而且,在监管不足的情况下,利润更高的行业往往底线更低,自动机器人发布的垃圾信息经常也和赌博、诈骗、色情等灰色产业有关。一些自动化程序还会尝试以「撞库」的方式窃取用户帐号、密码,给网站带来巨大的安全隐患。

为什么要使用验证码

你相信,验证码能够辨别出“你是人类还是机器人”吗?

然而,吐槽归吐槽,在这小小的验证码背后,其实有着许多有趣的故事。屏幕上的方寸之间,其实有着智力上的激烈交锋。在验证码不断发展的背后,是一场场来势汹汹的技术变革。而这场变革,我们每个人都身在其中。

99696大富豪棋牌 3

如果没有验证码,攻击者会使用有害程序自动注册大量的 Web 服务帐户,然后攻击者可以使用这些帐户为其他的用户制造麻烦,如发送垃圾邮件或通过同时反复登录多个帐户来延缓服务的速度。
然而,在大多数情况下,自动注册程序是不能很好的识别图片中的字符的。因此,为了防止攻击者编写程序来自动注册或者重复登录暴力破解密码,验证码技术应运而生。

在登录某个账号的时候输入验证码,已经成为再平常不过的事情了。不过不少网友抱怨,现在的验证码真是设置得越来越刁钻了。

验证码的起源

想必很多人都觉得12306的验证码“反人类”,但其实,“反人类”的验证码最初是用来"反机器"的。

1998年,康柏电脑公司(Compaq Computer Corporation)的四位程序员马克·李李布瑞吉(Mark D. Lillibridge),马丁·阿巴迪(Martin Abadi),克瑞斯那·巴拉特(Krishna Bharat)和安德雷·布罗德(Andrei Broder)向美国专利局提交了一份专利。

在这份专利里,他们提出了一种选择性限制计算机系统访问的办法(Method for selectively restricting access to computer systems)。他们提出这个方法的主要目的,是为了防止脚本机器人(bot)自动向他们的搜索引擎提交网址。

在这篇专利里,他们采用随机生成含有字符串的图片这一方法来生成验证码,并通过扭曲外观和添加背景来避免图片被OCR(光学字符识别)技术破解。

99696大富豪棋牌 4流程图:随机生成字符库→选取随机字符串→随机改变外观→添加背景→提交最终效果

它就是验证码的雏形。

验证码正是为了解决这样的问题而生的。它也是个自动化程序,不过存在目的是区分用户到底是机器人还是真实的人。

当前,很多网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

99696大富豪棋牌 5

区分人与机器的验证码

99696大富豪棋牌 6

想必大家一定见过类似上面的验证码图案。而熟悉的验证码技术背后,隐藏的是这样一个很深奥的问题:

如何区分真人和机器?——即如何证明坐在电脑前的是一个活人而不是一段程序呢?

在这个问题上,一种解决方案是“图灵测试”,即“人类向计算机提问”。而验证码恰好相反,是“机器提问人类解答”,因而验证码也被认为是“反图灵测试”。

2003年,路易斯·冯·安(Luis von Ahn)等人提出了“全自动区分计算机和人类的公开图灵测试”,即CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)。

这个短语,正是验证码的名字。

而这就引发了一个新的问题:机器人向人类提出的问题,能让机器人解答吗?如果机器人能够识别验证码,那不是意味着这个验证码不再能够验证“人类”和“机器”了?

从这以后,各种各样的验证码和验证码破解层出不穷,程序员们的创意和才智在这方寸之间得到了尽情的发挥。而我们,也终于有幸体验到了买火车票之艰难。

自动生成的扭曲的文字和图案是最常见的验证码,虽然它可以有效地识别出很大一部分自动化程序,但它对真人用户的体验并不好。而且随着机器学习的发展,它的破解也越来越容易。

什么是验证码

不好意思这个字符我真的看不懂

程序员们智力的角逐

早期的验证码可能只是一串简单的ASCII字符,比如黑客们用

|-|3|_|_()

)-(3££0”

代表“HELLO”。这个后来发展成了火星文(leetspeak),o(╯□╰)o。

后来验证码变成了图片显示字符串或者数字的形式,这也是我们最常见的验证码。

99696大富豪棋牌 7

早期的验证码采用扭曲字符和梯度背景,然而好景不长,这样的验证码很快就被破解了:

由于图片中字符与背景颜色之间差异较大,于是程序员们可以利用算法将图片中的每一个像素点的值提取出来,然后判断哪些是背景部分,哪些是字符部分。这样将字符与背景分离。

接着,将分离出来的字符与“训练库”——也就是存有这些字符的资料库——里的字符进行最终识别。而且由于英文只有26个字母,而阿拉伯数字只有10个,这样的验证码识别难度也大大降低。

如果一切顺利,根据上面的流程计算机能很容易地识别验证码,并不需要人。这个验证码,也就被破解了。

于是,喜闻乐见的,我们迎来了中文验证码,庞大的中文字符库保证了验证码识别的难度(还混用了拼音):

99696大富豪棋牌 8

而不会中文的歪果仁则开始逆向思考验证码识别技术并进行针对性的对抗。他们把各个字母粘连起来,这增加了算法上分隔每一个字符的难度。并且每次采用不同的字体也能增加模式匹配的难度。

99696大富豪棋牌 9

而到了12306这个程度,考验的就不单纯是图案识别了,还有某些抽象思维的能力——比如我得知道“紫砂壶”到底是个啥,或者至少知道它长啥样,我才能选到正确的验证码图案。这,也就是我们俗称的“智商”……

99696大富豪棋牌 10

然而,这样的图片验证码也并不是一劳永逸的,有人展示了用网络上的识图算法来机器识别12306图片验证码的一种思路。原理大概是这样的:首先将验证码的图片分割成一个个单独的图片,然后将这些图片上传到机器识图的网站上,网站会返回下面的答案。

99696大富豪棋牌 11图片来源:zhihu.com

接着,只需要让机器识别出验证码的“问题”,也就是需要点击的图片是什么“东西”——在这个例子里是“紫砂壶”——最后让计算机一一匹配就可以了。

并且他认为12306的这一方法其实并不靠谱,存在三个问题:

1、图片过于复杂、混淆过多、条件太诡异时会挡住大部分正常用户

2、容易被枚举,题库太弱,不如字符组合可能性多

3、破解门槛不一定高于字符型Captcha

对于这个分析,我举双手双脚赞成。我买不到票不是智商低,而是因为我们属于被挡住的“大部分正常用户”,嗯,一定是这样的。

然后现在, 铁路总局已经表示,12306网站将调整图形验证码中图片的清晰度和分辨率,而且可能剔除根据后台统计出来大家反映最多的和错误率较高的图片验证码……

99696大富豪棋牌 12

“验证码”的英文表示为CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart),翻译过来就是“全自动区分计算机和人类的图灵测试”,顾名思义,它是用来区分计算机和人类的。在 CAPTCHA 测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答 CAPTCHA 的问题,所以回答出问题的用户就可以被认为是人类。 CAPTCHA 是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,因此人们有时称 CAPTCHA 是一种反向图灵测试。

比如,铁道部购票官网 12306 的购票图形验证码,在 2015 年更新之后引发了全网大吐槽。不仅过滤掉了抢票工具,还有那些摸不着头脑的正常用户。路漫漫其修远兮,吾将上下找扳手与海豹。等下,扳手长啥样?海豹还是海报?

更多的……验证码?

当然,还有一些更奇葩的验证码。这些验证码已经变成了一种游戏,而不是单纯的为了区分人类与计算机了:

99696大富豪棋牌 13输入正确的验证码就可以将图片中的码去掉……图片来源:ticbeat.com

99696大富豪棋牌 14我的数学是体育老师教的,你们呢?图片来源:buzzedtip.com

99696大富豪棋牌 15会画画,走遍天下都不怕……然而手残怎么办?图片来源:twitter

面对越来越复杂的验证码,算法可能捉襟见肘,然而还有一种万能的破解方式,那就是:人工识别(Cheap or unwitting human labor)。即将验证码分发给分布式的客户端,客户端人肉识别,返回结果。

还有人专门开发了客户端软件,让没事干的大学生人肉识别验证码赚些小钱。如果在线人数足够多,任务下达后几乎都是秒回的,效率也是不错的。所以,识别好验证码也是一项赚钱的技能(大雾)。

Google 的验证码团队做了很多创新,比如创造性地把验证码用于纸质典籍数字化。而在扭曲文字、图片的主流路线之后,Google 的团队还尝试了新的思路,通过追踪点击行为等来识别用户是否是真人,用户只需要点击「我不是机器人」的复选框进行验证即可。

现在每天有多达上亿的验证码被人类识别出来,因此CAPTCHA的需求量十分巨大,CAPTCHA需要能自动产生并且评估正确性。此外,人类必须要能够快速地识别并输入验证码,否则容易惹恼用户以至于用户流失。对于CAPTCHA,可以引入人工智能领域的难题,来使现有技术短期无法成功破解。如果一种CAPTCHA没有被破解,那么就有一个可以区分人类和计算机的方法。如果CAPTCHA被破解了,那么一个人工智能的问题也就随之解决了。

99696大富豪棋牌 16

验证码还能干啥?

验证码也并非都是那么奇葩,它也可以用来做一些非常有意义的事情。

例如:卡耐基梅隆大学的路易斯·范安等人(对,就是前面提到的造出CAPTCHA这个短语的人啦)设计了一个名叫 reCAPTCHA 的系统,来进行古籍的数字化。

99696大富豪棋牌 17

reCAPTCHA将 OCR(光学字符识别)软件无法识别的文字扫描图传给世界各大网站,用以替换原来的验证码图片;那些网站的用户在正确识别出这些文字之后,其答案便会被传回卡耐基梅隆大学。

reCAPTCHA 在 2009 年被 Google 收购,而Google将这一技术发扬光大,不仅用来识别古籍,还用来识别Google街景的街道地址。所以,有一段时间,你会发现google 的验证码变成了某个门牌或者路标:

99696大富豪棋牌 18谷歌的验证码有时候是街景拍到的门牌号。图片来源:tumblr.com

在最新版本的 Google 验证码 reCAPTCHA v3 中,你甚至什么都不用做,系统就在悄悄核验当前的用户是不是机器人。技术正在让「验证码」越来越隐形,人类不必再为了自证身份去做「反向图灵测试」,但验证码的进步也带来了一些新的问题。

验证码的类型

验证码你好,你已成功打败全国 99% 的用户

验证码的未来

“反人类”的验证码,从始至终对抗的就不是人类,而是有着庞大计算能力却在模式识别、抽象思维上很弱的计算机。

然而,随着人工智能技术的进步,计算机在模式识别上也越来越强大,验证码也不得不走上越来越“扭曲”、“复杂“、“反人类”的不归路。验证码难度的提升,本质上反应了人工智能技术的进步。

而目前,无论我们多么吐槽12306的验证码,但至少,我们还能够通过它证明我们是真人,而不是机器。这在某种程度上反应了人类在智能上的优越性,至少现在,我们还是比机器智能优越。(或许有一部分小伙伴没法证明?)

目前,Google的算法在扭曲文本类验证码的识别率已经达到了99%,也就是说,这类验证码已经不能作为区分人类和机器的指标了,而总有一天,12306的验证码也会被破解,到那时,为了区分机器和人类,程序猿们又该设计出什么样的验证码呢?

验证码的一生,可以说正是人工智能技术不断进步的一生。而正因为机器越来越聪明,所以人类将不得不面对更多的挑战。或许有一天,人类的造物终将超越人类自己,人工智能终将超越人类,到那一天,验证码或许不复存在了,而人类又该何去何从呢?(编辑:Jerrusalem)

本文由十五言的科学写作训练专栏“科学人的秘密发动机”孵化而成。欢迎科学写作同好加入其中。

初代验证码 CAPTCHA:歪歪扭扭的文字是为了故意让机器人看不懂

文本验证码

网友们也忍不住自己制作一套高难度验证码。验证码的能力,超乎你想象!

卡内基梅隆大学校舍不大,学校排名也和常春藤盟校也有一定差异,但它有全美排名第一的计算机科学专业。

文本验证码方便计算机自动地大量产生,是目前应用最多的最广泛的技术。文本验证码主要靠图像变形和添加噪声。

99696大富豪棋牌 19

这所学校出了 13 名图灵奖得主,其中的一位,Herbert Simon 还因为把计算机科学和系统理论、运筹学结合用于管理决策问题,开创了「决策理论」而在 3 年后获得了诺贝尔经济学奖。

文本验证码破解难点主要在于字符的分割和识别。其中字符分割是破解文本验证码的关键。主要步骤是:第一步,分割字符,第二步,单个字符识别,其中单个字符的识别在现有的机器学习算法下可以很容易的识别。

是真的好男人,还是反义“好”男人

在严肃的学术研究之外,卡内基·梅隆大学还有一些对计算机和互联网行业影响深远的「小发明」,比如给了 emoji 产业灵感的第一个笑脸符号 :-),以及「烦人」的验证码。

所以防范对文本验证码的攻击的关键在于加大字符分割的难度。像Google等公司的验证码都是粘连在一起,分割难度大。 

99696大富豪棋牌,国外的网友也遭遇过类似的经历,纷纷调侃——请在下列图中选择出“时尚达人”或“糖尿病患者”。这是在考验审美?还是读懂微表情?

2000 年,从杜克大学数学系毕业,来到卡内基梅隆大学读计算机科学博士的路易斯·冯·安(Luis von Ahn)和导师一起提出了验证码的概念,全称是全自动区分计算机和人类的公开图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称 CAPTCHA)。

图像验证码

99696大富豪棋牌 20

99696大富豪棋牌 21

图像验证码基于图像分类、目标识别、场景理解等问题,一般情况下比文本验证码更加难以破解,但是现有的图像验证码需要庞大的图像数据库,而且无法大规模产生,更糟糕的是,一旦数据库被公布,算法不攻自破。

我放弃登录

图灵测试由计算机先驱人物,「人工智能之父」阿兰·图灵提出,如果一台计算机能和人类对话而不被识别出是机器人即被认为通过图灵测试。验证码也是一种图灵测试,不过它的目的不是为了筛选出人工智能,而是识别出真实的人类用户。

声音验证码

这些仿佛是在搞笑的验证码经常让网友们做到怀疑人生:我是谁?我在哪儿?我为啥要填验证码?

一种最常见的验证码是由算法生成的扭曲的文字,这么做是为了防止被光学字符识别程序自动识别出来。

声音验证码以随机间隔播放随机选择的一个或多个人播报的数字字母,再添加背景噪声。声音验证码容易受到机器学习算法的攻击,而且相对于视觉上的验证码,用户友好性更低。对于字母的声音,可能农村地区的少部分群体会因为对于字母发音不熟悉而导致无法理解,而无法通过测试。

99696大富豪棋牌 22

还有一些更现代的方法包括在字母上加一条曲线、将不同的字母叠在一起或者添加复杂的背景。

验证码的使用

99696大富豪棋牌 23

99696大富豪棋牌 24

服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显示,浏览器端输入验证码图片上字符,然后提交服务器端,提交的字符和服务器端保存的该字符比较是否一致,一致就继续,否则返回提示。攻击者编写的robot程序,很难识别验证码字符,顺利的完成自动注册,登录;而用户可以识别填写,所以这就实现了阻挡攻击的作用。而图片的字符识别,就是看图片上的干扰强度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。

这些测试被称为CAPTCHA,“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,意为“区分计算机和人类的完全自动公共图灵测试”,这个名词看起来极其科幻又神秘,但通俗的说法就是“验证码”。

图片验证码也大行其道,包括要求用户识别图片的物体,以及把缺失的部分拖到正确的位置和拼图等。

验证码的困境

它的诞生可以追溯到上世纪末,当时黑客非常猖狂,他们创造了一种能够大量重复编写信息的程序,伪装成人类用户,肆无忌惮地朝网络上倾倒 “僵尸”信息,垃圾邮件、垃圾广告、垃圾评论泛滥成灾。还有程序机器人恶意破解密码、恶意刷票,严重损害商家和消费者的利益。

99696大富豪棋牌 25

计算机程序可以一天24小时不间断运行,即使是在较低的识别率也可以在较短的时间内大量穿越CAPTCHA系统。所以CAPACHA的识别率需要低于0.01%才可以有效地阻挡自动化的恶意程序的攻击。
当然,也可以通过IP辅助来限制一台机器的尝试次数。

电子邮件提供商 Yahoo公司为了解决垃圾邮件的问题,找到了卡内基梅陇大学的学生路易斯·冯·安。2002 年,路易斯·冯·安的 CAPTCHA 验证码应运而生,赢得了众多网民的鲜花与掌声。2009 年,谷歌收购 CAPTCHA,将它应用在谷歌图书的数字化上。

本文由99696大富豪棋牌发布于关于我们,转载请注明出处:99696大富豪棋牌吾将上下找扳手与海豹,在验证码

关键词: