12306图片验证12小时内被破解,验证安全的出路到底在哪?

03月16日上午,12306网站更新了自己的验证码形式,将原有的验证码从英文字符变换到8张小图片,用户必须根据问题提示来点击选中正确的图片,然后才能预定车票。紧接着,各路媒体开始发稿,《12306官网放大招:启用图片验证码所有抢票软件将失效》《12306官网推出全新图片验证码抢票软件将失效》等新闻层出不穷。作为一个程序员,看到这样的标题,十分困惑这些媒体是怎么用上帝视角这么直接断定抢票软件将全部失效的,可以想象一大波刷票公司正准备捋起袖子干活就直接听到12306宣布自己胜利了。当然,我们反对一切的黄牛党,本文只是谈谈验证码技术。 重技术的验证码是一场拉锯战 当我们谈论验证码时,不免地提到两个人。第一个是计算机科学之父、人工智能之父艾伦.图灵,图灵对整个计算机科学的贡献和意义在此就不用展开,之前所以提到他,是因为他提出的“图灵测试”,这一理论第一次提到将电脑和人区分开。第二个必须提到的是卡内基梅隆大学的路易斯·冯·安,他在2002年第一次将扭曲的文字用于区别人和计算机,就是我们现在普遍见到的英文字符验证码,后来他将验证码公司Re-CAPTCHA卖给了google。 现在12306同样也用了扭曲的英文字符,但是却抵挡不住黄牛党和刷屏软件机器识别,是因为在这近十年计算机科学技术的发展,OCR(Optical Character Recognition,光学字符识别)等技术发展的已经十分成熟,识别扭曲英文字符并非难事,根据现有实验报告统计及真实调查,普通的验证码的破解率基本在75%以上。说到这里我们看看百度和腾讯是怎么解决的。

腾讯将验证码图片背景直接贴上真实图片做干扰,而且颜色采取的近似值。

被称为百度神兽的九宫格汉字验证码,利用中文的博大精深,在防刷上有较大的提升,但是对人的用户体验上就略差了。 12306的验证码出发点是安全?用户体验? 那么,我们来谈谈12306的图片验证码到底是个什么鬼。12306所采用的图片式验证码的验证形式,并不是什么首创,早在一些游戏网站上也采用过这样的验证形式,请看下图。

这把人都能吓懵的验证码还真出现过,而且很不幸的是,上了一阵子之后就被破解了。 现在12306推出的图片验证码,首先从用户体验上来讲,并没有比之前的文字验证码好用多少。虽然用户不再依靠键盘输入,但是面对小且密集的8张图片,选出“所有”正确的图片,那必须把所有图片仔细看一遍,这一过程带来的不确认型其实是同用户分辨G和9和心里过程是一样的。不信你瞅瞅下面哪些是邮票?重要的是这一过程中带来很大的不确认性,心理负担略重。

用户体验这个标准,不好衡量,我们再来谈谈安全性。从一开始变成图片验证形式,事情就不会像今天新闻标题说的那样,“刷票软件将全部失效“(我本着好奇的态度,搜了一下相关新闻,基本上从2012年起,每次12306更换比较明显的验证码,媒体都是这样报道的),为什么呢?前面我们讲到成熟的OCR技术导致英文字符验证码很难起作用,事实上,图像识别的发展也是趋于成熟。所以,12306的图片验证码被迅速破解也不是什么难事,反而将门槛降低。 下面的具体破解举例引用知乎用户王猫猫在问题“如何评价 12306 的最新版验证码?”下的回答。

