12306怎么收取验证码 12306验证码识别算法( 二 )


有了验证码,确实在一定程度上阻止了恶意的机器人程序,比如遏制了垃圾评论,保证在线投票的真实性,也保护网站不被批量注册 。不过,即便是个门外汉,你也能看到这些行为仍在网络上横行,可见验证码并不是绝对安全的防护屏障,它所针对的也只是大量的普通用户而已 。
验证码诞生之初,就可以通过人力暴力破解的方式绕过测试,但代价太过高昂 。在一些招工网站上,可以搜到一些公司发布的广告,专门雇人全天人工阅读、输入验证码 。纽约时报在2010年曾报道说,一些发送垃圾邮件的公司将填写验证码的工作外包给发展中国家(中国、印度等国)的工人,每填写1000个验证码可获得0.8-1.2美元的报酬,还有专门的经纪人和中间人 。一位孟加拉的验证码经纪人在自己的简介网页上称,公司拥有30台电脑,实行三班倒,可以每周7天、每天24小时地开展工作 。
虽然费用低廉,但规模有限,人力填写验证码并不是十分赚钱 。不过,计算机不能完成的任务已经越来越少,许多技术博客都会定期宣布对Gmail、雅虎等知名网站的验证码破解成功 。因为在一个验证码中,每个字母都是由一定数量的像素组成,恶意软件如果能数出像素数,就可以知道它“看”到了什么字母 。而互联网公司通常不会做出回应,因为这很容易鼓励那些人更“走火入魔”地破解验证码 。
验证码正在拿你当苦力
随着软件的发展,人与计算机之间的差别会越来越小,发明人Luis von Ahn认为,或许3-5年内,能完全识别验证码的软件就将出现 。这就要求更有效的验证码,比如听一段音频(类似英语听力?),或者要求用户起兴作首诗 。好吧,12306上那些区分动物、人物的图片,也不失为一种尝试 。
但另一方面,验证码的识别技术十分必要,除了增强自身的安全性,验证码本身作为一种图灵测试,也综合了图像处理、机器识别、模式识别、人工智能等多个领域的研究,这些成果可以被应用到多个领域,最直观的便是手写文字识别技术(OCR) 。更为直接的用途,比如说生活中常见的摄像头识别车牌 。验证码识别在国外已经有了专门的对抗赛,也形成了相关的产业和理论体系 。在国内,2010年就有人用KKN算法破解了四家银行的验证码,识别率超过80% 。
其实,在你输入某些验证码的同时,也不知不觉做了一回文字的“搬运工” 。2005年,Luis von Ahn对验证方式进行了更改:注册者输入验证码时,提供给两个字符串,一个是真正的验证码,另一个则来自某个古老文献中难以辨识的单词或词组 。注册者需要自己辨识、输入这两个字符串 。
奥妙就在第二个字符串上,这个通过扫描仪、OCR软件甚至整理者都难以辨识的字符,可以通过大量注册者的“举手之劳”,很快得到确认 。如果把互联网档案馆的文本都校对一遍,每天处理100万个单词需要400年,而加入到验证码中,每天可以校对160本书,精度超过99% 。2009年9月,Google专门购买了这项技术,作为书籍扫描中难以辨认字符的识别工作 。
Louis von Ahn的办法,堪称利用群体智慧进行大数据计算的典范 。顺便提一句,她当年的博士论文,就是人力计算机(Human Computation) 。
最后回到被大量吐槽的12306 。验证码是为了防御机器的,现在却把真人都给难住了 。出现这样的系统,是因为旧的验证码体系已经完全被攻破、起不到防刷的作用,不得不采用新的方案 。
一套新规则出现可能是好事 。从实际效果看,这些低像素的图片着实难住了普通人,理论上也让机器学习更加困难,所以是故意为之 。在打击黄牛和抢票软件的效果上,仍有待观察,有科技公司就表示攻破这些图形验证码并不困难,因为12306上使用的581种图片(哪怕是5810种图片),只要有足够的耐心,把所有图片都刷出来并加上备注,就能实现破解 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。