验证码,你去向何方
novakon2015/12/24软件综合 IP:广东
12306的验证码,已经雷倒了一片。为什么这些年验证码越来越复杂了呢?因为,简单的验证码可以被机器解开。如果机器能解开,就能写程序批量注册用户,批量发帖,批量购买车票,批量发送查询请求,这一切都将使得12306这个节前全国访问量几乎最大的网站瘫痪。车票是紧缺资源,怎能如此随便?


这些年验证码变得复杂,与机器学习技术的发展分不开关系。
最早的验证码,是从26个字母(或者还有数字)中选出来的若干个字母组成的。我们可以把图片中的每一个字母,和26个字母的模板,逐一比较,如果图片跟模板中某一个字母的逐像素xor后再求和得到的结果最高,就认为原图片中的字母就是模板代表的字母。这种匹配方式设计简单,准确率高,因为26个字母只有26种可能的形状。所以这种验证码,已经被大部分服务放弃了。


后来他们把验证码做成弯的,斜的,模糊的,这样字母就和模板长得不像,没办法对比了。也就是说,包括各种变换在内,现在每个字母有1000种可能的形状,根本无法创建模板。代价是,人要花5-10秒才能正确输入验证码。这个时候来了机器学习:就是要统计!把几万个验证码和它们的识别结果,以及识别结果做各种反变换的结果,作为训练样例,丢进机器学习程序,很快就得到了能准确识别字母的模型。


再后来,他们把验证码做成了扭曲的,这样增大了样本空间(现在每个字母有10000种可能的形状),使得测试样例很难包含所有可能样本。
不过,这个时候,英语不好的人大概需要花15-30秒才能正确输入(因为往往伴随着几次错误重试)。qq的验证码是典型。


后来大家觉得这样太麻烦了,于是想了一个图片验证码。用几张图片来出题,让登陆者对图片进行分类以验证是否为人类,每次要花10-20秒。其实这也不安全,因为目前的图像分类算法,在收集足够样本之后,解决这类问题简直游刃有余。而且因为图片本身多是从百度获取,攻击者只要在百度图片搜索关键词,即可快速验证哪些图片符合关键词定义!所以,其实也不安全,无非一般攻击者没那么厉害,但不排除利诱之下有研究人员来干这个。


总的来说,12306和qq的验证码,都是很难的,因为这是他们公司根本利益的保障(qq盗号问题很严重,要防止盗号者“晒”号)。


然而,随着工具的普及,现在我们在自己家里也可以尝试各种机器学习算法。美国一个黑客就制作了摄像头+驾驶数据,训练自动驾驶仪的设备,类似谷歌的自动驾驶车。显然,验证码不能再像现在这样发展下去了:以前我们总是倾向于认为,计算机没有理解图像的能力,然而经历了这么多例子,我们看到,从统计意义上来讲,计算机的理解能力和人的理解能力,并不相上下;而我们设计这么多验证码,反而让人类用户非常头疼。现在的机器智能,已经可以看数学题给出答案了(Wolfram Alpha),所以依赖于人类的推理能力设计验证码,也是绝对不现实的。