直接将图片处理后丢入google、百度的识图接口,返回的数值让人惊讶(第二张图居然能精准识别到是沙县小吃?)。后来根据王同学提供的代码,我进行了下一步的处理工作,再次利用第三方软件识别中文字符,然后将字符与图片字符进行匹配,之后选择图片。整个测试图片大概200张(只是模拟了登录,没有去刷掉一整车票),通过率在85%左右。所以,仅仅是技术爱好者动用一些公用接口就轻松能识别图片类容,而且一旦识别后,还可以将这张出现过的图片存库,再次出现就更加快速准确的定位了。暂且不谈图像识别和机器学习这样高大上的破解方法了。 图片验证码之所以不安全,是因为目前的图片识别技术也是相当的成熟。12306这些图片如果是人工标记,无疑是将自己摆到一个愚公移山的悲壮位置;如果是机器识别,也一样是可以被识别内容,即用图片内容的识别作为验证核心将毫无意义。 从12306这次更新来看,12306的验证思路,还是在玩已经过时的技术,对验证的视野和理解并不是很透彻,才会落到上线不到一天就被破解的尴尬局面。当然,12306有面对黄牛的进行创新的勇气是可嘉的,但是方向走错了,进行购票流程上的全面优化才能让问题得到最终的解决,将赌注放在验证码身上,目前看来不太现实。 走在前面的依然是Google 那么,验证安全的终极奥义是什么呢?我们可以回顾一下去年的关于google的No-CAPTCHA(No-Capthcha是Re-Capthcha的子项目)的文章,google提出了一个概念叫human behavior analysis,大意是将用户的行为做为判断人与计算机的准则。这个理念提出的意义在于,不再依靠图灵测试即单一的答案来判断人机,而是通过用户一系列的上网行为来确定访问者是人,还是机器。但是从google目前的前端代码层和具体流程来看,目前只是试探性的的发展,如果这个理念能够实际操作并完善,那么验证码的安全性将提高的一个史无前例的高水平,至少破解门槛不会低到仅仅调用一下公共接口就瞬间破解。

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2015-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吉浦迅科技

GPU 超算完整体验 —— AMD FirePro 通用计算特性

使用显卡或者说 GPU 执行通用计算早就已经不是什么新鲜的事情,这得益于整个行业近年来不遗余力的推动,例如 AMD、Apple、NVIDIA、Intel 等都把...

387100
来自专栏顾宇的研习笔记

不要被“学会”的假象迷惑

很多喜欢读书的人,喜欢买书。我认识了很多人,都有很多的书,很多人会舍不得扔掉它们。因为总觉得有什么没读懂。

11010
来自专栏PPV课数据科学社区

【观点】数据挖掘入门必看10个问题

NO.1 Data Mining 和统计分析有什么不同? 硬要去区分Data Mining和Statistics的差异其实是没有太大意义的。一般...

29770
来自专栏DT数据侠

爬取了252家酒店的数据后,我发现了热门旅游城市酒店的秘密

外出旅游,酒店一定会占据一大部分开销。哪些酒店的价格是合理的?这个价格配得上它的地理位置么?这个价格和它对应的服务匹配么?数据侠 Johnnie 以纽约的酒店为...

16320
来自专栏新智元

《科学》重磅论文:量子计算核心突破,密码或成摆设

互联网时代绝大多数的加密,都由 RSA 算法完成。过去我们认为 RSA 不可破解,但随着量子计算的发展,RSA 的安全性正受到挑战。今天刊发在《科学》杂志...

34760
来自专栏CDA数据分析师

我分析了《用商业案例学R语言数据挖掘》书评,告诉你R有多火

商业智能时代已经全面到来,分析型人才的岗位数量在就业市场中呈现井喷式的增长。无论从事产品研发的工程师,还是从事产品推广的市场人员、人力资源的财务会计人员,都需要...

24780
来自专栏数据小魔方

leaflet的小搭档leaflet.minicharts来了,从此动态地图又多了一些乐趣~~~

本文内容取材自leaflet.minicharts包官方主页的案例介绍,本篇案例虽然是关于leaflet在线地图的辅助包,但是该包的出现对于leaflet生态系...

41340
来自专栏大数据文摘

深度|加密技术如何对付量子计算机

280100
来自专栏牛客网

cvte春招一面二面终面面经(已通过终面)

本人背景:渣渣二本,渣渣acmer 应聘的是windows应用开发,应届生 今天晚上hr打电话跟我说:面试通过,邀请我参加现场签约,可惜31号有比赛就没办法去了...

419110
来自专栏大数据文摘

基于大数据技术的手机用户画像与征信研究

30930

扫码关注云+社区

领取腾讯云代金券