那么,在这个机器学习泛滥的年代,怎么设计验证码呢?或者准确讲,怎么识别一个人类用户呢?
我认为:有一些能力,只有人具有,而机器永远不可能通过学习去习得,只有围绕这个能力开发的验证机制,才是有效的,同时节省人类用户的时间。我们刚才看到的例子,机器可以轻易学习,人却难以有效解决,这是本末倒置的,是错误的设计理念。
来自:计算机科学 / 软件综合
16
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
novakon 作者
8年4个月前 IP:广东
801853
论坛改版的计划已经进入实施阶段,然而大多数人对验证码问题都是一筹莫展。诚然,现在我们并没有遇到特别大的问题,但5年后攻击会变得非常简单:一个脚本跑一圈,所有答案收集完。如果我们定的标准是“超过市面主流机器学习产品的能力”,那么在5年之内,我们的验证码将会比高等数学还难。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
金星凌日
8年4个月前 IP:陕西
801854
但我觉得在未来,能较大概率通过图灵测试的机器总会出现的。这时候,还有什么办法区分人和机器呢?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
8年4个月前 IP:广东
801855
我来举个例子。
比如有人说,用扬声器播放一个常识问题,人用麦克风回答。这就是不行的,因为语音识别和语音合成技术很成熟,所以这个问题就变成了:给定任意常识问题,应该回复什么答案?我们知道常识问题肯定是从某个常识数据库里面抽取的,所以一定有一个范围;在这个范围内,我们可以用统计学方法,获得答案(不需要什么机器学习)。如果常识数据库非常大,我们无法收集足够样本,那么我们就可以用语义语法上下文等概念,将每个问题解剖,丢进机器学习程序,一样可以获得很高的命中率。
最致命的是,一个非常大的常识数据库,会给用户带来很多困扰,比如对于农村妇女,可能一道题目要解1 - 3分钟,所以也是不适合的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
8年4个月前 IP:广东
801857
引用 金星凌日:
但我觉得在未来,能较大概率通过图灵测试的机器总会出现的。这时候,还有什么办法区分人和机器呢?
通过图灵测试之后,一个办法是:我用这台通过图灵测试的机器,做一个聊天验证码,让他去判别对方说的话是否像人类。不过我相信,很多人类,会被判定成机器人的,所以也不行。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
drzzm32
8年4个月前 IP:安徽
801859
引用 novakon:
通过图灵测试之后,一个办法是:我用这台通过图灵测试的机器,做一个聊天验证码,让他去判别对方说的话是否像人类。不过我相信,很多人类,会被判定成机器人的,所以也不行。。。
到最后问题变成怎么判断网络的那端是人类还是机器。然而未来的发展趋势就是仿生,机器越来越像人类。。。估计后面只能使用人类特有的特征进行识别,比如指纹,虹膜,DNA。然而这些在网络上都是以数字信号传递。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
8年4个月前 IP:广东
801864
引用 drzzm32:
到最后问题变成怎么判断网络的那端是人类还是机器。然而未来的发展趋势就是仿生,机器越来越像人类。。。估计后面只能使用人类特有的特征进行识别,比如指纹,虹膜,DNA。然而这些在网络上都是以数字信号传递。。。
是的。看起来,似乎没有办法通过且仅通过提问-回答的方式,高效地用机器判断一个用户是否为人。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
8年4个月前 IP:广东
801899
当然,我们知道人工智能的发展一定是遵守一定的规律的,比如摩尔定律。目前大众化的机器学习技术,能够理解事物的表面含义(文字,图片,语音等等);高级的机器学习技术,可以实现多层次的理解(比如看一张图片,用自然语言写一个陈述句)。所以如果我们总是保持技术上的领先(即掌握较高能力的机器学习技术),就可以避免他人用较低能力的机器学习技术攻破我们的验证码。当然这里也有极限,理解层次多了之后,往往人类就会被挡在外面。不过我觉得,这对kc反倒应该是一件好事,因为我们希望kc的会员都是具有较高理解能力的、脑子至少比机器聪明一点的人。



所以,应该从理解能力入手。虽然机器学习的理解能力很强,但我们赶在时间之前,总能找到一些它们不太可能理解,而kc会员经过思考可以理解的问题的。因此,我建议验证码换成小学奥数题。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yaozhiyu
8年4个月前 IP:黑龙江
801911
大家知不知道前几年就有公司做“打码平台”的业务,实际上有些软件的认证码识别,后台是由人来做的,验证码图片被平台分发给连接到平台的数以万计的客户端上(很多都是在校学生上网的时候做个兼职,赚点打游戏的钱,识别一个码几分钱吧),由人来识别验证码,并把结果返回,验证码面对的已经不是人与机器了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
8年4个月前 IP:四川
803040
我看着怎么像自动建模技术=_=
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
随天
8年4个月前 IP:广东
803579
像kc这样的定位于科技创新的论坛还可以使用一些稍难的题目做验证码,但那些像12306之类的面向所有群体的网站该怎么办呢?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
power_rdx
8年4个月前 IP:北京
803593
可能以后买车票真得刷脸了。但是这又会造成更大的困难:不是所有人都能及时找到带有摄像头的电脑的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
usafn6132
8年3个月前 IP:吉林
804798
以后人类的生理结构和各方面感官、功能进一步被研究透彻,并数字化之后,计算机基本可以模拟几乎所有的个体生理特征,只面向人类的验证码就越来越不现实了吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yaozhiyu
8年3个月前 IP:黑龙江
804818
下一代身份证应配置usb接口,并为每人发行数字证书,已解决身份认证问题
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
amo
8年2个月前 IP:广东
810552
简单,向天朝有关部门学习,把业务强制放到某某机关,现场排队……[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
暗夜幽灵
8年1个月前 IP:天津
813791
验证码不一定是非要机器不能识别,只要保证对方的代价足够大就行了
比如论坛的验证码主要就是防止广告机恶意注册水贴的,只需要把注意力放到广告机认不出来,或者识别要花n个小时进行处理的程度就行了
没必要做成防Alpha Go的程度,毕竟那种级别玩意的代价大于广告贴的收益
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8385
学术分
16
2008/03/29注册,2年3个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}